diff --git a/10.0.15042.0/Samples/AsyncReader/AsyncReader.sln b/10.0.15042.0/Samples/AsyncReader/AsyncReader.sln new file mode 100644 index 000000000..41ff13743 --- /dev/null +++ b/10.0.15042.0/Samples/AsyncReader/AsyncReader.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AsyncReader", "AsyncReader.vcxproj", "{079790FD-97A0-428D-BF8D-83D24C1D6A56}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.ActiveCfg = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.Build.0 = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.ActiveCfg = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.Build.0 = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.ActiveCfg = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.Build.0 = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.ActiveCfg = Release|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/AsyncReader/AsyncReader.vcxproj b/10.0.15042.0/Samples/AsyncReader/AsyncReader.vcxproj new file mode 100644 index 000000000..79c42d214 --- /dev/null +++ b/10.0.15042.0/Samples/AsyncReader/AsyncReader.vcxproj @@ -0,0 +1,206 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {079790FD-97A0-428D-BF8D-83D24C1D6A56} + Win32Proj + Console + 10.0.14393.0 + + + + Application + true + v140 + Unicode + x64 + + + Application + true + v140 + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + + + + + + + + + + + + + + + + + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + copy message.txt $(OutDir) + + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + copy message.txt $(OutDir) + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + copy message.txt $(OutDir) + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + copy message.txt $(OutDir) + + + + + + Create + Create + Create + Create + + + + + + + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/AsyncReader/Main.cpp b/10.0.15042.0/Samples/AsyncReader/Main.cpp new file mode 100644 index 000000000..d487796b2 --- /dev/null +++ b/10.0.15042.0/Samples/AsyncReader/Main.cpp @@ -0,0 +1,95 @@ +#include "pch.h" + +using namespace winrt; +using namespace Windows::Foundation; + +struct file +{ + file(wchar_t const * const filename) : + m_handle(create(filename)), + m_io(get_abi(m_handle)) + { + } + + auto read(uint64_t const offset, void * const buffer, size_t const size) + { + return m_io.start([=, handle = get_abi(m_handle)](OVERLAPPED & overlapped) + { + overlapped.Offset = static_cast(offset); + overlapped.OffsetHigh = offset >> 32; + + if (!ReadFile(handle, buffer, static_cast(size), nullptr, &overlapped)) + { + const DWORD error = GetLastError(); + + if (error != ERROR_IO_PENDING) + { + throw hresult_error(HRESULT_FROM_WIN32(error)); + } + } + }); + } + +private: + + struct file_traits + { + using type = HANDLE; + + static type invalid() noexcept + { + return INVALID_HANDLE_VALUE; + } + + static void close(type value) noexcept + { + WINRT_VERIFY(CloseHandle(value)); + } + }; + + using file_handle = impl::handle; + + static file_handle create(wchar_t const * const filename) + { + file_handle handle = CreateFile(filename, + GENERIC_READ, + 0, + nullptr, + OPEN_EXISTING, + FILE_FLAG_OVERLAPPED, + nullptr); + + if (!handle) + { + throw_last_error(); + } + + return handle; + } + + file_handle m_handle; + resumable_io m_io; +}; + +IAsyncAction sample() +{ + file reader(L"message.txt"); + + std::array buffer; + uint64_t offset = 0; + + while (uint32_t const bytes = co_await reader.read(offset, buffer.data(), buffer.size())) + { + printf("%.*s", bytes, buffer.data()); + offset += bytes; + } + + printf("\n"); +} + +int main() +{ + init_apartment(); + + sample().get(); +} diff --git a/10.0.15042.0/Samples/AsyncReader/message.txt b/10.0.15042.0/Samples/AsyncReader/message.txt new file mode 100644 index 000000000..e463eb2c3 --- /dev/null +++ b/10.0.15042.0/Samples/AsyncReader/message.txt @@ -0,0 +1,3 @@ +https://github.com/microsoft/cppwinrt + +C++/WinRT is a standard C++ language projection for the Windows Runtime implemented solely in header files. It allows you to both author and consume Windows Runtime APIs using any standards-compliant C++ compiler. C++/WinRT is designed to provide C++ developers with first-class access to the modern Windows API. diff --git a/10.0.15042.0/Samples/AsyncReader/pch.cpp b/10.0.15042.0/Samples/AsyncReader/pch.cpp new file mode 100644 index 000000000..1d9f38c57 --- /dev/null +++ b/10.0.15042.0/Samples/AsyncReader/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/AsyncReader/pch.h b/10.0.15042.0/Samples/AsyncReader/pch.h new file mode 100644 index 000000000..febe8e023 --- /dev/null +++ b/10.0.15042.0/Samples/AsyncReader/pch.h @@ -0,0 +1,5 @@ +#pragma once + +#pragma comment(lib, "windowsapp") + +#include "winrt/base.h" diff --git a/10.0.15042.0/Samples/Blocks/App.cpp b/10.0.15042.0/Samples/Blocks/App.cpp new file mode 100644 index 000000000..fbf188f93 --- /dev/null +++ b/10.0.15042.0/Samples/Blocks/App.cpp @@ -0,0 +1,151 @@ +#include "pch.h" + +using namespace winrt; + +using namespace Windows; +using namespace Windows::ApplicationModel::Core; +using namespace Windows::Foundation::Numerics; +using namespace Windows::UI; +using namespace Windows::UI::Core; +using namespace Windows::UI::Composition; + +struct App : implements +{ + CompositionTarget m_target{ nullptr }; + VisualCollection m_visuals{ nullptr }; + Visual m_selected{ nullptr }; + float2 m_offset{}; + + IFrameworkView CreateView() + { + return *this; + } + + void Initialize(CoreApplicationView const &) + { + } + + void Load(hstring_view) + { + } + + void Uninitialize() + { + } + + void Run() + { + CoreWindow window = CoreWindow::GetForCurrentThread(); + window.Activate(); + + CoreDispatcher dispatcher = window.Dispatcher(); + dispatcher.ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit); + } + + void SetWindow(CoreWindow const & window) + { + Compositor compositor; + ContainerVisual root = compositor.CreateContainerVisual(); + m_target = compositor.CreateTargetForCurrentView(); + m_target.Root(root); + m_visuals = root.Children(); + + window.PointerPressed({ this, &App::OnPointerPressed }); + window.PointerMoved({ this, &App::OnPointerMoved }); + + window.PointerReleased([&](auto && ...) + { + m_selected = nullptr; + }); + } + + void OnPointerPressed(IInspectable const &, PointerEventArgs const & args) + { + float2 const point = args.CurrentPoint().Position(); + + for (Visual visual : m_visuals) + { + float3 const offset = visual.Offset(); + float2 const size = visual.Size(); + + if (point.x >= offset.x && + point.x < offset.x + size.x && + point.y >= offset.y && + point.y < offset.y + size.y) + { + m_selected = visual; + m_offset.x = offset.x - point.x; + m_offset.y = offset.y - point.y; + } + } + + if (m_selected) + { + m_visuals.Remove(m_selected); + m_visuals.InsertAtTop(m_selected); + } + else + { + AddVisual(point); + } + } + + void OnPointerMoved(IInspectable const &, PointerEventArgs const & args) + { + if (m_selected) + { + float2 const point = args.CurrentPoint().Position(); + + m_selected.Offset( + { + point.x + m_offset.x, + point.y + m_offset.y, + 0.0f + }); + } + } + + void AddVisual(float2 const point) + { + Compositor compositor = m_visuals.Compositor(); + SpriteVisual visual = compositor.CreateSpriteVisual(); + + static Color colors[] = + { + { 0xDC, 0x5B, 0x9B, 0xD5 }, + { 0xDC, 0xED, 0x7D, 0x31 }, + { 0xDC, 0x70, 0xAD, 0x47 }, + { 0xDC, 0xFF, 0xC0, 0x00 } + }; + + static unsigned last = 0; + unsigned const next = ++last % _countof(colors); + visual.Brush(compositor.CreateColorBrush(colors[next])); + + float const BlockSize = 100.0f; + + visual.Size( + { + BlockSize, + BlockSize + }); + + visual.Offset( + { + point.x - BlockSize / 2.0f, + point.y - BlockSize / 2.0f, + 0.0f, + }); + + m_visuals.InsertAtTop(visual); + + m_selected = visual; + m_offset.x = -BlockSize / 2.0f; + m_offset.y = -BlockSize / 2.0f; + } +}; + +int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int) +{ + CoreApplication::Run(App()); +} diff --git a/10.0.15042.0/Samples/Blocks/App.winmd b/10.0.15042.0/Samples/Blocks/App.winmd new file mode 100644 index 000000000..af05904ab Binary files /dev/null and b/10.0.15042.0/Samples/Blocks/App.winmd differ diff --git a/10.0.15042.0/Samples/Blocks/Assets/Logo.scale-100.png b/10.0.15042.0/Samples/Blocks/Assets/Logo.scale-100.png new file mode 100644 index 000000000..e26771cb3 Binary files /dev/null and b/10.0.15042.0/Samples/Blocks/Assets/Logo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Blocks/Assets/SmallLogo.scale-100.png b/10.0.15042.0/Samples/Blocks/Assets/SmallLogo.scale-100.png new file mode 100644 index 000000000..f3fc56a0e Binary files /dev/null and b/10.0.15042.0/Samples/Blocks/Assets/SmallLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Blocks/Assets/SplashScreen.scale-100.png b/10.0.15042.0/Samples/Blocks/Assets/SplashScreen.scale-100.png new file mode 100644 index 000000000..c951e031b Binary files /dev/null and b/10.0.15042.0/Samples/Blocks/Assets/SplashScreen.scale-100.png differ diff --git a/10.0.15042.0/Samples/Blocks/Assets/StoreLogo.scale-100.png b/10.0.15042.0/Samples/Blocks/Assets/StoreLogo.scale-100.png new file mode 100644 index 000000000..dcb672712 Binary files /dev/null and b/10.0.15042.0/Samples/Blocks/Assets/StoreLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Blocks/Assets/WideLogo.scale-100.png b/10.0.15042.0/Samples/Blocks/Assets/WideLogo.scale-100.png new file mode 100644 index 000000000..9dd94b628 Binary files /dev/null and b/10.0.15042.0/Samples/Blocks/Assets/WideLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Blocks/Blocks.sln b/10.0.15042.0/Samples/Blocks/Blocks.sln new file mode 100644 index 000000000..9b17135b7 --- /dev/null +++ b/10.0.15042.0/Samples/Blocks/Blocks.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blocks", "Blocks.vcxproj", "{1F93D330-56FC-4497-BBDE-1807301B5C79}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.ActiveCfg = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Build.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Deploy.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.ActiveCfg = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Build.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Deploy.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.ActiveCfg = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Build.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Deploy.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.ActiveCfg = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Build.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Deploy.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.ActiveCfg = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Build.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Deploy.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.ActiveCfg = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Build.0 = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Deploy.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/Blocks/Blocks.vcxproj b/10.0.15042.0/Samples/Blocks/Blocks.vcxproj new file mode 100644 index 000000000..12a62d54b --- /dev/null +++ b/10.0.15042.0/Samples/Blocks/Blocks.vcxproj @@ -0,0 +1,297 @@ + + + + {1f93d330-56fc-4497-bbde-1807301b5c79} + App + en-US + 14.0 + true + Windows Store + 8.2 + 10.0.10166.0 + 10.0.10166.0 + 10.0.14393.0 + 10.0.14393.0 + + + + + Debug + ARM + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + Win32 + + + Release + x64 + + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + + + + Designer + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/Blocks/Package.appxmanifest b/10.0.15042.0/Samples/Blocks/Package.appxmanifest new file mode 100644 index 000000000..9b8bb4a45 --- /dev/null +++ b/10.0.15042.0/Samples/Blocks/Package.appxmanifest @@ -0,0 +1,51 @@ + + + + + + + + + + App + Microsoft + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/Blocks/pch.cpp b/10.0.15042.0/Samples/Blocks/pch.cpp new file mode 100644 index 000000000..bcb5590be --- /dev/null +++ b/10.0.15042.0/Samples/Blocks/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/Blocks/pch.h b/10.0.15042.0/Samples/Blocks/pch.h new file mode 100644 index 000000000..00c293fc3 --- /dev/null +++ b/10.0.15042.0/Samples/Blocks/pch.h @@ -0,0 +1,8 @@ +#pragma once + +#pragma comment(lib, "windowsapp") + +#include "winrt/Windows.ApplicationModel.Core.h" +#include "winrt/Windows.UI.Core.h" +#include "winrt/Windows.UI.Composition.h" +#include "winrt/Windows.UI.Input.h" diff --git a/10.0.15042.0/Samples/CL/build.bat b/10.0.15042.0/Samples/CL/build.bat new file mode 100644 index 000000000..ac5df9ff2 --- /dev/null +++ b/10.0.15042.0/Samples/CL/build.bat @@ -0,0 +1 @@ +cl main.cpp /I ..\.. /EHsc /std:c++latest /d1permissive- diff --git a/10.0.15042.0/Samples/CL/main.cpp b/10.0.15042.0/Samples/CL/main.cpp new file mode 100644 index 000000000..9b33abde5 --- /dev/null +++ b/10.0.15042.0/Samples/CL/main.cpp @@ -0,0 +1,10 @@ +#pragma comment(lib, "windowsapp") + +#include "winrt\base.h" + +using namespace winrt; + +int main() +{ + initialize(); +} diff --git a/10.0.15042.0/Samples/IBuffer/App.cpp b/10.0.15042.0/Samples/IBuffer/App.cpp new file mode 100644 index 000000000..576203c9d --- /dev/null +++ b/10.0.15042.0/Samples/IBuffer/App.cpp @@ -0,0 +1,177 @@ +#include "pch.h" + +namespace com = ::Windows::Storage::Streams; + +using namespace winrt; +using namespace winrt::Windows::ApplicationModel::Activation; +using namespace winrt::Windows::Foundation; +using namespace winrt::Windows::Graphics::Imaging; +using namespace winrt::Windows::Storage; +using namespace winrt::Windows::Storage::Pickers; +using namespace winrt::Windows::Storage::Streams; +using namespace winrt::Windows::UI; +using namespace winrt::Windows::UI::Core; +using namespace winrt::Windows::UI::Xaml; +using namespace winrt::Windows::UI::Xaml::Controls; +using namespace winrt::Windows::UI::Xaml::Media; +using namespace winrt::Windows::UI::Xaml::Media::Imaging; + +struct App : ApplicationT +{ +public: + + // The Click and Rendering methods be default use IInspectable from winrt::ABI. They should use the version from winrt::Windows. + void RenderingHandler(const IInspectable&, const IInspectable& args) + { + // Once the image is loaded successfully, then we can dynamically update the WritableBitmap. + if (m_imageLoaded) + { + auto renderingArgs = args.as(); + + // Get elapsed time + TimeSpan timeSpan = renderingArgs.RenderingTime(); + + // Calculate twistAngle from -180 to 180 degrees + double t = (timeSpan.count() % m_cycleDuration) / (double)m_cycleDuration; + double tprime = 2 * (t < 0.5 ? t : 1 - t); + double twistAngle = 2 * (tprime - 0.5) * 3.14159; + + for (int yDst = 0; yDst < m_height; yDst++) + { + for (int xDst = 0; xDst < m_width; xDst++) + { + // Calculate length of point to center and angle + int xDelta = xDst - m_xCenter; + int yDelta = yDst - m_yCenter; + double distanceToCenter = sqrt(xDelta * xDelta + + yDelta * yDelta); + double angleClockwise = atan2(yDelta, xDelta); + + // Calculation angle of rotation for twisting effect + double xEllipse = m_xCenter * cos(angleClockwise); + double yEllipse = m_yCenter * sin(angleClockwise); + double radius = sqrt(xEllipse * xEllipse + + yEllipse * yEllipse); + double fraction = max(0.0, 1 - distanceToCenter / radius); + double twist = fraction * twistAngle; + + // Calculate the source pixel for each destination pixel + int xSrc = (int)(m_xCenter + (xDst - m_xCenter) * cos(twist) + - (yDst - m_yCenter) * sin(twist)); + int ySrc = (int)(m_yCenter + (xDst - m_xCenter) * sin(twist) + + (yDst - m_yCenter) * cos(twist)); + xSrc = max(0, min(m_width - 1, xSrc)); + ySrc = max(0, min(m_height - 1, ySrc)); + + // Calculate the indices + int iDst = 4 * (yDst * m_width + xDst); + int iSrc = 4 * (ySrc * m_width + xSrc); + + // Transfer the pixel bytes + m_destPixels[iDst++] = m_srcPixels[iSrc++]; + m_destPixels[iDst++] = m_srcPixels[iSrc++]; + m_destPixels[iDst++] = m_srcPixels[iSrc++]; + m_destPixels[iDst] = m_srcPixels[iSrc]; + } + } + + // Invalidate the bitmap + m_writeableBitmap.Invalidate(); + } + } + + std::future ClickHandler(const IInspectable&, const IInspectable&) + { + FileOpenPicker picker; + picker.ViewMode(PickerViewMode::Thumbnail); + picker.SuggestedStartLocation(PickerLocationId::PicturesLibrary); + + auto fileTypeFilters = picker.FileTypeFilter(); + fileTypeFilters.Append(L".jpg"); + fileTypeFilters.Append(L".jpeg"); + fileTypeFilters.Append(L".png"); + + StorageFile selectedFile = await picker.PickSingleFileAsync(); + if (!selectedFile) + { + return; + } + + IRandomAccessStream imageStream = await selectedFile.OpenAsync(FileAccessMode::Read); + BitmapDecoder decoder = await BitmapDecoder::CreateAsync(imageStream); + BitmapFrame frame = await decoder.GetFrameAsync(0); + + m_width = frame.PixelWidth(); + m_height = frame.PixelHeight(); + m_xCenter = m_width / 2; + m_yCenter = m_height / 2; + + PixelDataProvider provider = await frame.GetPixelDataAsync(); + m_srcPixels = provider.DetachPixelData(); + + // Manipulation of the bitmap objects must be done on the UI thread + m_uiDispatcher.RunAsync(CoreDispatcherPriority::Normal, [this]() { + + m_writeableBitmap = WriteableBitmap(m_width, m_height); + m_image.Source(m_writeableBitmap); + + IBuffer buffer = m_writeableBitmap.PixelBuffer(); + com_ptr byteAccess = buffer.as(); + byteAccess->Buffer(&m_destPixels); + + m_imageLoaded = true; + }); + } + + void OnLaunched(LaunchActivatedEventArgs const &) + { + CompositionTarget::Rendering({ this, &App::RenderingHandler }); + + m_uiDispatcher = CoreWindow::GetForCurrentThread().Dispatcher(); + + StackPanel panel; + panel.Orientation(Orientation::Vertical); + + Button pickerButton; + TextBlock pickerButtonText; + pickerButtonText.Text(L"Choose image..."); + pickerButton.Content(pickerButtonText); + pickerButton.Click({ this, &App::ClickHandler }); + + m_image.Height(200.0); + m_image.Width(200.0); + + auto panelContent = panel.Children(); + panelContent.Append(pickerButton); + panelContent.Append(m_image); + + Window window = Window::Current(); + window.Content(panel); + window.Activate(); + } + +private: + CoreDispatcher m_uiDispatcher{ nullptr }; + Image m_image; + + int m_width{ 0 }; + int m_height{ 0 }; + int m_xCenter{ 0 }; + int m_yCenter{ 0 }; + + byte* m_destPixels{ nullptr }; + com_array m_srcPixels; + WriteableBitmap m_writeableBitmap{ nullptr }; + + bool m_imageLoaded{ false }; + + static const int64_t m_cycleDuration{ 30000000 }; +}; + +int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int) +{ + Application::Start([](auto &&) + { + make(); + }); +} \ No newline at end of file diff --git a/10.0.15042.0/Samples/IBuffer/App.winmd b/10.0.15042.0/Samples/IBuffer/App.winmd new file mode 100644 index 000000000..af05904ab Binary files /dev/null and b/10.0.15042.0/Samples/IBuffer/App.winmd differ diff --git a/10.0.15042.0/Samples/IBuffer/Assets/Logo.scale-100.png b/10.0.15042.0/Samples/IBuffer/Assets/Logo.scale-100.png new file mode 100644 index 000000000..e26771cb3 Binary files /dev/null and b/10.0.15042.0/Samples/IBuffer/Assets/Logo.scale-100.png differ diff --git a/10.0.15042.0/Samples/IBuffer/Assets/SmallLogo.scale-100.png b/10.0.15042.0/Samples/IBuffer/Assets/SmallLogo.scale-100.png new file mode 100644 index 000000000..f3fc56a0e Binary files /dev/null and b/10.0.15042.0/Samples/IBuffer/Assets/SmallLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/IBuffer/Assets/SplashScreen.scale-100.png b/10.0.15042.0/Samples/IBuffer/Assets/SplashScreen.scale-100.png new file mode 100644 index 000000000..c951e031b Binary files /dev/null and b/10.0.15042.0/Samples/IBuffer/Assets/SplashScreen.scale-100.png differ diff --git a/10.0.15042.0/Samples/IBuffer/Assets/StoreLogo.scale-100.png b/10.0.15042.0/Samples/IBuffer/Assets/StoreLogo.scale-100.png new file mode 100644 index 000000000..dcb672712 Binary files /dev/null and b/10.0.15042.0/Samples/IBuffer/Assets/StoreLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/IBuffer/Assets/WideLogo.scale-100.png b/10.0.15042.0/Samples/IBuffer/Assets/WideLogo.scale-100.png new file mode 100644 index 000000000..9dd94b628 Binary files /dev/null and b/10.0.15042.0/Samples/IBuffer/Assets/WideLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/IBuffer/IBuffer.sln b/10.0.15042.0/Samples/IBuffer/IBuffer.sln new file mode 100644 index 000000000..15fd82e78 --- /dev/null +++ b/10.0.15042.0/Samples/IBuffer/IBuffer.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IBuffer", "IBuffer.vcxproj", "{1F93D330-56FC-4497-BBDE-1807301B5C79}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.ActiveCfg = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Build.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Deploy.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.ActiveCfg = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Build.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Deploy.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.ActiveCfg = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Build.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Deploy.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.ActiveCfg = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Build.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Deploy.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.ActiveCfg = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Build.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Deploy.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.ActiveCfg = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Build.0 = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Deploy.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/IBuffer/IBuffer.vcxproj b/10.0.15042.0/Samples/IBuffer/IBuffer.vcxproj new file mode 100644 index 000000000..e5c389fad --- /dev/null +++ b/10.0.15042.0/Samples/IBuffer/IBuffer.vcxproj @@ -0,0 +1,297 @@ + + + + {1f93d330-56fc-4497-bbde-1807301b5c79} + App + en-US + 14.0 + true + Windows Store + 8.2 + 10.0.10166.0 + 10.0.10166.0 + 10.0.14393.0 + 10.0.14393.0 + + + + + Debug + ARM + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + Win32 + + + Release + x64 + + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + /bigobj /await /std:c++latest + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + + + + Designer + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/IBuffer/Package.appxmanifest b/10.0.15042.0/Samples/IBuffer/Package.appxmanifest new file mode 100644 index 000000000..bf6c1048d --- /dev/null +++ b/10.0.15042.0/Samples/IBuffer/Package.appxmanifest @@ -0,0 +1,48 @@ + + + + + + + + + + App + Microsoft + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/IBuffer/pch.cpp b/10.0.15042.0/Samples/IBuffer/pch.cpp new file mode 100644 index 000000000..bcb5590be --- /dev/null +++ b/10.0.15042.0/Samples/IBuffer/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/IBuffer/pch.h b/10.0.15042.0/Samples/IBuffer/pch.h new file mode 100644 index 000000000..b312ac5fc --- /dev/null +++ b/10.0.15042.0/Samples/IBuffer/pch.h @@ -0,0 +1,13 @@ +#pragma once + +#pragma comment(lib, "windowsapp") + +#include "winrt/Windows.Storage.Pickers.h" +#include "winrt/Windows.Storage.Streams.h" +#include "winrt/Windows.UI.Core.h" +#include "winrt/Windows.UI.Xaml.Controls.h" +#include "winrt/Windows.UI.Xaml.Media.Imaging.h" +#include "winrt/Windows.Graphics.Imaging.h" + +#include +#include diff --git a/10.0.15042.0/Samples/JustCoroutines/JustCoroutines.sln b/10.0.15042.0/Samples/JustCoroutines/JustCoroutines.sln new file mode 100644 index 000000000..b22a61c3e --- /dev/null +++ b/10.0.15042.0/Samples/JustCoroutines/JustCoroutines.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JustCoroutines", "JustCoroutines.vcxproj", "{079790FD-97A0-428D-BF8D-83D24C1D6A56}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.ActiveCfg = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.Build.0 = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.ActiveCfg = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.Build.0 = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.ActiveCfg = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.Build.0 = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.ActiveCfg = Release|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/JustCoroutines/JustCoroutines.vcxproj b/10.0.15042.0/Samples/JustCoroutines/JustCoroutines.vcxproj new file mode 100644 index 000000000..6f285a1f5 --- /dev/null +++ b/10.0.15042.0/Samples/JustCoroutines/JustCoroutines.vcxproj @@ -0,0 +1,191 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {079790FD-97A0-428D-BF8D-83D24C1D6A56} + Win32Proj + Console + 10.0.14393.0 + + + + Application + true + v140 + Unicode + x64 + + + Application + true + v140 + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + + + + + + + + + + + + + + + + + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + + + + Create + Create + Create + Create + + + + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/JustCoroutines/Main.cpp b/10.0.15042.0/Samples/JustCoroutines/Main.cpp new file mode 100644 index 000000000..26458ebf8 --- /dev/null +++ b/10.0.15042.0/Samples/JustCoroutines/Main.cpp @@ -0,0 +1,54 @@ +#include "pch.h" + +namespace winrt::ABI::Windows::Foundation +{ + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0111")) __declspec(novtable) AsyncActionProgressHandler : impl_AsyncActionProgressHandler {}; + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0112")) __declspec(novtable) AsyncActionWithProgressCompletedHandler : impl_AsyncActionWithProgressCompletedHandler {}; + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0113")) __declspec(novtable) AsyncOperationProgressHandler : impl_AsyncOperationProgressHandler {}; + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0114")) __declspec(novtable) AsyncOperationWithProgressCompletedHandler : impl_AsyncOperationWithProgressCompletedHandler {}; + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0115")) __declspec(novtable) AsyncOperationCompletedHandler : impl_AsyncOperationCompletedHandler {}; + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0116")) __declspec(novtable) IAsyncActionWithProgress : impl_IAsyncActionWithProgress {}; + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0117")) __declspec(novtable) IAsyncOperation : impl_IAsyncOperation {}; + template <> struct __declspec(uuid("3a14233f-a037-4ac0-a0ad-c4bb0bbf0118")) __declspec(novtable) IAsyncOperationWithProgress : impl_IAsyncOperationWithProgress {}; +} + +using namespace std::chrono; +using namespace winrt; +using namespace Windows::Foundation; + +IAsyncOperationWithProgress Produce() +{ + co_await resume_background(); + + auto progress = co_await get_progress_token; + + int total = 0; + + for (int i = 0; i != 5; ++i) + { + progress(i); + total += i; + co_await 500ms; + } + + return total; +} + +IAsyncAction Consume() +{ + auto async = Produce(); + + async.Progress([](auto const & /*sender*/, int args) + { + printf("progress %d\n", args); + }); + + printf("total %d\n", co_await async); +} + +int main() +{ + init_apartment(); + + Consume().get(); +} diff --git a/10.0.15042.0/Samples/JustCoroutines/pch.cpp b/10.0.15042.0/Samples/JustCoroutines/pch.cpp new file mode 100644 index 000000000..1d9f38c57 --- /dev/null +++ b/10.0.15042.0/Samples/JustCoroutines/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/JustCoroutines/pch.h b/10.0.15042.0/Samples/JustCoroutines/pch.h new file mode 100644 index 000000000..f0b016408 --- /dev/null +++ b/10.0.15042.0/Samples/JustCoroutines/pch.h @@ -0,0 +1,5 @@ +#pragma once + +#pragma comment(lib, "windowsapp") + +#include "winrt/base.h" diff --git a/10.0.15042.0/Samples/Ocr/Main.cpp b/10.0.15042.0/Samples/Ocr/Main.cpp new file mode 100644 index 000000000..0c4cf1d5a --- /dev/null +++ b/10.0.15042.0/Samples/Ocr/Main.cpp @@ -0,0 +1,45 @@ +#include "pch.h" + +using namespace winrt; +using namespace std::chrono; + +using namespace Windows::Foundation; +using namespace Windows::Storage; +using namespace Windows::Storage::Streams; +using namespace Windows::Graphics::Imaging; +using namespace Windows::Media::Ocr; + +hstring MessagePath() +{ + wchar_t buffer[1024]{}; + GetCurrentDirectory(_countof(buffer), buffer); + check_hresult(PathCchAppendEx(buffer, _countof(buffer), L"message.png", PATHCCH_ALLOW_LONG_PATHS)); + return buffer; +} + +IAsyncOperation AsyncSample() +{ + StorageFile file = co_await StorageFile::GetFileFromPathAsync(MessagePath()); + IRandomAccessStream stream = co_await file.OpenAsync(FileAccessMode::Read); + + BitmapDecoder decoder = co_await BitmapDecoder::CreateAsync(stream); + SoftwareBitmap bitmap = co_await decoder.GetSoftwareBitmapAsync(); + + OcrEngine engine = OcrEngine::TryCreateFromUserProfileLanguages(); + OcrResult result = co_await engine.RecognizeAsync(bitmap); + return result.Text(); +} + +int main() +{ + init_apartment(); + + try + { + printf("%ls\n", AsyncSample().get().c_str()); + } + catch (hresult_error const & e) + { + printf("hresult_error: (0x%8X) %ls\n", e.code(), e.message().c_str()); + } +} diff --git a/10.0.15042.0/Samples/Ocr/Ocr.sln b/10.0.15042.0/Samples/Ocr/Ocr.sln new file mode 100644 index 000000000..09178768e --- /dev/null +++ b/10.0.15042.0/Samples/Ocr/Ocr.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Ocr", "Ocr.vcxproj", "{079790FD-97A0-428D-BF8D-83D24C1D6A56}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.ActiveCfg = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.Build.0 = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.ActiveCfg = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.Build.0 = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.ActiveCfg = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.Build.0 = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.ActiveCfg = Release|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/Ocr/Ocr.vcxproj b/10.0.15042.0/Samples/Ocr/Ocr.vcxproj new file mode 100644 index 000000000..ce8b30d73 --- /dev/null +++ b/10.0.15042.0/Samples/Ocr/Ocr.vcxproj @@ -0,0 +1,206 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {079790FD-97A0-428D-BF8D-83D24C1D6A56} + Win32Proj + Console + 10.0.14393.0 + + + + Application + true + v140 + Unicode + x64 + + + Application + true + v140 + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + + + + + + + + + + + + + + + + + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + copy message.png $(OutDir) + + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + copy message.png $(OutDir) + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + copy message.png $(OutDir) + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + copy message.png $(OutDir) + + + + + + Create + Create + Create + Create + + + + + + + + + + + + diff --git a/10.0.15042.0/Samples/Ocr/message.png b/10.0.15042.0/Samples/Ocr/message.png new file mode 100644 index 000000000..bdea615c2 Binary files /dev/null and b/10.0.15042.0/Samples/Ocr/message.png differ diff --git a/10.0.15042.0/Samples/Ocr/pch.cpp b/10.0.15042.0/Samples/Ocr/pch.cpp new file mode 100644 index 000000000..1d9f38c57 --- /dev/null +++ b/10.0.15042.0/Samples/Ocr/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/Ocr/pch.h b/10.0.15042.0/Samples/Ocr/pch.h new file mode 100644 index 000000000..565b43076 --- /dev/null +++ b/10.0.15042.0/Samples/Ocr/pch.h @@ -0,0 +1,11 @@ +#pragma once + +#pragma comment(lib, "windowsapp") +#pragma comment(lib, "pathcch") + +#include "winrt/Windows.Storage.Streams.h" +#include "winrt/Windows.Graphics.Imaging.h" +#include "winrt/Windows.Media.Ocr.h" +#include "winrt/Windows.Networking.Sockets.h" + +#include diff --git a/10.0.15042.0/Samples/Syndication/Main.cpp b/10.0.15042.0/Samples/Syndication/Main.cpp new file mode 100644 index 000000000..f5d15f016 --- /dev/null +++ b/10.0.15042.0/Samples/Syndication/Main.cpp @@ -0,0 +1,27 @@ +#include "pch.h" + +using namespace winrt; + +using namespace Windows::Foundation; +using namespace Windows::Web::Syndication; + +IAsyncAction Sample() +{ + Uri uri(L"http://kennykerr.ca/feed"); + SyndicationClient client; + SyndicationFeed feed = co_await client.RetrieveFeedAsync(uri); + + for (SyndicationItem item : feed.Items()) + { + hstring title = item.Title().Text(); + + printf("%ls\n", title.c_str()); + } +} + +int main() +{ + init_apartment(); + + Sample().get(); +} diff --git a/10.0.15042.0/Samples/Syndication/Syndication.sln b/10.0.15042.0/Samples/Syndication/Syndication.sln new file mode 100644 index 000000000..0c58937ed --- /dev/null +++ b/10.0.15042.0/Samples/Syndication/Syndication.sln @@ -0,0 +1,28 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Syndication", "Syndication.vcxproj", "{079790FD-97A0-428D-BF8D-83D24C1D6A56}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.ActiveCfg = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x64.Build.0 = Debug|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.ActiveCfg = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Debug|x86.Build.0 = Debug|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.ActiveCfg = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x64.Build.0 = Release|x64 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.ActiveCfg = Release|Win32 + {079790FD-97A0-428D-BF8D-83D24C1D6A56}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/Syndication/Syndication.vcxproj b/10.0.15042.0/Samples/Syndication/Syndication.vcxproj new file mode 100644 index 000000000..19f795dee --- /dev/null +++ b/10.0.15042.0/Samples/Syndication/Syndication.vcxproj @@ -0,0 +1,191 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {079790FD-97A0-428D-BF8D-83D24C1D6A56} + Win32Proj + Console + 10.0.14393.0 + + + + Application + true + v140 + Unicode + x64 + + + Application + true + v140 + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + Application + false + v140 + true + Unicode + x64 + + + + + + + + + + + + + + + + + + + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + true + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + false + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + + + Use + Level4 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + ProgramDatabase + Default + 4702 + + + Console + true + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + + + Level4 + Use + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + pch.h + ..\.. + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4702 + + + Console + true + true + true + + + + + + Create + Create + Create + Create + + + + + + + + + diff --git a/10.0.15042.0/Samples/Syndication/pch.cpp b/10.0.15042.0/Samples/Syndication/pch.cpp new file mode 100644 index 000000000..1d9f38c57 --- /dev/null +++ b/10.0.15042.0/Samples/Syndication/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/Syndication/pch.h b/10.0.15042.0/Samples/Syndication/pch.h new file mode 100644 index 000000000..fbb976297 --- /dev/null +++ b/10.0.15042.0/Samples/Syndication/pch.h @@ -0,0 +1,6 @@ +#pragma once + +#pragma comment(lib, "windowsapp") + +#include "winrt/Windows.Foundation.h" +#include "winrt/Windows.Web.Syndication.h" diff --git a/10.0.15042.0/Samples/Video/App.cpp b/10.0.15042.0/Samples/Video/App.cpp new file mode 100644 index 000000000..3d6d133f4 --- /dev/null +++ b/10.0.15042.0/Samples/Video/App.cpp @@ -0,0 +1,97 @@ +#include "pch.h" + +using namespace winrt; + +using namespace Windows::ApplicationModel::Core; +using namespace Windows::Foundation; +using namespace Windows::UI::Core; +using namespace Windows::UI::Composition; +using namespace Windows::Media::Core; +using namespace Windows::Media::Playback; +using namespace Windows::Storage; +using namespace Windows::Storage::Pickers; + +struct App : implements +{ + IFrameworkView CreateView() + { + return *this; + } + + void Initialize(CoreApplicationView const &) + { + } + + void Load(hstring_view) + { + } + + void Uninitialize() + { + } + + void Run() + { + CoreWindow window = CoreWindow::GetForCurrentThread(); + window.Activate(); + + CoreDispatcher dispatcher = window.Dispatcher(); + dispatcher.ProcessEvents(CoreProcessEventsOption::ProcessUntilQuit); + } + + void SetWindow(CoreWindow const & window) + { + m_activated = window.Activated(auto_revoke, { this, &App::OnActivated }); + } + + fire_and_forget OnActivated(CoreWindow window, WindowActivatedEventArgs) + { + m_activated.revoke(); + + Compositor compositor; + SpriteVisual visual = compositor.CreateSpriteVisual(); + Rect bounds = window.Bounds(); + visual.Size({ bounds.Width, bounds.Height }); + m_target = compositor.CreateTargetForCurrentView(); + m_target.Root(visual); + + FileOpenPicker picker; + picker.SuggestedStartLocation(PickerLocationId::VideosLibrary); + picker.FileTypeFilter().Append(L".mp4"); + StorageFile file = await picker.PickSingleFileAsync(); + + if (!file) + { + CoreApplication::Exit(); + return; + } + + MediaSource source = MediaSource::CreateFromStorageFile(file); + MediaPlayer player; + player.Source(MediaPlaybackItem(source)); + MediaPlayerSurface surface = player.GetSurface(compositor); + visual.Brush(compositor.CreateSurfaceBrush(surface.CompositionSurface())); + player.Play(); + + window.PointerPressed([=](auto && ...) + { + static bool playing = true; + playing = !playing; + + playing ? player.Play() : player.Pause(); + }); + + window.SizeChanged([=](auto &&, WindowSizeChangedEventArgs const & args) + { + visual.Size(args.Size()); + }); + } + + CoreWindow::Activated_revoker m_activated; + CompositionTarget m_target{ nullptr }; +}; + +int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int) +{ + CoreApplication::Run(App()); +} diff --git a/10.0.15042.0/Samples/Video/App.winmd b/10.0.15042.0/Samples/Video/App.winmd new file mode 100644 index 000000000..af05904ab Binary files /dev/null and b/10.0.15042.0/Samples/Video/App.winmd differ diff --git a/10.0.15042.0/Samples/Video/Assets/Logo.scale-100.png b/10.0.15042.0/Samples/Video/Assets/Logo.scale-100.png new file mode 100644 index 000000000..e26771cb3 Binary files /dev/null and b/10.0.15042.0/Samples/Video/Assets/Logo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Video/Assets/SmallLogo.scale-100.png b/10.0.15042.0/Samples/Video/Assets/SmallLogo.scale-100.png new file mode 100644 index 000000000..f3fc56a0e Binary files /dev/null and b/10.0.15042.0/Samples/Video/Assets/SmallLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Video/Assets/SplashScreen.scale-100.png b/10.0.15042.0/Samples/Video/Assets/SplashScreen.scale-100.png new file mode 100644 index 000000000..c951e031b Binary files /dev/null and b/10.0.15042.0/Samples/Video/Assets/SplashScreen.scale-100.png differ diff --git a/10.0.15042.0/Samples/Video/Assets/StoreLogo.scale-100.png b/10.0.15042.0/Samples/Video/Assets/StoreLogo.scale-100.png new file mode 100644 index 000000000..dcb672712 Binary files /dev/null and b/10.0.15042.0/Samples/Video/Assets/StoreLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Video/Assets/WideLogo.scale-100.png b/10.0.15042.0/Samples/Video/Assets/WideLogo.scale-100.png new file mode 100644 index 000000000..9dd94b628 Binary files /dev/null and b/10.0.15042.0/Samples/Video/Assets/WideLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/Video/Package.appxmanifest b/10.0.15042.0/Samples/Video/Package.appxmanifest new file mode 100644 index 000000000..fb76cdf07 --- /dev/null +++ b/10.0.15042.0/Samples/Video/Package.appxmanifest @@ -0,0 +1,28 @@ + + + + + + App + Microsoft + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/Video/Video.sln b/10.0.15042.0/Samples/Video/Video.sln new file mode 100644 index 000000000..2131e440f --- /dev/null +++ b/10.0.15042.0/Samples/Video/Video.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Video", "Video.vcxproj", "{1F93D330-56FC-4497-BBDE-1807301B5C79}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.ActiveCfg = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Build.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Deploy.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.ActiveCfg = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Build.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Deploy.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.ActiveCfg = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Build.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Deploy.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.ActiveCfg = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Build.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Deploy.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.ActiveCfg = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Build.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Deploy.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.ActiveCfg = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Build.0 = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Deploy.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/Video/Video.vcxproj b/10.0.15042.0/Samples/Video/Video.vcxproj new file mode 100644 index 000000000..383aea863 --- /dev/null +++ b/10.0.15042.0/Samples/Video/Video.vcxproj @@ -0,0 +1,297 @@ + + + + {1f93d330-56fc-4497-bbde-1807301b5c79} + App + en-US + 14.0 + true + Windows Store + 8.2 + 10.0.10166.0 + 10.0.10166.0 + 10.0.14393.0 + 10.0.14393.0 + + + + + Debug + ARM + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + Win32 + + + Release + x64 + + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- %(AdditionalOptions) + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + + + + Designer + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/Video/pch.cpp b/10.0.15042.0/Samples/Video/pch.cpp new file mode 100644 index 000000000..bcb5590be --- /dev/null +++ b/10.0.15042.0/Samples/Video/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/Video/pch.h b/10.0.15042.0/Samples/Video/pch.h new file mode 100644 index 000000000..de146110a --- /dev/null +++ b/10.0.15042.0/Samples/Video/pch.h @@ -0,0 +1,12 @@ +#pragma once + +#pragma comment(lib, "windowsapp") + +#include "winrt/Windows.ApplicationModel.Core.h" +#include "winrt/Windows.Foundation.h" +#include "winrt/Windows.UI.Core.h" +#include "winrt/Windows.UI.Composition.h" +#include "winrt/Windows.Media.Core.h" +#include "winrt/Windows.Media.Playback.h" +#include "winrt/Windows.Storage.Pickers.h" +#include "winrt/Windows.Graphics.Imaging.h" diff --git a/10.0.15042.0/Samples/XamlCode/App.cpp b/10.0.15042.0/Samples/XamlCode/App.cpp new file mode 100644 index 000000000..190a74fca --- /dev/null +++ b/10.0.15042.0/Samples/XamlCode/App.cpp @@ -0,0 +1,66 @@ +#include "pch.h" + +using namespace winrt; + +using namespace Windows::ApplicationModel::Activation; +using namespace Windows::Foundation; +using namespace Windows::UI; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Controls; +using namespace Windows::UI::Xaml::Media; +using namespace Windows::Storage; +using namespace Windows::Storage::Streams; +using namespace Windows::Graphics::Imaging; +using namespace Windows::Media::Ocr; +using namespace Windows::Storage::Pickers; + +struct App : ApplicationT +{ + void OnLaunched(LaunchActivatedEventArgs const &) + { + TextBlock block; + + block.FontFamily(FontFamily(L"Segoe UI Semibold")); + block.FontSize(72.0); + block.Foreground(SolidColorBrush(Colors::Orange())); + block.VerticalAlignment(VerticalAlignment::Center); + block.TextAlignment(TextAlignment::Center); + block.TextWrapping(TextWrapping::Wrap); + + Window window = Window::Current(); + window.Content(block); + window.Activate(); + + Async(block); + } + + fire_and_forget Async(TextBlock block) + { + FileOpenPicker picker; + picker.FileTypeFilter().Append(L".png"); + picker.SuggestedStartLocation(PickerLocationId::PicturesLibrary); + auto file = co_await picker.PickSingleFileAsync(); + + if (file == nullptr) + { + return; + } + + thread_context ui_thread; + co_await resume_background(); + + auto stream = co_await file.OpenAsync(FileAccessMode::Read); + auto decoder = co_await BitmapDecoder::CreateAsync(stream); + auto bitmap = co_await decoder.GetSoftwareBitmapAsync(); + auto engine = OcrEngine::TryCreateFromUserProfileLanguages(); + auto result = co_await engine.RecognizeAsync(bitmap); + + co_await ui_thread; + block.Text(result.Text()); + } +}; + +int __stdcall wWinMain(HINSTANCE, HINSTANCE, PWSTR, int) +{ + Application::Start([](auto &&) { make(); }); +} diff --git a/10.0.15042.0/Samples/XamlCode/App.winmd b/10.0.15042.0/Samples/XamlCode/App.winmd new file mode 100644 index 000000000..af05904ab Binary files /dev/null and b/10.0.15042.0/Samples/XamlCode/App.winmd differ diff --git a/10.0.15042.0/Samples/XamlCode/Assets/Logo.scale-100.png b/10.0.15042.0/Samples/XamlCode/Assets/Logo.scale-100.png new file mode 100644 index 000000000..e26771cb3 Binary files /dev/null and b/10.0.15042.0/Samples/XamlCode/Assets/Logo.scale-100.png differ diff --git a/10.0.15042.0/Samples/XamlCode/Assets/SmallLogo.scale-100.png b/10.0.15042.0/Samples/XamlCode/Assets/SmallLogo.scale-100.png new file mode 100644 index 000000000..f3fc56a0e Binary files /dev/null and b/10.0.15042.0/Samples/XamlCode/Assets/SmallLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/XamlCode/Assets/SplashScreen.scale-100.png b/10.0.15042.0/Samples/XamlCode/Assets/SplashScreen.scale-100.png new file mode 100644 index 000000000..c951e031b Binary files /dev/null and b/10.0.15042.0/Samples/XamlCode/Assets/SplashScreen.scale-100.png differ diff --git a/10.0.15042.0/Samples/XamlCode/Assets/StoreLogo.scale-100.png b/10.0.15042.0/Samples/XamlCode/Assets/StoreLogo.scale-100.png new file mode 100644 index 000000000..dcb672712 Binary files /dev/null and b/10.0.15042.0/Samples/XamlCode/Assets/StoreLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/XamlCode/Assets/WideLogo.scale-100.png b/10.0.15042.0/Samples/XamlCode/Assets/WideLogo.scale-100.png new file mode 100644 index 000000000..9dd94b628 Binary files /dev/null and b/10.0.15042.0/Samples/XamlCode/Assets/WideLogo.scale-100.png differ diff --git a/10.0.15042.0/Samples/XamlCode/Message.png b/10.0.15042.0/Samples/XamlCode/Message.png new file mode 100644 index 000000000..88bb10e72 Binary files /dev/null and b/10.0.15042.0/Samples/XamlCode/Message.png differ diff --git a/10.0.15042.0/Samples/XamlCode/Package.appxmanifest b/10.0.15042.0/Samples/XamlCode/Package.appxmanifest new file mode 100644 index 000000000..bf6c1048d --- /dev/null +++ b/10.0.15042.0/Samples/XamlCode/Package.appxmanifest @@ -0,0 +1,48 @@ + + + + + + + + + + App + Microsoft + Assets\StoreLogo.png + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/XamlCode/XamlCode.sln b/10.0.15042.0/Samples/XamlCode/XamlCode.sln new file mode 100644 index 000000000..cc4068d30 --- /dev/null +++ b/10.0.15042.0/Samples/XamlCode/XamlCode.sln @@ -0,0 +1,40 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25420.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "XamlCode", "XamlCode.vcxproj", "{1F93D330-56FC-4497-BBDE-1807301B5C79}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|ARM = Debug|ARM + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|ARM = Release|ARM + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.ActiveCfg = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Build.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|ARM.Deploy.0 = Debug|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.ActiveCfg = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Build.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x64.Deploy.0 = Debug|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.ActiveCfg = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Build.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Debug|x86.Deploy.0 = Debug|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.ActiveCfg = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Build.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|ARM.Deploy.0 = Release|ARM + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.ActiveCfg = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Build.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x64.Deploy.0 = Release|x64 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.ActiveCfg = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Build.0 = Release|Win32 + {1F93D330-56FC-4497-BBDE-1807301B5C79}.Release|x86.Deploy.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/10.0.15042.0/Samples/XamlCode/XamlCode.vcxproj b/10.0.15042.0/Samples/XamlCode/XamlCode.vcxproj new file mode 100644 index 000000000..561b83f29 --- /dev/null +++ b/10.0.15042.0/Samples/XamlCode/XamlCode.vcxproj @@ -0,0 +1,298 @@ + + + + {1f93d330-56fc-4497-bbde-1807301b5c79} + App + en-US + 14.0 + true + Windows Store + 8.2 + 10.0.10166.0 + 10.0.10166.0 + 10.0.14393.0 + 10.0.14393.0 + + + + + Debug + ARM + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + Win32 + + + Release + x64 + + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + Application + false + true + v140 + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + $(Configuration)\$(Platform)\ + $(Configuration)\$(Platform)\temp\ + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + /bigobj /await /std:c++latest /d1permissive- + 4453;28204 + ..\..;$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories) + Level4 + false + + + + + + + + + + + + + + copy App.winmd $(OutDir)App.winmd + + + + + + + + Designer + + + + + + + + + + + + + + Create + Create + Create + Create + Create + Create + + + + + + \ No newline at end of file diff --git a/10.0.15042.0/Samples/XamlCode/pch.cpp b/10.0.15042.0/Samples/XamlCode/pch.cpp new file mode 100644 index 000000000..bcb5590be --- /dev/null +++ b/10.0.15042.0/Samples/XamlCode/pch.cpp @@ -0,0 +1 @@ +#include "pch.h" diff --git a/10.0.15042.0/Samples/XamlCode/pch.h b/10.0.15042.0/Samples/XamlCode/pch.h new file mode 100644 index 000000000..4ae1de948 --- /dev/null +++ b/10.0.15042.0/Samples/XamlCode/pch.h @@ -0,0 +1,13 @@ +#pragma once + +#pragma comment(lib, "windowsapp") + +#include "winrt/Windows.ApplicationModel.Activation.h" +#include "winrt/Windows.Foundation.h" +#include "winrt/Windows.UI.Xaml.Controls.h" +#include "winrt/Windows.UI.Xaml.Media.h" +#include "winrt/Windows.Storage.Streams.h" +#include "winrt/Windows.Graphics.Imaging.h" +#include "winrt/Windows.Media.Ocr.h" +#include "winrt/Windows.Storage.Pickers.h" +#include "winrt/Windows.Networking.h" diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Activation.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Activation.h new file mode 100644 index 000000000..31d414772 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Activation.h @@ -0,0 +1,3138 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.Background.3.h" +#include "internal/Windows.ApplicationModel.Contacts.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Appointments.AppointmentsProvider.3.h" +#include "internal/Windows.ApplicationModel.UserDataAccounts.Provider.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.UI.ViewManagement.3.h" +#include "internal/Windows.ApplicationModel.Search.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.ShareTarget.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Search.3.h" +#include "internal/Windows.Storage.Pickers.Provider.3.h" +#include "internal/Windows.Storage.Provider.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Security.Authentication.Web.3.h" +#include "internal/Windows.Security.Authentication.Web.Provider.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Media.SpeechRecognition.3.h" +#include "internal/Windows.ApplicationModel.Wallet.3.h" +#include "internal/Windows.Devices.Printers.Extensions.3.h" +#include "internal/Windows.ApplicationModel.Calls.3.h" +#include "internal/Windows.ApplicationModel.Contacts.Provider.3.h" +#include "internal/Windows.ApplicationModel.Activation.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Activation::ActivationKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviousExecutionState(Windows::ApplicationModel::Activation::ApplicationExecutionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviousExecutionState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SplashScreen(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SplashScreen()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentlyShownApplicationViewId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentlyShownApplicationViewId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Verb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Verb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddAppointmentOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddAppointmentOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoveAppointmentOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoveAppointmentOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReplaceAppointmentOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReplaceAppointmentOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstanceStartDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceStartDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoamingId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoamingId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TimeToShow(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeToShow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskInstance(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskInstance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CachedFileUpdaterUI(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CachedFileUpdaterUI()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoDeviceController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoDeviceExtension(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceExtension()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Verb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Verb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceUserId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceUserId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceUserId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceUserId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactPanel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactPanel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactPickerUI(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactPickerUI()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceUserId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceUserId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceUserId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceUserId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Verb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Verb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContinuationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContinuationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceInformationId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformationId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Verb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Verb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Files(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Files()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Verb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Verb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CallerPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallerPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NeighboringFilesQuery(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NeighboringFilesQuery()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FileOpenPickerUI(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileOpenPickerUI()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CallerPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallerPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Files(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Files()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FileSavePickerUI(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileSavePickerUI()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CallerPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallerPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnterpriseId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnterpriseId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Folder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Folder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TileActivatedInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileActivatedInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Info(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Info()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CallUI(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallUI()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PickerOperationId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PickerOperationId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrelaunchActivated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrelaunchActivated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Workflow(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Workflow()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Configuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Configuration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrintWorkflowSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintWorkflowSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CallerPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallerPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProtocolForResultsOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolForResultsOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SharedContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharedContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LinguisticDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinguisticDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShareOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShareOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ImageLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageLocation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Dismissed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Dismissed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Dismissed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Dismissed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecentlyShownNotifications(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecentlyShownNotifications()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Argument(impl::abi_arg_out argument) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *argument = detach_abi(this->shim().Argument()); + return S_OK; + } + catch (...) + { + *argument = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserInput(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserInput()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Operation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Operation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewSwitcher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewSwitcher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Result(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActionKind(Windows::ApplicationModel::Wallet::WalletActionKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActionKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Operation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Operation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAuthenticationResult(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().WebAuthenticationResult()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Activation { + +template Windows::ApplicationModel::Background::IBackgroundTaskInstance impl_IBackgroundActivatedEventArgs::TaskInstance() const +{ + Windows::ApplicationModel::Background::IBackgroundTaskInstance value; + check_hresult(WINRT_SHIM(IBackgroundActivatedEventArgs)->get_TaskInstance(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactPanel impl_IContactPanelActivatedEventArgs::ContactPanel() const +{ + Windows::ApplicationModel::Contacts::ContactPanel value { nullptr }; + check_hresult(WINRT_SHIM(IContactPanelActivatedEventArgs)->get_ContactPanel(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Contact impl_IContactPanelActivatedEventArgs::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IContactPanelActivatedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_ISplashScreen::ImageLocation() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ISplashScreen)->get_ImageLocation(put_abi(value))); + return value; +} + +template event_token impl_ISplashScreen::Dismissed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISplashScreen)->add_Dismissed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ISplashScreen::Dismissed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Activation::ISplashScreen::remove_Dismissed, Dismissed(handler)); +} + +template void impl_ISplashScreen::Dismissed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISplashScreen)->remove_Dismissed(cookie)); +} + +template Windows::ApplicationModel::Activation::ActivationKind impl_IActivatedEventArgs::Kind() const +{ + Windows::ApplicationModel::Activation::ActivationKind value {}; + check_hresult(WINRT_SHIM(IActivatedEventArgs)->get_Kind(&value)); + return value; +} + +template Windows::ApplicationModel::Activation::ApplicationExecutionState impl_IActivatedEventArgs::PreviousExecutionState() const +{ + Windows::ApplicationModel::Activation::ApplicationExecutionState value {}; + check_hresult(WINRT_SHIM(IActivatedEventArgs)->get_PreviousExecutionState(&value)); + return value; +} + +template Windows::ApplicationModel::Activation::SplashScreen impl_IActivatedEventArgs::SplashScreen() const +{ + Windows::ApplicationModel::Activation::SplashScreen value { nullptr }; + check_hresult(WINRT_SHIM(IActivatedEventArgs)->get_SplashScreen(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentsProviderActivatedEventArgs::Verb() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderActivatedEventArgs)->get_Verb(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentsProvider::AddAppointmentOperation impl_IAppointmentsProviderAddAppointmentActivatedEventArgs::AddAppointmentOperation() const +{ + Windows::ApplicationModel::Appointments::AppointmentsProvider::AddAppointmentOperation value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentsProviderAddAppointmentActivatedEventArgs)->get_AddAppointmentOperation(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentsProvider::ReplaceAppointmentOperation impl_IAppointmentsProviderReplaceAppointmentActivatedEventArgs::ReplaceAppointmentOperation() const +{ + Windows::ApplicationModel::Appointments::AppointmentsProvider::ReplaceAppointmentOperation value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentsProviderReplaceAppointmentActivatedEventArgs)->get_ReplaceAppointmentOperation(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentsProvider::RemoveAppointmentOperation impl_IAppointmentsProviderRemoveAppointmentActivatedEventArgs::RemoveAppointmentOperation() const +{ + Windows::ApplicationModel::Appointments::AppointmentsProvider::RemoveAppointmentOperation value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentsProviderRemoveAppointmentActivatedEventArgs)->get_RemoveAppointmentOperation(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs::InstanceStartDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs)->get_InstanceStartDate(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs::LocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs)->get_LocalId(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs::RoamingId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs)->get_RoamingId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAppointmentsProviderShowTimeFrameActivatedEventArgs::TimeToShow() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppointmentsProviderShowTimeFrameActivatedEventArgs)->get_TimeToShow(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppointmentsProviderShowTimeFrameActivatedEventArgs::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppointmentsProviderShowTimeFrameActivatedEventArgs)->get_Duration(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataAccounts::Provider::IUserDataAccountProviderOperation impl_IUserDataAccountProviderActivatedEventArgs::Operation() const +{ + Windows::ApplicationModel::UserDataAccounts::Provider::IUserDataAccountProviderOperation value; + check_hresult(WINRT_SHIM(IUserDataAccountProviderActivatedEventArgs)->get_Operation(put_abi(value))); + return value; +} + +template Windows::System::User impl_IActivatedEventArgsWithUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IActivatedEventArgsWithUser)->get_User(put_abi(value))); + return value; +} + +template int32_t impl_IApplicationViewActivatedEventArgs::CurrentlyShownApplicationViewId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IApplicationViewActivatedEventArgs)->get_CurrentlyShownApplicationViewId(&value)); + return value; +} + +template Windows::UI::ViewManagement::ActivationViewSwitcher impl_IViewSwitcherProvider::ViewSwitcher() const +{ + Windows::UI::ViewManagement::ActivationViewSwitcher value { nullptr }; + check_hresult(WINRT_SHIM(IViewSwitcherProvider)->get_ViewSwitcher(put_abi(value))); + return value; +} + +template bool impl_IPrelaunchActivatedEventArgs::PrelaunchActivated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPrelaunchActivatedEventArgs)->get_PrelaunchActivated(&value)); + return value; +} + +template hstring impl_ILaunchActivatedEventArgs::Arguments() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILaunchActivatedEventArgs)->get_Arguments(put_abi(value))); + return value; +} + +template hstring impl_ILaunchActivatedEventArgs::TileId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILaunchActivatedEventArgs)->get_TileId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Activation::TileActivatedInfo impl_ILaunchActivatedEventArgs2::TileActivatedInfo() const +{ + Windows::ApplicationModel::Activation::TileActivatedInfo value { nullptr }; + check_hresult(WINRT_SHIM(ILaunchActivatedEventArgs2)->get_TileActivatedInfo(put_abi(value))); + return value; +} + +template hstring impl_ISearchActivatedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchActivatedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchActivatedEventArgs::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchActivatedEventArgs)->get_Language(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchPaneQueryLinguisticDetails impl_ISearchActivatedEventArgsWithLinguisticDetails::LinguisticDetails() const +{ + Windows::ApplicationModel::Search::SearchPaneQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchActivatedEventArgsWithLinguisticDetails)->get_LinguisticDetails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::ShareTarget::ShareOperation impl_IShareTargetActivatedEventArgs::ShareOperation() const +{ + Windows::ApplicationModel::DataTransfer::ShareTarget::ShareOperation value { nullptr }; + check_hresult(WINRT_SHIM(IShareTargetActivatedEventArgs)->get_ShareOperation(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IFileActivatedEventArgs::Files() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFileActivatedEventArgs)->get_Files(put_abi(value))); + return value; +} + +template hstring impl_IFileActivatedEventArgs::Verb() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileActivatedEventArgs)->get_Verb(put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageFileQueryResult impl_IFileActivatedEventArgsWithNeighboringFiles::NeighboringFilesQuery() const +{ + Windows::Storage::Search::StorageFileQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IFileActivatedEventArgsWithNeighboringFiles)->get_NeighboringFilesQuery(put_abi(value))); + return value; +} + +template hstring impl_IFileActivatedEventArgsWithCallerPackageFamilyName::CallerPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileActivatedEventArgsWithCallerPackageFamilyName)->get_CallerPackageFamilyName(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IProtocolActivatedEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IProtocolActivatedEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template hstring impl_IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData::CallerPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData)->get_CallerPackageFamilyName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData::Data() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData)->get_Data(put_abi(value))); + return value; +} + +template Windows::System::ProtocolForResultsOperation impl_IProtocolForResultsActivatedEventArgs::ProtocolForResultsOperation() const +{ + Windows::System::ProtocolForResultsOperation value { nullptr }; + check_hresult(WINRT_SHIM(IProtocolForResultsActivatedEventArgs)->get_ProtocolForResultsOperation(put_abi(value))); + return value; +} + +template Windows::Storage::Pickers::Provider::FileOpenPickerUI impl_IFileOpenPickerActivatedEventArgs::FileOpenPickerUI() const +{ + Windows::Storage::Pickers::Provider::FileOpenPickerUI value { nullptr }; + check_hresult(WINRT_SHIM(IFileOpenPickerActivatedEventArgs)->get_FileOpenPickerUI(put_abi(value))); + return value; +} + +template hstring impl_IFileOpenPickerActivatedEventArgs2::CallerPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileOpenPickerActivatedEventArgs2)->get_CallerPackageFamilyName(put_abi(value))); + return value; +} + +template Windows::Storage::Pickers::Provider::FileSavePickerUI impl_IFileSavePickerActivatedEventArgs::FileSavePickerUI() const +{ + Windows::Storage::Pickers::Provider::FileSavePickerUI value { nullptr }; + check_hresult(WINRT_SHIM(IFileSavePickerActivatedEventArgs)->get_FileSavePickerUI(put_abi(value))); + return value; +} + +template hstring impl_IFileSavePickerActivatedEventArgs2::CallerPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePickerActivatedEventArgs2)->get_CallerPackageFamilyName(put_abi(value))); + return value; +} + +template hstring impl_IFileSavePickerActivatedEventArgs2::EnterpriseId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePickerActivatedEventArgs2)->get_EnterpriseId(put_abi(value))); + return value; +} + +template Windows::Storage::Provider::CachedFileUpdaterUI impl_ICachedFileUpdaterActivatedEventArgs::CachedFileUpdaterUI() const +{ + Windows::Storage::Provider::CachedFileUpdaterUI value { nullptr }; + check_hresult(WINRT_SHIM(ICachedFileUpdaterActivatedEventArgs)->get_CachedFileUpdaterUI(put_abi(value))); + return value; +} + +template hstring impl_IDeviceActivatedEventArgs::DeviceInformationId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceActivatedEventArgs)->get_DeviceInformationId(put_abi(value))); + return value; +} + +template hstring impl_IDeviceActivatedEventArgs::Verb() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceActivatedEventArgs)->get_Verb(put_abi(value))); + return value; +} + +template hstring impl_IPickerReturnedActivatedEventArgs::PickerOperationId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPickerReturnedActivatedEventArgs)->get_PickerOperationId(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRestrictedLaunchActivatedEventArgs::SharedContext() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRestrictedLaunchActivatedEventArgs)->get_SharedContext(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_ILockScreenActivatedEventArgs::Info() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ILockScreenActivatedEventArgs)->get_Info(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_IContinuationActivatedEventArgs::ContinuationData() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IContinuationActivatedEventArgs)->get_ContinuationData(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IFileOpenPickerContinuationEventArgs::Files() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFileOpenPickerContinuationEventArgs)->get_Files(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFile impl_IFileSavePickerContinuationEventArgs::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IFileSavePickerContinuationEventArgs)->get_File(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IFolderPickerContinuationEventArgs::Folder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IFolderPickerContinuationEventArgs)->get_Folder(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::WebAuthenticationResult impl_IWebAuthenticationBrokerContinuationEventArgs::WebAuthenticationResult() const +{ + Windows::Security::Authentication::Web::WebAuthenticationResult result { nullptr }; + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerContinuationEventArgs)->get_WebAuthenticationResult(put_abi(result))); + return result; +} + +template Windows::Security::Authentication::Web::Provider::IWebAccountProviderOperation impl_IWebAccountProviderActivatedEventArgs::Operation() const +{ + Windows::Security::Authentication::Web::Provider::IWebAccountProviderOperation value; + check_hresult(WINRT_SHIM(IWebAccountProviderActivatedEventArgs)->get_Operation(put_abi(value))); + return value; +} + +template hstring impl_IToastNotificationActivatedEventArgs::Argument() const +{ + hstring argument; + check_hresult(WINRT_SHIM(IToastNotificationActivatedEventArgs)->get_Argument(put_abi(argument))); + return argument; +} + +template Windows::Foundation::Collections::ValueSet impl_IToastNotificationActivatedEventArgs::UserInput() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationActivatedEventArgs)->get_UserInput(put_abi(value))); + return value; +} + +template hstring impl_IDialReceiverActivatedEventArgs::AppName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDialReceiverActivatedEventArgs)->get_AppName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITileActivatedInfo::RecentlyShownNotifications() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITileActivatedInfo)->get_RecentlyShownNotifications(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IDevicePairingActivatedEventArgs::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDevicePairingActivatedEventArgs)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionResult impl_IVoiceCommandActivatedEventArgs::Result() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionResult value { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandActivatedEventArgs)->get_Result(put_abi(value))); + return value; +} + +template hstring impl_IWalletActionActivatedEventArgs::ItemId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletActionActivatedEventArgs)->get_ItemId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Wallet::WalletActionKind impl_IWalletActionActivatedEventArgs::ActionKind() const +{ + Windows::ApplicationModel::Wallet::WalletActionKind value {}; + check_hresult(WINRT_SHIM(IWalletActionActivatedEventArgs)->get_ActionKind(&value)); + return value; +} + +template hstring impl_IWalletActionActivatedEventArgs::ActionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletActionActivatedEventArgs)->get_ActionId(put_abi(value))); + return value; +} + +template Windows::Devices::Printers::Extensions::PrintTaskConfiguration impl_IPrintTaskSettingsActivatedEventArgs::Configuration() const +{ + Windows::Devices::Printers::Extensions::PrintTaskConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskSettingsActivatedEventArgs)->get_Configuration(put_abi(value))); + return value; +} + +template Windows::Devices::Printers::Extensions::Print3DWorkflow impl_IPrint3DWorkflowActivatedEventArgs::Workflow() const +{ + Windows::Devices::Printers::Extensions::Print3DWorkflow value { nullptr }; + check_hresult(WINRT_SHIM(IPrint3DWorkflowActivatedEventArgs)->get_Workflow(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IPrintWorkflowForegroundTaskActivatedEventArgs::PrintWorkflowSession() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IPrintWorkflowForegroundTaskActivatedEventArgs)->get_PrintWorkflowSession(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Calls::LockScreenCallUI impl_ILockScreenCallActivatedEventArgs::CallUI() const +{ + Windows::ApplicationModel::Calls::LockScreenCallUI value { nullptr }; + check_hresult(WINRT_SHIM(ILockScreenCallActivatedEventArgs)->get_CallUI(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_ICameraSettingsActivatedEventArgs::VideoDeviceController() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ICameraSettingsActivatedEventArgs)->get_VideoDeviceController(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_ICameraSettingsActivatedEventArgs::VideoDeviceExtension() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ICameraSettingsActivatedEventArgs)->get_VideoDeviceExtension(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Provider::ContactPickerUI impl_IContactPickerActivatedEventArgs::ContactPickerUI() const +{ + Windows::ApplicationModel::Contacts::Provider::ContactPickerUI value { nullptr }; + check_hresult(WINRT_SHIM(IContactPickerActivatedEventArgs)->get_ContactPickerUI(put_abi(value))); + return value; +} + +template hstring impl_IContactActivatedEventArgs::Verb() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactActivatedEventArgs)->get_Verb(put_abi(value))); + return value; +} + +template hstring impl_IContactCallActivatedEventArgs::ServiceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactCallActivatedEventArgs)->get_ServiceId(put_abi(value))); + return value; +} + +template hstring impl_IContactCallActivatedEventArgs::ServiceUserId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactCallActivatedEventArgs)->get_ServiceUserId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Contact impl_IContactCallActivatedEventArgs::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IContactCallActivatedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template hstring impl_IContactMessageActivatedEventArgs::ServiceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactMessageActivatedEventArgs)->get_ServiceId(put_abi(value))); + return value; +} + +template hstring impl_IContactMessageActivatedEventArgs::ServiceUserId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactMessageActivatedEventArgs)->get_ServiceUserId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Contact impl_IContactMessageActivatedEventArgs::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IContactMessageActivatedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactAddress impl_IContactMapActivatedEventArgs::Address() const +{ + Windows::ApplicationModel::Contacts::ContactAddress value { nullptr }; + check_hresult(WINRT_SHIM(IContactMapActivatedEventArgs)->get_Address(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Contact impl_IContactMapActivatedEventArgs::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IContactMapActivatedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template hstring impl_IContactPostActivatedEventArgs::ServiceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactPostActivatedEventArgs)->get_ServiceId(put_abi(value))); + return value; +} + +template hstring impl_IContactPostActivatedEventArgs::ServiceUserId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactPostActivatedEventArgs)->get_ServiceUserId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Contact impl_IContactPostActivatedEventArgs::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IContactPostActivatedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template hstring impl_IContactVideoCallActivatedEventArgs::ServiceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactVideoCallActivatedEventArgs)->get_ServiceId(put_abi(value))); + return value; +} + +template hstring impl_IContactVideoCallActivatedEventArgs::ServiceUserId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactVideoCallActivatedEventArgs)->get_ServiceUserId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Contact impl_IContactVideoCallActivatedEventArgs::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IContactVideoCallActivatedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template hstring impl_IContactsProviderActivatedEventArgs::Verb() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactsProviderActivatedEventArgs)->get_Verb(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IActivatedEventArgsWithUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IApplicationViewActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IAppointmentsProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IAppointmentsProviderAddAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IAppointmentsProviderRemoveAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IAppointmentsProviderReplaceAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IAppointmentsProviderShowTimeFrameActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IBackgroundActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ICachedFileUpdaterActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ICameraSettingsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactMapActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactMessageActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactPanelActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactPickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactPostActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactVideoCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContactsProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IContinuationActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IDeviceActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IDevicePairingActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IDialReceiverActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileActivatedEventArgsWithCallerPackageFamilyName & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileActivatedEventArgsWithNeighboringFiles & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileOpenPickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileOpenPickerActivatedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileOpenPickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileSavePickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileSavePickerActivatedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFileSavePickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IFolderPickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ILaunchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ILaunchActivatedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ILockScreenActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ILockScreenCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IPickerReturnedActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IPrelaunchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IPrint3DWorkflowActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IPrintTaskSettingsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IPrintWorkflowForegroundTaskActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IProtocolActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IProtocolForResultsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IRestrictedLaunchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ISearchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ISearchActivatedEventArgsWithLinguisticDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IShareTargetActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ISplashScreen & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ITileActivatedInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IToastNotificationActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IUserDataAccountProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IViewSwitcherProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IVoiceCommandActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IWalletActionActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IWebAccountProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::IWebAuthenticationBrokerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::AppointmentsProviderAddAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::AppointmentsProviderRemoveAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::AppointmentsProviderReplaceAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::AppointmentsProviderShowAppointmentDetailsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::AppointmentsProviderShowTimeFrameActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::BackgroundActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::CachedFileUpdaterActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::CameraSettingsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ContactCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ContactMapActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ContactMessageActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ContactPanelActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ContactPickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ContactPostActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ContactVideoCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::DeviceActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::DevicePairingActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::DialReceiverActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::FileActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::FileOpenPickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::FileOpenPickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::FileSavePickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::FileSavePickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::FolderPickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::LaunchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::LockScreenActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::LockScreenCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::LockScreenComponentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::PickerReturnedActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::Print3DWorkflowActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::PrintTaskSettingsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::PrintWorkflowForegroundTaskActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ProtocolActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ProtocolForResultsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::RestrictedLaunchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::SearchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ShareTargetActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::SplashScreen & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::TileActivatedInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::ToastNotificationActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::UserDataAccountProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::VoiceCommandActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::WalletActionActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::WebAccountProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Activation::WebAuthenticationBrokerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.AppExtensions.h b/10.0.15042.0/winrt/Windows.ApplicationModel.AppExtensions.h new file mode 100644 index 000000000..55a5230fe --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.AppExtensions.h @@ -0,0 +1,908 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.AppExtensions.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetExtensionPropertiesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetExtensionPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPublicFolderAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPublicFolderAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestRemovePackageAsync(impl::abi_arg_in packageFullName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestRemovePackageAsync(*reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageInstalled(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageInstalled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageInstalled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageInstalled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageUpdating(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageUpdating(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageUpdating(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageUpdating(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageUninstalling(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageUninstalling(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageUninstalling(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageUninstalling(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Open(impl::abi_arg_in appExtensionName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Open(*reinterpret_cast(&appExtensionName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppExtensionName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppExtensionName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extensions(impl::abi_arg_out> values) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *values = detach_abi(this->shim().Extensions()); + return S_OK; + } + catch (...) + { + *values = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppExtensionName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppExtensionName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppExtensionName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppExtensionName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppExtensionName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppExtensionName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extensions(impl::abi_arg_out> values) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *values = detach_abi(this->shim().Extensions()); + return S_OK; + } + catch (...) + { + *values = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppExtensionName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppExtensionName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::AppExtensions { + +template Windows::ApplicationModel::AppExtensions::AppExtensionCatalog impl_IAppExtensionCatalogStatics::Open(hstring_view appExtensionName) const +{ + Windows::ApplicationModel::AppExtensions::AppExtensionCatalog value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtensionCatalogStatics)->abi_Open(get_abi(appExtensionName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppExtensionCatalog::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->abi_FindAllAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppExtensionCatalog::RequestRemovePackageAsync(hstring_view packageFullName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->abi_RequestRemovePackageAsync(get_abi(packageFullName), put_abi(operation))); + return operation; +} + +template event_token impl_IAppExtensionCatalog::PackageInstalled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->add_PackageInstalled(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppExtensionCatalog::PackageInstalled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::AppExtensions::IAppExtensionCatalog::remove_PackageInstalled, PackageInstalled(handler)); +} + +template void impl_IAppExtensionCatalog::PackageInstalled(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->remove_PackageInstalled(token)); +} + +template event_token impl_IAppExtensionCatalog::PackageUpdating(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->add_PackageUpdating(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppExtensionCatalog::PackageUpdating(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::AppExtensions::IAppExtensionCatalog::remove_PackageUpdating, PackageUpdating(handler)); +} + +template void impl_IAppExtensionCatalog::PackageUpdating(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->remove_PackageUpdating(token)); +} + +template event_token impl_IAppExtensionCatalog::PackageUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->add_PackageUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppExtensionCatalog::PackageUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::AppExtensions::IAppExtensionCatalog::remove_PackageUpdated, PackageUpdated(handler)); +} + +template void impl_IAppExtensionCatalog::PackageUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->remove_PackageUpdated(token)); +} + +template event_token impl_IAppExtensionCatalog::PackageUninstalling(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->add_PackageUninstalling(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppExtensionCatalog::PackageUninstalling(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::AppExtensions::IAppExtensionCatalog::remove_PackageUninstalling, PackageUninstalling(handler)); +} + +template void impl_IAppExtensionCatalog::PackageUninstalling(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->remove_PackageUninstalling(token)); +} + +template event_token impl_IAppExtensionCatalog::PackageStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->add_PackageStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppExtensionCatalog::PackageStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::AppExtensions::IAppExtensionCatalog::remove_PackageStatusChanged, PackageStatusChanged(handler)); +} + +template void impl_IAppExtensionCatalog::PackageStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppExtensionCatalog)->remove_PackageStatusChanged(token)); +} + +template hstring impl_IAppExtension::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtension)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IAppExtension::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtension)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IAppExtension::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtension)->get_Description(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IAppExtension::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtension)->get_Package(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::AppInfo impl_IAppExtension::AppInfo() const +{ + Windows::ApplicationModel::AppInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtension)->get_AppInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAppExtension::GetExtensionPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppExtension)->abi_GetExtensionPropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppExtension::GetPublicFolderAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppExtension)->abi_GetPublicFolderAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IAppExtensionPackageInstalledEventArgs::AppExtensionName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtensionPackageInstalledEventArgs)->get_AppExtensionName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IAppExtensionPackageInstalledEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtensionPackageInstalledEventArgs)->get_Package(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppExtensionPackageInstalledEventArgs::Extensions() const +{ + Windows::Foundation::Collections::IVectorView values; + check_hresult(WINRT_SHIM(IAppExtensionPackageInstalledEventArgs)->get_Extensions(put_abi(values))); + return values; +} + +template hstring impl_IAppExtensionPackageUpdatingEventArgs::AppExtensionName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtensionPackageUpdatingEventArgs)->get_AppExtensionName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IAppExtensionPackageUpdatingEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtensionPackageUpdatingEventArgs)->get_Package(put_abi(value))); + return value; +} + +template hstring impl_IAppExtensionPackageUpdatedEventArgs::AppExtensionName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtensionPackageUpdatedEventArgs)->get_AppExtensionName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IAppExtensionPackageUpdatedEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtensionPackageUpdatedEventArgs)->get_Package(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppExtensionPackageUpdatedEventArgs::Extensions() const +{ + Windows::Foundation::Collections::IVectorView values; + check_hresult(WINRT_SHIM(IAppExtensionPackageUpdatedEventArgs)->get_Extensions(put_abi(values))); + return values; +} + +template hstring impl_IAppExtensionPackageUninstallingEventArgs::AppExtensionName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtensionPackageUninstallingEventArgs)->get_AppExtensionName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IAppExtensionPackageUninstallingEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtensionPackageUninstallingEventArgs)->get_Package(put_abi(value))); + return value; +} + +template hstring impl_IAppExtensionPackageStatusChangedEventArgs::AppExtensionName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppExtensionPackageStatusChangedEventArgs)->get_AppExtensionName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IAppExtensionPackageStatusChangedEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IAppExtensionPackageStatusChangedEventArgs)->get_Package(put_abi(value))); + return value; +} + +inline Windows::ApplicationModel::AppExtensions::AppExtensionCatalog AppExtensionCatalog::Open(hstring_view appExtensionName) +{ + return get_activation_factory().Open(appExtensionName); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtension & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtensionCatalog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtensionCatalogStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtensionPackageInstalledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtensionPackageStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtensionPackageUninstallingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtensionPackageUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::IAppExtensionPackageUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::AppExtension & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::AppExtensionCatalog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::AppExtensionPackageInstalledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::AppExtensionPackageStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::AppExtensionPackageUninstallingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::AppExtensionPackageUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppExtensions::AppExtensionPackageUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.AppService.h b/10.0.15042.0/winrt/Windows.ApplicationModel.AppService.h new file mode 100644 index 000000000..71d5d79ff --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.AppService.h @@ -0,0 +1,790 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.RemoteSystems.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.ApplicationModel.AppService.3.h" +#include "Windows.ApplicationModel.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAppServiceProvidersAsync(impl::abi_arg_in appServiceName, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAppServiceProvidersAsync(*reinterpret_cast(&appServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::AppService::AppServiceClosedStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppServiceName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppServiceName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PackageFamilyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageFamilyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendMessageAsync(impl::abi_arg_in message, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendMessageAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RequestReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RequestReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RequestReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ServiceClosed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ServiceClosed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ServiceClosed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceClosed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenRemoteAsync(impl::abi_arg_in remoteSystemConnectionRequest, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenRemoteAsync(*reinterpret_cast(&remoteSystemConnectionRequest))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_User(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().User(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendResponseAsync(impl::abi_arg_in message, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendResponseAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::AppService::AppServiceResponseStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallerPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallerPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppServiceConnection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppServiceConnection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsRemoteSystemConnection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRemoteSystemConnection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::AppService { + +template void impl_IAppServiceDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IAppServiceDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::AppService::AppServiceClosedStatus impl_IAppServiceClosedEventArgs::Status() const +{ + Windows::ApplicationModel::AppService::AppServiceClosedStatus value {}; + check_hresult(WINRT_SHIM(IAppServiceClosedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::ApplicationModel::AppService::AppServiceRequest impl_IAppServiceRequestReceivedEventArgs::Request() const +{ + Windows::ApplicationModel::AppService::AppServiceRequest value { nullptr }; + check_hresult(WINRT_SHIM(IAppServiceRequestReceivedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::AppService::AppServiceDeferral impl_IAppServiceRequestReceivedEventArgs::GetDeferral() const +{ + Windows::ApplicationModel::AppService::AppServiceDeferral value { nullptr }; + check_hresult(WINRT_SHIM(IAppServiceRequestReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template hstring impl_IAppServiceConnection::AppServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppServiceConnection)->get_AppServiceName(put_abi(value))); + return value; +} + +template void impl_IAppServiceConnection::AppServiceName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppServiceConnection)->put_AppServiceName(get_abi(value))); +} + +template hstring impl_IAppServiceConnection::PackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppServiceConnection)->get_PackageFamilyName(put_abi(value))); + return value; +} + +template void impl_IAppServiceConnection::PackageFamilyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppServiceConnection)->put_PackageFamilyName(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IAppServiceConnection::OpenAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppServiceConnection)->abi_OpenAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppServiceConnection::SendMessageAsync(const Windows::Foundation::Collections::ValueSet & message) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppServiceConnection)->abi_SendMessageAsync(get_abi(message), put_abi(operation))); + return operation; +} + +template event_token impl_IAppServiceConnection::RequestReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppServiceConnection)->add_RequestReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppServiceConnection::RequestReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::AppService::IAppServiceConnection::remove_RequestReceived, RequestReceived(handler)); +} + +template void impl_IAppServiceConnection::RequestReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppServiceConnection)->remove_RequestReceived(token)); +} + +template event_token impl_IAppServiceConnection::ServiceClosed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppServiceConnection)->add_ServiceClosed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppServiceConnection::ServiceClosed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::AppService::IAppServiceConnection::remove_ServiceClosed, ServiceClosed(handler)); +} + +template void impl_IAppServiceConnection::ServiceClosed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppServiceConnection)->remove_ServiceClosed(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IAppServiceConnection2::OpenRemoteAsync(const Windows::System::RemoteSystems::RemoteSystemConnectionRequest & remoteSystemConnectionRequest) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppServiceConnection2)->abi_OpenRemoteAsync(get_abi(remoteSystemConnectionRequest), put_abi(operation))); + return operation; +} + +template Windows::System::User impl_IAppServiceConnection2::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IAppServiceConnection2)->get_User(put_abi(value))); + return value; +} + +template void impl_IAppServiceConnection2::User(const Windows::System::User & value) const +{ + check_hresult(WINRT_SHIM(IAppServiceConnection2)->put_User(get_abi(value))); +} + +template hstring impl_IAppServiceTriggerDetails::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppServiceTriggerDetails)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IAppServiceTriggerDetails::CallerPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppServiceTriggerDetails)->get_CallerPackageFamilyName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::AppService::AppServiceConnection impl_IAppServiceTriggerDetails::AppServiceConnection() const +{ + Windows::ApplicationModel::AppService::AppServiceConnection value { nullptr }; + check_hresult(WINRT_SHIM(IAppServiceTriggerDetails)->get_AppServiceConnection(put_abi(value))); + return value; +} + +template bool impl_IAppServiceTriggerDetails2::IsRemoteSystemConnection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppServiceTriggerDetails2)->get_IsRemoteSystemConnection(&value)); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_IAppServiceRequest::Message() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IAppServiceRequest)->get_Message(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAppServiceRequest::SendResponseAsync(const Windows::Foundation::Collections::ValueSet & message) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppServiceRequest)->abi_SendResponseAsync(get_abi(message), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::ValueSet impl_IAppServiceResponse::Message() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IAppServiceResponse)->get_Message(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::AppService::AppServiceResponseStatus impl_IAppServiceResponse::Status() const +{ + Windows::ApplicationModel::AppService::AppServiceResponseStatus value {}; + check_hresult(WINRT_SHIM(IAppServiceResponse)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppServiceCatalogStatics::FindAppServiceProvidersAsync(hstring_view appServiceName) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppServiceCatalogStatics)->abi_FindAppServiceProvidersAsync(get_abi(appServiceName), put_abi(operation))); + return operation; +} + +inline Windows::Foundation::IAsyncOperation> AppServiceCatalog::FindAppServiceProvidersAsync(hstring_view appServiceName) +{ + return get_activation_factory().FindAppServiceProvidersAsync(appServiceName); +} + +inline AppServiceConnection::AppServiceConnection() : + AppServiceConnection(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceCatalogStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceConnection2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceRequestReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::IAppServiceTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::AppServiceClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::AppServiceConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::AppServiceDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::AppServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::AppServiceRequestReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::AppServiceResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppService::AppServiceTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.AppointmentsProvider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.AppointmentsProvider.h new file mode 100644 index 000000000..16c0270d9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.AppointmentsProvider.h @@ -0,0 +1,679 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.Appointments.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Appointments.AppointmentsProvider.3.h" +#include "Windows.ApplicationModel.Appointments.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourcePackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourcePackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted(impl::abi_arg_in itemId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(*reinterpret_cast(&itemId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCanceled() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCanceled(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportError(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportError(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DismissUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddAppointment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddAppointment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReplaceAppointment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReplaceAppointment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoveAppointment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoveAppointment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowTimeFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowTimeFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShowAppointmentDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowAppointmentDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstanceStartDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceStartDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourcePackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourcePackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCanceled() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCanceled(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportError(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportError(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DismissUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstanceStartDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceStartDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourcePackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourcePackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted(impl::abi_arg_in itemId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(*reinterpret_cast(&itemId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCanceled() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCanceled(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportError(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportError(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DismissUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Appointments::AppointmentsProvider { + +template hstring impl_IAppointmentsProviderLaunchActionVerbsStatics::AddAppointment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderLaunchActionVerbsStatics)->get_AddAppointment(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentsProviderLaunchActionVerbsStatics::ReplaceAppointment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderLaunchActionVerbsStatics)->get_ReplaceAppointment(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentsProviderLaunchActionVerbsStatics::RemoveAppointment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderLaunchActionVerbsStatics)->get_RemoveAppointment(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentsProviderLaunchActionVerbsStatics::ShowTimeFrame() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderLaunchActionVerbsStatics)->get_ShowTimeFrame(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentsProviderLaunchActionVerbsStatics2::ShowAppointmentDetails() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentsProviderLaunchActionVerbsStatics2)->get_ShowAppointmentDetails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::Appointment impl_IAddAppointmentOperation::AppointmentInformation() const +{ + Windows::ApplicationModel::Appointments::Appointment value { nullptr }; + check_hresult(WINRT_SHIM(IAddAppointmentOperation)->get_AppointmentInformation(put_abi(value))); + return value; +} + +template hstring impl_IAddAppointmentOperation::SourcePackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAddAppointmentOperation)->get_SourcePackageFamilyName(put_abi(value))); + return value; +} + +template void impl_IAddAppointmentOperation::ReportCompleted(hstring_view itemId) const +{ + check_hresult(WINRT_SHIM(IAddAppointmentOperation)->abi_ReportCompleted(get_abi(itemId))); +} + +template void impl_IAddAppointmentOperation::ReportCanceled() const +{ + check_hresult(WINRT_SHIM(IAddAppointmentOperation)->abi_ReportCanceled()); +} + +template void impl_IAddAppointmentOperation::ReportError(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAddAppointmentOperation)->abi_ReportError(get_abi(value))); +} + +template void impl_IAddAppointmentOperation::DismissUI() const +{ + check_hresult(WINRT_SHIM(IAddAppointmentOperation)->abi_DismissUI()); +} + +template hstring impl_IReplaceAppointmentOperation::AppointmentId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->get_AppointmentId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::Appointment impl_IReplaceAppointmentOperation::AppointmentInformation() const +{ + Windows::ApplicationModel::Appointments::Appointment value { nullptr }; + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->get_AppointmentInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IReplaceAppointmentOperation::InstanceStartDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->get_InstanceStartDate(put_abi(value))); + return value; +} + +template hstring impl_IReplaceAppointmentOperation::SourcePackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->get_SourcePackageFamilyName(put_abi(value))); + return value; +} + +template void impl_IReplaceAppointmentOperation::ReportCompleted(hstring_view itemId) const +{ + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->abi_ReportCompleted(get_abi(itemId))); +} + +template void impl_IReplaceAppointmentOperation::ReportCanceled() const +{ + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->abi_ReportCanceled()); +} + +template void impl_IReplaceAppointmentOperation::ReportError(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->abi_ReportError(get_abi(value))); +} + +template void impl_IReplaceAppointmentOperation::DismissUI() const +{ + check_hresult(WINRT_SHIM(IReplaceAppointmentOperation)->abi_DismissUI()); +} + +template hstring impl_IRemoveAppointmentOperation::AppointmentId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoveAppointmentOperation)->get_AppointmentId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IRemoveAppointmentOperation::InstanceStartDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IRemoveAppointmentOperation)->get_InstanceStartDate(put_abi(value))); + return value; +} + +template hstring impl_IRemoveAppointmentOperation::SourcePackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoveAppointmentOperation)->get_SourcePackageFamilyName(put_abi(value))); + return value; +} + +template void impl_IRemoveAppointmentOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IRemoveAppointmentOperation)->abi_ReportCompleted()); +} + +template void impl_IRemoveAppointmentOperation::ReportCanceled() const +{ + check_hresult(WINRT_SHIM(IRemoveAppointmentOperation)->abi_ReportCanceled()); +} + +template void impl_IRemoveAppointmentOperation::ReportError(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IRemoveAppointmentOperation)->abi_ReportError(get_abi(value))); +} + +template void impl_IRemoveAppointmentOperation::DismissUI() const +{ + check_hresult(WINRT_SHIM(IRemoveAppointmentOperation)->abi_DismissUI()); +} + +inline hstring AppointmentsProviderLaunchActionVerbs::AddAppointment() +{ + return get_activation_factory().AddAppointment(); +} + +inline hstring AppointmentsProviderLaunchActionVerbs::ReplaceAppointment() +{ + return get_activation_factory().ReplaceAppointment(); +} + +inline hstring AppointmentsProviderLaunchActionVerbs::RemoveAppointment() +{ + return get_activation_factory().RemoveAppointment(); +} + +inline hstring AppointmentsProviderLaunchActionVerbs::ShowTimeFrame() +{ + return get_activation_factory().ShowTimeFrame(); +} + +inline hstring AppointmentsProviderLaunchActionVerbs::ShowAppointmentDetails() +{ + return get_activation_factory().ShowAppointmentDetails(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::IAddAppointmentOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::IAppointmentsProviderLaunchActionVerbsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::IAppointmentsProviderLaunchActionVerbsStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::IRemoveAppointmentOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::IReplaceAppointmentOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::AddAppointmentOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::RemoveAppointmentOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentsProvider::ReplaceAppointmentOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.DataProvider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.DataProvider.h new file mode 100644 index 000000000..832053491 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.DataProvider.h @@ -0,0 +1,1872 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Appointments.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.Appointments.DataProvider.3.h" +#include "Windows.ApplicationModel.Appointments.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentCalendarLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentCalendarLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentOriginalStartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentOriginalStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NotifyInvitees(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotifyInvitees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentCalendarLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentCalendarLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Appointment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appointment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NotifyInvitees(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotifyInvitees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChangedProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangedProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_in createdOrUpdatedAppointment, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync(*reinterpret_cast(&createdOrUpdatedAppointment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentCalendarLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentCalendarLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentOriginalStartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentOriginalStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Invitees(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Invitees()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForwardHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForwardHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentCalendarLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentCalendarLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentOriginalStartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentOriginalStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewStartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewStartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentCalendarLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentCalendarLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentCalendarLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentCalendarLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentLocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentLocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentOriginalStartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentOriginalStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Response(Windows::ApplicationModel::Appointments::AppointmentParticipantResponse * response) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *response = detach_abi(this->shim().Response()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SendUpdate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SendUpdate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SyncRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SyncRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SyncRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CreateOrUpdateAppointmentRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CreateOrUpdateAppointmentRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CreateOrUpdateAppointmentRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CreateOrUpdateAppointmentRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CancelMeetingRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CancelMeetingRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CancelMeetingRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelMeetingRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ForwardMeetingRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ForwardMeetingRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ForwardMeetingRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForwardMeetingRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProposeNewTimeForMeetingRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProposeNewTimeForMeetingRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProposeNewTimeForMeetingRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProposeNewTimeForMeetingRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UpdateMeetingResponseRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UpdateMeetingResponseRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UpdateMeetingResponseRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateMeetingResponseRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Connection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Connection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Appointments::DataProvider { + +template Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection impl_IAppointmentDataProviderTriggerDetails::Connection() const +{ + Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentDataProviderTriggerDetails)->get_Connection(put_abi(value))); + return value; +} + +template event_token impl_IAppointmentDataProviderConnection::SyncRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->add_SyncRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppointmentDataProviderConnection::SyncRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderConnection::remove_SyncRequested, SyncRequested(handler)); +} + +template void impl_IAppointmentDataProviderConnection::SyncRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->remove_SyncRequested(token)); +} + +template event_token impl_IAppointmentDataProviderConnection::CreateOrUpdateAppointmentRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->add_CreateOrUpdateAppointmentRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppointmentDataProviderConnection::CreateOrUpdateAppointmentRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderConnection::remove_CreateOrUpdateAppointmentRequested, CreateOrUpdateAppointmentRequested(handler)); +} + +template void impl_IAppointmentDataProviderConnection::CreateOrUpdateAppointmentRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->remove_CreateOrUpdateAppointmentRequested(token)); +} + +template event_token impl_IAppointmentDataProviderConnection::CancelMeetingRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->add_CancelMeetingRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppointmentDataProviderConnection::CancelMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderConnection::remove_CancelMeetingRequested, CancelMeetingRequested(handler)); +} + +template void impl_IAppointmentDataProviderConnection::CancelMeetingRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->remove_CancelMeetingRequested(token)); +} + +template event_token impl_IAppointmentDataProviderConnection::ForwardMeetingRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->add_ForwardMeetingRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppointmentDataProviderConnection::ForwardMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderConnection::remove_ForwardMeetingRequested, ForwardMeetingRequested(handler)); +} + +template void impl_IAppointmentDataProviderConnection::ForwardMeetingRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->remove_ForwardMeetingRequested(token)); +} + +template event_token impl_IAppointmentDataProviderConnection::ProposeNewTimeForMeetingRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->add_ProposeNewTimeForMeetingRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppointmentDataProviderConnection::ProposeNewTimeForMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderConnection::remove_ProposeNewTimeForMeetingRequested, ProposeNewTimeForMeetingRequested(handler)); +} + +template void impl_IAppointmentDataProviderConnection::ProposeNewTimeForMeetingRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->remove_ProposeNewTimeForMeetingRequested(token)); +} + +template event_token impl_IAppointmentDataProviderConnection::UpdateMeetingResponseRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->add_UpdateMeetingResponseRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppointmentDataProviderConnection::UpdateMeetingResponseRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderConnection::remove_UpdateMeetingResponseRequested, UpdateMeetingResponseRequested(handler)); +} + +template void impl_IAppointmentDataProviderConnection::UpdateMeetingResponseRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->remove_UpdateMeetingResponseRequested(token)); +} + +template void impl_IAppointmentDataProviderConnection::Start() const +{ + check_hresult(WINRT_SHIM(IAppointmentDataProviderConnection)->abi_Start()); +} + +template hstring impl_IAppointmentCalendarSyncManagerSyncRequest::AppointmentCalendarLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManagerSyncRequest)->get_AppointmentCalendarLocalId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarSyncManagerSyncRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManagerSyncRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarSyncManagerSyncRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManagerSyncRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IAppointmentCalendarCreateOrUpdateAppointmentRequest::AppointmentCalendarLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequest)->get_AppointmentCalendarLocalId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::Appointment impl_IAppointmentCalendarCreateOrUpdateAppointmentRequest::Appointment() const +{ + Windows::ApplicationModel::Appointments::Appointment value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequest)->get_Appointment(put_abi(value))); + return value; +} + +template bool impl_IAppointmentCalendarCreateOrUpdateAppointmentRequest::NotifyInvitees() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequest)->get_NotifyInvitees(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppointmentCalendarCreateOrUpdateAppointmentRequest::ChangedProperties() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequest)->get_ChangedProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarCreateOrUpdateAppointmentRequest::ReportCompletedAsync(const Windows::ApplicationModel::Appointments::Appointment & createdOrUpdatedAppointment) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequest)->abi_ReportCompletedAsync(get_abi(createdOrUpdatedAppointment), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarCreateOrUpdateAppointmentRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IAppointmentCalendarCancelMeetingRequest::AppointmentCalendarLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->get_AppointmentCalendarLocalId(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarCancelMeetingRequest::AppointmentLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->get_AppointmentLocalId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAppointmentCalendarCancelMeetingRequest::AppointmentOriginalStartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->get_AppointmentOriginalStartTime(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarCancelMeetingRequest::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarCancelMeetingRequest::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->get_Comment(put_abi(value))); + return value; +} + +template bool impl_IAppointmentCalendarCancelMeetingRequest::NotifyInvitees() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->get_NotifyInvitees(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarCancelMeetingRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarCancelMeetingRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IAppointmentCalendarForwardMeetingRequest::AppointmentCalendarLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->get_AppointmentCalendarLocalId(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarForwardMeetingRequest::AppointmentLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->get_AppointmentLocalId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAppointmentCalendarForwardMeetingRequest::AppointmentOriginalStartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->get_AppointmentOriginalStartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppointmentCalendarForwardMeetingRequest::Invitees() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->get_Invitees(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarForwardMeetingRequest::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarForwardMeetingRequest::ForwardHeader() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->get_ForwardHeader(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarForwardMeetingRequest::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->get_Comment(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarForwardMeetingRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarForwardMeetingRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::AppointmentCalendarLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->get_AppointmentCalendarLocalId(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::AppointmentLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->get_AppointmentLocalId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::AppointmentOriginalStartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->get_AppointmentOriginalStartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::NewStartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->get_NewStartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::NewDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->get_NewDuration(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->get_Comment(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarProposeNewTimeForMeetingRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IAppointmentCalendarUpdateMeetingResponseRequest::AppointmentCalendarLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->get_AppointmentCalendarLocalId(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarUpdateMeetingResponseRequest::AppointmentLocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->get_AppointmentLocalId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAppointmentCalendarUpdateMeetingResponseRequest::AppointmentOriginalStartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->get_AppointmentOriginalStartTime(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentParticipantResponse impl_IAppointmentCalendarUpdateMeetingResponseRequest::Response() const +{ + Windows::ApplicationModel::Appointments::AppointmentParticipantResponse response {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->get_Response(&response)); + return response; +} + +template hstring impl_IAppointmentCalendarUpdateMeetingResponseRequest::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendarUpdateMeetingResponseRequest::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->get_Comment(put_abi(value))); + return value; +} + +template bool impl_IAppointmentCalendarUpdateMeetingResponseRequest::SendUpdate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->get_SendUpdate(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarUpdateMeetingResponseRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendarUpdateMeetingResponseRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequest impl_IAppointmentCalendarSyncManagerSyncRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequest value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManagerSyncRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IAppointmentCalendarSyncManagerSyncRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManagerSyncRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequest impl_IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequest value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequest impl_IAppointmentCalendarCancelMeetingRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequest value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IAppointmentCalendarCancelMeetingRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarCancelMeetingRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequest impl_IAppointmentCalendarForwardMeetingRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequest value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IAppointmentCalendarForwardMeetingRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarForwardMeetingRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequest impl_IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequest value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequest impl_IAppointmentCalendarUpdateMeetingResponseRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequest value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IAppointmentCalendarUpdateMeetingResponseRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendarUpdateMeetingResponseRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarCancelMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarCancelMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarCreateOrUpdateAppointmentRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarForwardMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarForwardMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarProposeNewTimeForMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarProposeNewTimeForMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarUpdateMeetingResponseRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentCalendarUpdateMeetingResponseRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::IAppointmentDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCancelMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarCreateOrUpdateAppointmentRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarForwardMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarProposeNewTimeForMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentCalendarUpdateMeetingResponseRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::DataProvider::AppointmentDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.h new file mode 100644 index 000000000..b61470d63 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Appointments.h @@ -0,0 +1,5844 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.ApplicationModel.Appointments.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Location(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Location(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subject(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subject(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Details(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Details()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Details(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Details(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reminder(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reminder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Reminder(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reminder(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Organizer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Organizer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Organizer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Organizer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Invitees(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Invitees()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recurrence(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recurrence()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Recurrence(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Recurrence(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BusyStatus(Windows::ApplicationModel::Appointments::AppointmentBusyStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusyStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BusyStatus(Windows::ApplicationModel::Appointments::AppointmentBusyStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusyStatus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllDay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllDay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllDay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllDay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sensitivity(Windows::ApplicationModel::Appointments::AppointmentSensitivity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sensitivity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Sensitivity(Windows::ApplicationModel::Appointments::AppointmentSensitivity value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Sensitivity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Uri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Uri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoamingId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoamingId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoamingId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoamingId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OriginalStartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsResponseRequested(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsResponseRequested()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsResponseRequested(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsResponseRequested(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowNewTimeProposal(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowNewTimeProposal()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowNewTimeProposal(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowNewTimeProposal(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OnlineMeetingLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OnlineMeetingLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OnlineMeetingLink(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnlineMeetingLink(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReplyTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReplyTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReplyTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReplyTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserResponse(Windows::ApplicationModel::Appointments::AppointmentParticipantResponse * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserResponse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserResponse(Windows::ApplicationModel::Appointments::AppointmentParticipantResponse value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserResponse(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasInvitees(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasInvitees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceledMeeting(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceledMeeting()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCanceledMeeting(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCanceledMeeting(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOrganizedByUser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOrganizedByUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOrganizedByUser(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOrganizedByUser(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeNumber(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteChangeNumber(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteChangeNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteChangeNumber(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteChangeNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DetailsKind(Windows::ApplicationModel::Appointments::AppointmentDetailsKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetailsKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DetailsKind(Windows::ApplicationModel::Appointments::AppointmentDetailsKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DetailsKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHidden(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHidden()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppReadAccess(Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppReadAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppReadAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppReadAccess(Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppReadAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppReadAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppWriteAccess(Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppWriteAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppWriteAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppWriteAccess(Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppWriteAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppWriteAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SummaryCardView(Windows::ApplicationModel::Appointments::AppointmentSummaryCardView * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SummaryCardView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SummaryCardView(Windows::ApplicationModel::Appointments::AppointmentSummaryCardView value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SummaryCardView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppointmentsAsync(impl::abi_arg_in rangeStart, impl::abi_arg_in rangeLength, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAppointmentsAsync(*reinterpret_cast(&rangeStart), *reinterpret_cast(&rangeLength))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppointmentsAsyncWithOptions(impl::abi_arg_in rangeStart, impl::abi_arg_in rangeLength, impl::abi_arg_in options, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAppointmentsAsync(*reinterpret_cast(&rangeStart), *reinterpret_cast(&rangeLength), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindExceptionsFromMasterAsync(impl::abi_arg_in masterLocalId, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindExceptionsFromMasterAsync(*reinterpret_cast(&masterLocalId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllInstancesAsync(impl::abi_arg_in masterLocalId, impl::abi_arg_in rangeStart, impl::abi_arg_in rangeLength, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllInstancesAsync(*reinterpret_cast(&masterLocalId), *reinterpret_cast(&rangeStart), *reinterpret_cast(&rangeLength))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllInstancesAsyncWithOptions(impl::abi_arg_in masterLocalId, impl::abi_arg_in rangeStart, impl::abi_arg_in rangeLength, impl::abi_arg_in pOptions, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllInstancesAsync(*reinterpret_cast(&masterLocalId), *reinterpret_cast(&rangeStart), *reinterpret_cast(&rangeLength), *reinterpret_cast(&pOptions))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppointmentAsync(impl::abi_arg_in localId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAppointmentAsync(*reinterpret_cast(&localId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppointmentInstanceAsync(impl::abi_arg_in localId, impl::abi_arg_in instanceStartTime, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAppointmentInstanceAsync(*reinterpret_cast(&localId), *reinterpret_cast(&instanceStartTime))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindUnexpandedAppointmentsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindUnexpandedAppointmentsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindUnexpandedAppointmentsAsyncWithOptions(impl::abi_arg_in options, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindUnexpandedAppointmentsAsync(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAppointmentAsync(impl::abi_arg_in localId, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().DeleteAppointmentAsync(*reinterpret_cast(&localId))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAppointmentInstanceAsync(impl::abi_arg_in localId, impl::abi_arg_in instanceStartTime, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().DeleteAppointmentInstanceAsync(*reinterpret_cast(&localId), *reinterpret_cast(&instanceStartTime))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAppointmentAsync(impl::abi_arg_in pAppointment, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().SaveAppointmentAsync(*reinterpret_cast(&pAppointment))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SyncManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SyncManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHidden(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHidden(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDataAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDataAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanCreateOrUpdateAppointments(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanCreateOrUpdateAppointments()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanCreateOrUpdateAppointments(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanCreateOrUpdateAppointments(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanCancelMeetings(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanCancelMeetings()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanCancelMeetings(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanCancelMeetings(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanForwardMeetings(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanForwardMeetings()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanForwardMeetings(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanForwardMeetings(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanProposeNewTimeForMeetings(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanProposeNewTimeForMeetings()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanProposeNewTimeForMeetings(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanProposeNewTimeForMeetings(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanUpdateMeetingResponses(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanUpdateMeetingResponses()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanUpdateMeetingResponses(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanUpdateMeetingResponses(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanNotifyInvitees(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanNotifyInvitees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanNotifyInvitees(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanNotifyInvitees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MustNofityInvitees(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MustNofityInvitees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MustNofityInvitees(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MustNofityInvitees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateOrUpdateAppointmentAsync(impl::abi_arg_in appointment, bool notifyInvitees, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCreateOrUpdateAppointmentAsync(*reinterpret_cast(&appointment), notifyInvitees)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCancelMeetingAsync(impl::abi_arg_in meeting, impl::abi_arg_in subject, impl::abi_arg_in comment, bool notifyInvitees, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCancelMeetingAsync(*reinterpret_cast(&meeting), *reinterpret_cast(&subject), *reinterpret_cast(&comment), notifyInvitees)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryForwardMeetingAsync(impl::abi_arg_in meeting, impl::abi_arg_in> invitees, impl::abi_arg_in subject, impl::abi_arg_in forwardHeader, impl::abi_arg_in comment, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryForwardMeetingAsync(*reinterpret_cast(&meeting), *reinterpret_cast *>(&invitees), *reinterpret_cast(&subject), *reinterpret_cast(&forwardHeader), *reinterpret_cast(&comment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryProposeNewTimeForMeetingAsync(impl::abi_arg_in meeting, impl::abi_arg_in newStartTime, impl::abi_arg_in newDuration, impl::abi_arg_in subject, impl::abi_arg_in comment, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryProposeNewTimeForMeetingAsync(*reinterpret_cast(&meeting), *reinterpret_cast(&newStartTime), *reinterpret_cast(&newDuration), *reinterpret_cast(&subject), *reinterpret_cast(&comment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdateMeetingResponseAsync(impl::abi_arg_in meeting, Windows::ApplicationModel::Appointments::AppointmentParticipantResponse response, impl::abi_arg_in subject, impl::abi_arg_in comment, bool sendUpdate, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryUpdateMeetingResponseAsync(*reinterpret_cast(&meeting), response, *reinterpret_cast(&subject), *reinterpret_cast(&comment), sendUpdate)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterSyncManagerAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterSyncManagerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Appointments::AppointmentCalendarSyncStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastSuccessfulSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSuccessfulSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastAttemptedSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastAttemptedSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SyncAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SyncAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SyncStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SyncStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SyncStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Status(Windows::ApplicationModel::Appointments::AppointmentCalendarSyncStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastSuccessfulSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastSuccessfulSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastAttemptedSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastAttemptedSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::ApplicationModel::Appointments::AppointmentConflictType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Appointment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appointment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExceptionProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExceptionProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDeleted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDeleted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Role(Windows::ApplicationModel::Appointments::AppointmentParticipantRole * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Role()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Role(Windows::ApplicationModel::Appointments::AppointmentParticipantRole value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Role(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Response(Windows::ApplicationModel::Appointments::AppointmentParticipantResponse * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Response()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Response(Windows::ApplicationModel::Appointments::AppointmentParticipantResponse value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Response(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowAddAppointmentAsync(impl::abi_arg_in appointment, impl::abi_arg_in selection, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowAddAppointmentAsync(*reinterpret_cast(&appointment), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAddAppointmentWithPlacementAsync(impl::abi_arg_in appointment, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowAddAppointmentAsync(*reinterpret_cast(&appointment), *reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in appointment, impl::abi_arg_in selection, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentWithPlacementAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in appointment, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentWithPlacementAndDateAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in appointment, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in instanceStartDate, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in selection, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentWithPlacementAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentWithPlacementAndDateAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in instanceStartDate, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowTimeFrameAsync(impl::abi_arg_in timeToShow, impl::abi_arg_in duration, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowTimeFrameAsync(*reinterpret_cast(&timeToShow), *reinterpret_cast(&duration))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAppointmentDetailsAsync(impl::abi_arg_in appointmentId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowAppointmentDetailsAsync(*reinterpret_cast(&appointmentId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAppointmentDetailsWithDateAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in instanceStartDate, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowAppointmentDetailsAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowEditNewAppointmentAsync(impl::abi_arg_in appointment, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowEditNewAppointmentAsync(*reinterpret_cast(&appointment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::Appointments::AppointmentStoreAccessType options, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(options)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowAddAppointmentAsync(impl::abi_arg_in appointment, impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowAddAppointmentAsync(*reinterpret_cast(&appointment), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAddAppointmentWithPlacementAsync(impl::abi_arg_in appointment, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowAddAppointmentAsync(*reinterpret_cast(&appointment), *reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in appointment, impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentWithPlacementAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in appointment, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentWithPlacementAndDateAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in appointment, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in instanceStartDate, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentWithPlacementAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentWithPlacementAndDateAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in instanceStartDate, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowTimeFrameAsync(impl::abi_arg_in timeToShow, impl::abi_arg_in duration, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().ShowTimeFrameAsync(*reinterpret_cast(&timeToShow), *reinterpret_cast(&duration))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowAppointmentDetailsAsync(impl::abi_arg_in appointmentId, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().ShowAppointmentDetailsAsync(*reinterpret_cast(&appointmentId))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAppointmentDetailsWithDateAsync(impl::abi_arg_in appointmentId, impl::abi_arg_in instanceStartDate, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().ShowAppointmentDetailsAsync(*reinterpret_cast(&appointmentId), *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowEditNewAppointmentAsync(impl::abi_arg_in appointment, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowEditNewAppointmentAsync(*reinterpret_cast(&appointment))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::Appointments::AppointmentStoreAccessType options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStoreAsync(options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Address(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Address(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reminder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reminder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BusyStatus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusyStatus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sensitivity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sensitivity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OriginalStartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsResponseRequested(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsResponseRequested()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowNewTimeProposal(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowNewTimeProposal()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllDay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllDay()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Details(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Details()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OnlineMeetingLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OnlineMeetingLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReplyTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReplyTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Organizer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Organizer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserResponse(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserResponse()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasInvitees(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasInvitees()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceledMeeting(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceledMeeting()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOrganizedByUser(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOrganizedByUser()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recurrence(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recurrence()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Invitees(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Invitees()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteChangeNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteChangeNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DetailsKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetailsKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Unit(Windows::ApplicationModel::Appointments::AppointmentRecurrenceUnit * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Unit(Windows::ApplicationModel::Appointments::AppointmentRecurrenceUnit value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Occurrences(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Occurrences()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Occurrences(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Occurrences(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Until(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Until()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Until(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Until(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Interval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Interval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Interval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Interval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DaysOfWeek(Windows::ApplicationModel::Appointments::AppointmentDaysOfWeek * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DaysOfWeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DaysOfWeek(Windows::ApplicationModel::Appointments::AppointmentDaysOfWeek value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DaysOfWeek(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekOfMonth(Windows::ApplicationModel::Appointments::AppointmentWeekOfMonth * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekOfMonth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WeekOfMonth(Windows::ApplicationModel::Appointments::AppointmentWeekOfMonth value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WeekOfMonth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Month(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Month()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Month(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Month(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Day(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Day()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Day(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Day(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecurrenceType(Windows::ApplicationModel::Appointments::RecurrenceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecurrenceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeZone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeZone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TimeZone(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimeZone(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CalendarIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeTracker(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeTracker()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAppointmentCalendarAsync(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateAppointmentCalendarAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppointmentCalendarAsync(impl::abi_arg_in calendarId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAppointmentCalendarAsync(*reinterpret_cast(&calendarId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppointmentAsync(impl::abi_arg_in localId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAppointmentAsync(*reinterpret_cast(&localId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppointmentInstanceAsync(impl::abi_arg_in localId, impl::abi_arg_in instanceStartTime, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAppointmentInstanceAsync(*reinterpret_cast(&localId), *reinterpret_cast(&instanceStartTime))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppointmentCalendarsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAppointmentCalendarsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppointmentCalendarsAsyncWithOptions(Windows::ApplicationModel::Appointments::FindAppointmentCalendarsOptions options, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAppointmentCalendarsAsync(options)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppointmentsAsync(impl::abi_arg_in rangeStart, impl::abi_arg_in rangeLength, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAppointmentsAsync(*reinterpret_cast(&rangeStart), *reinterpret_cast(&rangeLength))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppointmentsAsyncWithOptions(impl::abi_arg_in rangeStart, impl::abi_arg_in rangeLength, impl::abi_arg_in options, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAppointmentsAsync(*reinterpret_cast(&rangeStart), *reinterpret_cast(&rangeLength), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindConflictAsync(impl::abi_arg_in appointment, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindConflictAsync(*reinterpret_cast(&appointment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindConflictAsyncWithInstanceStart(impl::abi_arg_in appointment, impl::abi_arg_in instanceStartTime, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindConflictAsync(*reinterpret_cast(&appointment), *reinterpret_cast(&instanceStartTime))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveAppointmentAsync(impl::abi_arg_in appointment, impl::abi_arg_in destinationCalendar, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().MoveAppointmentAsync(*reinterpret_cast(&appointment), *reinterpret_cast(&destinationCalendar))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAddAppointmentAsync(impl::abi_arg_in appointment, impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowAddAppointmentAsync(*reinterpret_cast(&appointment), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentAsync(impl::abi_arg_in localId, impl::abi_arg_in appointment, impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&localId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowReplaceAppointmentWithPlacementAndDateAsync(impl::abi_arg_in localId, impl::abi_arg_in appointment, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in instanceStartDate, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowReplaceAppointmentAsync(*reinterpret_cast(&localId), *reinterpret_cast(&appointment), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentAsync(impl::abi_arg_in localId, impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&localId), *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowRemoveAppointmentWithPlacementAndDateAsync(impl::abi_arg_in localId, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in instanceStartDate, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowRemoveAppointmentAsync(*reinterpret_cast(&localId), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAppointmentDetailsAsync(impl::abi_arg_in localId, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().ShowAppointmentDetailsAsync(*reinterpret_cast(&localId))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAppointmentDetailsWithDateAsync(impl::abi_arg_in localId, impl::abi_arg_in instanceStartDate, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().ShowAppointmentDetailsAsync(*reinterpret_cast(&localId), *reinterpret_cast(&instanceStartDate))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowEditNewAppointmentAsync(impl::abi_arg_in appointment, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowEditNewAppointmentAsync(*reinterpret_cast(&appointment))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindLocalIdsFromRoamingIdAsync(impl::abi_arg_in roamingId, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindLocalIdsFromRoamingIdAsync(*reinterpret_cast(&roamingId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_StoreChanged(impl::abi_arg_in> pHandler, event_token * pToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pToken = detach_abi(this->shim().StoreChanged(*reinterpret_cast *>(&pHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StoreChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StoreChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAppointmentCalendarInAccountAsync(impl::abi_arg_in name, impl::abi_arg_in userDataAccountId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateAppointmentCalendarAsync(*reinterpret_cast(&name), *reinterpret_cast(&userDataAccountId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Appointment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appointment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChangeType(Windows::ApplicationModel::Appointments::AppointmentStoreChangeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppointmentCalendar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentCalendar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptChanges() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChanges(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptChangesThrough(impl::abi_arg_in lastChangeToAccept) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChangesThrough(*reinterpret_cast(&lastChangeToAccept)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetChangeReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetChangeReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Enable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CalendarIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FetchProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FetchProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeHidden(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeHidden()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeHidden(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeHidden(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Appointments { + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowAddAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowAddAppointmentAsync(get_abi(appointment), get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowAddAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowAddAppointmentWithPlacementAsync(get_abi(appointment), get_abi(selection), preferredPlacement, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowReplaceAppointmentAsync(get_abi(appointmentId), get_abi(appointment), get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowReplaceAppointmentWithPlacementAsync(get_abi(appointmentId), get_abi(appointment), get_abi(selection), preferredPlacement, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowReplaceAppointmentWithPlacementAndDateAsync(get_abi(appointmentId), get_abi(appointment), get_abi(selection), preferredPlacement, get_abi(instanceStartDate), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowRemoveAppointmentAsync(get_abi(appointmentId), get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowRemoveAppointmentWithPlacementAsync(get_abi(appointmentId), get_abi(selection), preferredPlacement, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowRemoveAppointmentWithPlacementAndDateAsync(get_abi(appointmentId), get_abi(selection), preferredPlacement, get_abi(instanceStartDate), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentManagerStatics::ShowTimeFrameAsync(const Windows::Foundation::DateTime & timeToShow, const Windows::Foundation::TimeSpan & duration) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics)->abi_ShowTimeFrameAsync(get_abi(timeToShow), get_abi(duration), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentManagerStatics2::ShowAppointmentDetailsAsync(hstring_view appointmentId) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics2)->abi_ShowAppointmentDetailsAsync(get_abi(appointmentId), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentManagerStatics2::ShowAppointmentDetailsAsync(hstring_view appointmentId, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics2)->abi_ShowAppointmentDetailsWithDateAsync(get_abi(appointmentId), get_abi(instanceStartDate), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics2::ShowEditNewAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics2)->abi_ShowEditNewAppointmentAsync(get_abi(appointment), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerStatics2::RequestStoreAsync(Windows::ApplicationModel::Appointments::AppointmentStoreAccessType options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics2)->abi_RequestStoreAsync(options, put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Appointments::AppointmentManagerForUser impl_IAppointmentManagerStatics3::GetForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::Appointments::AppointmentManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentManagerStatics3)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowAddAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowAddAppointmentAsync(get_abi(appointment), get_abi(selection), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowAddAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowAddAppointmentWithPlacementAsync(get_abi(appointment), get_abi(selection), preferredPlacement, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowReplaceAppointmentAsync(get_abi(appointmentId), get_abi(appointment), get_abi(selection), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowReplaceAppointmentWithPlacementAsync(get_abi(appointmentId), get_abi(appointment), get_abi(selection), preferredPlacement, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowReplaceAppointmentWithPlacementAndDateAsync(get_abi(appointmentId), get_abi(appointment), get_abi(selection), preferredPlacement, get_abi(instanceStartDate), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowRemoveAppointmentAsync(get_abi(appointmentId), get_abi(selection), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowRemoveAppointmentWithPlacementAsync(get_abi(appointmentId), get_abi(selection), preferredPlacement, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowRemoveAppointmentWithPlacementAndDateAsync(get_abi(appointmentId), get_abi(selection), preferredPlacement, get_abi(instanceStartDate), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentManagerForUser::ShowTimeFrameAsync(const Windows::Foundation::DateTime & timeToShow, const Windows::Foundation::TimeSpan & duration) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowTimeFrameAsync(get_abi(timeToShow), get_abi(duration), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentManagerForUser::ShowAppointmentDetailsAsync(hstring_view appointmentId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowAppointmentDetailsAsync(get_abi(appointmentId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentManagerForUser::ShowAppointmentDetailsAsync(hstring_view appointmentId, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowAppointmentDetailsWithDateAsync(get_abi(appointmentId), get_abi(instanceStartDate), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::ShowEditNewAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_ShowEditNewAppointmentAsync(get_abi(appointment), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentManagerForUser::RequestStoreAsync(Windows::ApplicationModel::Appointments::AppointmentStoreAccessType options) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->abi_RequestStoreAsync(options, put_abi(result))); + return result; +} + +template Windows::System::User impl_IAppointmentManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentManagerForUser)->get_User(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentParticipant::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentParticipant)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IAppointmentParticipant::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointmentParticipant)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IAppointmentParticipant::Address() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentParticipant)->get_Address(put_abi(value))); + return value; +} + +template void impl_IAppointmentParticipant::Address(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointmentParticipant)->put_Address(get_abi(value))); +} + +template Windows::ApplicationModel::Appointments::AppointmentParticipantRole impl_IAppointmentInvitee::Role() const +{ + Windows::ApplicationModel::Appointments::AppointmentParticipantRole value {}; + check_hresult(WINRT_SHIM(IAppointmentInvitee)->get_Role(&value)); + return value; +} + +template void impl_IAppointmentInvitee::Role(Windows::ApplicationModel::Appointments::AppointmentParticipantRole value) const +{ + check_hresult(WINRT_SHIM(IAppointmentInvitee)->put_Role(value)); +} + +template Windows::ApplicationModel::Appointments::AppointmentParticipantResponse impl_IAppointmentInvitee::Response() const +{ + Windows::ApplicationModel::Appointments::AppointmentParticipantResponse value {}; + check_hresult(WINRT_SHIM(IAppointmentInvitee)->get_Response(&value)); + return value; +} + +template void impl_IAppointmentInvitee::Response(Windows::ApplicationModel::Appointments::AppointmentParticipantResponse value) const +{ + check_hresult(WINRT_SHIM(IAppointmentInvitee)->put_Response(value)); +} + +template Windows::ApplicationModel::Appointments::AppointmentRecurrenceUnit impl_IAppointmentRecurrence::Unit() const +{ + Windows::ApplicationModel::Appointments::AppointmentRecurrenceUnit value {}; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_Unit(&value)); + return value; +} + +template void impl_IAppointmentRecurrence::Unit(Windows::ApplicationModel::Appointments::AppointmentRecurrenceUnit value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_Unit(value)); +} + +template Windows::Foundation::IReference impl_IAppointmentRecurrence::Occurrences() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_Occurrences(put_abi(value))); + return value; +} + +template void impl_IAppointmentRecurrence::Occurrences(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_Occurrences(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAppointmentRecurrence::Until() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_Until(put_abi(value))); + return value; +} + +template void impl_IAppointmentRecurrence::Until(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_Until(get_abi(value))); +} + +template uint32_t impl_IAppointmentRecurrence::Interval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_Interval(&value)); + return value; +} + +template void impl_IAppointmentRecurrence::Interval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_Interval(value)); +} + +template Windows::ApplicationModel::Appointments::AppointmentDaysOfWeek impl_IAppointmentRecurrence::DaysOfWeek() const +{ + Windows::ApplicationModel::Appointments::AppointmentDaysOfWeek value {}; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_DaysOfWeek(&value)); + return value; +} + +template void impl_IAppointmentRecurrence::DaysOfWeek(Windows::ApplicationModel::Appointments::AppointmentDaysOfWeek value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_DaysOfWeek(value)); +} + +template Windows::ApplicationModel::Appointments::AppointmentWeekOfMonth impl_IAppointmentRecurrence::WeekOfMonth() const +{ + Windows::ApplicationModel::Appointments::AppointmentWeekOfMonth value {}; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_WeekOfMonth(&value)); + return value; +} + +template void impl_IAppointmentRecurrence::WeekOfMonth(Windows::ApplicationModel::Appointments::AppointmentWeekOfMonth value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_WeekOfMonth(value)); +} + +template uint32_t impl_IAppointmentRecurrence::Month() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_Month(&value)); + return value; +} + +template void impl_IAppointmentRecurrence::Month(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_Month(value)); +} + +template uint32_t impl_IAppointmentRecurrence::Day() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->get_Day(&value)); + return value; +} + +template void impl_IAppointmentRecurrence::Day(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence)->put_Day(value)); +} + +template Windows::ApplicationModel::Appointments::RecurrenceType impl_IAppointmentRecurrence2::RecurrenceType() const +{ + Windows::ApplicationModel::Appointments::RecurrenceType value {}; + check_hresult(WINRT_SHIM(IAppointmentRecurrence2)->get_RecurrenceType(&value)); + return value; +} + +template hstring impl_IAppointmentRecurrence2::TimeZone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentRecurrence2)->get_TimeZone(put_abi(value))); + return value; +} + +template void impl_IAppointmentRecurrence2::TimeZone(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointmentRecurrence2)->put_TimeZone(get_abi(value))); +} + +template hstring impl_IAppointmentRecurrence3::CalendarIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentRecurrence3)->get_CalendarIdentifier(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAppointment::StartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppointment)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_IAppointment::StartTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_StartTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IAppointment::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppointment)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IAppointment::Duration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Duration(get_abi(value))); +} + +template hstring impl_IAppointment::Location() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointment)->get_Location(put_abi(value))); + return value; +} + +template void impl_IAppointment::Location(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Location(get_abi(value))); +} + +template hstring impl_IAppointment::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointment)->get_Subject(put_abi(value))); + return value; +} + +template void impl_IAppointment::Subject(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Subject(get_abi(value))); +} + +template hstring impl_IAppointment::Details() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointment)->get_Details(put_abi(value))); + return value; +} + +template void impl_IAppointment::Details(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Details(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAppointment::Reminder() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointment)->get_Reminder(put_abi(value))); + return value; +} + +template void impl_IAppointment::Reminder(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Reminder(get_abi(value))); +} + +template Windows::ApplicationModel::Appointments::AppointmentOrganizer impl_IAppointment::Organizer() const +{ + Windows::ApplicationModel::Appointments::AppointmentOrganizer value { nullptr }; + check_hresult(WINRT_SHIM(IAppointment)->get_Organizer(put_abi(value))); + return value; +} + +template void impl_IAppointment::Organizer(const Windows::ApplicationModel::Appointments::AppointmentOrganizer & value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Organizer(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IAppointment::Invitees() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAppointment)->get_Invitees(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentRecurrence impl_IAppointment::Recurrence() const +{ + Windows::ApplicationModel::Appointments::AppointmentRecurrence value { nullptr }; + check_hresult(WINRT_SHIM(IAppointment)->get_Recurrence(put_abi(value))); + return value; +} + +template void impl_IAppointment::Recurrence(const Windows::ApplicationModel::Appointments::AppointmentRecurrence & value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Recurrence(get_abi(value))); +} + +template Windows::ApplicationModel::Appointments::AppointmentBusyStatus impl_IAppointment::BusyStatus() const +{ + Windows::ApplicationModel::Appointments::AppointmentBusyStatus value {}; + check_hresult(WINRT_SHIM(IAppointment)->get_BusyStatus(&value)); + return value; +} + +template void impl_IAppointment::BusyStatus(Windows::ApplicationModel::Appointments::AppointmentBusyStatus value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_BusyStatus(value)); +} + +template bool impl_IAppointment::AllDay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointment)->get_AllDay(&value)); + return value; +} + +template void impl_IAppointment::AllDay(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_AllDay(value)); +} + +template Windows::ApplicationModel::Appointments::AppointmentSensitivity impl_IAppointment::Sensitivity() const +{ + Windows::ApplicationModel::Appointments::AppointmentSensitivity value {}; + check_hresult(WINRT_SHIM(IAppointment)->get_Sensitivity(&value)); + return value; +} + +template void impl_IAppointment::Sensitivity(Windows::ApplicationModel::Appointments::AppointmentSensitivity value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Sensitivity(value)); +} + +template Windows::Foundation::Uri impl_IAppointment::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAppointment)->get_Uri(put_abi(value))); + return value; +} + +template void impl_IAppointment::Uri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IAppointment)->put_Uri(get_abi(value))); +} + +template hstring impl_IAppointment2::LocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointment2)->get_LocalId(put_abi(value))); + return value; +} + +template hstring impl_IAppointment2::CalendarId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointment2)->get_CalendarId(put_abi(value))); + return value; +} + +template hstring impl_IAppointment2::RoamingId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointment2)->get_RoamingId(put_abi(value))); + return value; +} + +template void impl_IAppointment2::RoamingId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_RoamingId(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAppointment2::OriginalStartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointment2)->get_OriginalStartTime(put_abi(value))); + return value; +} + +template bool impl_IAppointment2::IsResponseRequested() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointment2)->get_IsResponseRequested(&value)); + return value; +} + +template void impl_IAppointment2::IsResponseRequested(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_IsResponseRequested(value)); +} + +template bool impl_IAppointment2::AllowNewTimeProposal() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointment2)->get_AllowNewTimeProposal(&value)); + return value; +} + +template void impl_IAppointment2::AllowNewTimeProposal(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_AllowNewTimeProposal(value)); +} + +template hstring impl_IAppointment2::OnlineMeetingLink() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointment2)->get_OnlineMeetingLink(put_abi(value))); + return value; +} + +template void impl_IAppointment2::OnlineMeetingLink(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_OnlineMeetingLink(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAppointment2::ReplyTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppointment2)->get_ReplyTime(put_abi(value))); + return value; +} + +template void impl_IAppointment2::ReplyTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_ReplyTime(get_abi(value))); +} + +template Windows::ApplicationModel::Appointments::AppointmentParticipantResponse impl_IAppointment2::UserResponse() const +{ + Windows::ApplicationModel::Appointments::AppointmentParticipantResponse value {}; + check_hresult(WINRT_SHIM(IAppointment2)->get_UserResponse(&value)); + return value; +} + +template void impl_IAppointment2::UserResponse(Windows::ApplicationModel::Appointments::AppointmentParticipantResponse value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_UserResponse(value)); +} + +template bool impl_IAppointment2::HasInvitees() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointment2)->get_HasInvitees(&value)); + return value; +} + +template bool impl_IAppointment2::IsCanceledMeeting() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointment2)->get_IsCanceledMeeting(&value)); + return value; +} + +template void impl_IAppointment2::IsCanceledMeeting(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_IsCanceledMeeting(value)); +} + +template bool impl_IAppointment2::IsOrganizedByUser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointment2)->get_IsOrganizedByUser(&value)); + return value; +} + +template void impl_IAppointment2::IsOrganizedByUser(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointment2)->put_IsOrganizedByUser(value)); +} + +template uint64_t impl_IAppointment3::ChangeNumber() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppointment3)->get_ChangeNumber(&value)); + return value; +} + +template uint64_t impl_IAppointment3::RemoteChangeNumber() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppointment3)->get_RemoteChangeNumber(&value)); + return value; +} + +template void impl_IAppointment3::RemoteChangeNumber(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IAppointment3)->put_RemoteChangeNumber(value)); +} + +template Windows::ApplicationModel::Appointments::AppointmentDetailsKind impl_IAppointment3::DetailsKind() const +{ + Windows::ApplicationModel::Appointments::AppointmentDetailsKind value {}; + check_hresult(WINRT_SHIM(IAppointment3)->get_DetailsKind(&value)); + return value; +} + +template void impl_IAppointment3::DetailsKind(Windows::ApplicationModel::Appointments::AppointmentDetailsKind value) const +{ + check_hresult(WINRT_SHIM(IAppointment3)->put_DetailsKind(value)); +} + +template Windows::Foundation::Collections::IVector impl_IFindAppointmentsOptions::CalendarIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IFindAppointmentsOptions)->get_CalendarIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IFindAppointmentsOptions::FetchProperties() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IFindAppointmentsOptions)->get_FetchProperties(put_abi(value))); + return value; +} + +template bool impl_IFindAppointmentsOptions::IncludeHidden() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFindAppointmentsOptions)->get_IncludeHidden(&value)); + return value; +} + +template void impl_IFindAppointmentsOptions::IncludeHidden(bool value) const +{ + check_hresult(WINRT_SHIM(IFindAppointmentsOptions)->put_IncludeHidden(value)); +} + +template uint32_t impl_IFindAppointmentsOptions::MaxCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFindAppointmentsOptions)->get_MaxCount(&value)); + return value; +} + +template void impl_IFindAppointmentsOptions::MaxCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IFindAppointmentsOptions)->put_MaxCount(value)); +} + +template Windows::UI::Color impl_IAppointmentCalendar::DisplayColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_DisplayColor(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendar::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IAppointmentCalendar::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IAppointmentCalendar::LocalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_LocalId(put_abi(value))); + return value; +} + +template bool impl_IAppointmentCalendar::IsHidden() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_IsHidden(&value)); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppReadAccess impl_IAppointmentCalendar::OtherAppReadAccess() const +{ + Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppReadAccess value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_OtherAppReadAccess(&value)); + return value; +} + +template void impl_IAppointmentCalendar::OtherAppReadAccess(Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppReadAccess value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar)->put_OtherAppReadAccess(value)); +} + +template Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppWriteAccess impl_IAppointmentCalendar::OtherAppWriteAccess() const +{ + Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppWriteAccess value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_OtherAppWriteAccess(&value)); + return value; +} + +template void impl_IAppointmentCalendar::OtherAppWriteAccess(Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppWriteAccess value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar)->put_OtherAppWriteAccess(value)); +} + +template hstring impl_IAppointmentCalendar::SourceDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_SourceDisplayName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentSummaryCardView impl_IAppointmentCalendar::SummaryCardView() const +{ + Windows::ApplicationModel::Appointments::AppointmentSummaryCardView value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->get_SummaryCardView(&value)); + return value; +} + +template void impl_IAppointmentCalendar::SummaryCardView(Windows::ApplicationModel::Appointments::AppointmentSummaryCardView value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar)->put_SummaryCardView(value)); +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentCalendar::FindAppointmentsAsync(const Windows::Foundation::DateTime & rangeStart, const Windows::Foundation::TimeSpan & rangeLength) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_FindAppointmentsAsync(get_abi(rangeStart), get_abi(rangeLength), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentCalendar::FindAppointmentsAsync(const Windows::Foundation::DateTime & rangeStart, const Windows::Foundation::TimeSpan & rangeLength, const Windows::ApplicationModel::Appointments::FindAppointmentsOptions & options) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_FindAppointmentsAsyncWithOptions(get_abi(rangeStart), get_abi(rangeLength), get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentCalendar::FindExceptionsFromMasterAsync(hstring_view masterLocalId) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_FindExceptionsFromMasterAsync(get_abi(masterLocalId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentCalendar::FindAllInstancesAsync(hstring_view masterLocalId, const Windows::Foundation::DateTime & rangeStart, const Windows::Foundation::TimeSpan & rangeLength) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_FindAllInstancesAsync(get_abi(masterLocalId), get_abi(rangeStart), get_abi(rangeLength), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentCalendar::FindAllInstancesAsync(hstring_view masterLocalId, const Windows::Foundation::DateTime & rangeStart, const Windows::Foundation::TimeSpan & rangeLength, const Windows::ApplicationModel::Appointments::FindAppointmentsOptions & pOptions) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_FindAllInstancesAsyncWithOptions(get_abi(masterLocalId), get_abi(rangeStart), get_abi(rangeLength), get_abi(pOptions), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendar::GetAppointmentAsync(hstring_view localId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_GetAppointmentAsync(get_abi(localId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendar::GetAppointmentInstanceAsync(hstring_view localId, const Windows::Foundation::DateTime & instanceStartTime) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_GetAppointmentInstanceAsync(get_abi(localId), get_abi(instanceStartTime), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentCalendar::FindUnexpandedAppointmentsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_FindUnexpandedAppointmentsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentCalendar::FindUnexpandedAppointmentsAsync(const Windows::ApplicationModel::Appointments::FindAppointmentsOptions & options) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_FindUnexpandedAppointmentsAsyncWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendar::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_DeleteAsync(put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendar::SaveAsync() const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_SaveAsync(put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendar::DeleteAppointmentAsync(hstring_view localId) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_DeleteAppointmentAsync(get_abi(localId), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendar::DeleteAppointmentInstanceAsync(hstring_view localId, const Windows::Foundation::DateTime & instanceStartTime) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_DeleteAppointmentInstanceAsync(get_abi(localId), get_abi(instanceStartTime), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendar::SaveAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & pAppointment) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentCalendar)->abi_SaveAppointmentAsync(get_abi(pAppointment), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::ApplicationModel::Appointments::AppointmentCalendarSyncManager impl_IAppointmentCalendar2::SyncManager() const +{ + Windows::ApplicationModel::Appointments::AppointmentCalendarSyncManager value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_SyncManager(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentCalendar2::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IAppointmentCalendar2::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_RemoteId(get_abi(value))); +} + +template void impl_IAppointmentCalendar2::DisplayColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_DisplayColor(get_abi(value))); +} + +template void impl_IAppointmentCalendar2::IsHidden(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_IsHidden(value)); +} + +template hstring impl_IAppointmentCalendar2::UserDataAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_UserDataAccountId(put_abi(value))); + return value; +} + +template bool impl_IAppointmentCalendar2::CanCreateOrUpdateAppointments() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_CanCreateOrUpdateAppointments(&value)); + return value; +} + +template void impl_IAppointmentCalendar2::CanCreateOrUpdateAppointments(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_CanCreateOrUpdateAppointments(value)); +} + +template bool impl_IAppointmentCalendar2::CanCancelMeetings() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_CanCancelMeetings(&value)); + return value; +} + +template void impl_IAppointmentCalendar2::CanCancelMeetings(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_CanCancelMeetings(value)); +} + +template bool impl_IAppointmentCalendar2::CanForwardMeetings() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_CanForwardMeetings(&value)); + return value; +} + +template void impl_IAppointmentCalendar2::CanForwardMeetings(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_CanForwardMeetings(value)); +} + +template bool impl_IAppointmentCalendar2::CanProposeNewTimeForMeetings() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_CanProposeNewTimeForMeetings(&value)); + return value; +} + +template void impl_IAppointmentCalendar2::CanProposeNewTimeForMeetings(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_CanProposeNewTimeForMeetings(value)); +} + +template bool impl_IAppointmentCalendar2::CanUpdateMeetingResponses() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_CanUpdateMeetingResponses(&value)); + return value; +} + +template void impl_IAppointmentCalendar2::CanUpdateMeetingResponses(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_CanUpdateMeetingResponses(value)); +} + +template bool impl_IAppointmentCalendar2::CanNotifyInvitees() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_CanNotifyInvitees(&value)); + return value; +} + +template void impl_IAppointmentCalendar2::CanNotifyInvitees(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_CanNotifyInvitees(value)); +} + +template bool impl_IAppointmentCalendar2::MustNofityInvitees() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->get_MustNofityInvitees(&value)); + return value; +} + +template void impl_IAppointmentCalendar2::MustNofityInvitees(bool value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->put_MustNofityInvitees(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendar2::TryCreateOrUpdateAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, bool notifyInvitees) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->abi_TryCreateOrUpdateAppointmentAsync(get_abi(appointment), notifyInvitees, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendar2::TryCancelMeetingAsync(const Windows::ApplicationModel::Appointments::Appointment & meeting, hstring_view subject, hstring_view comment, bool notifyInvitees) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->abi_TryCancelMeetingAsync(get_abi(meeting), get_abi(subject), get_abi(comment), notifyInvitees, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendar2::TryForwardMeetingAsync(const Windows::ApplicationModel::Appointments::Appointment & meeting, iterable invitees, hstring_view subject, hstring_view forwardHeader, hstring_view comment) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->abi_TryForwardMeetingAsync(get_abi(meeting), get_abi(invitees), get_abi(subject), get_abi(forwardHeader), get_abi(comment), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendar2::TryProposeNewTimeForMeetingAsync(const Windows::ApplicationModel::Appointments::Appointment & meeting, const Windows::Foundation::DateTime & newStartTime, const Windows::Foundation::TimeSpan & newDuration, hstring_view subject, hstring_view comment) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->abi_TryProposeNewTimeForMeetingAsync(get_abi(meeting), get_abi(newStartTime), get_abi(newDuration), get_abi(subject), get_abi(comment), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendar2::TryUpdateMeetingResponseAsync(const Windows::ApplicationModel::Appointments::Appointment & meeting, Windows::ApplicationModel::Appointments::AppointmentParticipantResponse response, hstring_view subject, hstring_view comment, bool sendUpdate) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendar2)->abi_TryUpdateMeetingResponseAsync(get_abi(meeting), response, get_abi(subject), get_abi(comment), sendUpdate, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentCalendar3::RegisterSyncManagerAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAppointmentCalendar3)->abi_RegisterSyncManagerAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Appointments::AppointmentCalendarSyncStatus impl_IAppointmentCalendarSyncManager::Status() const +{ + Windows::ApplicationModel::Appointments::AppointmentCalendarSyncStatus value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager)->get_Status(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IAppointmentCalendarSyncManager::LastSuccessfulSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager)->get_LastSuccessfulSyncTime(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAppointmentCalendarSyncManager::LastAttemptedSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager)->get_LastAttemptedSyncTime(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentCalendarSyncManager::SyncAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager)->abi_SyncAsync(put_abi(result))); + return result; +} + +template event_token impl_IAppointmentCalendarSyncManager::SyncStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager)->add_SyncStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppointmentCalendarSyncManager::SyncStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::IAppointmentCalendarSyncManager::remove_SyncStatusChanged, SyncStatusChanged(handler)); +} + +template void impl_IAppointmentCalendarSyncManager::SyncStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager)->remove_SyncStatusChanged(token)); +} + +template void impl_IAppointmentCalendarSyncManager2::Status(Windows::ApplicationModel::Appointments::AppointmentCalendarSyncStatus value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager2)->put_Status(value)); +} + +template void impl_IAppointmentCalendarSyncManager2::LastSuccessfulSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager2)->put_LastSuccessfulSyncTime(get_abi(value))); +} + +template void impl_IAppointmentCalendarSyncManager2::LastAttemptedSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IAppointmentCalendarSyncManager2)->put_LastAttemptedSyncTime(get_abi(value))); +} + +template hstring impl_IAppointmentPropertiesStatics::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Location() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Location(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::StartTime() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_StartTime(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Duration() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Duration(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Reminder() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Reminder(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::BusyStatus() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_BusyStatus(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Sensitivity() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Sensitivity(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::OriginalStartTime() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_OriginalStartTime(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::IsResponseRequested() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_IsResponseRequested(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::AllowNewTimeProposal() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_AllowNewTimeProposal(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::AllDay() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_AllDay(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Details() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Details(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::OnlineMeetingLink() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_OnlineMeetingLink(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::ReplyTime() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_ReplyTime(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Organizer() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Organizer(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::UserResponse() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_UserResponse(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::HasInvitees() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_HasInvitees(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::IsCanceledMeeting() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_IsCanceledMeeting(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::IsOrganizedByUser() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_IsOrganizedByUser(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Recurrence() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Recurrence(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Uri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Uri(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics::Invitees() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_Invitees(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAppointmentPropertiesStatics::DefaultProperties() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics)->get_DefaultProperties(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics2::ChangeNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics2)->get_ChangeNumber(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics2::RemoteChangeNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics2)->get_RemoteChangeNumber(put_abi(value))); + return value; +} + +template hstring impl_IAppointmentPropertiesStatics2::DetailsKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppointmentPropertiesStatics2)->get_DetailsKind(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentConflictType impl_IAppointmentConflictResult::Type() const +{ + Windows::ApplicationModel::Appointments::AppointmentConflictType value {}; + check_hresult(WINRT_SHIM(IAppointmentConflictResult)->get_Type(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IAppointmentConflictResult::Date() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppointmentConflictResult)->get_Date(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::Appointment impl_IAppointmentStoreChange::Appointment() const +{ + Windows::ApplicationModel::Appointments::Appointment value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentStoreChange)->get_Appointment(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentStoreChangeType impl_IAppointmentStoreChange::ChangeType() const +{ + Windows::ApplicationModel::Appointments::AppointmentStoreChangeType value {}; + check_hresult(WINRT_SHIM(IAppointmentStoreChange)->get_ChangeType(&value)); + return value; +} + +template Windows::ApplicationModel::Appointments::AppointmentCalendar impl_IAppointmentStoreChange2::AppointmentCalendar() const +{ + Windows::ApplicationModel::Appointments::AppointmentCalendar value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentStoreChange2)->get_AppointmentCalendar(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentStoreChangeReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentStoreChangeReader)->abi_ReadBatchAsync(put_abi(result))); + return result; +} + +template void impl_IAppointmentStoreChangeReader::AcceptChanges() const +{ + check_hresult(WINRT_SHIM(IAppointmentStoreChangeReader)->abi_AcceptChanges()); +} + +template void impl_IAppointmentStoreChangeReader::AcceptChangesThrough(const Windows::ApplicationModel::Appointments::AppointmentStoreChange & lastChangeToAccept) const +{ + check_hresult(WINRT_SHIM(IAppointmentStoreChangeReader)->abi_AcceptChangesThrough(get_abi(lastChangeToAccept))); +} + +template Windows::ApplicationModel::Appointments::AppointmentStoreChangeReader impl_IAppointmentStoreChangeTracker::GetChangeReader() const +{ + Windows::ApplicationModel::Appointments::AppointmentStoreChangeReader value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentStoreChangeTracker)->abi_GetChangeReader(put_abi(value))); + return value; +} + +template void impl_IAppointmentStoreChangeTracker::Enable() const +{ + check_hresult(WINRT_SHIM(IAppointmentStoreChangeTracker)->abi_Enable()); +} + +template void impl_IAppointmentStoreChangeTracker::Reset() const +{ + check_hresult(WINRT_SHIM(IAppointmentStoreChangeTracker)->abi_Reset()); +} + +template Windows::ApplicationModel::Appointments::AppointmentStoreChangedDeferral impl_IAppointmentStoreChangedEventArgs::GetDeferral() const +{ + Windows::ApplicationModel::Appointments::AppointmentStoreChangedDeferral result { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentStoreChangedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template void impl_IAppointmentStoreChangedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IAppointmentStoreChangedDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::Appointments::AppointmentStoreChangeTracker impl_IAppointmentStore::ChangeTracker() const +{ + Windows::ApplicationModel::Appointments::AppointmentStoreChangeTracker value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentStore)->get_ChangeTracker(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::CreateAppointmentCalendarAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_CreateAppointmentCalendarAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::GetAppointmentCalendarAsync(hstring_view calendarId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_GetAppointmentCalendarAsync(get_abi(calendarId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::GetAppointmentAsync(hstring_view localId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_GetAppointmentAsync(get_abi(localId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::GetAppointmentInstanceAsync(hstring_view localId, const Windows::Foundation::DateTime & instanceStartTime) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_GetAppointmentInstanceAsync(get_abi(localId), get_abi(instanceStartTime), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentStore::FindAppointmentCalendarsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_FindAppointmentCalendarsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentStore::FindAppointmentCalendarsAsync(Windows::ApplicationModel::Appointments::FindAppointmentCalendarsOptions options) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_FindAppointmentCalendarsAsyncWithOptions(options, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentStore::FindAppointmentsAsync(const Windows::Foundation::DateTime & rangeStart, const Windows::Foundation::TimeSpan & rangeLength) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_FindAppointmentsAsync(get_abi(rangeStart), get_abi(rangeLength), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentStore::FindAppointmentsAsync(const Windows::Foundation::DateTime & rangeStart, const Windows::Foundation::TimeSpan & rangeLength, const Windows::ApplicationModel::Appointments::FindAppointmentsOptions & options) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_FindAppointmentsAsyncWithOptions(get_abi(rangeStart), get_abi(rangeLength), get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::FindConflictAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_FindConflictAsync(get_abi(appointment), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::FindConflictAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::DateTime & instanceStartTime) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_FindConflictAsyncWithInstanceStart(get_abi(appointment), get_abi(instanceStartTime), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentStore::MoveAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::ApplicationModel::Appointments::AppointmentCalendar & destinationCalendar) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_MoveAppointmentAsync(get_abi(appointment), get_abi(destinationCalendar), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::ShowAddAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowAddAppointmentAsync(get_abi(appointment), get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::ShowReplaceAppointmentAsync(hstring_view localId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowReplaceAppointmentAsync(get_abi(localId), get_abi(appointment), get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::ShowReplaceAppointmentAsync(hstring_view localId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowReplaceAppointmentWithPlacementAndDateAsync(get_abi(localId), get_abi(appointment), get_abi(selection), preferredPlacement, get_abi(instanceStartDate), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::ShowRemoveAppointmentAsync(hstring_view localId, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowRemoveAppointmentAsync(get_abi(localId), get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::ShowRemoveAppointmentAsync(hstring_view localId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowRemoveAppointmentWithPlacementAndDateAsync(get_abi(localId), get_abi(selection), preferredPlacement, get_abi(instanceStartDate), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentStore::ShowAppointmentDetailsAsync(hstring_view localId) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowAppointmentDetailsAsync(get_abi(localId), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IAppointmentStore::ShowAppointmentDetailsAsync(hstring_view localId, const Windows::Foundation::DateTime & instanceStartDate) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowAppointmentDetailsWithDateAsync(get_abi(localId), get_abi(instanceStartDate), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore::ShowEditNewAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_ShowEditNewAppointmentAsync(get_abi(appointment), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppointmentStore::FindLocalIdsFromRoamingIdAsync(hstring_view roamingId) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppointmentStore)->abi_FindLocalIdsFromRoamingIdAsync(get_abi(roamingId), put_abi(operation))); + return operation; +} + +template event_token impl_IAppointmentStore2::StoreChanged(const Windows::Foundation::TypedEventHandler & pHandler) const +{ + event_token pToken {}; + check_hresult(WINRT_SHIM(IAppointmentStore2)->add_StoreChanged(get_abi(pHandler), &pToken)); + return pToken; +} + +template event_revoker impl_IAppointmentStore2::StoreChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & pHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Appointments::IAppointmentStore2::remove_StoreChanged, StoreChanged(pHandler)); +} + +template void impl_IAppointmentStore2::StoreChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppointmentStore2)->remove_StoreChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IAppointmentStore2::CreateAppointmentCalendarAsync(hstring_view name, hstring_view userDataAccountId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppointmentStore2)->abi_CreateAppointmentCalendarInAccountAsync(get_abi(name), get_abi(userDataAccountId), put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Appointments::Appointment impl_IAppointmentException::Appointment() const +{ + Windows::ApplicationModel::Appointments::Appointment value { nullptr }; + check_hresult(WINRT_SHIM(IAppointmentException)->get_Appointment(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppointmentException::ExceptionProperties() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAppointmentException)->get_ExceptionProperties(put_abi(value))); + return value; +} + +template bool impl_IAppointmentException::IsDeleted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppointmentException)->get_IsDeleted(&value)); + return value; +} + +inline Appointment::Appointment() : + Appointment(activate_instance()) +{} + +inline AppointmentInvitee::AppointmentInvitee() : + AppointmentInvitee(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowAddAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) +{ + return get_activation_factory().ShowAddAppointmentAsync(appointment, selection); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowAddAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) +{ + return get_activation_factory().ShowAddAppointmentAsync(appointment, selection, preferredPlacement); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection) +{ + return get_activation_factory().ShowReplaceAppointmentAsync(appointmentId, appointment, selection); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) +{ + return get_activation_factory().ShowReplaceAppointmentAsync(appointmentId, appointment, selection, preferredPlacement); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowReplaceAppointmentAsync(hstring_view appointmentId, const Windows::ApplicationModel::Appointments::Appointment & appointment, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) +{ + return get_activation_factory().ShowReplaceAppointmentAsync(appointmentId, appointment, selection, preferredPlacement, instanceStartDate); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection) +{ + return get_activation_factory().ShowRemoveAppointmentAsync(appointmentId, selection); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) +{ + return get_activation_factory().ShowRemoveAppointmentAsync(appointmentId, selection, preferredPlacement); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowRemoveAppointmentAsync(hstring_view appointmentId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::Foundation::DateTime & instanceStartDate) +{ + return get_activation_factory().ShowRemoveAppointmentAsync(appointmentId, selection, preferredPlacement, instanceStartDate); +} + +inline Windows::Foundation::IAsyncAction AppointmentManager::ShowTimeFrameAsync(const Windows::Foundation::DateTime & timeToShow, const Windows::Foundation::TimeSpan & duration) +{ + return get_activation_factory().ShowTimeFrameAsync(timeToShow, duration); +} + +inline Windows::Foundation::IAsyncAction AppointmentManager::ShowAppointmentDetailsAsync(hstring_view appointmentId) +{ + return get_activation_factory().ShowAppointmentDetailsAsync(appointmentId); +} + +inline Windows::Foundation::IAsyncAction AppointmentManager::ShowAppointmentDetailsAsync(hstring_view appointmentId, const Windows::Foundation::DateTime & instanceStartDate) +{ + return get_activation_factory().ShowAppointmentDetailsAsync(appointmentId, instanceStartDate); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::ShowEditNewAppointmentAsync(const Windows::ApplicationModel::Appointments::Appointment & appointment) +{ + return get_activation_factory().ShowEditNewAppointmentAsync(appointment); +} + +inline Windows::Foundation::IAsyncOperation AppointmentManager::RequestStoreAsync(Windows::ApplicationModel::Appointments::AppointmentStoreAccessType options) +{ + return get_activation_factory().RequestStoreAsync(options); +} + +inline Windows::ApplicationModel::Appointments::AppointmentManagerForUser AppointmentManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline AppointmentOrganizer::AppointmentOrganizer() : + AppointmentOrganizer(activate_instance()) +{} + +inline hstring AppointmentProperties::Subject() +{ + return get_activation_factory().Subject(); +} + +inline hstring AppointmentProperties::Location() +{ + return get_activation_factory().Location(); +} + +inline hstring AppointmentProperties::StartTime() +{ + return get_activation_factory().StartTime(); +} + +inline hstring AppointmentProperties::Duration() +{ + return get_activation_factory().Duration(); +} + +inline hstring AppointmentProperties::Reminder() +{ + return get_activation_factory().Reminder(); +} + +inline hstring AppointmentProperties::BusyStatus() +{ + return get_activation_factory().BusyStatus(); +} + +inline hstring AppointmentProperties::Sensitivity() +{ + return get_activation_factory().Sensitivity(); +} + +inline hstring AppointmentProperties::OriginalStartTime() +{ + return get_activation_factory().OriginalStartTime(); +} + +inline hstring AppointmentProperties::IsResponseRequested() +{ + return get_activation_factory().IsResponseRequested(); +} + +inline hstring AppointmentProperties::AllowNewTimeProposal() +{ + return get_activation_factory().AllowNewTimeProposal(); +} + +inline hstring AppointmentProperties::AllDay() +{ + return get_activation_factory().AllDay(); +} + +inline hstring AppointmentProperties::Details() +{ + return get_activation_factory().Details(); +} + +inline hstring AppointmentProperties::OnlineMeetingLink() +{ + return get_activation_factory().OnlineMeetingLink(); +} + +inline hstring AppointmentProperties::ReplyTime() +{ + return get_activation_factory().ReplyTime(); +} + +inline hstring AppointmentProperties::Organizer() +{ + return get_activation_factory().Organizer(); +} + +inline hstring AppointmentProperties::UserResponse() +{ + return get_activation_factory().UserResponse(); +} + +inline hstring AppointmentProperties::HasInvitees() +{ + return get_activation_factory().HasInvitees(); +} + +inline hstring AppointmentProperties::IsCanceledMeeting() +{ + return get_activation_factory().IsCanceledMeeting(); +} + +inline hstring AppointmentProperties::IsOrganizedByUser() +{ + return get_activation_factory().IsOrganizedByUser(); +} + +inline hstring AppointmentProperties::Recurrence() +{ + return get_activation_factory().Recurrence(); +} + +inline hstring AppointmentProperties::Uri() +{ + return get_activation_factory().Uri(); +} + +inline hstring AppointmentProperties::Invitees() +{ + return get_activation_factory().Invitees(); +} + +inline Windows::Foundation::Collections::IVector AppointmentProperties::DefaultProperties() +{ + return get_activation_factory().DefaultProperties(); +} + +inline hstring AppointmentProperties::ChangeNumber() +{ + return get_activation_factory().ChangeNumber(); +} + +inline hstring AppointmentProperties::RemoteChangeNumber() +{ + return get_activation_factory().RemoteChangeNumber(); +} + +inline hstring AppointmentProperties::DetailsKind() +{ + return get_activation_factory().DetailsKind(); +} + +inline AppointmentRecurrence::AppointmentRecurrence() : + AppointmentRecurrence(activate_instance()) +{} + +inline FindAppointmentsOptions::FindAppointmentsOptions() : + FindAppointmentsOptions(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointment2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointment3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentCalendar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentCalendar2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentCalendar3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentCalendarSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentCalendarSyncManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentConflictResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentException & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentInvitee & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentParticipant & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentPropertiesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentRecurrence & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentRecurrence2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentRecurrence3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStoreChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStoreChange2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStoreChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStoreChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStoreChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStoreChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IAppointmentStoreNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::IFindAppointmentsOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::Appointment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentCalendar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentConflictResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentException & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentInvitee & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentOrganizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentRecurrence & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::AppointmentStoreNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Appointments::FindAppointmentsOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Background.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Background.h new file mode 100644 index 000000000..729861c94 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Background.h @@ -0,0 +1,5325 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Provider.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Devices.Sms.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Devices.Bluetooth.Background.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Devices.Bluetooth.GenericAttributeProfile.3.h" +#include "internal/Windows.Devices.Bluetooth.3.h" +#include "internal/Windows.Devices.Bluetooth.Advertisement.3.h" +#include "internal/Windows.Devices.Sensors.3.h" +#include "internal/Windows.UI.Notifications.3.h" +#include "internal/Windows.ApplicationModel.Calls.Background.3.h" +#include "internal/Windows.Devices.SmartCards.3.h" +#include "internal/Windows.ApplicationModel.Background.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::ApplicationModel::Background { + +template BackgroundTaskCanceledEventHandler::BackgroundTaskCanceledEventHandler(L lambda) : + BackgroundTaskCanceledEventHandler(impl::make_delegate, BackgroundTaskCanceledEventHandler>(std::forward(lambda))) +{} + +template BackgroundTaskCanceledEventHandler::BackgroundTaskCanceledEventHandler(F * function) : + BackgroundTaskCanceledEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template BackgroundTaskCanceledEventHandler::BackgroundTaskCanceledEventHandler(O * object, M method) : + BackgroundTaskCanceledEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void BackgroundTaskCanceledEventHandler::operator()(const Windows::ApplicationModel::Background::IBackgroundTaskInstance & sender, Windows::ApplicationModel::Background::BackgroundTaskCancellationReason reason) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), reason)); +} + +template BackgroundTaskCompletedEventHandler::BackgroundTaskCompletedEventHandler(L lambda) : + BackgroundTaskCompletedEventHandler(impl::make_delegate, BackgroundTaskCompletedEventHandler>(std::forward(lambda))) +{} + +template BackgroundTaskCompletedEventHandler::BackgroundTaskCompletedEventHandler(F * function) : + BackgroundTaskCompletedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template BackgroundTaskCompletedEventHandler::BackgroundTaskCompletedEventHandler(O * object, M method) : + BackgroundTaskCompletedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void BackgroundTaskCompletedEventHandler::operator()(const Windows::ApplicationModel::Background::BackgroundTaskRegistration & sender, const Windows::ApplicationModel::Background::BackgroundTaskCompletedEventArgs & args) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(args))); +} + +template BackgroundTaskProgressEventHandler::BackgroundTaskProgressEventHandler(L lambda) : + BackgroundTaskProgressEventHandler(impl::make_delegate, BackgroundTaskProgressEventHandler>(std::forward(lambda))) +{} + +template BackgroundTaskProgressEventHandler::BackgroundTaskProgressEventHandler(F * function) : + BackgroundTaskProgressEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template BackgroundTaskProgressEventHandler::BackgroundTaskProgressEventHandler(O * object, M method) : + BackgroundTaskProgressEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void BackgroundTaskProgressEventHandler::operator()(const Windows::ApplicationModel::Background::BackgroundTaskRegistration & sender, const Windows::ApplicationModel::Background::BackgroundTaskProgressEventArgs & args) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(args))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SubscribedActivities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscribedActivities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedActivities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedActivities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t reportIntervalInMilliseconds, impl::abi_arg_out activityTrigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *activityTrigger = detach_abi(this->shim().Create(reportIntervalInMilliseconds)); + return S_OK; + } + catch (...) + { + *activityTrigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessStatus(Windows::ApplicationModel::Background::AlarmAccessStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetAccessStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ProviderInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProviderInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAppBroadcastTrigger(impl::abi_arg_in providerKey, impl::abi_arg_out broadcastTrigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *broadcastTrigger = detach_abi(this->shim().CreateAppBroadcastTrigger(*reinterpret_cast(&providerKey))); + return S_OK; + } + catch (...) + { + *broadcastTrigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DisplayNameResource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayNameResource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayNameResource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayNameResource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LogoResource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogoResource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogoResource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogoResource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoKeyFrameInterval(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoKeyFrameInterval(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoKeyFrameInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoKeyFrameInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxVideoBitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxVideoBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxVideoBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxVideoBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxVideoWidth(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxVideoWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxVideoWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxVideoWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxVideoHeight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxVideoHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxVideoHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxVideoHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAsyncWithArguments(impl::abi_arg_in arguments, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync(*reinterpret_cast(&arguments))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessForApplicationAsync(impl::abi_arg_in applicationId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAccess() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAccess(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAccessForApplication(impl::abi_arg_in applicationId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAccess(*reinterpret_cast(&applicationId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessStatus(Windows::ApplicationModel::Background::BackgroundAccessStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetAccessStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessStatusForApplication(impl::abi_arg_in applicationId, Windows::ApplicationModel::Background::BackgroundAccessStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetAccessStatus(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Run(impl::abi_arg_in taskInstance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Run(*reinterpret_cast(&taskInstance)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_TaskEntryPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TaskEntryPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TaskEntryPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskEntryPoint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetTrigger(impl::abi_arg_in trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetTrigger(*reinterpret_cast(&trigger)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddCondition(impl::abi_arg_in condition) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddCondition(*reinterpret_cast(&condition)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Register(impl::abi_arg_out task) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *task = detach_abi(this->shim().Register()); + return S_OK; + } + catch (...) + { + *task = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_CancelOnConditionLoss(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelOnConditionLoss(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CancelOnConditionLoss(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CancelOnConditionLoss()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsNetworkRequested(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsNetworkRequested(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNetworkRequested(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNetworkRequested()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TaskGroup(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TaskGroup(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstanceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckResult() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckResult(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstanceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Task(impl::abi_arg_out task) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *task = detach_abi(this->shim().Task()); + return S_OK; + } + catch (...) + { + *task = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Progress(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Progress(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriggerDetails(impl::abi_arg_out triggerDetails) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *triggerDetails = detach_abi(this->shim().TriggerDetails()); + return S_OK; + } + catch (...) + { + *triggerDetails = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Canceled(impl::abi_arg_in cancelHandler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Canceled(*reinterpret_cast(&cancelHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Canceled(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Canceled(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuspendedCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuspendedCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetThrottleCount(Windows::ApplicationModel::Background::BackgroundTaskThrottleCounter counter, uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetThrottleCount(counter)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstanceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Progress(impl::abi_arg_in handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Progress(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Progress(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Progress(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Completed(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Unregister(bool cancelTask) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unregister(cancelTask); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Trigger(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Trigger()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BackgroundActivated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BackgroundActivated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BackgroundActivated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundActivated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllTasks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllTasks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in id, impl::abi_arg_out group) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *group = detach_abi(this->shim().Create(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *group = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithName(impl::abi_arg_in id, impl::abi_arg_in name, impl::abi_arg_out group) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *group = detach_abi(this->shim().CreateWithName(*reinterpret_cast(&id), *reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *group = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllTasks(impl::abi_arg_out> tasks) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *tasks = detach_abi(this->shim().AllTasks()); + return S_OK; + } + catch (...) + { + *tasks = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllTaskGroups(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllTaskGroups()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTaskGroup(impl::abi_arg_in groupId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTaskGroup(*reinterpret_cast(&groupId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentBackgroundWorkCost(Windows::ApplicationModel::Background::BackgroundWorkCostValue * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentBackgroundWorkCost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Advertisement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Advertisement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinSamplingInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinSamplingInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSamplingInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSamplingInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinOutOfRangeTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinOutOfRangeTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxOutOfRangeTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxOutOfRangeTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignalStrengthFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignalStrengthFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SignalStrengthFilter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignalStrengthFilter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisementFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisementFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AdvertisementFilter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdvertisementFilter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UpdateTarget(Windows::Storage::Provider::CachedFileTarget * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateTarget()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdateRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanRequestUserInput(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanRequestUserInput()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WaitInterval(impl::abi_arg_out waitInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *waitInterval = detach_abi(this->shim().WaitInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in waitInterval, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(*reinterpret_cast(&waitInterval))); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanMaintainConnection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMaintainConnection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaintainConnection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaintainConnection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaintainConnection(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaintainConnection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> deviceChangeTrigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceChangeTrigger = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *deviceChangeTrigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TriggerQualifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriggerQualifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OneShot(bool * oneShot) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *oneShot = detach_abi(this->shim().OneShot()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in triggerQualifier, bool oneShot, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(*reinterpret_cast(&triggerQualifier), oneShot)); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAsyncSimple(impl::abi_arg_in deviceId, impl::abi_arg_in expectedDuration, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&expectedDuration))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAsyncWithArguments(impl::abi_arg_in deviceId, impl::abi_arg_in expectedDuration, impl::abi_arg_in arguments, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&expectedDuration), *reinterpret_cast(&arguments))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAsyncSimple(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAsyncWithArguments(impl::abi_arg_in deviceId, impl::abi_arg_in arguments, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&arguments))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Characteristic(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristic()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EventTriggeringMode(Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EventTriggeringMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in characteristic, impl::abi_arg_out gattCharacteristicNotificationTrigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *gattCharacteristicNotificationTrigger = detach_abi(this->shim().Create(*reinterpret_cast(&characteristic))); + return S_OK; + } + catch (...) + { + *gattCharacteristicNotificationTrigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithEventTriggeringMode(impl::abi_arg_in characteristic, Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode eventTriggeringMode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&characteristic), eventTriggeringMode)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TriggerId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriggerId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Service(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Service()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AdvertisingParameters(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdvertisingParameters(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisingParameters(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisingParameters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Trigger(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Trigger()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_in triggerId, GUID serviceUuid, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateAsync(*reinterpret_cast(&triggerId), serviceUuid)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TriggerType(Windows::ApplicationModel::Background::LocationTriggerType * triggerType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *triggerType = detach_abi(this->shim().TriggerType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::ApplicationModel::Background::LocationTriggerType triggerType, impl::abi_arg_out locationTrigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *locationTrigger = detach_abi(this->shim().Create(triggerType)); + return S_OK; + } + catch (...) + { + *locationTrigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FreshnessTime(uint32_t * freshnessTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *freshnessTime = detach_abi(this->shim().FreshnessTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OneShot(bool * oneShot) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *oneShot = detach_abi(this->shim().OneShot()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t freshnessTime, bool oneShot, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(freshnessTime, oneShot)); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAsyncWithArguments(impl::abi_arg_in arguments, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAsync(*reinterpret_cast(&arguments))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in networkAccountId, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(*reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OneShot(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OneShot()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriggerType(Windows::ApplicationModel::Calls::Background::PhoneTriggerType * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TriggerType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::ApplicationModel::Calls::Background::PhoneTriggerType type, bool oneShot, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(type, oneShot)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in applicationId, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InboundConnection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InboundConnection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutboundConnection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundConnection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowMultipleConnections(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowMultipleConnections()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowMultipleConnections(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowMultipleConnections(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionLevel(Windows::Networking::Sockets::SocketProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtectionLevel(Windows::Networking::Sockets::SocketProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteHostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteHostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteHostName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteHostName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in threshold, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(*reinterpret_cast(&threshold))); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TriggerType(Windows::Devices::SmartCards::SmartCardTriggerType * triggerType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *triggerType = detach_abi(this->shim().TriggerType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Devices::SmartCards::SmartCardTriggerType triggerType, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(triggerType)); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in filterRules, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&filterRules))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsWakeFromLowPowerSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWakeFromLowPowerSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in storageLibrary, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&storageLibrary))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromLibraries(impl::abi_arg_in> storageLibraries, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromLibraries(*reinterpret_cast *>(&storageLibraries))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConditionType(Windows::ApplicationModel::Background::SystemConditionType * conditionType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *conditionType = detach_abi(this->shim().ConditionType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::ApplicationModel::Background::SystemConditionType conditionType, impl::abi_arg_out condition) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *condition = detach_abi(this->shim().Create(conditionType)); + return S_OK; + } + catch (...) + { + *condition = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OneShot(bool * oneShot) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *oneShot = detach_abi(this->shim().OneShot()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriggerType(Windows::ApplicationModel::Background::SystemTriggerType * triggerType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *triggerType = detach_abi(this->shim().TriggerType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::ApplicationModel::Background::SystemTriggerType triggerType, bool oneShot, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(triggerType, oneShot)); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FreshnessTime(uint32_t * freshnessTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *freshnessTime = detach_abi(this->shim().FreshnessTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OneShot(bool * oneShot) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *oneShot = detach_abi(this->shim().OneShot()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t freshnessTime, bool oneShot, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(freshnessTime, oneShot)); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in applicationId, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in applicationId, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::UI::Notifications::NotificationKinds notificationKinds, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().Create(notificationKinds)); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Background { + +template Windows::Foundation::Collections::ValueSet impl_IApplicationTriggerDetails::Arguments() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationTriggerDetails)->get_Arguments(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::ContentPrefetchTrigger impl_IContentPrefetchTriggerFactory::Create(const Windows::Foundation::TimeSpan & waitInterval) const +{ + Windows::ApplicationModel::Background::ContentPrefetchTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IContentPrefetchTriggerFactory)->abi_Create(get_abi(waitInterval), put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::SystemTrigger impl_ISystemTriggerFactory::Create(Windows::ApplicationModel::Background::SystemTriggerType triggerType, bool oneShot) const +{ + Windows::ApplicationModel::Background::SystemTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(ISystemTriggerFactory)->abi_Create(triggerType, oneShot, put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::SystemCondition impl_ISystemConditionFactory::Create(Windows::ApplicationModel::Background::SystemConditionType conditionType) const +{ + Windows::ApplicationModel::Background::SystemCondition condition { nullptr }; + check_hresult(WINRT_SHIM(ISystemConditionFactory)->abi_Create(conditionType, put_abi(condition))); + return condition; +} + +template Windows::ApplicationModel::Background::NetworkOperatorNotificationTrigger impl_INetworkOperatorNotificationTriggerFactory::Create(hstring_view networkAccountId) const +{ + Windows::ApplicationModel::Background::NetworkOperatorNotificationTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationTriggerFactory)->abi_Create(get_abi(networkAccountId), put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::DeviceManufacturerNotificationTrigger impl_IDeviceManufacturerNotificationTriggerFactory::Create(hstring_view triggerQualifier, bool oneShot) const +{ + Windows::ApplicationModel::Background::DeviceManufacturerNotificationTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IDeviceManufacturerNotificationTriggerFactory)->abi_Create(get_abi(triggerQualifier), oneShot, put_abi(trigger))); + return trigger; +} + +template Windows::Storage::Provider::CachedFileTarget impl_ICachedFileUpdaterTriggerDetails::UpdateTarget() const +{ + Windows::Storage::Provider::CachedFileTarget value {}; + check_hresult(WINRT_SHIM(ICachedFileUpdaterTriggerDetails)->get_UpdateTarget(&value)); + return value; +} + +template Windows::Storage::Provider::FileUpdateRequest impl_ICachedFileUpdaterTriggerDetails::UpdateRequest() const +{ + Windows::Storage::Provider::FileUpdateRequest value { nullptr }; + check_hresult(WINRT_SHIM(ICachedFileUpdaterTriggerDetails)->get_UpdateRequest(put_abi(value))); + return value; +} + +template bool impl_ICachedFileUpdaterTriggerDetails::CanRequestUserInput() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICachedFileUpdaterTriggerDetails)->get_CanRequestUserInput(&value)); + return value; +} + +template Windows::ApplicationModel::Background::TimeTrigger impl_ITimeTriggerFactory::Create(uint32_t freshnessTime, bool oneShot) const +{ + Windows::ApplicationModel::Background::TimeTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(ITimeTriggerFactory)->abi_Create(freshnessTime, oneShot, put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::MaintenanceTrigger impl_IMaintenanceTriggerFactory::Create(uint32_t freshnessTime, bool oneShot) const +{ + Windows::ApplicationModel::Background::MaintenanceTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IMaintenanceTriggerFactory)->abi_Create(freshnessTime, oneShot, put_abi(trigger))); + return trigger; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundExecutionManagerStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundExecutionManagerStatics)->abi_RequestAccessAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundExecutionManagerStatics::RequestAccessAsync(hstring_view applicationId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundExecutionManagerStatics)->abi_RequestAccessForApplicationAsync(get_abi(applicationId), put_abi(operation))); + return operation; +} + +template void impl_IBackgroundExecutionManagerStatics::RemoveAccess() const +{ + check_hresult(WINRT_SHIM(IBackgroundExecutionManagerStatics)->abi_RemoveAccess()); +} + +template void impl_IBackgroundExecutionManagerStatics::RemoveAccess(hstring_view applicationId) const +{ + check_hresult(WINRT_SHIM(IBackgroundExecutionManagerStatics)->abi_RemoveAccessForApplication(get_abi(applicationId))); +} + +template Windows::ApplicationModel::Background::BackgroundAccessStatus impl_IBackgroundExecutionManagerStatics::GetAccessStatus() const +{ + Windows::ApplicationModel::Background::BackgroundAccessStatus status {}; + check_hresult(WINRT_SHIM(IBackgroundExecutionManagerStatics)->abi_GetAccessStatus(&status)); + return status; +} + +template Windows::ApplicationModel::Background::BackgroundAccessStatus impl_IBackgroundExecutionManagerStatics::GetAccessStatus(hstring_view applicationId) const +{ + Windows::ApplicationModel::Background::BackgroundAccessStatus status {}; + check_hresult(WINRT_SHIM(IBackgroundExecutionManagerStatics)->abi_GetAccessStatusForApplication(get_abi(applicationId), &status)); + return status; +} + +template GUID impl_IBackgroundTaskInstance::InstanceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->get_InstanceId(&value)); + return value; +} + +template Windows::ApplicationModel::Background::BackgroundTaskRegistration impl_IBackgroundTaskInstance::Task() const +{ + Windows::ApplicationModel::Background::BackgroundTaskRegistration task { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->get_Task(put_abi(task))); + return task; +} + +template uint32_t impl_IBackgroundTaskInstance::Progress() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->get_Progress(&value)); + return value; +} + +template void impl_IBackgroundTaskInstance::Progress(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->put_Progress(value)); +} + +template Windows::Foundation::IInspectable impl_IBackgroundTaskInstance::TriggerDetails() const +{ + Windows::Foundation::IInspectable triggerDetails; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->get_TriggerDetails(put_abi(triggerDetails))); + return triggerDetails; +} + +template event_token impl_IBackgroundTaskInstance::Canceled(const Windows::ApplicationModel::Background::BackgroundTaskCanceledEventHandler & cancelHandler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->add_Canceled(get_abi(cancelHandler), &cookie)); + return cookie; +} + +template event_revoker impl_IBackgroundTaskInstance::Canceled(auto_revoke_t, const Windows::ApplicationModel::Background::BackgroundTaskCanceledEventHandler & cancelHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Background::IBackgroundTaskInstance::remove_Canceled, Canceled(cancelHandler)); +} + +template void impl_IBackgroundTaskInstance::Canceled(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->remove_Canceled(cookie)); +} + +template uint32_t impl_IBackgroundTaskInstance::SuspendedCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->get_SuspendedCount(&value)); + return value; +} + +template Windows::ApplicationModel::Background::BackgroundTaskDeferral impl_IBackgroundTaskInstance::GetDeferral() const +{ + Windows::ApplicationModel::Background::BackgroundTaskDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::ApplicationModel::Background::BackgroundWorkCostValue impl_IBackgroundWorkCostStatics::CurrentBackgroundWorkCost() const +{ + Windows::ApplicationModel::Background::BackgroundWorkCostValue value {}; + check_hresult(WINRT_SHIM(IBackgroundWorkCostStatics)->get_CurrentBackgroundWorkCost(&value)); + return value; +} + +template void impl_IBackgroundTaskDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskDeferral)->abi_Complete()); +} + +template uint32_t impl_IBackgroundTaskInstance2::GetThrottleCount(Windows::ApplicationModel::Background::BackgroundTaskThrottleCounter counter) const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance2)->abi_GetThrottleCount(counter, &value)); + return value; +} + +template Windows::System::User impl_IBackgroundTaskInstance4::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskInstance4)->get_User(put_abi(value))); + return value; +} + +template void impl_IBackgroundTask::Run(const Windows::ApplicationModel::Background::IBackgroundTaskInstance & taskInstance) const +{ + check_hresult(WINRT_SHIM(IBackgroundTask)->abi_Run(get_abi(taskInstance))); +} + +template GUID impl_IBackgroundTaskRegistration::TaskId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration)->get_TaskId(&value)); + return value; +} + +template hstring impl_IBackgroundTaskRegistration::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration)->get_Name(put_abi(value))); + return value; +} + +template event_token impl_IBackgroundTaskRegistration::Progress(const Windows::ApplicationModel::Background::BackgroundTaskProgressEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration)->add_Progress(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IBackgroundTaskRegistration::Progress(auto_revoke_t, const Windows::ApplicationModel::Background::BackgroundTaskProgressEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Background::IBackgroundTaskRegistration::remove_Progress, Progress(handler)); +} + +template void impl_IBackgroundTaskRegistration::Progress(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration)->remove_Progress(cookie)); +} + +template event_token impl_IBackgroundTaskRegistration::Completed(const Windows::ApplicationModel::Background::BackgroundTaskCompletedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration)->add_Completed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IBackgroundTaskRegistration::Completed(auto_revoke_t, const Windows::ApplicationModel::Background::BackgroundTaskCompletedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Background::IBackgroundTaskRegistration::remove_Completed, Completed(handler)); +} + +template void impl_IBackgroundTaskRegistration::Completed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration)->remove_Completed(cookie)); +} + +template void impl_IBackgroundTaskRegistration::Unregister(bool cancelTask) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration)->abi_Unregister(cancelTask)); +} + +template Windows::ApplicationModel::Background::IBackgroundTrigger impl_IBackgroundTaskRegistration2::Trigger() const +{ + Windows::ApplicationModel::Background::IBackgroundTrigger value; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration2)->get_Trigger(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationTrigger::RequestAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IApplicationTrigger)->abi_RequestAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationTrigger::RequestAsync(const Windows::Foundation::Collections::ValueSet & arguments) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IApplicationTrigger)->abi_RequestAsyncWithArguments(get_abi(arguments), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaProcessingTrigger::RequestAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMediaProcessingTrigger)->abi_RequestAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaProcessingTrigger::RequestAsync(const Windows::Foundation::Collections::ValueSet & arguments) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMediaProcessingTrigger)->abi_RequestAsyncWithArguments(get_abi(arguments), put_abi(result))); + return result; +} + +template Windows::Foundation::TimeSpan impl_IContentPrefetchTrigger::WaitInterval() const +{ + Windows::Foundation::TimeSpan waitInterval {}; + check_hresult(WINRT_SHIM(IContentPrefetchTrigger)->get_WaitInterval(put_abi(waitInterval))); + return waitInterval; +} + +template bool impl_ISystemTrigger::OneShot() const +{ + bool oneShot {}; + check_hresult(WINRT_SHIM(ISystemTrigger)->get_OneShot(&oneShot)); + return oneShot; +} + +template Windows::ApplicationModel::Background::SystemTriggerType impl_ISystemTrigger::TriggerType() const +{ + Windows::ApplicationModel::Background::SystemTriggerType triggerType {}; + check_hresult(WINRT_SHIM(ISystemTrigger)->get_TriggerType(&triggerType)); + return triggerType; +} + +template hstring impl_INetworkOperatorNotificationTrigger::NetworkAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationTrigger)->get_NetworkAccountId(put_abi(value))); + return value; +} + +template hstring impl_IDeviceManufacturerNotificationTrigger::TriggerQualifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceManufacturerNotificationTrigger)->get_TriggerQualifier(put_abi(value))); + return value; +} + +template bool impl_IDeviceManufacturerNotificationTrigger::OneShot() const +{ + bool oneShot {}; + check_hresult(WINRT_SHIM(IDeviceManufacturerNotificationTrigger)->get_OneShot(&oneShot)); + return oneShot; +} + +template uint32_t impl_ITimeTrigger::FreshnessTime() const +{ + uint32_t freshnessTime {}; + check_hresult(WINRT_SHIM(ITimeTrigger)->get_FreshnessTime(&freshnessTime)); + return freshnessTime; +} + +template bool impl_ITimeTrigger::OneShot() const +{ + bool oneShot {}; + check_hresult(WINRT_SHIM(ITimeTrigger)->get_OneShot(&oneShot)); + return oneShot; +} + +template uint32_t impl_IMaintenanceTrigger::FreshnessTime() const +{ + uint32_t freshnessTime {}; + check_hresult(WINRT_SHIM(IMaintenanceTrigger)->get_FreshnessTime(&freshnessTime)); + return freshnessTime; +} + +template bool impl_IMaintenanceTrigger::OneShot() const +{ + bool oneShot {}; + check_hresult(WINRT_SHIM(IMaintenanceTrigger)->get_OneShot(&oneShot)); + return oneShot; +} + +template Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup impl_IBackgroundTaskRegistration3::TaskGroup() const +{ + Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistration3)->get_TaskGroup(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IBackgroundTaskRegistrationStatics::AllTasks() const +{ + Windows::Foundation::Collections::IMapView tasks; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationStatics)->get_AllTasks(put_abi(tasks))); + return tasks; +} + +template Windows::Foundation::Collections::IMapView impl_IBackgroundTaskRegistrationStatics2::AllTaskGroups() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationStatics2)->get_AllTaskGroups(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup impl_IBackgroundTaskRegistrationStatics2::GetTaskGroup(hstring_view groupId) const +{ + Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationStatics2)->abi_GetTaskGroup(get_abi(groupId), put_abi(value))); + return value; +} + +template void impl_IBackgroundTaskBuilder::TaskEntryPoint(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder)->put_TaskEntryPoint(get_abi(value))); +} + +template hstring impl_IBackgroundTaskBuilder::TaskEntryPoint() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder)->get_TaskEntryPoint(put_abi(value))); + return value; +} + +template void impl_IBackgroundTaskBuilder::SetTrigger(const Windows::ApplicationModel::Background::IBackgroundTrigger & trigger) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder)->abi_SetTrigger(get_abi(trigger))); +} + +template void impl_IBackgroundTaskBuilder::AddCondition(const Windows::ApplicationModel::Background::IBackgroundCondition & condition) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder)->abi_AddCondition(get_abi(condition))); +} + +template void impl_IBackgroundTaskBuilder::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder)->put_Name(get_abi(value))); +} + +template hstring impl_IBackgroundTaskBuilder::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder)->get_Name(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::BackgroundTaskRegistration impl_IBackgroundTaskBuilder::Register() const +{ + Windows::ApplicationModel::Background::BackgroundTaskRegistration task { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder)->abi_Register(put_abi(task))); + return task; +} + +template Windows::ApplicationModel::Background::SystemConditionType impl_ISystemCondition::ConditionType() const +{ + Windows::ApplicationModel::Background::SystemConditionType conditionType {}; + check_hresult(WINRT_SHIM(ISystemCondition)->get_ConditionType(&conditionType)); + return conditionType; +} + +template void impl_IBackgroundTaskBuilder2::CancelOnConditionLoss(bool value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder2)->put_CancelOnConditionLoss(value)); +} + +template bool impl_IBackgroundTaskBuilder2::CancelOnConditionLoss() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder2)->get_CancelOnConditionLoss(&value)); + return value; +} + +template void impl_IBackgroundTaskBuilder3::IsNetworkRequested(bool value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder3)->put_IsNetworkRequested(value)); +} + +template bool impl_IBackgroundTaskBuilder3::IsNetworkRequested() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder3)->get_IsNetworkRequested(&value)); + return value; +} + +template Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup impl_IBackgroundTaskBuilder4::TaskGroup() const +{ + Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder4)->get_TaskGroup(put_abi(value))); + return value; +} + +template void impl_IBackgroundTaskBuilder4::TaskGroup(const Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskBuilder4)->put_TaskGroup(get_abi(value))); +} + +template GUID impl_IBackgroundTaskCompletedEventArgs::InstanceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskCompletedEventArgs)->get_InstanceId(&value)); + return value; +} + +template void impl_IBackgroundTaskCompletedEventArgs::CheckResult() const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskCompletedEventArgs)->abi_CheckResult()); +} + +template GUID impl_IBackgroundTaskProgressEventArgs::InstanceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskProgressEventArgs)->get_InstanceId(&value)); + return value; +} + +template uint32_t impl_IBackgroundTaskProgressEventArgs::Progress() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundTaskProgressEventArgs)->get_Progress(&value)); + return value; +} + +template hstring impl_IBackgroundTaskRegistrationGroup::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationGroup)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IBackgroundTaskRegistrationGroup::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationGroup)->get_Name(put_abi(value))); + return value; +} + +template event_token impl_IBackgroundTaskRegistrationGroup::BackgroundActivated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationGroup)->add_BackgroundActivated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBackgroundTaskRegistrationGroup::BackgroundActivated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Background::IBackgroundTaskRegistrationGroup::remove_BackgroundActivated, BackgroundActivated(handler)); +} + +template void impl_IBackgroundTaskRegistrationGroup::BackgroundActivated(event_token token) const +{ + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationGroup)->remove_BackgroundActivated(token)); +} + +template Windows::Foundation::Collections::IMapView impl_IBackgroundTaskRegistrationGroup::AllTasks() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationGroup)->get_AllTasks(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup impl_IBackgroundTaskRegistrationGroupFactory::Create(hstring_view id) const +{ + Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup group { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationGroupFactory)->abi_Create(get_abi(id), put_abi(group))); + return group; +} + +template Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup impl_IBackgroundTaskRegistrationGroupFactory::CreateWithName(hstring_view id, hstring_view name) const +{ + Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup group { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTaskRegistrationGroupFactory)->abi_CreateWithName(get_abi(id), get_abi(name), put_abi(group))); + return group; +} + +template Windows::ApplicationModel::Background::SmsMessageReceivedTrigger impl_ISmsMessageReceivedTriggerFactory::Create(const Windows::Devices::Sms::SmsFilterRules & filterRules) const +{ + Windows::ApplicationModel::Background::SmsMessageReceivedTrigger value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerFactory)->abi_Create(get_abi(filterRules), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::StorageLibraryContentChangedTrigger impl_IStorageLibraryContentChangedTriggerStatics::Create(const Windows::Storage::StorageLibrary & storageLibrary) const +{ + Windows::ApplicationModel::Background::StorageLibraryContentChangedTrigger result { nullptr }; + check_hresult(WINRT_SHIM(IStorageLibraryContentChangedTriggerStatics)->abi_Create(get_abi(storageLibrary), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Background::StorageLibraryContentChangedTrigger impl_IStorageLibraryContentChangedTriggerStatics::CreateFromLibraries(iterable storageLibraries) const +{ + Windows::ApplicationModel::Background::StorageLibraryContentChangedTrigger result { nullptr }; + check_hresult(WINRT_SHIM(IStorageLibraryContentChangedTriggerStatics)->abi_CreateFromLibraries(get_abi(storageLibraries), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceUseTrigger::RequestAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceUseTrigger)->abi_RequestAsyncSimple(get_abi(deviceId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceUseTrigger::RequestAsync(hstring_view deviceId, hstring_view arguments) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceUseTrigger)->abi_RequestAsyncWithArguments(get_abi(deviceId), get_abi(arguments), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceServicingTrigger::RequestAsync(hstring_view deviceId, const Windows::Foundation::TimeSpan & expectedDuration) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceServicingTrigger)->abi_RequestAsyncSimple(get_abi(deviceId), get_abi(expectedDuration), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceServicingTrigger::RequestAsync(hstring_view deviceId, const Windows::Foundation::TimeSpan & expectedDuration, hstring_view arguments) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceServicingTrigger)->abi_RequestAsyncWithArguments(get_abi(deviceId), get_abi(expectedDuration), get_abi(arguments), put_abi(result))); + return result; +} + +template Windows::Devices::Bluetooth::Background::RfcommInboundConnectionInformation impl_IRfcommConnectionTrigger::InboundConnection() const +{ + Windows::Devices::Bluetooth::Background::RfcommInboundConnectionInformation value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->get_InboundConnection(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Background::RfcommOutboundConnectionInformation impl_IRfcommConnectionTrigger::OutboundConnection() const +{ + Windows::Devices::Bluetooth::Background::RfcommOutboundConnectionInformation value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->get_OutboundConnection(put_abi(value))); + return value; +} + +template bool impl_IRfcommConnectionTrigger::AllowMultipleConnections() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->get_AllowMultipleConnections(&value)); + return value; +} + +template void impl_IRfcommConnectionTrigger::AllowMultipleConnections(bool value) const +{ + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->put_AllowMultipleConnections(value)); +} + +template Windows::Networking::Sockets::SocketProtectionLevel impl_IRfcommConnectionTrigger::ProtectionLevel() const +{ + Windows::Networking::Sockets::SocketProtectionLevel value {}; + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->get_ProtectionLevel(&value)); + return value; +} + +template void impl_IRfcommConnectionTrigger::ProtectionLevel(Windows::Networking::Sockets::SocketProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->put_ProtectionLevel(value)); +} + +template Windows::Networking::HostName impl_IRfcommConnectionTrigger::RemoteHostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->get_RemoteHostName(put_abi(value))); + return value; +} + +template void impl_IRfcommConnectionTrigger::RemoteHostName(const Windows::Networking::HostName & value) const +{ + check_hresult(WINRT_SHIM(IRfcommConnectionTrigger)->put_RemoteHostName(get_abi(value))); +} + +template hstring impl_IDeviceConnectionChangeTrigger::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceConnectionChangeTrigger)->get_DeviceId(put_abi(value))); + return value; +} + +template bool impl_IDeviceConnectionChangeTrigger::CanMaintainConnection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceConnectionChangeTrigger)->get_CanMaintainConnection(&value)); + return value; +} + +template bool impl_IDeviceConnectionChangeTrigger::MaintainConnection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceConnectionChangeTrigger)->get_MaintainConnection(&value)); + return value; +} + +template void impl_IDeviceConnectionChangeTrigger::MaintainConnection(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceConnectionChangeTrigger)->put_MaintainConnection(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceConnectionChangeTriggerStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation deviceChangeTrigger; + check_hresult(WINRT_SHIM(IDeviceConnectionChangeTriggerStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(deviceChangeTrigger))); + return deviceChangeTrigger; +} + +template Windows::ApplicationModel::Background::GattCharacteristicNotificationTrigger impl_IGattCharacteristicNotificationTriggerFactory::Create(const Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic & characteristic) const +{ + Windows::ApplicationModel::Background::GattCharacteristicNotificationTrigger gattCharacteristicNotificationTrigger { nullptr }; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTriggerFactory)->abi_Create(get_abi(characteristic), put_abi(gattCharacteristicNotificationTrigger))); + return gattCharacteristicNotificationTrigger; +} + +template Windows::ApplicationModel::Background::GattCharacteristicNotificationTrigger impl_IGattCharacteristicNotificationTriggerFactory2::Create(const Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic & characteristic, Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode eventTriggeringMode) const +{ + Windows::ApplicationModel::Background::GattCharacteristicNotificationTrigger result { nullptr }; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTriggerFactory2)->abi_CreateWithEventTriggeringMode(get_abi(characteristic), eventTriggeringMode, put_abi(result))); + return result; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic impl_IGattCharacteristicNotificationTrigger::Characteristic() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic value { nullptr }; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTrigger)->get_Characteristic(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode impl_IGattCharacteristicNotificationTrigger2::EventTriggeringMode() const +{ + Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTrigger2)->get_EventTriggeringMode(&value)); + return value; +} + +template Windows::ApplicationModel::Background::GattServiceProviderTrigger impl_IGattServiceProviderTriggerResult::Trigger() const +{ + Windows::ApplicationModel::Background::GattServiceProviderTrigger value { nullptr }; + check_hresult(WINRT_SHIM(IGattServiceProviderTriggerResult)->get_Trigger(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattServiceProviderTriggerResult::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattServiceProviderTriggerResult)->get_Error(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattServiceProviderTriggerStatics::CreateAsync(hstring_view triggerId, GUID serviceUuid) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattServiceProviderTriggerStatics)->abi_CreateAsync(get_abi(triggerId), serviceUuid, put_abi(operation))); + return operation; +} + +template hstring impl_IGattServiceProviderTrigger::TriggerId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGattServiceProviderTrigger)->get_TriggerId(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalService impl_IGattServiceProviderTrigger::Service() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalService value { nullptr }; + check_hresult(WINRT_SHIM(IGattServiceProviderTrigger)->get_Service(put_abi(value))); + return value; +} + +template void impl_IGattServiceProviderTrigger::AdvertisingParameters(const Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisingParameters & value) const +{ + check_hresult(WINRT_SHIM(IGattServiceProviderTrigger)->put_AdvertisingParameters(get_abi(value))); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisingParameters impl_IGattServiceProviderTrigger::AdvertisingParameters() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisingParameters value { nullptr }; + check_hresult(WINRT_SHIM(IGattServiceProviderTrigger)->get_AdvertisingParameters(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcherTrigger::MinSamplingInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->get_MinSamplingInterval(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcherTrigger::MaxSamplingInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->get_MaxSamplingInterval(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcherTrigger::MinOutOfRangeTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->get_MinOutOfRangeTimeout(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcherTrigger::MaxOutOfRangeTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->get_MaxOutOfRangeTimeout(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter impl_IBluetoothLEAdvertisementWatcherTrigger::SignalStrengthFilter() const +{ + Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->get_SignalStrengthFilter(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementWatcherTrigger::SignalStrengthFilter(const Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->put_SignalStrengthFilter(get_abi(value))); +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter impl_IBluetoothLEAdvertisementWatcherTrigger::AdvertisementFilter() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->get_AdvertisementFilter(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementWatcherTrigger::AdvertisementFilter(const Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTrigger)->put_AdvertisementFilter(get_abi(value))); +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement impl_IBluetoothLEAdvertisementPublisherTrigger::Advertisement() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisherTrigger)->get_Advertisement(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::LocationTriggerType impl_ILocationTrigger::TriggerType() const +{ + Windows::ApplicationModel::Background::LocationTriggerType triggerType {}; + check_hresult(WINRT_SHIM(ILocationTrigger)->get_TriggerType(&triggerType)); + return triggerType; +} + +template Windows::ApplicationModel::Background::LocationTrigger impl_ILocationTriggerFactory::Create(Windows::ApplicationModel::Background::LocationTriggerType triggerType) const +{ + Windows::ApplicationModel::Background::LocationTrigger locationTrigger { nullptr }; + check_hresult(WINRT_SHIM(ILocationTriggerFactory)->abi_Create(triggerType, put_abi(locationTrigger))); + return locationTrigger; +} + +template Windows::Foundation::Collections::IVector impl_IActivitySensorTrigger::SubscribedActivities() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IActivitySensorTrigger)->get_SubscribedActivities(put_abi(value))); + return value; +} + +template uint32_t impl_IActivitySensorTrigger::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IActivitySensorTrigger)->get_ReportInterval(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IActivitySensorTrigger::SupportedActivities() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IActivitySensorTrigger)->get_SupportedActivities(put_abi(value))); + return value; +} + +template uint32_t impl_IActivitySensorTrigger::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IActivitySensorTrigger)->get_MinimumReportInterval(&value)); + return value; +} + +template Windows::ApplicationModel::Background::ActivitySensorTrigger impl_IActivitySensorTriggerFactory::Create(uint32_t reportIntervalInMilliseconds) const +{ + Windows::ApplicationModel::Background::ActivitySensorTrigger activityTrigger { nullptr }; + check_hresult(WINRT_SHIM(IActivitySensorTriggerFactory)->abi_Create(reportIntervalInMilliseconds, put_abi(activityTrigger))); + return activityTrigger; +} + +template Windows::ApplicationModel::Background::SensorDataThresholdTrigger impl_ISensorDataThresholdTriggerFactory::Create(const Windows::Devices::Sensors::ISensorDataThreshold & threshold) const +{ + Windows::ApplicationModel::Background::SensorDataThresholdTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(ISensorDataThresholdTriggerFactory)->abi_Create(get_abi(threshold), put_abi(trigger))); + return trigger; +} + +template bool impl_ISocketActivityTrigger::IsWakeFromLowPowerSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISocketActivityTrigger)->get_IsWakeFromLowPowerSupported(&value)); + return value; +} + +template Windows::ApplicationModel::Background::PushNotificationTrigger impl_IPushNotificationTriggerFactory::Create(hstring_view applicationId) const +{ + Windows::ApplicationModel::Background::PushNotificationTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationTriggerFactory)->abi_Create(get_abi(applicationId), put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::ToastNotificationHistoryChangedTrigger impl_IToastNotificationHistoryChangedTriggerFactory::Create(hstring_view applicationId) const +{ + Windows::ApplicationModel::Background::ToastNotificationHistoryChangedTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationHistoryChangedTriggerFactory)->abi_Create(get_abi(applicationId), put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::ToastNotificationActionTrigger impl_IToastNotificationActionTriggerFactory::Create(hstring_view applicationId) const +{ + Windows::ApplicationModel::Background::ToastNotificationActionTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationActionTriggerFactory)->abi_Create(get_abi(applicationId), put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::UserNotificationChangedTrigger impl_IUserNotificationChangedTriggerFactory::Create(Windows::UI::Notifications::NotificationKinds notificationKinds) const +{ + Windows::ApplicationModel::Background::UserNotificationChangedTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IUserNotificationChangedTriggerFactory)->abi_Create(notificationKinds, put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::PhoneTrigger impl_IPhoneTriggerFactory::Create(Windows::ApplicationModel::Calls::Background::PhoneTriggerType type, bool oneShot) const +{ + Windows::ApplicationModel::Background::PhoneTrigger result { nullptr }; + check_hresult(WINRT_SHIM(IPhoneTriggerFactory)->abi_Create(type, oneShot, put_abi(result))); + return result; +} + +template bool impl_IPhoneTrigger::OneShot() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneTrigger)->get_OneShot(&value)); + return value; +} + +template Windows::ApplicationModel::Calls::Background::PhoneTriggerType impl_IPhoneTrigger::TriggerType() const +{ + Windows::ApplicationModel::Calls::Background::PhoneTriggerType result {}; + check_hresult(WINRT_SHIM(IPhoneTrigger)->get_TriggerType(&result)); + return result; +} + +template Windows::ApplicationModel::Background::SmartCardTrigger impl_ISmartCardTriggerFactory::Create(Windows::Devices::SmartCards::SmartCardTriggerType triggerType) const +{ + Windows::ApplicationModel::Background::SmartCardTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardTriggerFactory)->abi_Create(triggerType, put_abi(trigger))); + return trigger; +} + +template Windows::Devices::SmartCards::SmartCardTriggerType impl_ISmartCardTrigger::TriggerType() const +{ + Windows::Devices::SmartCards::SmartCardTriggerType triggerType {}; + check_hresult(WINRT_SHIM(ISmartCardTrigger)->get_TriggerType(&triggerType)); + return triggerType; +} + +template Windows::Foundation::IAsyncOperation impl_IAlarmApplicationManagerStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAlarmApplicationManagerStatics)->abi_RequestAccessAsync(put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Background::AlarmAccessStatus impl_IAlarmApplicationManagerStatics::GetAccessStatus() const +{ + Windows::ApplicationModel::Background::AlarmAccessStatus status {}; + check_hresult(WINRT_SHIM(IAlarmApplicationManagerStatics)->abi_GetAccessStatus(&status)); + return status; +} + +template void impl_IAppBroadcastTriggerProviderInfo::DisplayNameResource(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->put_DisplayNameResource(get_abi(value))); +} + +template hstring impl_IAppBroadcastTriggerProviderInfo::DisplayNameResource() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->get_DisplayNameResource(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastTriggerProviderInfo::LogoResource(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->put_LogoResource(get_abi(value))); +} + +template hstring impl_IAppBroadcastTriggerProviderInfo::LogoResource() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->get_LogoResource(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastTriggerProviderInfo::VideoKeyFrameInterval(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->put_VideoKeyFrameInterval(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IAppBroadcastTriggerProviderInfo::VideoKeyFrameInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->get_VideoKeyFrameInterval(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastTriggerProviderInfo::MaxVideoBitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->put_MaxVideoBitrate(value)); +} + +template uint32_t impl_IAppBroadcastTriggerProviderInfo::MaxVideoBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->get_MaxVideoBitrate(&value)); + return value; +} + +template void impl_IAppBroadcastTriggerProviderInfo::MaxVideoWidth(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->put_MaxVideoWidth(value)); +} + +template uint32_t impl_IAppBroadcastTriggerProviderInfo::MaxVideoWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->get_MaxVideoWidth(&value)); + return value; +} + +template void impl_IAppBroadcastTriggerProviderInfo::MaxVideoHeight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->put_MaxVideoHeight(value)); +} + +template uint32_t impl_IAppBroadcastTriggerProviderInfo::MaxVideoHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerProviderInfo)->get_MaxVideoHeight(&value)); + return value; +} + +template Windows::ApplicationModel::Background::AppBroadcastTrigger impl_IAppBroadcastTriggerFactory::CreateAppBroadcastTrigger(hstring_view providerKey) const +{ + Windows::ApplicationModel::Background::AppBroadcastTrigger broadcastTrigger { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerFactory)->abi_CreateAppBroadcastTrigger(get_abi(providerKey), put_abi(broadcastTrigger))); + return broadcastTrigger; +} + +template void impl_IAppBroadcastTrigger::ProviderInfo(const Windows::ApplicationModel::Background::AppBroadcastTriggerProviderInfo & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastTrigger)->put_ProviderInfo(get_abi(value))); +} + +template Windows::ApplicationModel::Background::AppBroadcastTriggerProviderInfo impl_IAppBroadcastTrigger::ProviderInfo() const +{ + Windows::ApplicationModel::Background::AppBroadcastTriggerProviderInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastTrigger)->get_ProviderInfo(put_abi(value))); + return value; +} + +inline ActivitySensorTrigger::ActivitySensorTrigger(uint32_t reportIntervalInMilliseconds) : + ActivitySensorTrigger(get_activation_factory().Create(reportIntervalInMilliseconds)) +{} + +inline Windows::Foundation::IAsyncOperation AlarmApplicationManager::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline Windows::ApplicationModel::Background::AlarmAccessStatus AlarmApplicationManager::GetAccessStatus() +{ + return get_activation_factory().GetAccessStatus(); +} + +inline AppBroadcastTrigger::AppBroadcastTrigger(hstring_view providerKey) : + AppBroadcastTrigger(get_activation_factory().CreateAppBroadcastTrigger(providerKey)) +{} + +inline ApplicationTrigger::ApplicationTrigger() : + ApplicationTrigger(activate_instance()) +{} + +inline AppointmentStoreNotificationTrigger::AppointmentStoreNotificationTrigger() : + AppointmentStoreNotificationTrigger(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation BackgroundExecutionManager::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline Windows::Foundation::IAsyncOperation BackgroundExecutionManager::RequestAccessAsync(hstring_view applicationId) +{ + return get_activation_factory().RequestAccessAsync(applicationId); +} + +inline void BackgroundExecutionManager::RemoveAccess() +{ + get_activation_factory().RemoveAccess(); +} + +inline void BackgroundExecutionManager::RemoveAccess(hstring_view applicationId) +{ + get_activation_factory().RemoveAccess(applicationId); +} + +inline Windows::ApplicationModel::Background::BackgroundAccessStatus BackgroundExecutionManager::GetAccessStatus() +{ + return get_activation_factory().GetAccessStatus(); +} + +inline Windows::ApplicationModel::Background::BackgroundAccessStatus BackgroundExecutionManager::GetAccessStatus(hstring_view applicationId) +{ + return get_activation_factory().GetAccessStatus(applicationId); +} + +inline BackgroundTaskBuilder::BackgroundTaskBuilder() : + BackgroundTaskBuilder(activate_instance()) +{} + +inline Windows::Foundation::Collections::IMapView BackgroundTaskRegistration::AllTasks() +{ + return get_activation_factory().AllTasks(); +} + +inline Windows::Foundation::Collections::IMapView BackgroundTaskRegistration::AllTaskGroups() +{ + return get_activation_factory().AllTaskGroups(); +} + +inline Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup BackgroundTaskRegistration::GetTaskGroup(hstring_view groupId) +{ + return get_activation_factory().GetTaskGroup(groupId); +} + +inline BackgroundTaskRegistrationGroup::BackgroundTaskRegistrationGroup(hstring_view id) : + BackgroundTaskRegistrationGroup(get_activation_factory().Create(id)) +{} + +inline BackgroundTaskRegistrationGroup::BackgroundTaskRegistrationGroup(hstring_view id, hstring_view name) : + BackgroundTaskRegistrationGroup(get_activation_factory().CreateWithName(id, name)) +{} + +inline Windows::ApplicationModel::Background::BackgroundWorkCostValue BackgroundWorkCost::CurrentBackgroundWorkCost() +{ + return get_activation_factory().CurrentBackgroundWorkCost(); +} + +inline BluetoothLEAdvertisementPublisherTrigger::BluetoothLEAdvertisementPublisherTrigger() : + BluetoothLEAdvertisementPublisherTrigger(activate_instance()) +{} + +inline BluetoothLEAdvertisementWatcherTrigger::BluetoothLEAdvertisementWatcherTrigger() : + BluetoothLEAdvertisementWatcherTrigger(activate_instance()) +{} + +inline CachedFileUpdaterTrigger::CachedFileUpdaterTrigger() : + CachedFileUpdaterTrigger(activate_instance()) +{} + +inline ChatMessageNotificationTrigger::ChatMessageNotificationTrigger() : + ChatMessageNotificationTrigger(activate_instance()) +{} + +inline ChatMessageReceivedNotificationTrigger::ChatMessageReceivedNotificationTrigger() : + ChatMessageReceivedNotificationTrigger(activate_instance()) +{} + +inline CommunicationBlockingAppSetAsActiveTrigger::CommunicationBlockingAppSetAsActiveTrigger() : + CommunicationBlockingAppSetAsActiveTrigger(activate_instance()) +{} + +inline ContactStoreNotificationTrigger::ContactStoreNotificationTrigger() : + ContactStoreNotificationTrigger(activate_instance()) +{} + +inline ContentPrefetchTrigger::ContentPrefetchTrigger() : + ContentPrefetchTrigger(activate_instance()) +{} + +inline ContentPrefetchTrigger::ContentPrefetchTrigger(const Windows::Foundation::TimeSpan & waitInterval) : + ContentPrefetchTrigger(get_activation_factory().Create(waitInterval)) +{} + +inline Windows::Foundation::IAsyncOperation DeviceConnectionChangeTrigger::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline DeviceManufacturerNotificationTrigger::DeviceManufacturerNotificationTrigger(hstring_view triggerQualifier, bool oneShot) : + DeviceManufacturerNotificationTrigger(get_activation_factory().Create(triggerQualifier, oneShot)) +{} + +inline DeviceServicingTrigger::DeviceServicingTrigger() : + DeviceServicingTrigger(activate_instance()) +{} + +inline DeviceUseTrigger::DeviceUseTrigger() : + DeviceUseTrigger(activate_instance()) +{} + +inline EmailStoreNotificationTrigger::EmailStoreNotificationTrigger() : + EmailStoreNotificationTrigger(activate_instance()) +{} + +inline GattCharacteristicNotificationTrigger::GattCharacteristicNotificationTrigger(const Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic & characteristic) : + GattCharacteristicNotificationTrigger(get_activation_factory().Create(characteristic)) +{} + +inline GattCharacteristicNotificationTrigger::GattCharacteristicNotificationTrigger(const Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic & characteristic, Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode eventTriggeringMode) : + GattCharacteristicNotificationTrigger(get_activation_factory().Create(characteristic, eventTriggeringMode)) +{} + +inline Windows::Foundation::IAsyncOperation GattServiceProviderTrigger::CreateAsync(hstring_view triggerId, GUID serviceUuid) +{ + return get_activation_factory().CreateAsync(triggerId, serviceUuid); +} + +inline LocationTrigger::LocationTrigger(Windows::ApplicationModel::Background::LocationTriggerType triggerType) : + LocationTrigger(get_activation_factory().Create(triggerType)) +{} + +inline MaintenanceTrigger::MaintenanceTrigger(uint32_t freshnessTime, bool oneShot) : + MaintenanceTrigger(get_activation_factory().Create(freshnessTime, oneShot)) +{} + +inline MediaProcessingTrigger::MediaProcessingTrigger() : + MediaProcessingTrigger(activate_instance()) +{} + +inline MobileBroadbandDeviceServiceNotificationTrigger::MobileBroadbandDeviceServiceNotificationTrigger() : + MobileBroadbandDeviceServiceNotificationTrigger(activate_instance()) +{} + +inline MobileBroadbandPinLockStateChangeTrigger::MobileBroadbandPinLockStateChangeTrigger() : + MobileBroadbandPinLockStateChangeTrigger(activate_instance()) +{} + +inline MobileBroadbandRadioStateChangeTrigger::MobileBroadbandRadioStateChangeTrigger() : + MobileBroadbandRadioStateChangeTrigger(activate_instance()) +{} + +inline MobileBroadbandRegistrationStateChangeTrigger::MobileBroadbandRegistrationStateChangeTrigger() : + MobileBroadbandRegistrationStateChangeTrigger(activate_instance()) +{} + +inline NetworkOperatorHotspotAuthenticationTrigger::NetworkOperatorHotspotAuthenticationTrigger() : + NetworkOperatorHotspotAuthenticationTrigger(activate_instance()) +{} + +inline NetworkOperatorNotificationTrigger::NetworkOperatorNotificationTrigger(hstring_view networkAccountId) : + NetworkOperatorNotificationTrigger(get_activation_factory().Create(networkAccountId)) +{} + +inline PhoneTrigger::PhoneTrigger(Windows::ApplicationModel::Calls::Background::PhoneTriggerType type, bool oneShot) : + PhoneTrigger(get_activation_factory().Create(type, oneShot)) +{} + +inline PushNotificationTrigger::PushNotificationTrigger() : + PushNotificationTrigger(activate_instance()) +{} + +inline PushNotificationTrigger::PushNotificationTrigger(hstring_view applicationId) : + PushNotificationTrigger(get_activation_factory().Create(applicationId)) +{} + +inline RcsEndUserMessageAvailableTrigger::RcsEndUserMessageAvailableTrigger() : + RcsEndUserMessageAvailableTrigger(activate_instance()) +{} + +inline RfcommConnectionTrigger::RfcommConnectionTrigger() : + RfcommConnectionTrigger(activate_instance()) +{} + +inline SecondaryAuthenticationFactorAuthenticationTrigger::SecondaryAuthenticationFactorAuthenticationTrigger() : + SecondaryAuthenticationFactorAuthenticationTrigger(activate_instance()) +{} + +inline SensorDataThresholdTrigger::SensorDataThresholdTrigger(const Windows::Devices::Sensors::ISensorDataThreshold & threshold) : + SensorDataThresholdTrigger(get_activation_factory().Create(threshold)) +{} + +inline SmartCardTrigger::SmartCardTrigger(Windows::Devices::SmartCards::SmartCardTriggerType triggerType) : + SmartCardTrigger(get_activation_factory().Create(triggerType)) +{} + +inline SmsMessageReceivedTrigger::SmsMessageReceivedTrigger(const Windows::Devices::Sms::SmsFilterRules & filterRules) : + SmsMessageReceivedTrigger(get_activation_factory().Create(filterRules)) +{} + +inline SocketActivityTrigger::SocketActivityTrigger() : + SocketActivityTrigger(activate_instance()) +{} + +inline Windows::ApplicationModel::Background::StorageLibraryContentChangedTrigger StorageLibraryContentChangedTrigger::Create(const Windows::Storage::StorageLibrary & storageLibrary) +{ + return get_activation_factory().Create(storageLibrary); +} + +inline Windows::ApplicationModel::Background::StorageLibraryContentChangedTrigger StorageLibraryContentChangedTrigger::CreateFromLibraries(iterable storageLibraries) +{ + return get_activation_factory().CreateFromLibraries(storageLibraries); +} + +inline SystemCondition::SystemCondition(Windows::ApplicationModel::Background::SystemConditionType conditionType) : + SystemCondition(get_activation_factory().Create(conditionType)) +{} + +inline SystemTrigger::SystemTrigger(Windows::ApplicationModel::Background::SystemTriggerType triggerType, bool oneShot) : + SystemTrigger(get_activation_factory().Create(triggerType, oneShot)) +{} + +inline TimeTrigger::TimeTrigger(uint32_t freshnessTime, bool oneShot) : + TimeTrigger(get_activation_factory().Create(freshnessTime, oneShot)) +{} + +inline ToastNotificationActionTrigger::ToastNotificationActionTrigger() : + ToastNotificationActionTrigger(activate_instance()) +{} + +inline ToastNotificationActionTrigger::ToastNotificationActionTrigger(hstring_view applicationId) : + ToastNotificationActionTrigger(get_activation_factory().Create(applicationId)) +{} + +inline ToastNotificationHistoryChangedTrigger::ToastNotificationHistoryChangedTrigger() : + ToastNotificationHistoryChangedTrigger(activate_instance()) +{} + +inline ToastNotificationHistoryChangedTrigger::ToastNotificationHistoryChangedTrigger(hstring_view applicationId) : + ToastNotificationHistoryChangedTrigger(get_activation_factory().Create(applicationId)) +{} + +inline UserNotificationChangedTrigger::UserNotificationChangedTrigger(Windows::UI::Notifications::NotificationKinds notificationKinds) : + UserNotificationChangedTrigger(get_activation_factory().Create(notificationKinds)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IActivitySensorTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IActivitySensorTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IAlarmApplicationManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IAppBroadcastTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IAppBroadcastTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IAppBroadcastTriggerProviderInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IApplicationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IApplicationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IAppointmentStoreNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundCondition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundExecutionManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskBuilder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskBuilder2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskBuilder3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskBuilder4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskInstance4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskProgressEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskRegistration2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskRegistration3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskRegistrationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskRegistrationGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskRegistrationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTaskRegistrationStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBackgroundWorkCostStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBluetoothLEAdvertisementPublisherTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IBluetoothLEAdvertisementWatcherTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ICachedFileUpdaterTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ICachedFileUpdaterTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IChatMessageNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IChatMessageReceivedNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ICommunicationBlockingAppSetAsActiveTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IContactStoreNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IContentPrefetchTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IContentPrefetchTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IDeviceConnectionChangeTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IDeviceConnectionChangeTriggerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IDeviceManufacturerNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IDeviceManufacturerNotificationTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IDeviceServicingTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IDeviceUseTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IDeviceWatcherTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IEmailStoreNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IGattCharacteristicNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IGattCharacteristicNotificationTrigger2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IGattCharacteristicNotificationTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IGattCharacteristicNotificationTriggerFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IGattServiceProviderTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IGattServiceProviderTriggerResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IGattServiceProviderTriggerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ILocationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ILocationTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IMaintenanceTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IMaintenanceTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IMediaProcessingTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::INetworkOperatorHotspotAuthenticationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::INetworkOperatorNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::INetworkOperatorNotificationTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IPhoneTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IPhoneTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IPushNotificationTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IRcsEndUserMessageAvailableTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IRfcommConnectionTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISecondaryAuthenticationFactorAuthenticationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISensorDataThresholdTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISensorDataThresholdTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISmartCardTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISmartCardTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISmsMessageReceivedTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISocketActivityTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IStorageLibraryContentChangedTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IStorageLibraryContentChangedTriggerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISystemCondition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISystemConditionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISystemTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ISystemTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ITimeTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ITimeTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IToastNotificationActionTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IToastNotificationHistoryChangedTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::IUserNotificationChangedTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ActivitySensorTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::AppBroadcastTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::AppBroadcastTriggerProviderInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ApplicationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ApplicationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::AppointmentStoreNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BackgroundTaskBuilder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BackgroundTaskCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BackgroundTaskDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BackgroundTaskProgressEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BackgroundTaskRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BackgroundTaskRegistrationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BluetoothLEAdvertisementPublisherTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::BluetoothLEAdvertisementWatcherTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::CachedFileUpdaterTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::CachedFileUpdaterTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ChatMessageNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ChatMessageReceivedNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::CommunicationBlockingAppSetAsActiveTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ContactStoreNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ContentPrefetchTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::DeviceConnectionChangeTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::DeviceManufacturerNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::DeviceServicingTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::DeviceUseTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::DeviceWatcherTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::EmailStoreNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::GattCharacteristicNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::GattServiceProviderTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::GattServiceProviderTriggerResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::LocationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::MaintenanceTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::MediaProcessingTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::MobileBroadbandDeviceServiceNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::MobileBroadbandPinLockStateChangeTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::MobileBroadbandRadioStateChangeTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::MobileBroadbandRegistrationStateChangeTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::NetworkOperatorHotspotAuthenticationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::NetworkOperatorNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::PhoneTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::PushNotificationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::RcsEndUserMessageAvailableTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::RfcommConnectionTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::SecondaryAuthenticationFactorAuthenticationTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::SensorDataThresholdTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::SmartCardTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::SmsMessageReceivedTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::SocketActivityTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::StorageLibraryContentChangedTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::SystemCondition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::SystemTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::TimeTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ToastNotificationActionTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::ToastNotificationHistoryChangedTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Background::UserNotificationChangedTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.Background.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.Background.h new file mode 100644 index 000000000..43e311a74 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.Background.h @@ -0,0 +1,346 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.Calls.Background.3.h" +#include "Windows.ApplicationModel.Calls.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallBlockedReason(Windows::ApplicationModel::Calls::Background::PhoneCallBlockedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallBlockedReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(GUID * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LineId(GUID * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LineId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChangeType(Windows::ApplicationModel::Calls::Background::PhoneLineChangeKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HasLinePropertyChanged(Windows::ApplicationModel::Calls::Background::PhoneLineProperties lineProperty, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().HasLinePropertyChanged(lineProperty)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LineId(GUID * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LineId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VoicemailCount(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().VoicemailCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OperatorMessage(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().OperatorMessage()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Calls::Background { + +template hstring impl_IPhoneCallBlockedTriggerDetails::PhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallBlockedTriggerDetails)->get_PhoneNumber(put_abi(value))); + return value; +} + +template GUID impl_IPhoneCallBlockedTriggerDetails::LineId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPhoneCallBlockedTriggerDetails)->get_LineId(&value)); + return value; +} + +template Windows::ApplicationModel::Calls::Background::PhoneCallBlockedReason impl_IPhoneCallBlockedTriggerDetails::CallBlockedReason() const +{ + Windows::ApplicationModel::Calls::Background::PhoneCallBlockedReason value {}; + check_hresult(WINRT_SHIM(IPhoneCallBlockedTriggerDetails)->get_CallBlockedReason(&value)); + return value; +} + +template GUID impl_IPhoneCallOriginDataRequestTriggerDetails::RequestId() const +{ + GUID result {}; + check_hresult(WINRT_SHIM(IPhoneCallOriginDataRequestTriggerDetails)->get_RequestId(&result)); + return result; +} + +template hstring impl_IPhoneCallOriginDataRequestTriggerDetails::PhoneNumber() const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneCallOriginDataRequestTriggerDetails)->get_PhoneNumber(put_abi(result))); + return result; +} + +template GUID impl_IPhoneNewVoicemailMessageTriggerDetails::LineId() const +{ + GUID result {}; + check_hresult(WINRT_SHIM(IPhoneNewVoicemailMessageTriggerDetails)->get_LineId(&result)); + return result; +} + +template int32_t impl_IPhoneNewVoicemailMessageTriggerDetails::VoicemailCount() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IPhoneNewVoicemailMessageTriggerDetails)->get_VoicemailCount(&result)); + return result; +} + +template hstring impl_IPhoneNewVoicemailMessageTriggerDetails::OperatorMessage() const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNewVoicemailMessageTriggerDetails)->get_OperatorMessage(put_abi(result))); + return result; +} + +template GUID impl_IPhoneLineChangedTriggerDetails::LineId() const +{ + GUID result {}; + check_hresult(WINRT_SHIM(IPhoneLineChangedTriggerDetails)->get_LineId(&result)); + return result; +} + +template Windows::ApplicationModel::Calls::Background::PhoneLineChangeKind impl_IPhoneLineChangedTriggerDetails::ChangeType() const +{ + Windows::ApplicationModel::Calls::Background::PhoneLineChangeKind result {}; + check_hresult(WINRT_SHIM(IPhoneLineChangedTriggerDetails)->get_ChangeType(&result)); + return result; +} + +template bool impl_IPhoneLineChangedTriggerDetails::HasLinePropertyChanged(Windows::ApplicationModel::Calls::Background::PhoneLineProperties lineProperty) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPhoneLineChangedTriggerDetails)->abi_HasLinePropertyChanged(lineProperty, &result)); + return result; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::IPhoneCallBlockedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::IPhoneCallOriginDataRequestTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::IPhoneLineChangedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::IPhoneNewVoicemailMessageTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::PhoneCallBlockedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::PhoneCallOriginDataRequestTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::PhoneLineChangedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Background::PhoneNewVoicemailMessageTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.Provider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.Provider.h new file mode 100644 index 000000000..9035192d8 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.Provider.h @@ -0,0 +1,410 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Calls.Provider.3.h" +#include "Windows.ApplicationModel.Calls.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Category(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Category()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Category(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Category(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CategoryDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CategoryDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CategoryDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CategoryDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Location(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Location(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayPicture(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayPicture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayPicture(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayPicture(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCurrentAppActiveCallOriginApp(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCurrentAppActiveCallOriginApp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowPhoneCallOriginSettingsUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowPhoneCallOriginSettingsUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetCallOrigin(GUID requestId, impl::abi_arg_in callOrigin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetCallOrigin(requestId, *reinterpret_cast(&callOrigin)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestSetAsActiveCallOriginAppAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestSetAsActiveCallOriginAppAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Calls::Provider { + +template hstring impl_IPhoneCallOrigin::Category() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallOrigin)->get_Category(put_abi(value))); + return value; +} + +template void impl_IPhoneCallOrigin::Category(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallOrigin)->put_Category(get_abi(value))); +} + +template hstring impl_IPhoneCallOrigin::CategoryDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallOrigin)->get_CategoryDescription(put_abi(value))); + return value; +} + +template void impl_IPhoneCallOrigin::CategoryDescription(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallOrigin)->put_CategoryDescription(get_abi(value))); +} + +template hstring impl_IPhoneCallOrigin::Location() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallOrigin)->get_Location(put_abi(value))); + return value; +} + +template void impl_IPhoneCallOrigin::Location(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallOrigin)->put_Location(get_abi(value))); +} + +template hstring impl_IPhoneCallOrigin2::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallOrigin2)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IPhoneCallOrigin2::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallOrigin2)->put_DisplayName(get_abi(value))); +} + +template Windows::Storage::StorageFile impl_IPhoneCallOrigin3::DisplayPicture() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallOrigin3)->get_DisplayPicture(put_abi(value))); + return value; +} + +template void impl_IPhoneCallOrigin3::DisplayPicture(const Windows::Storage::StorageFile & value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallOrigin3)->put_DisplayPicture(get_abi(value))); +} + +template bool impl_IPhoneCallOriginManagerStatics::IsCurrentAppActiveCallOriginApp() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallOriginManagerStatics)->get_IsCurrentAppActiveCallOriginApp(&value)); + return value; +} + +template void impl_IPhoneCallOriginManagerStatics::ShowPhoneCallOriginSettingsUI() const +{ + check_hresult(WINRT_SHIM(IPhoneCallOriginManagerStatics)->abi_ShowPhoneCallOriginSettingsUI()); +} + +template void impl_IPhoneCallOriginManagerStatics::SetCallOrigin(GUID requestId, const Windows::ApplicationModel::Calls::Provider::PhoneCallOrigin & callOrigin) const +{ + check_hresult(WINRT_SHIM(IPhoneCallOriginManagerStatics)->abi_SetCallOrigin(requestId, get_abi(callOrigin))); +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallOriginManagerStatics2::RequestSetAsActiveCallOriginAppAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallOriginManagerStatics2)->abi_RequestSetAsActiveCallOriginAppAsync(put_abi(result))); + return result; +} + +inline PhoneCallOrigin::PhoneCallOrigin() : + PhoneCallOrigin(activate_instance()) +{} + +inline bool PhoneCallOriginManager::IsCurrentAppActiveCallOriginApp() +{ + return get_activation_factory().IsCurrentAppActiveCallOriginApp(); +} + +inline void PhoneCallOriginManager::ShowPhoneCallOriginSettingsUI() +{ + get_activation_factory().ShowPhoneCallOriginSettingsUI(); +} + +inline void PhoneCallOriginManager::SetCallOrigin(GUID requestId, const Windows::ApplicationModel::Calls::Provider::PhoneCallOrigin & callOrigin) +{ + get_activation_factory().SetCallOrigin(requestId, callOrigin); +} + +inline Windows::Foundation::IAsyncOperation PhoneCallOriginManager::RequestSetAsActiveCallOriginAppAsync() +{ + return get_activation_factory().RequestSetAsActiveCallOriginAppAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Provider::IPhoneCallOrigin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Provider::IPhoneCallOrigin2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Provider::IPhoneCallOrigin3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Provider::IPhoneCallOriginManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Provider::IPhoneCallOriginManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::Provider::PhoneCallOrigin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.h new file mode 100644 index 000000000..045e20849 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Calls.h @@ -0,0 +1,4592 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.ApplicationModel.Contacts.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.ApplicationModel.Calls.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AcceptedMedia(Windows::ApplicationModel::Calls::VoipPhoneCallMedia * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceptedMedia()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RejectReason(Windows::ApplicationModel::Calls::VoipPhoneCallRejectReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RejectReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::ApplicationModel::Calls::VoipPhoneCallState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Dismiss() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Dismiss(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EndRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EndRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EndRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CallTitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CallTitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Muted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Muted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BlockUnknownNumbers(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BlockUnknownNumbers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BlockUnknownNumbers(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BlockUnknownNumbers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BlockPrivateNumbers(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BlockPrivateNumbers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BlockPrivateNumbers(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BlockPrivateNumbers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetCallBlockingListAsync(impl::abi_arg_in> phoneNumberList, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetCallBlockingListAsync(*reinterpret_cast *>(&phoneNumberList))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Address(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Address(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCallerIdBlocked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCallerIdBlocked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCallerIdBlocked(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCallerIdBlocked(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEmergency(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEmergency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEmergency(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEmergency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIncoming(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIncoming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsIncoming(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsIncoming(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMissed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMissed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMissed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMissed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRinging(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRinging()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRinging(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRinging(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSeen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSeen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSeen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSeen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSuppressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSuppressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSuppressed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSuppressed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVoicemail(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVoicemail()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVoicemail(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVoicemail(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Media(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryMedia * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Media()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Media(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryMedia value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Media(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppReadAccess(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryOtherAppReadAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppReadAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppReadAccess(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryOtherAppReadAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppReadAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceIdKind(Windows::ApplicationModel::Calls::PhoneCallHistorySourceIdKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceIdKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceIdKind(Windows::ApplicationModel::Calls::PhoneCallHistorySourceIdKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceIdKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContactId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RawAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RawAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawAddressKind(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawAddressKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RawAddressKind(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RawAddressKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in rawAddress, Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind rawAddressKind, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&rawAddress), rawAddressKind)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredMedia(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryQueryDesiredMedia * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredMedia()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredMedia(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryQueryDesiredMedia value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredMedia(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::Calls::PhoneCallHistoryStoreAccessType accessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::Calls::PhoneCallHistoryStoreAccessType accessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetEntryAsync(impl::abi_arg_in callHistoryEntryId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetEntryAsync(*reinterpret_cast(&callHistoryEntryId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEntryReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetEntryReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEntryReaderWithOptions(impl::abi_arg_in queryOptions, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetEntryReader(*reinterpret_cast(&queryOptions))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveEntryAsync(impl::abi_arg_in callHistoryEntry, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveEntryAsync(*reinterpret_cast(&callHistoryEntry))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteEntryAsync(impl::abi_arg_in callHistoryEntry, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteEntryAsync(*reinterpret_cast(&callHistoryEntry))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteEntriesAsync(impl::abi_arg_in> callHistoryEntries, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteEntriesAsync(*reinterpret_cast *>(&callHistoryEntries))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkEntryAsSeenAsync(impl::abi_arg_in callHistoryEntry, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkEntryAsSeenAsync(*reinterpret_cast(&callHistoryEntry))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkEntriesAsSeenAsync(impl::abi_arg_in> callHistoryEntries, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkEntriesAsSeenAsync(*reinterpret_cast *>(&callHistoryEntries))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUnseenCountAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetUnseenCountAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkAllAsSeenAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkAllAsSeenAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSourcesUnseenCountAsync(impl::abi_arg_in> sourceIds, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSourcesUnseenCountAsync(*reinterpret_cast *>(&sourceIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkSourcesAsSeenAsync(impl::abi_arg_in> sourceIds, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkSourcesAsSeenAsync(*reinterpret_cast *>(&sourceIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowPhoneCallUI(impl::abi_arg_in phoneNumber, impl::abi_arg_in displayName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowPhoneCallUI(*reinterpret_cast(&phoneNumber), *reinterpret_cast(&displayName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CallStateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CallStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CallStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CallStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCallActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCallActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCallIncoming(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCallIncoming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowPhoneCallSettingsUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowPhoneCallSettingsUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStoreAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsEmergencyPhoneNumberAsync(impl::abi_arg_in number, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsEmergencyPhoneNumberAsync(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultLineAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultLineAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestLineWatcher(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestLineWatcher()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsVideoCallingCapable(bool * pValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pValue = detach_abi(this->shim().IsVideoCallingCapable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCapabilitiesAsync(impl::abi_arg_in phoneNumber, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCapabilitiesAsync(*reinterpret_cast(&phoneNumber))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Number(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Number()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Number(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Number(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Contact(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Contact(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactPhone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactPhone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContactPhone(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactPhone(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Media(Windows::ApplicationModel::Calls::PhoneCallMedia * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Media()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Media(Windows::ApplicationModel::Calls::PhoneCallMedia value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Media(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioEndpoint(Windows::ApplicationModel::Calls::PhoneAudioRoutingEndpoint * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioEndpoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioEndpoint(Windows::ApplicationModel::Calls::PhoneAudioRoutingEndpoint value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioEndpoint(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_LineChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LineChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LineChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkState(Windows::ApplicationModel::Calls::PhoneNetworkState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Voicemail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Voicemail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CellularDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CellularDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Transport(Windows::ApplicationModel::Calls::PhoneLineTransport * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Transport()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanDial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanDial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsTile(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsTile()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoCallingCapabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoCallingCapabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineConfiguration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineConfiguration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsImmediateDialNumberAsync(impl::abi_arg_in number, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsImmediateDialNumberAsync(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Dial(impl::abi_arg_in number, impl::abi_arg_in displayName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Dial(*reinterpret_cast(&number), *reinterpret_cast(&displayName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DialWithOptions(impl::abi_arg_in options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DialWithOptions(*reinterpret_cast(&options)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SimState(Windows::ApplicationModel::Calls::PhoneSimState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimSlotIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimSlotIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsModemOn(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsModemOn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegistrationRejectCode(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegistrationRejectCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNetworkOperatorDisplayText(Windows::ApplicationModel::Calls::PhoneLineNetworkOperatorDisplayTextLocation location, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNetworkOperatorDisplayText(location)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsVideoCallingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVideoCallingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(GUID lineId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(lineId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LineAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LineAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LineAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LineRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LineRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LineRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LineUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LineUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LineUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::Calls::PhoneLineWatcherStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LineId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Number(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Number()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::ApplicationModel::Calls::PhoneVoicemailType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DialVoicemailAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DialVoicemailAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReserveCallResourcesAsync(impl::abi_arg_in taskEntryPoint, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReserveCallResourcesAsync(*reinterpret_cast(&taskEntryPoint))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MuteStateChanged(impl::abi_arg_in> muteChangeHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MuteStateChanged(*reinterpret_cast *>(&muteChangeHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MuteStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MuteStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestNewIncomingCall(impl::abi_arg_in context, impl::abi_arg_in contactName, impl::abi_arg_in contactNumber, impl::abi_arg_in contactImage, impl::abi_arg_in serviceName, impl::abi_arg_in brandingImage, impl::abi_arg_in callDetails, impl::abi_arg_in ringtone, Windows::ApplicationModel::Calls::VoipPhoneCallMedia media, impl::abi_arg_in ringTimeout, impl::abi_arg_out call) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *call = detach_abi(this->shim().RequestNewIncomingCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&contactNumber), *reinterpret_cast(&contactImage), *reinterpret_cast(&serviceName), *reinterpret_cast(&brandingImage), *reinterpret_cast(&callDetails), *reinterpret_cast(&ringtone), media, *reinterpret_cast(&ringTimeout))); + return S_OK; + } + catch (...) + { + *call = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestNewOutgoingCall(impl::abi_arg_in context, impl::abi_arg_in contactName, impl::abi_arg_in serviceName, Windows::ApplicationModel::Calls::VoipPhoneCallMedia media, impl::abi_arg_out call) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *call = detach_abi(this->shim().RequestNewOutgoingCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&serviceName), media)); + return S_OK; + } + catch (...) + { + *call = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyMuted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyMuted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyUnmuted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyUnmuted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestOutgoingUpgradeToVideoCall(GUID callUpgradeGuid, impl::abi_arg_in context, impl::abi_arg_in contactName, impl::abi_arg_in serviceName, impl::abi_arg_out call) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *call = detach_abi(this->shim().RequestOutgoingUpgradeToVideoCall(callUpgradeGuid, *reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&serviceName))); + return S_OK; + } + catch (...) + { + *call = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestIncomingUpgradeToVideoCall(impl::abi_arg_in context, impl::abi_arg_in contactName, impl::abi_arg_in contactNumber, impl::abi_arg_in contactImage, impl::abi_arg_in serviceName, impl::abi_arg_in brandingImage, impl::abi_arg_in callDetails, impl::abi_arg_in ringtone, impl::abi_arg_in ringTimeout, impl::abi_arg_out call) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *call = detach_abi(this->shim().RequestIncomingUpgradeToVideoCall(*reinterpret_cast(&context), *reinterpret_cast(&contactName), *reinterpret_cast(&contactNumber), *reinterpret_cast(&contactImage), *reinterpret_cast(&serviceName), *reinterpret_cast(&brandingImage), *reinterpret_cast(&callDetails), *reinterpret_cast(&ringtone), *reinterpret_cast(&ringTimeout))); + return S_OK; + } + catch (...) + { + *call = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TerminateCellularCall(GUID callUpgradeGuid) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TerminateCellularCall(callUpgradeGuid); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CancelUpgrade(GUID callUpgradeGuid) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelUpgrade(callUpgradeGuid); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out coordinator) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *coordinator = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *coordinator = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_EndRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EndRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EndRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HoldRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HoldRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HoldRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HoldRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ResumeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ResumeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ResumeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResumeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AnswerRequested(impl::abi_arg_in> acceptHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AnswerRequested(*reinterpret_cast *>(&acceptHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AnswerRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AnswerRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RejectRequested(impl::abi_arg_in> rejectHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RejectRequested(*reinterpret_cast *>(&rejectHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RejectRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RejectRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyCallHeld() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyCallHeld(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyCallActive() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyCallActive(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyCallEnded() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyCallEnded(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContactName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallMedia(Windows::ApplicationModel::Calls::VoipPhoneCallMedia * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallMedia()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CallMedia(Windows::ApplicationModel::Calls::VoipPhoneCallMedia value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CallMedia(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyCallReady() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyCallReady(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Calls { + +template Windows::ApplicationModel::Calls::VoipPhoneCallState impl_ICallStateChangeEventArgs::State() const +{ + Windows::ApplicationModel::Calls::VoipPhoneCallState value {}; + check_hresult(WINRT_SHIM(ICallStateChangeEventArgs)->get_State(&value)); + return value; +} + +template Windows::ApplicationModel::Calls::VoipPhoneCallMedia impl_ICallAnswerEventArgs::AcceptedMedia() const +{ + Windows::ApplicationModel::Calls::VoipPhoneCallMedia value {}; + check_hresult(WINRT_SHIM(ICallAnswerEventArgs)->get_AcceptedMedia(&value)); + return value; +} + +template Windows::ApplicationModel::Calls::VoipPhoneCallRejectReason impl_ICallRejectEventArgs::RejectReason() const +{ + Windows::ApplicationModel::Calls::VoipPhoneCallRejectReason value {}; + check_hresult(WINRT_SHIM(ICallRejectEventArgs)->get_RejectReason(&value)); + return value; +} + +template event_token impl_IVoipPhoneCall::EndRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->add_EndRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVoipPhoneCall::EndRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IVoipPhoneCall::remove_EndRequested, EndRequested(handler)); +} + +template void impl_IVoipPhoneCall::EndRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->remove_EndRequested(token)); +} + +template event_token impl_IVoipPhoneCall::HoldRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->add_HoldRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVoipPhoneCall::HoldRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IVoipPhoneCall::remove_HoldRequested, HoldRequested(handler)); +} + +template void impl_IVoipPhoneCall::HoldRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->remove_HoldRequested(token)); +} + +template event_token impl_IVoipPhoneCall::ResumeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->add_ResumeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVoipPhoneCall::ResumeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IVoipPhoneCall::remove_ResumeRequested, ResumeRequested(handler)); +} + +template void impl_IVoipPhoneCall::ResumeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->remove_ResumeRequested(token)); +} + +template event_token impl_IVoipPhoneCall::AnswerRequested(const Windows::Foundation::TypedEventHandler & acceptHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->add_AnswerRequested(get_abi(acceptHandler), &token)); + return token; +} + +template event_revoker impl_IVoipPhoneCall::AnswerRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & acceptHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IVoipPhoneCall::remove_AnswerRequested, AnswerRequested(acceptHandler)); +} + +template void impl_IVoipPhoneCall::AnswerRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->remove_AnswerRequested(token)); +} + +template event_token impl_IVoipPhoneCall::RejectRequested(const Windows::Foundation::TypedEventHandler & rejectHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->add_RejectRequested(get_abi(rejectHandler), &token)); + return token; +} + +template event_revoker impl_IVoipPhoneCall::RejectRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & rejectHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IVoipPhoneCall::remove_RejectRequested, RejectRequested(rejectHandler)); +} + +template void impl_IVoipPhoneCall::RejectRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->remove_RejectRequested(token)); +} + +template void impl_IVoipPhoneCall::NotifyCallHeld() const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->abi_NotifyCallHeld()); +} + +template void impl_IVoipPhoneCall::NotifyCallActive() const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->abi_NotifyCallActive()); +} + +template void impl_IVoipPhoneCall::NotifyCallEnded() const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->abi_NotifyCallEnded()); +} + +template hstring impl_IVoipPhoneCall::ContactName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->get_ContactName(put_abi(value))); + return value; +} + +template void impl_IVoipPhoneCall::ContactName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->put_ContactName(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_IVoipPhoneCall::StartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_IVoipPhoneCall::StartTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->put_StartTime(get_abi(value))); +} + +template Windows::ApplicationModel::Calls::VoipPhoneCallMedia impl_IVoipPhoneCall::CallMedia() const +{ + Windows::ApplicationModel::Calls::VoipPhoneCallMedia value {}; + check_hresult(WINRT_SHIM(IVoipPhoneCall)->get_CallMedia(&value)); + return value; +} + +template void impl_IVoipPhoneCall::CallMedia(Windows::ApplicationModel::Calls::VoipPhoneCallMedia value) const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->put_CallMedia(value)); +} + +template void impl_IVoipPhoneCall::NotifyCallReady() const +{ + check_hresult(WINRT_SHIM(IVoipPhoneCall)->abi_NotifyCallReady()); +} + +template bool impl_IMuteChangeEventArgs::Muted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMuteChangeEventArgs)->get_Muted(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IVoipCallCoordinator::ReserveCallResourcesAsync(hstring_view taskEntryPoint) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_ReserveCallResourcesAsync(get_abi(taskEntryPoint), put_abi(operation))); + return operation; +} + +template event_token impl_IVoipCallCoordinator::MuteStateChanged(const Windows::Foundation::TypedEventHandler & muteChangeHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->add_MuteStateChanged(get_abi(muteChangeHandler), &token)); + return token; +} + +template event_revoker impl_IVoipCallCoordinator::MuteStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & muteChangeHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IVoipCallCoordinator::remove_MuteStateChanged, MuteStateChanged(muteChangeHandler)); +} + +template void impl_IVoipCallCoordinator::MuteStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->remove_MuteStateChanged(token)); +} + +template Windows::ApplicationModel::Calls::VoipPhoneCall impl_IVoipCallCoordinator::RequestNewIncomingCall(hstring_view context, hstring_view contactName, hstring_view contactNumber, const Windows::Foundation::Uri & contactImage, hstring_view serviceName, const Windows::Foundation::Uri & brandingImage, hstring_view callDetails, const Windows::Foundation::Uri & ringtone, Windows::ApplicationModel::Calls::VoipPhoneCallMedia media, const Windows::Foundation::TimeSpan & ringTimeout) const +{ + Windows::ApplicationModel::Calls::VoipPhoneCall call { nullptr }; + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_RequestNewIncomingCall(get_abi(context), get_abi(contactName), get_abi(contactNumber), get_abi(contactImage), get_abi(serviceName), get_abi(brandingImage), get_abi(callDetails), get_abi(ringtone), media, get_abi(ringTimeout), put_abi(call))); + return call; +} + +template Windows::ApplicationModel::Calls::VoipPhoneCall impl_IVoipCallCoordinator::RequestNewOutgoingCall(hstring_view context, hstring_view contactName, hstring_view serviceName, Windows::ApplicationModel::Calls::VoipPhoneCallMedia media) const +{ + Windows::ApplicationModel::Calls::VoipPhoneCall call { nullptr }; + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_RequestNewOutgoingCall(get_abi(context), get_abi(contactName), get_abi(serviceName), media, put_abi(call))); + return call; +} + +template void impl_IVoipCallCoordinator::NotifyMuted() const +{ + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_NotifyMuted()); +} + +template void impl_IVoipCallCoordinator::NotifyUnmuted() const +{ + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_NotifyUnmuted()); +} + +template Windows::ApplicationModel::Calls::VoipPhoneCall impl_IVoipCallCoordinator::RequestOutgoingUpgradeToVideoCall(GUID callUpgradeGuid, hstring_view context, hstring_view contactName, hstring_view serviceName) const +{ + Windows::ApplicationModel::Calls::VoipPhoneCall call { nullptr }; + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_RequestOutgoingUpgradeToVideoCall(callUpgradeGuid, get_abi(context), get_abi(contactName), get_abi(serviceName), put_abi(call))); + return call; +} + +template Windows::ApplicationModel::Calls::VoipPhoneCall impl_IVoipCallCoordinator::RequestIncomingUpgradeToVideoCall(hstring_view context, hstring_view contactName, hstring_view contactNumber, const Windows::Foundation::Uri & contactImage, hstring_view serviceName, const Windows::Foundation::Uri & brandingImage, hstring_view callDetails, const Windows::Foundation::Uri & ringtone, const Windows::Foundation::TimeSpan & ringTimeout) const +{ + Windows::ApplicationModel::Calls::VoipPhoneCall call { nullptr }; + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_RequestIncomingUpgradeToVideoCall(get_abi(context), get_abi(contactName), get_abi(contactNumber), get_abi(contactImage), get_abi(serviceName), get_abi(brandingImage), get_abi(callDetails), get_abi(ringtone), get_abi(ringTimeout), put_abi(call))); + return call; +} + +template void impl_IVoipCallCoordinator::TerminateCellularCall(GUID callUpgradeGuid) const +{ + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_TerminateCellularCall(callUpgradeGuid)); +} + +template void impl_IVoipCallCoordinator::CancelUpgrade(GUID callUpgradeGuid) const +{ + check_hresult(WINRT_SHIM(IVoipCallCoordinator)->abi_CancelUpgrade(callUpgradeGuid)); +} + +template Windows::ApplicationModel::Calls::VoipCallCoordinator impl_IVoipCallCoordinatorStatics::GetDefault() const +{ + Windows::ApplicationModel::Calls::VoipCallCoordinator coordinator { nullptr }; + check_hresult(WINRT_SHIM(IVoipCallCoordinatorStatics)->abi_GetDefault(put_abi(coordinator))); + return coordinator; +} + +template hstring impl_IPhoneCallHistoryEntry::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_Id(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryAddress impl_IPhoneCallHistoryEntry::Address() const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryAddress value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_Address(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntry::Address(const Windows::ApplicationModel::Calls::PhoneCallHistoryEntryAddress & value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_Address(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IPhoneCallHistoryEntry::Duration() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntry::Duration(const optional & value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_Duration(get_abi(value))); +} + +template bool impl_IPhoneCallHistoryEntry::IsCallerIdBlocked() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsCallerIdBlocked(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsCallerIdBlocked(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsCallerIdBlocked(value)); +} + +template bool impl_IPhoneCallHistoryEntry::IsEmergency() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsEmergency(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsEmergency(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsEmergency(value)); +} + +template bool impl_IPhoneCallHistoryEntry::IsIncoming() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsIncoming(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsIncoming(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsIncoming(value)); +} + +template bool impl_IPhoneCallHistoryEntry::IsMissed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsMissed(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsMissed(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsMissed(value)); +} + +template bool impl_IPhoneCallHistoryEntry::IsRinging() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsRinging(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsRinging(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsRinging(value)); +} + +template bool impl_IPhoneCallHistoryEntry::IsSeen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsSeen(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsSeen(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsSeen(value)); +} + +template bool impl_IPhoneCallHistoryEntry::IsSuppressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsSuppressed(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsSuppressed(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsSuppressed(value)); +} + +template bool impl_IPhoneCallHistoryEntry::IsVoicemail() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_IsVoicemail(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::IsVoicemail(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_IsVoicemail(value)); +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryMedia impl_IPhoneCallHistoryEntry::Media() const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryMedia value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_Media(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::Media(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryMedia value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_Media(value)); +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryOtherAppReadAccess impl_IPhoneCallHistoryEntry::OtherAppReadAccess() const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryOtherAppReadAccess value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_OtherAppReadAccess(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::OtherAppReadAccess(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryOtherAppReadAccess value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_OtherAppReadAccess(value)); +} + +template hstring impl_IPhoneCallHistoryEntry::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntry::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_RemoteId(get_abi(value))); +} + +template hstring impl_IPhoneCallHistoryEntry::SourceDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_SourceDisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPhoneCallHistoryEntry::SourceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_SourceId(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntry::SourceId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_SourceId(get_abi(value))); +} + +template Windows::ApplicationModel::Calls::PhoneCallHistorySourceIdKind impl_IPhoneCallHistoryEntry::SourceIdKind() const +{ + Windows::ApplicationModel::Calls::PhoneCallHistorySourceIdKind value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_SourceIdKind(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntry::SourceIdKind(Windows::ApplicationModel::Calls::PhoneCallHistorySourceIdKind value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_SourceIdKind(value)); +} + +template Windows::Foundation::DateTime impl_IPhoneCallHistoryEntry::StartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntry::StartTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntry)->put_StartTime(get_abi(value))); +} + +template hstring impl_IPhoneCallHistoryEntryAddress::ContactId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->get_ContactId(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntryAddress::ContactId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->put_ContactId(get_abi(value))); +} + +template hstring impl_IPhoneCallHistoryEntryAddress::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntryAddress::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IPhoneCallHistoryEntryAddress::RawAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->get_RawAddress(put_abi(value))); + return value; +} + +template void impl_IPhoneCallHistoryEntryAddress::RawAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->put_RawAddress(get_abi(value))); +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind impl_IPhoneCallHistoryEntryAddress::RawAddressKind() const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->get_RawAddressKind(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntryAddress::RawAddressKind(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddress)->put_RawAddressKind(value)); +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryAddress impl_IPhoneCallHistoryEntryAddressFactory::Create(hstring_view rawAddress, Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind rawAddressKind) const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryAddress result { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryAddressFactory)->abi_Create(get_abi(rawAddress), rawAddressKind, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryQueryDesiredMedia impl_IPhoneCallHistoryEntryQueryOptions::DesiredMedia() const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryQueryDesiredMedia value {}; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryQueryOptions)->get_DesiredMedia(&value)); + return value; +} + +template void impl_IPhoneCallHistoryEntryQueryOptions::DesiredMedia(Windows::ApplicationModel::Calls::PhoneCallHistoryEntryQueryDesiredMedia value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryQueryOptions)->put_DesiredMedia(value)); +} + +template Windows::Foundation::Collections::IVector impl_IPhoneCallHistoryEntryQueryOptions::SourceIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryQueryOptions)->get_SourceIds(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IPhoneCallHistoryEntryReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryEntryReader)->abi_ReadBatchAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallHistoryStore::GetEntryAsync(hstring_view callHistoryEntryId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_GetEntryAsync(get_abi(callHistoryEntryId), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryReader impl_IPhoneCallHistoryStore::GetEntryReader() const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryReader result { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_GetEntryReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryEntryReader impl_IPhoneCallHistoryStore::GetEntryReader(const Windows::ApplicationModel::Calls::PhoneCallHistoryEntryQueryOptions & queryOptions) const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryEntryReader result { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_GetEntryReaderWithOptions(get_abi(queryOptions), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneCallHistoryStore::SaveEntryAsync(const Windows::ApplicationModel::Calls::PhoneCallHistoryEntry & callHistoryEntry) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_SaveEntryAsync(get_abi(callHistoryEntry), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneCallHistoryStore::DeleteEntryAsync(const Windows::ApplicationModel::Calls::PhoneCallHistoryEntry & callHistoryEntry) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_DeleteEntryAsync(get_abi(callHistoryEntry), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneCallHistoryStore::DeleteEntriesAsync(iterable callHistoryEntries) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_DeleteEntriesAsync(get_abi(callHistoryEntries), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneCallHistoryStore::MarkEntryAsSeenAsync(const Windows::ApplicationModel::Calls::PhoneCallHistoryEntry & callHistoryEntry) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_MarkEntryAsSeenAsync(get_abi(callHistoryEntry), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneCallHistoryStore::MarkEntriesAsSeenAsync(iterable callHistoryEntries) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_MarkEntriesAsSeenAsync(get_abi(callHistoryEntries), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallHistoryStore::GetUnseenCountAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_GetUnseenCountAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneCallHistoryStore::MarkAllAsSeenAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_MarkAllAsSeenAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallHistoryStore::GetSourcesUnseenCountAsync(iterable sourceIds) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_GetSourcesUnseenCountAsync(get_abi(sourceIds), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneCallHistoryStore::MarkSourcesAsSeenAsync(iterable sourceIds) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryStore)->abi_MarkSourcesAsSeenAsync(get_abi(sourceIds), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallHistoryManagerStatics::RequestStoreAsync(Windows::ApplicationModel::Calls::PhoneCallHistoryStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryManagerStatics)->abi_RequestStoreAsync(accessType, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Calls::PhoneCallHistoryManagerForUser impl_IPhoneCallHistoryManagerStatics2::GetForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::Calls::PhoneCallHistoryManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallHistoryManagerStatics2)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallHistoryManagerForUser::RequestStoreAsync(Windows::ApplicationModel::Calls::PhoneCallHistoryStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallHistoryManagerForUser)->abi_RequestStoreAsync(accessType, put_abi(result))); + return result; +} + +template Windows::System::User impl_IPhoneCallHistoryManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallHistoryManagerForUser)->get_User(put_abi(value))); + return value; +} + +template hstring impl_IPhoneVoicemail::Number() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneVoicemail)->get_Number(put_abi(value))); + return value; +} + +template int32_t impl_IPhoneVoicemail::MessageCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPhoneVoicemail)->get_MessageCount(&value)); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneVoicemailType impl_IPhoneVoicemail::Type() const +{ + Windows::ApplicationModel::Calls::PhoneVoicemailType value {}; + check_hresult(WINRT_SHIM(IPhoneVoicemail)->get_Type(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IPhoneVoicemail::DialVoicemailAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPhoneVoicemail)->abi_DialVoicemailAsync(put_abi(result))); + return result; +} + +template hstring impl_IPhoneDialOptions::Number() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneDialOptions)->get_Number(put_abi(value))); + return value; +} + +template void impl_IPhoneDialOptions::Number(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneDialOptions)->put_Number(get_abi(value))); +} + +template hstring impl_IPhoneDialOptions::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneDialOptions)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IPhoneDialOptions::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhoneDialOptions)->put_DisplayName(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::Contact impl_IPhoneDialOptions::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneDialOptions)->get_Contact(put_abi(value))); + return value; +} + +template void impl_IPhoneDialOptions::Contact(const Windows::ApplicationModel::Contacts::Contact & value) const +{ + check_hresult(WINRT_SHIM(IPhoneDialOptions)->put_Contact(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactPhone impl_IPhoneDialOptions::ContactPhone() const +{ + Windows::ApplicationModel::Contacts::ContactPhone value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneDialOptions)->get_ContactPhone(put_abi(value))); + return value; +} + +template void impl_IPhoneDialOptions::ContactPhone(const Windows::ApplicationModel::Contacts::ContactPhone & value) const +{ + check_hresult(WINRT_SHIM(IPhoneDialOptions)->put_ContactPhone(get_abi(value))); +} + +template Windows::ApplicationModel::Calls::PhoneCallMedia impl_IPhoneDialOptions::Media() const +{ + Windows::ApplicationModel::Calls::PhoneCallMedia value {}; + check_hresult(WINRT_SHIM(IPhoneDialOptions)->get_Media(&value)); + return value; +} + +template void impl_IPhoneDialOptions::Media(Windows::ApplicationModel::Calls::PhoneCallMedia value) const +{ + check_hresult(WINRT_SHIM(IPhoneDialOptions)->put_Media(value)); +} + +template Windows::ApplicationModel::Calls::PhoneAudioRoutingEndpoint impl_IPhoneDialOptions::AudioEndpoint() const +{ + Windows::ApplicationModel::Calls::PhoneAudioRoutingEndpoint value {}; + check_hresult(WINRT_SHIM(IPhoneDialOptions)->get_AudioEndpoint(&value)); + return value; +} + +template void impl_IPhoneDialOptions::AudioEndpoint(Windows::ApplicationModel::Calls::PhoneAudioRoutingEndpoint value) const +{ + check_hresult(WINRT_SHIM(IPhoneDialOptions)->put_AudioEndpoint(value)); +} + +template Windows::ApplicationModel::Calls::PhoneSimState impl_IPhoneLineCellularDetails::SimState() const +{ + Windows::ApplicationModel::Calls::PhoneSimState value {}; + check_hresult(WINRT_SHIM(IPhoneLineCellularDetails)->get_SimState(&value)); + return value; +} + +template int32_t impl_IPhoneLineCellularDetails::SimSlotIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPhoneLineCellularDetails)->get_SimSlotIndex(&value)); + return value; +} + +template bool impl_IPhoneLineCellularDetails::IsModemOn() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneLineCellularDetails)->get_IsModemOn(&value)); + return value; +} + +template int32_t impl_IPhoneLineCellularDetails::RegistrationRejectCode() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPhoneLineCellularDetails)->get_RegistrationRejectCode(&value)); + return value; +} + +template hstring impl_IPhoneLineCellularDetails::GetNetworkOperatorDisplayText(Windows::ApplicationModel::Calls::PhoneLineNetworkOperatorDisplayTextLocation location) const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneLineCellularDetails)->abi_GetNetworkOperatorDisplayText(location, put_abi(value))); + return value; +} + +template event_token impl_IPhoneLine::LineChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhoneLine)->add_LineChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPhoneLine::LineChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IPhoneLine::remove_LineChanged, LineChanged(handler)); +} + +template void impl_IPhoneLine::LineChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhoneLine)->remove_LineChanged(token)); +} + +template GUID impl_IPhoneLine::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPhoneLine)->get_Id(&value)); + return value; +} + +template Windows::UI::Color impl_IPhoneLine::DisplayColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IPhoneLine)->get_DisplayColor(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneNetworkState impl_IPhoneLine::NetworkState() const +{ + Windows::ApplicationModel::Calls::PhoneNetworkState value {}; + check_hresult(WINRT_SHIM(IPhoneLine)->get_NetworkState(&value)); + return value; +} + +template hstring impl_IPhoneLine::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneLine)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneVoicemail impl_IPhoneLine::Voicemail() const +{ + Windows::ApplicationModel::Calls::PhoneVoicemail value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneLine)->get_Voicemail(put_abi(value))); + return value; +} + +template hstring impl_IPhoneLine::NetworkName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneLine)->get_NetworkName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneLineCellularDetails impl_IPhoneLine::CellularDetails() const +{ + Windows::ApplicationModel::Calls::PhoneLineCellularDetails value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneLine)->get_CellularDetails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneLineTransport impl_IPhoneLine::Transport() const +{ + Windows::ApplicationModel::Calls::PhoneLineTransport value {}; + check_hresult(WINRT_SHIM(IPhoneLine)->get_Transport(&value)); + return value; +} + +template bool impl_IPhoneLine::CanDial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneLine)->get_CanDial(&value)); + return value; +} + +template bool impl_IPhoneLine::SupportsTile() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneLine)->get_SupportsTile(&value)); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneCallVideoCapabilities impl_IPhoneLine::VideoCallingCapabilities() const +{ + Windows::ApplicationModel::Calls::PhoneCallVideoCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneLine)->get_VideoCallingCapabilities(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Calls::PhoneLineConfiguration impl_IPhoneLine::LineConfiguration() const +{ + Windows::ApplicationModel::Calls::PhoneLineConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneLine)->get_LineConfiguration(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneLine::IsImmediateDialNumberAsync(hstring_view number) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneLine)->abi_IsImmediateDialNumberAsync(get_abi(number), put_abi(result))); + return result; +} + +template void impl_IPhoneLine::Dial(hstring_view number, hstring_view displayName) const +{ + check_hresult(WINRT_SHIM(IPhoneLine)->abi_Dial(get_abi(number), get_abi(displayName))); +} + +template void impl_IPhoneLine::DialWithOptions(const Windows::ApplicationModel::Calls::PhoneDialOptions & options) const +{ + check_hresult(WINRT_SHIM(IPhoneLine)->abi_DialWithOptions(get_abi(options))); +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallStore::IsEmergencyPhoneNumberAsync(hstring_view number) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallStore)->abi_IsEmergencyPhoneNumberAsync(get_abi(number), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallStore::GetDefaultLineAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallStore)->abi_GetDefaultLineAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Calls::PhoneLineWatcher impl_IPhoneCallStore::RequestLineWatcher() const +{ + Windows::ApplicationModel::Calls::PhoneLineWatcher result { nullptr }; + check_hresult(WINRT_SHIM(IPhoneCallStore)->abi_RequestLineWatcher(put_abi(result))); + return result; +} + +template bool impl_IPhoneLineConfiguration::IsVideoCallingEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneLineConfiguration)->get_IsVideoCallingEnabled(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IPhoneLineConfiguration::ExtendedProperties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPhoneLineConfiguration)->get_ExtendedProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneLineStatics::FromIdAsync(GUID lineId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneLineStatics)->abi_FromIdAsync(lineId, put_abi(result))); + return result; +} + +template void impl_IPhoneLineWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->abi_Start()); +} + +template void impl_IPhoneLineWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->abi_Stop()); +} + +template event_token impl_IPhoneLineWatcher::LineAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->add_LineAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPhoneLineWatcher::LineAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IPhoneLineWatcher::remove_LineAdded, LineAdded(handler)); +} + +template void impl_IPhoneLineWatcher::LineAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->remove_LineAdded(token)); +} + +template event_token impl_IPhoneLineWatcher::LineRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->add_LineRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPhoneLineWatcher::LineRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IPhoneLineWatcher::remove_LineRemoved, LineRemoved(handler)); +} + +template void impl_IPhoneLineWatcher::LineRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->remove_LineRemoved(token)); +} + +template event_token impl_IPhoneLineWatcher::LineUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->add_LineUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPhoneLineWatcher::LineUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IPhoneLineWatcher::remove_LineUpdated, LineUpdated(handler)); +} + +template void impl_IPhoneLineWatcher::LineUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->remove_LineUpdated(token)); +} + +template event_token impl_IPhoneLineWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPhoneLineWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IPhoneLineWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IPhoneLineWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->remove_EnumerationCompleted(token)); +} + +template event_token impl_IPhoneLineWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPhoneLineWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IPhoneLineWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IPhoneLineWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->remove_Stopped(token)); +} + +template Windows::ApplicationModel::Calls::PhoneLineWatcherStatus impl_IPhoneLineWatcher::Status() const +{ + Windows::ApplicationModel::Calls::PhoneLineWatcherStatus status {}; + check_hresult(WINRT_SHIM(IPhoneLineWatcher)->get_Status(&status)); + return status; +} + +template GUID impl_IPhoneLineWatcherEventArgs::LineId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPhoneLineWatcherEventArgs)->get_LineId(&value)); + return value; +} + +template void impl_IPhoneCallManagerStatics::ShowPhoneCallUI(hstring_view phoneNumber, hstring_view displayName) const +{ + check_hresult(WINRT_SHIM(IPhoneCallManagerStatics)->abi_ShowPhoneCallUI(get_abi(phoneNumber), get_abi(displayName))); +} + +template event_token impl_IPhoneCallManagerStatics2::CallStateChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhoneCallManagerStatics2)->add_CallStateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPhoneCallManagerStatics2::CallStateChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::IPhoneCallManagerStatics2::remove_CallStateChanged, CallStateChanged(handler)); +} + +template void impl_IPhoneCallManagerStatics2::CallStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhoneCallManagerStatics2)->remove_CallStateChanged(token)); +} + +template bool impl_IPhoneCallManagerStatics2::IsCallActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallManagerStatics2)->get_IsCallActive(&value)); + return value; +} + +template bool impl_IPhoneCallManagerStatics2::IsCallIncoming() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallManagerStatics2)->get_IsCallIncoming(&value)); + return value; +} + +template void impl_IPhoneCallManagerStatics2::ShowPhoneCallSettingsUI() const +{ + check_hresult(WINRT_SHIM(IPhoneCallManagerStatics2)->abi_ShowPhoneCallSettingsUI()); +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallManagerStatics2::RequestStoreAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallManagerStatics2)->abi_RequestStoreAsync(put_abi(result))); + return result; +} + +template bool impl_IPhoneCallVideoCapabilities::IsVideoCallingCapable() const +{ + bool pValue {}; + check_hresult(WINRT_SHIM(IPhoneCallVideoCapabilities)->get_IsVideoCallingCapable(&pValue)); + return pValue; +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallVideoCapabilitiesManagerStatics::GetCapabilitiesAsync(hstring_view phoneNumber) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallVideoCapabilitiesManagerStatics)->abi_GetCapabilitiesAsync(get_abi(phoneNumber), put_abi(result))); + return result; +} + +template bool impl_IPhoneCallBlockingStatics::BlockUnknownNumbers() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallBlockingStatics)->get_BlockUnknownNumbers(&value)); + return value; +} + +template void impl_IPhoneCallBlockingStatics::BlockUnknownNumbers(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallBlockingStatics)->put_BlockUnknownNumbers(value)); +} + +template bool impl_IPhoneCallBlockingStatics::BlockPrivateNumbers() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneCallBlockingStatics)->get_BlockPrivateNumbers(&value)); + return value; +} + +template void impl_IPhoneCallBlockingStatics::BlockPrivateNumbers(bool value) const +{ + check_hresult(WINRT_SHIM(IPhoneCallBlockingStatics)->put_BlockPrivateNumbers(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IPhoneCallBlockingStatics::SetCallBlockingListAsync(iterable phoneNumberList) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPhoneCallBlockingStatics)->abi_SetCallBlockingListAsync(get_abi(phoneNumberList), put_abi(result))); + return result; +} + +template void impl_ILockScreenCallEndCallDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ILockScreenCallEndCallDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::Calls::LockScreenCallEndCallDeferral impl_ILockScreenCallEndRequestedEventArgs::GetDeferral() const +{ + Windows::ApplicationModel::Calls::LockScreenCallEndCallDeferral value { nullptr }; + check_hresult(WINRT_SHIM(ILockScreenCallEndRequestedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ILockScreenCallEndRequestedEventArgs::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ILockScreenCallEndRequestedEventArgs)->get_Deadline(put_abi(value))); + return value; +} + +template void impl_ILockScreenCallUI::Dismiss() const +{ + check_hresult(WINRT_SHIM(ILockScreenCallUI)->abi_Dismiss()); +} + +template event_token impl_ILockScreenCallUI::EndRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILockScreenCallUI)->add_EndRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILockScreenCallUI::EndRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::ILockScreenCallUI::remove_EndRequested, EndRequested(handler)); +} + +template void impl_ILockScreenCallUI::EndRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ILockScreenCallUI)->remove_EndRequested(token)); +} + +template event_token impl_ILockScreenCallUI::Closed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILockScreenCallUI)->add_Closed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILockScreenCallUI::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Calls::ILockScreenCallUI::remove_Closed, Closed(handler)); +} + +template void impl_ILockScreenCallUI::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(ILockScreenCallUI)->remove_Closed(token)); +} + +template hstring impl_ILockScreenCallUI::CallTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILockScreenCallUI)->get_CallTitle(put_abi(value))); + return value; +} + +template void impl_ILockScreenCallUI::CallTitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILockScreenCallUI)->put_CallTitle(get_abi(value))); +} + +inline bool PhoneCallBlocking::BlockUnknownNumbers() +{ + return get_activation_factory().BlockUnknownNumbers(); +} + +inline void PhoneCallBlocking::BlockUnknownNumbers(bool value) +{ + get_activation_factory().BlockUnknownNumbers(value); +} + +inline bool PhoneCallBlocking::BlockPrivateNumbers() +{ + return get_activation_factory().BlockPrivateNumbers(); +} + +inline void PhoneCallBlocking::BlockPrivateNumbers(bool value) +{ + get_activation_factory().BlockPrivateNumbers(value); +} + +inline Windows::Foundation::IAsyncOperation PhoneCallBlocking::SetCallBlockingListAsync(iterable phoneNumberList) +{ + return get_activation_factory().SetCallBlockingListAsync(phoneNumberList); +} + +inline PhoneCallHistoryEntry::PhoneCallHistoryEntry() : + PhoneCallHistoryEntry(activate_instance()) +{} + +inline PhoneCallHistoryEntryAddress::PhoneCallHistoryEntryAddress() : + PhoneCallHistoryEntryAddress(activate_instance()) +{} + +inline PhoneCallHistoryEntryAddress::PhoneCallHistoryEntryAddress(hstring_view rawAddress, Windows::ApplicationModel::Calls::PhoneCallHistoryEntryRawAddressKind rawAddressKind) : + PhoneCallHistoryEntryAddress(get_activation_factory().Create(rawAddress, rawAddressKind)) +{} + +inline PhoneCallHistoryEntryQueryOptions::PhoneCallHistoryEntryQueryOptions() : + PhoneCallHistoryEntryQueryOptions(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation PhoneCallHistoryManager::RequestStoreAsync(Windows::ApplicationModel::Calls::PhoneCallHistoryStoreAccessType accessType) +{ + return get_activation_factory().RequestStoreAsync(accessType); +} + +inline Windows::ApplicationModel::Calls::PhoneCallHistoryManagerForUser PhoneCallHistoryManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline void PhoneCallManager::ShowPhoneCallUI(hstring_view phoneNumber, hstring_view displayName) +{ + get_activation_factory().ShowPhoneCallUI(phoneNumber, displayName); +} + +inline event_token PhoneCallManager::CallStateChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().CallStateChanged(handler); +} + +inline factory_event_revoker PhoneCallManager::CallStateChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Calls::IPhoneCallManagerStatics2::remove_CallStateChanged, factory.CallStateChanged(handler) }; +} + +inline void PhoneCallManager::CallStateChanged(event_token token) +{ + get_activation_factory().CallStateChanged(token); +} + +inline bool PhoneCallManager::IsCallActive() +{ + return get_activation_factory().IsCallActive(); +} + +inline bool PhoneCallManager::IsCallIncoming() +{ + return get_activation_factory().IsCallIncoming(); +} + +inline void PhoneCallManager::ShowPhoneCallSettingsUI() +{ + get_activation_factory().ShowPhoneCallSettingsUI(); +} + +inline Windows::Foundation::IAsyncOperation PhoneCallManager::RequestStoreAsync() +{ + return get_activation_factory().RequestStoreAsync(); +} + +inline Windows::Foundation::IAsyncOperation PhoneCallVideoCapabilitiesManager::GetCapabilitiesAsync(hstring_view phoneNumber) +{ + return get_activation_factory().GetCapabilitiesAsync(phoneNumber); +} + +inline PhoneDialOptions::PhoneDialOptions() : + PhoneDialOptions(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation PhoneLine::FromIdAsync(GUID lineId) +{ + return get_activation_factory().FromIdAsync(lineId); +} + +inline Windows::ApplicationModel::Calls::VoipCallCoordinator VoipCallCoordinator::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::ICallAnswerEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::ICallRejectEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::ICallStateChangeEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::ILockScreenCallEndCallDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::ILockScreenCallEndRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::ILockScreenCallUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IMuteChangeEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallBlockingStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryEntryAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryEntryAddressFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryEntryQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryEntryReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallHistoryStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallVideoCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneCallVideoCapabilitiesManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneDialOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneLineCellularDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneLineConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneLineStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneLineWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneLineWatcherEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IPhoneVoicemail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IVoipCallCoordinator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IVoipCallCoordinatorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::IVoipPhoneCall & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::CallAnswerEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::CallRejectEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::CallStateChangeEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::LockScreenCallEndCallDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::LockScreenCallEndRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::LockScreenCallUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::MuteChangeEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallHistoryEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallHistoryEntryAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallHistoryEntryQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallHistoryEntryReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallHistoryManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallHistoryStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneCallVideoCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneDialOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneLineCellularDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneLineConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneLineWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneLineWatcherEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::PhoneVoicemail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::VoipCallCoordinator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Calls::VoipPhoneCall & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Chat.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Chat.h new file mode 100644 index 000000000..b0ddab9ee --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Chat.h @@ -0,0 +1,6068 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.ApplicationModel.Chat.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsOnline(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsOnline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsChatCapable(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsChatCapable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFileTransferCapable(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsFileTransferCapable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGeoLocationPushCapable(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsGeoLocationPushCapable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIntegratedMessagingCapable(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsIntegratedMessagingCapable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCachedCapabilitiesAsync(impl::abi_arg_in address, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCachedCapabilitiesAsync(*reinterpret_cast(&address))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCapabilitiesFromNetworkAsync(impl::abi_arg_in address, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCapabilitiesFromNetworkAsync(*reinterpret_cast(&address))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasUnreadMessages(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().HasUnreadMessages()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subject(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subject(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsConversationMuted(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsConversationMuted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsConversationMuted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsConversationMuted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MostRecentMessageId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MostRecentMessageId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Participants(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Participants()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThreadingInfo(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ThreadingInfo()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkAllMessagesAsReadAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkMessagesAsReadAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkMessagesAsReadAsync(impl::abi_arg_in value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkMessagesAsReadAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyLocalParticipantComposing(impl::abi_arg_in transportId, impl::abi_arg_in participantAddress, bool isComposing) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyLocalParticipantComposing(*reinterpret_cast(&transportId), *reinterpret_cast(&participantAddress), isComposing); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyRemoteParticipantComposing(impl::abi_arg_in transportId, impl::abi_arg_in participantAddress, bool isComposing) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyRemoteParticipantComposing(*reinterpret_cast(&transportId), *reinterpret_cast(&participantAddress), isComposing); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemoteParticipantComposingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemoteParticipantComposingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemoteParticipantComposingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteParticipantComposingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanModifyParticipants(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CanModifyParticipants()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanModifyParticipants(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanModifyParticipants(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBatchWithCountAsync(int32_t count, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync(count)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ContactId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContactId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Custom(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Custom()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Custom(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Custom(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConversationId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConversationId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ConversationId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConversationId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Participants(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Participants()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Chat::ChatConversationThreadingKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::ApplicationModel::Chat::ChatConversationThreadingKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemKind(Windows::ApplicationModel::Chat::ChatItemKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ItemKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Attachments(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Attachments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Body(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Body(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_From(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().From()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsForwardingDisabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsForwardingDisabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIncoming(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIncoming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRead(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRead()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recipients(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recipients()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecipientSendStatuses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecipientSendStatuses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::Chat::ChatMessageStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportFriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportFriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransportId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransportId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EstimatedDownloadSize(uint64_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EstimatedDownloadSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EstimatedDownloadSize(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EstimatedDownloadSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_From(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().From(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAutoReply(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsAutoReply()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAutoReply(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAutoReply(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsForwardingDisabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsForwardingDisabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReplyDisabled(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsReplyDisabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsIncoming(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsIncoming(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRead(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRead(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSeen(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSeen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSeen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSeen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSimMessage(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSimMessage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LocalTimestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LocalTimestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageKind(Windows::ApplicationModel::Chat::ChatMessageKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MessageKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MessageKind(Windows::ApplicationModel::Chat::ChatMessageKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageOperatorKind(Windows::ApplicationModel::Chat::ChatMessageOperatorKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MessageOperatorKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MessageOperatorKind(Windows::ApplicationModel::Chat::ChatMessageOperatorKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageOperatorKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NetworkTimestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NetworkTimestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReceivedDuringQuietHours(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsReceivedDuringQuietHours()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsReceivedDuringQuietHours(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsReceivedDuringQuietHours(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Status(Windows::ApplicationModel::Chat::ChatMessageStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subject(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subject(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldSuppressNotification(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShouldSuppressNotification()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShouldSuppressNotification(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShouldSuppressNotification(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThreadingInfo(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ThreadingInfo()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ThreadingInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThreadingInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecipientsDeliveryInfos(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RecipientsDeliveryInfos()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SyncId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SyncId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SyncId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataStreamReference(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataStreamReference()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataStreamReference(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataStreamReference(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupId(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MimeType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MimeType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MimeType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MimeType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransferProgress(double * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransferProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransferProgress(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferProgress(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OriginalFileName(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().OriginalFileName()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OriginalFileName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OriginalFileName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateChatMessageAttachment(impl::abi_arg_in mimeType, impl::abi_arg_in dataStreamReference, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateChatMessageAttachment(*reinterpret_cast(&mimeType), *reinterpret_cast(&dataStreamReference))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_MarkMessageAsBlockedAsync(impl::abi_arg_in localChatMessageId, bool blocked, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MarkMessageAsBlockedAsync(*reinterpret_cast(&localChatMessageId), blocked)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeType(Windows::ApplicationModel::Chat::ChatMessageChangeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AcceptChanges() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChanges(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptChangesThrough(impl::abi_arg_in lastChangeToAcknowledge) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChangesThrough(*reinterpret_cast(&lastChangeToAcknowledge)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Enable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChangeReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetChangeReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterTransportAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterTransportAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTransportAsync(impl::abi_arg_in transportId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTransportAsync(*reinterpret_cast(&transportId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTransportsAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTransportsAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStoreAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestStoreAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowComposeSmsMessageAsync(impl::abi_arg_in message, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowComposeSmsMessageAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowSmsSettings() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowSmsSettings(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestSyncManagerAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestSyncManagerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChatMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChatMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShouldDisplayToast(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShouldDisplayToast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldUpdateDetailText(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShouldUpdateDetailText()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldUpdateBadge(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShouldUpdateBadge()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldUpdateActionCenter(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShouldUpdateActionCenter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchWithCountAsync(int32_t count, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync(count)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeTracker(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeTracker()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteMessageAsync(impl::abi_arg_in localMessageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeleteMessageAsync(*reinterpret_cast(&localMessageId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DownloadMessageAsync(impl::abi_arg_in localChatMessageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadMessageAsync(*reinterpret_cast(&localChatMessageId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageAsync(impl::abi_arg_in localChatMessageId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetMessageAsync(*reinterpret_cast(&localChatMessageId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReader1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetMessageReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReader2(impl::abi_arg_in recentTimeLimit, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetMessageReader(*reinterpret_cast(&recentTimeLimit))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkMessageReadAsync(impl::abi_arg_in localChatMessageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MarkMessageReadAsync(*reinterpret_cast(&localChatMessageId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrySendMessageAsync(impl::abi_arg_in localChatMessageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RetrySendMessageAsync(*reinterpret_cast(&localChatMessageId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendMessageAsync(impl::abi_arg_in chatMessage, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SendMessageAsync(*reinterpret_cast(&chatMessage))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ValidateMessage(impl::abi_arg_in chatMessage, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValidateMessage(*reinterpret_cast(&chatMessage))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MessageChanged(impl::abi_arg_in> value, event_token * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MessageChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageChanged(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageChanged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ForwardMessageAsync(impl::abi_arg_in localChatMessageId, impl::abi_arg_in> addresses, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ForwardMessageAsync(*reinterpret_cast(&localChatMessageId), *reinterpret_cast *>(&addresses))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationAsync(impl::abi_arg_in conversationId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationAsync(*reinterpret_cast(&conversationId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationForTransportsAsync(impl::abi_arg_in conversationId, impl::abi_arg_in> transportIds, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationAsync(*reinterpret_cast(&conversationId), *reinterpret_cast *>(&transportIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationFromThreadingInfoAsync(impl::abi_arg_in threadingInfo, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationFromThreadingInfoAsync(*reinterpret_cast(&threadingInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationForTransportsReader(impl::abi_arg_in> transportIds, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader(*reinterpret_cast *>(&transportIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageByRemoteIdAsync(impl::abi_arg_in transportId, impl::abi_arg_in remoteId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageByRemoteIdAsync(*reinterpret_cast(&transportId), *reinterpret_cast(&remoteId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUnseenCountAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetUnseenCountAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUnseenCountForTransportsReaderAsync(impl::abi_arg_in> transportIds, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetUnseenCountAsync(*reinterpret_cast *>(&transportIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkAsSeenAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkAsSeenAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkAsSeenForTransportsAsync(impl::abi_arg_in> transportIds, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkAsSeenAsync(*reinterpret_cast *>(&transportIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSearchReader(impl::abi_arg_in value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSearchReader(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveMessageAsync(impl::abi_arg_in chatMessage, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveMessageAsync(*reinterpret_cast(&chatMessage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCancelDownloadMessageAsync(impl::abi_arg_in localChatMessageId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCancelDownloadMessageAsync(*reinterpret_cast(&localChatMessageId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCancelSendMessageAsync(impl::abi_arg_in localChatMessageId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCancelSendMessageAsync(*reinterpret_cast(&localChatMessageId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StoreChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StoreChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StoreChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StoreChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetMessageBySyncIdAsync(impl::abi_arg_in syncId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageBySyncIdAsync(*reinterpret_cast(&syncId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Chat::ChatStoreChangedEventKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsAppSetAsNotificationProvider(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAppSetAsNotificationProvider()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportFriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportFriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestSetAsNotificationProviderAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestSetAsNotificationProviderAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Configuration(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Configuration()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportKind(Windows::ApplicationModel::Chat::ChatMessageTransportKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransportKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxAttachmentCount(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxAttachmentCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxMessageSizeInKilobytes(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxMessageSizeInKilobytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxRecipientCount(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxRecipientCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedVideoFormat(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SupportedVideoFormat()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedProperties(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ExtendedProperties()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPartCount(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPartCount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PartCount(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartCount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemainingCharacterCountInPart(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemainingCharacterCountInPart()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::Chat::ChatMessageValidationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SearchString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SearchString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchString(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchString(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransportAddress(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransportAddress()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransportAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransportAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeliveryTime(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeliveryTime()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeliveryTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeliveryTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadTime(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadTime()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReadTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportErrorCodeCategory(Windows::ApplicationModel::Chat::ChatTransportErrorCodeCategory * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransportErrorCodeCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportInterpretedErrorCode(Windows::ApplicationModel::Chat::ChatTransportInterpretedErrorCode * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransportInterpretedErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportErrorCode(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransportErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsErrorPermanent(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsErrorPermanent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::Chat::ChatMessageStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBatchWithCountAsync(int32_t count, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync(count)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSyncEnabled(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSyncEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSyncEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSyncEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RestoreHistorySpan(Windows::ApplicationModel::Chat::ChatRestoreHistorySpan * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RestoreHistorySpan()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RestoreHistorySpan(Windows::ApplicationModel::Chat::ChatRestoreHistorySpan value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RestoreHistorySpan(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Configuration(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Configuration()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AssociateAccountAsync(impl::abi_arg_in webAccount, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AssociateAccountAsync(*reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnassociateAccountAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnassociateAccountAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsAccountAssociated(impl::abi_arg_in webAccount, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsAccountAssociated(*reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartSync() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartSync(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetConfigurationAsync(impl::abi_arg_in configuration, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetConfigurationAsync(*reinterpret_cast(&configuration))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransportId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransportId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPinRequired(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsPinRequired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Actions(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Actions()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendResponseAsync(impl::abi_arg_in action, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendResponseAsync(*reinterpret_cast(&action))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendResponseWithPinAsync(impl::abi_arg_in action, impl::abi_arg_in pin, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendResponseWithPinAsync(*reinterpret_cast(&action), *reinterpret_cast(&pin))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Label(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsMessageAvailable(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsMessageAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_MessageAvailableChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MessageAvailableChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageAvailableChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageAvailableChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetEndUserMessageManager(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetEndUserMessageManager()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTransportsAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTransportsAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTransportAsync(impl::abi_arg_in transportId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTransportAsync(*reinterpret_cast(&transportId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LeaveConversationAsync(impl::abi_arg_in conversation, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeaveConversationAsync(*reinterpret_cast(&conversation))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceKind(Windows::ApplicationModel::Chat::RcsServiceKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ServiceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportFriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportFriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Configuration(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Configuration()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsStoreAndForwardEnabled(Windows::ApplicationModel::Chat::RcsServiceKind serviceKind, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsStoreAndForwardEnabled(serviceKind)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsServiceKindSupported(Windows::ApplicationModel::Chat::RcsServiceKind serviceKind, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsServiceKindSupported(serviceKind)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ServiceKindSupportedChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ServiceKindSupportedChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ServiceKindSupportedChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceKindSupportedChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxAttachmentCount(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxAttachmentCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxMessageSizeInKilobytes(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxMessageSizeInKilobytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxGroupMessageSizeInKilobytes(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxGroupMessageSizeInKilobytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxRecipientCount(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxRecipientCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxFileSizeInKilobytes(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MaxFileSizeInKilobytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WarningFileSizeInKilobytes(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().WarningFileSizeInKilobytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransportId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransportId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParticipantAddress(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ParticipantAddress()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsComposing(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsComposing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Chat { + +template bool impl_IChatMessageTransport::IsAppSetAsNotificationProvider() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChatMessageTransport)->get_IsAppSetAsNotificationProvider(&value)); + return value; +} + +template bool impl_IChatMessageTransport::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChatMessageTransport)->get_IsActive(&value)); + return value; +} + +template hstring impl_IChatMessageTransport::TransportFriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessageTransport)->get_TransportFriendlyName(put_abi(value))); + return value; +} + +template hstring impl_IChatMessageTransport::TransportId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessageTransport)->get_TransportId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageTransport::RequestSetAsNotificationProviderAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageTransport)->abi_RequestSetAsNotificationProviderAsync(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessageTransportConfiguration impl_IChatMessageTransport2::Configuration() const +{ + Windows::ApplicationModel::Chat::ChatMessageTransportConfiguration result { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageTransport2)->get_Configuration(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatMessageTransportKind impl_IChatMessageTransport2::TransportKind() const +{ + Windows::ApplicationModel::Chat::ChatMessageTransportKind result {}; + check_hresult(WINRT_SHIM(IChatMessageTransport2)->get_TransportKind(&result)); + return result; +} + +template int32_t impl_IChatMessageTransportConfiguration::MaxAttachmentCount() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IChatMessageTransportConfiguration)->get_MaxAttachmentCount(&result)); + return result; +} + +template int32_t impl_IChatMessageTransportConfiguration::MaxMessageSizeInKilobytes() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IChatMessageTransportConfiguration)->get_MaxMessageSizeInKilobytes(&result)); + return result; +} + +template int32_t impl_IChatMessageTransportConfiguration::MaxRecipientCount() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IChatMessageTransportConfiguration)->get_MaxRecipientCount(&result)); + return result; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IChatMessageTransportConfiguration::SupportedVideoFormat() const +{ + Windows::Media::MediaProperties::MediaEncodingProfile result { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageTransportConfiguration)->get_SupportedVideoFormat(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IMapView impl_IChatMessageTransportConfiguration::ExtendedProperties() const +{ + Windows::Foundation::Collections::IMapView result; + check_hresult(WINRT_SHIM(IChatMessageTransportConfiguration)->get_ExtendedProperties(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatMessageChangeType impl_IChatMessageChange::ChangeType() const +{ + Windows::ApplicationModel::Chat::ChatMessageChangeType value {}; + check_hresult(WINRT_SHIM(IChatMessageChange)->get_ChangeType(&value)); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessage impl_IChatMessageChange::Message() const +{ + Windows::ApplicationModel::Chat::ChatMessage value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageChange)->get_Message(put_abi(value))); + return value; +} + +template void impl_IChatMessageChangeReader::AcceptChanges() const +{ + check_hresult(WINRT_SHIM(IChatMessageChangeReader)->abi_AcceptChanges()); +} + +template void impl_IChatMessageChangeReader::AcceptChangesThrough(const Windows::ApplicationModel::Chat::ChatMessageChange & lastChangeToAcknowledge) const +{ + check_hresult(WINRT_SHIM(IChatMessageChangeReader)->abi_AcceptChangesThrough(get_abi(lastChangeToAcknowledge))); +} + +template Windows::Foundation::IAsyncOperation> impl_IChatMessageChangeReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IChatMessageChangeReader)->abi_ReadBatchAsync(put_abi(value))); + return value; +} + +template void impl_IChatMessageChangeTracker::Enable() const +{ + check_hresult(WINRT_SHIM(IChatMessageChangeTracker)->abi_Enable()); +} + +template Windows::ApplicationModel::Chat::ChatMessageChangeReader impl_IChatMessageChangeTracker::GetChangeReader() const +{ + Windows::ApplicationModel::Chat::ChatMessageChangeReader value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageChangeTracker)->abi_GetChangeReader(put_abi(value))); + return value; +} + +template void impl_IChatMessageChangeTracker::Reset() const +{ + check_hresult(WINRT_SHIM(IChatMessageChangeTracker)->abi_Reset()); +} + +template Windows::Foundation::IReference impl_IChatMessageValidationResult::MaxPartCount() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IChatMessageValidationResult)->get_MaxPartCount(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IChatMessageValidationResult::PartCount() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IChatMessageValidationResult)->get_PartCount(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IChatMessageValidationResult::RemainingCharacterCountInPart() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IChatMessageValidationResult)->get_RemainingCharacterCountInPart(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessageValidationStatus impl_IChatMessageValidationResult::Status() const +{ + Windows::ApplicationModel::Chat::ChatMessageValidationStatus value {}; + check_hresult(WINRT_SHIM(IChatMessageValidationResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IChatMessage::Attachments() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IChatMessage)->get_Attachments(put_abi(value))); + return value; +} + +template hstring impl_IChatMessage::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessage)->get_Body(put_abi(value))); + return value; +} + +template void impl_IChatMessage::Body(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessage)->put_Body(get_abi(value))); +} + +template hstring impl_IChatMessage::From() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessage)->get_From(put_abi(value))); + return value; +} + +template hstring impl_IChatMessage::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessage)->get_Id(put_abi(value))); + return value; +} + +template bool impl_IChatMessage::IsForwardingDisabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChatMessage)->get_IsForwardingDisabled(&value)); + return value; +} + +template bool impl_IChatMessage::IsIncoming() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChatMessage)->get_IsIncoming(&value)); + return value; +} + +template bool impl_IChatMessage::IsRead() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChatMessage)->get_IsRead(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IChatMessage::LocalTimestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IChatMessage)->get_LocalTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IChatMessage::NetworkTimestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IChatMessage)->get_NetworkTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IChatMessage::Recipients() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IChatMessage)->get_Recipients(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IChatMessage::RecipientSendStatuses() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IChatMessage)->get_RecipientSendStatuses(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessageStatus impl_IChatMessage::Status() const +{ + Windows::ApplicationModel::Chat::ChatMessageStatus value {}; + check_hresult(WINRT_SHIM(IChatMessage)->get_Status(&value)); + return value; +} + +template hstring impl_IChatMessage::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessage)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IChatMessage::TransportFriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessage)->get_TransportFriendlyName(put_abi(value))); + return value; +} + +template hstring impl_IChatMessage::TransportId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessage)->get_TransportId(put_abi(value))); + return value; +} + +template void impl_IChatMessage::TransportId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessage)->put_TransportId(get_abi(value))); +} + +template hstring impl_IChatMessage3::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessage3)->get_RemoteId(put_abi(value))); + return value; +} + +template uint64_t impl_IChatMessage2::EstimatedDownloadSize() const +{ + uint64_t result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_EstimatedDownloadSize(&result)); + return result; +} + +template void impl_IChatMessage2::EstimatedDownloadSize(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_EstimatedDownloadSize(value)); +} + +template void impl_IChatMessage2::From(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_From(get_abi(value))); +} + +template bool impl_IChatMessage2::IsAutoReply() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_IsAutoReply(&result)); + return result; +} + +template void impl_IChatMessage2::IsAutoReply(bool value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_IsAutoReply(value)); +} + +template void impl_IChatMessage2::IsForwardingDisabled(bool value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_IsForwardingDisabled(value)); +} + +template bool impl_IChatMessage2::IsReplyDisabled() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_IsReplyDisabled(&result)); + return result; +} + +template void impl_IChatMessage2::IsIncoming(bool value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_IsIncoming(value)); +} + +template void impl_IChatMessage2::IsRead(bool value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_IsRead(value)); +} + +template bool impl_IChatMessage2::IsSeen() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_IsSeen(&result)); + return result; +} + +template void impl_IChatMessage2::IsSeen(bool value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_IsSeen(value)); +} + +template bool impl_IChatMessage2::IsSimMessage() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_IsSimMessage(&result)); + return result; +} + +template void impl_IChatMessage2::LocalTimestamp(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_LocalTimestamp(get_abi(value))); +} + +template Windows::ApplicationModel::Chat::ChatMessageKind impl_IChatMessage2::MessageKind() const +{ + Windows::ApplicationModel::Chat::ChatMessageKind result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_MessageKind(&result)); + return result; +} + +template void impl_IChatMessage2::MessageKind(Windows::ApplicationModel::Chat::ChatMessageKind value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_MessageKind(value)); +} + +template Windows::ApplicationModel::Chat::ChatMessageOperatorKind impl_IChatMessage2::MessageOperatorKind() const +{ + Windows::ApplicationModel::Chat::ChatMessageOperatorKind result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_MessageOperatorKind(&result)); + return result; +} + +template void impl_IChatMessage2::MessageOperatorKind(Windows::ApplicationModel::Chat::ChatMessageOperatorKind value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_MessageOperatorKind(value)); +} + +template void impl_IChatMessage2::NetworkTimestamp(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_NetworkTimestamp(get_abi(value))); +} + +template bool impl_IChatMessage2::IsReceivedDuringQuietHours() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_IsReceivedDuringQuietHours(&result)); + return result; +} + +template void impl_IChatMessage2::IsReceivedDuringQuietHours(bool value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_IsReceivedDuringQuietHours(value)); +} + +template void impl_IChatMessage2::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_RemoteId(get_abi(value))); +} + +template void impl_IChatMessage2::Status(Windows::ApplicationModel::Chat::ChatMessageStatus value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_Status(value)); +} + +template void impl_IChatMessage2::Subject(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_Subject(get_abi(value))); +} + +template bool impl_IChatMessage2::ShouldSuppressNotification() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessage2)->get_ShouldSuppressNotification(&result)); + return result; +} + +template void impl_IChatMessage2::ShouldSuppressNotification(bool value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_ShouldSuppressNotification(value)); +} + +template Windows::ApplicationModel::Chat::ChatConversationThreadingInfo impl_IChatMessage2::ThreadingInfo() const +{ + Windows::ApplicationModel::Chat::ChatConversationThreadingInfo result { nullptr }; + check_hresult(WINRT_SHIM(IChatMessage2)->get_ThreadingInfo(put_abi(result))); + return result; +} + +template void impl_IChatMessage2::ThreadingInfo(const Windows::ApplicationModel::Chat::ChatConversationThreadingInfo & value) const +{ + check_hresult(WINRT_SHIM(IChatMessage2)->put_ThreadingInfo(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IChatMessage2::RecipientsDeliveryInfos() const +{ + Windows::Foundation::Collections::IVector result; + check_hresult(WINRT_SHIM(IChatMessage2)->get_RecipientsDeliveryInfos(put_abi(result))); + return result; +} + +template hstring impl_IChatMessage4::SyncId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatMessage4)->get_SyncId(put_abi(result))); + return result; +} + +template void impl_IChatMessage4::SyncId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessage4)->put_SyncId(get_abi(value))); +} + +template hstring impl_IChatQueryOptions::SearchString() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatQueryOptions)->get_SearchString(put_abi(result))); + return result; +} + +template void impl_IChatQueryOptions::SearchString(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatQueryOptions)->put_SearchString(get_abi(value))); +} + +template Windows::ApplicationModel::Chat::ChatMessageChangeTracker impl_IChatMessageStore::ChangeTracker() const +{ + Windows::ApplicationModel::Chat::ChatMessageChangeTracker value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageStore)->get_ChangeTracker(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore::DeleteMessageAsync(hstring_view localMessageId) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_DeleteMessageAsync(get_abi(localMessageId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore::DownloadMessageAsync(hstring_view localChatMessageId) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_DownloadMessageAsync(get_abi(localChatMessageId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore::GetMessageAsync(hstring_view localChatMessageId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_GetMessageAsync(get_abi(localChatMessageId), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessageReader impl_IChatMessageStore::GetMessageReader() const +{ + Windows::ApplicationModel::Chat::ChatMessageReader value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_GetMessageReader1(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessageReader impl_IChatMessageStore::GetMessageReader(const Windows::Foundation::TimeSpan & recentTimeLimit) const +{ + Windows::ApplicationModel::Chat::ChatMessageReader value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_GetMessageReader2(get_abi(recentTimeLimit), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore::MarkMessageReadAsync(hstring_view localChatMessageId) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_MarkMessageReadAsync(get_abi(localChatMessageId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore::RetrySendMessageAsync(hstring_view localChatMessageId) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_RetrySendMessageAsync(get_abi(localChatMessageId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore::SendMessageAsync(const Windows::ApplicationModel::Chat::ChatMessage & chatMessage) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_SendMessageAsync(get_abi(chatMessage), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessageValidationResult impl_IChatMessageStore::ValidateMessage(const Windows::ApplicationModel::Chat::ChatMessage & chatMessage) const +{ + Windows::ApplicationModel::Chat::ChatMessageValidationResult value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageStore)->abi_ValidateMessage(get_abi(chatMessage), put_abi(value))); + return value; +} + +template event_token impl_IChatMessageStore::MessageChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token returnValue {}; + check_hresult(WINRT_SHIM(IChatMessageStore)->add_MessageChanged(get_abi(value), &returnValue)); + return returnValue; +} + +template event_revoker impl_IChatMessageStore::MessageChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Chat::IChatMessageStore::remove_MessageChanged, MessageChanged(value)); +} + +template void impl_IChatMessageStore::MessageChanged(event_token value) const +{ + check_hresult(WINRT_SHIM(IChatMessageStore)->remove_MessageChanged(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::ForwardMessageAsync(hstring_view localChatMessageId, iterable addresses) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_ForwardMessageAsync(get_abi(localChatMessageId), get_abi(addresses), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::GetConversationAsync(hstring_view conversationId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetConversationAsync(get_abi(conversationId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::GetConversationAsync(hstring_view conversationId, iterable transportIds) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetConversationForTransportsAsync(get_abi(conversationId), get_abi(transportIds), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::GetConversationFromThreadingInfoAsync(const Windows::ApplicationModel::Chat::ChatConversationThreadingInfo & threadingInfo) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetConversationFromThreadingInfoAsync(get_abi(threadingInfo), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatConversationReader impl_IChatMessageStore2::GetConversationReader() const +{ + Windows::ApplicationModel::Chat::ChatConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetConversationReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatConversationReader impl_IChatMessageStore2::GetConversationReader(iterable transportIds) const +{ + Windows::ApplicationModel::Chat::ChatConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetConversationForTransportsReader(get_abi(transportIds), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::GetMessageByRemoteIdAsync(hstring_view transportId, hstring_view remoteId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetMessageByRemoteIdAsync(get_abi(transportId), get_abi(remoteId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::GetUnseenCountAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetUnseenCountAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::GetUnseenCountAsync(iterable transportIds) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetUnseenCountForTransportsReaderAsync(get_abi(transportIds), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore2::MarkAsSeenAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_MarkAsSeenAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore2::MarkAsSeenAsync(iterable transportIds) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_MarkAsSeenForTransportsAsync(get_abi(transportIds), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatSearchReader impl_IChatMessageStore2::GetSearchReader(const Windows::ApplicationModel::Chat::ChatQueryOptions & value) const +{ + Windows::ApplicationModel::Chat::ChatSearchReader result { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_GetSearchReader(get_abi(value), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageStore2::SaveMessageAsync(const Windows::ApplicationModel::Chat::ChatMessage & chatMessage) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_SaveMessageAsync(get_abi(chatMessage), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::TryCancelDownloadMessageAsync(hstring_view localChatMessageId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_TryCancelDownloadMessageAsync(get_abi(localChatMessageId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore2::TryCancelSendMessageAsync(hstring_view localChatMessageId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore2)->abi_TryCancelSendMessageAsync(get_abi(localChatMessageId), put_abi(result))); + return result; +} + +template event_token impl_IChatMessageStore2::StoreChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IChatMessageStore2)->add_StoreChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IChatMessageStore2::StoreChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Chat::IChatMessageStore2::remove_StoreChanged, StoreChanged(handler)); +} + +template void impl_IChatMessageStore2::StoreChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IChatMessageStore2)->remove_StoreChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageStore3::GetMessageBySyncIdAsync(hstring_view syncId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageStore3)->abi_GetMessageBySyncIdAsync(get_abi(syncId), put_abi(result))); + return result; +} + +template hstring impl_IChatMessageStoreChangedEventArgs::Id() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatMessageStoreChangedEventArgs)->get_Id(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatStoreChangedEventKind impl_IChatMessageStoreChangedEventArgs::Kind() const +{ + Windows::ApplicationModel::Chat::ChatStoreChangedEventKind result {}; + check_hresult(WINRT_SHIM(IChatMessageStoreChangedEventArgs)->get_Kind(&result)); + return result; +} + +template Windows::ApplicationModel::Chat::ChatMessageChangedDeferral impl_IChatMessageChangedEventArgs::GetDeferral() const +{ + Windows::ApplicationModel::Chat::ChatMessageChangedDeferral result { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageChangedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template void impl_IChatMessageChangedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IChatMessageChangedDeferral)->abi_Complete()); +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageBlockingStatic::MarkMessageAsBlockedAsync(hstring_view localChatMessageId, bool blocked) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageBlockingStatic)->abi_MarkMessageAsBlockedAsync(get_abi(localChatMessageId), blocked, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IChatMessageManagerStatic::GetTransportsAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IChatMessageManagerStatic)->abi_GetTransportsAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageManagerStatic::RequestStoreAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IChatMessageManagerStatic)->abi_RequestStoreAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IChatMessageManagerStatic::ShowComposeSmsMessageAsync(const Windows::ApplicationModel::Chat::ChatMessage & message) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IChatMessageManagerStatic)->abi_ShowComposeSmsMessageAsync(get_abi(message), put_abi(value))); + return value; +} + +template void impl_IChatMessageManagerStatic::ShowSmsSettings() const +{ + check_hresult(WINRT_SHIM(IChatMessageManagerStatic)->abi_ShowSmsSettings()); +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageManager2Statics::RegisterTransportAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageManager2Statics)->abi_RegisterTransportAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageManager2Statics::GetTransportAsync(hstring_view transportId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageManager2Statics)->abi_GetTransportAsync(get_abi(transportId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatMessageManagerStatics3::RequestSyncManagerAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatMessageManagerStatics3)->abi_RequestSyncManagerAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IChatMessageReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IChatMessageReader)->abi_ReadBatchAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IChatMessageReader2::ReadBatchAsync(int32_t count) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IChatMessageReader2)->abi_ReadBatchWithCountAsync(count, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IChatSearchReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IChatSearchReader)->abi_ReadBatchAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IChatSearchReader::ReadBatchAsync(int32_t count) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IChatSearchReader)->abi_ReadBatchWithCountAsync(count, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatItemKind impl_IChatItem::ItemKind() const +{ + Windows::ApplicationModel::Chat::ChatItemKind result {}; + check_hresult(WINRT_SHIM(IChatItem)->get_ItemKind(&result)); + return result; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IChatMessageAttachment::DataStreamReference() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IChatMessageAttachment)->get_DataStreamReference(put_abi(value))); + return value; +} + +template void impl_IChatMessageAttachment::DataStreamReference(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IChatMessageAttachment)->put_DataStreamReference(get_abi(value))); +} + +template uint32_t impl_IChatMessageAttachment::GroupId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IChatMessageAttachment)->get_GroupId(&value)); + return value; +} + +template void impl_IChatMessageAttachment::GroupId(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IChatMessageAttachment)->put_GroupId(value)); +} + +template hstring impl_IChatMessageAttachment::MimeType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessageAttachment)->get_MimeType(put_abi(value))); + return value; +} + +template void impl_IChatMessageAttachment::MimeType(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessageAttachment)->put_MimeType(get_abi(value))); +} + +template hstring impl_IChatMessageAttachment::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChatMessageAttachment)->get_Text(put_abi(value))); + return value; +} + +template void impl_IChatMessageAttachment::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessageAttachment)->put_Text(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IChatMessageAttachment2::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference result; + check_hresult(WINRT_SHIM(IChatMessageAttachment2)->get_Thumbnail(put_abi(result))); + return result; +} + +template void impl_IChatMessageAttachment2::Thumbnail(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IChatMessageAttachment2)->put_Thumbnail(get_abi(value))); +} + +template double impl_IChatMessageAttachment2::TransferProgress() const +{ + double result {}; + check_hresult(WINRT_SHIM(IChatMessageAttachment2)->get_TransferProgress(&result)); + return result; +} + +template void impl_IChatMessageAttachment2::TransferProgress(double value) const +{ + check_hresult(WINRT_SHIM(IChatMessageAttachment2)->put_TransferProgress(value)); +} + +template hstring impl_IChatMessageAttachment2::OriginalFileName() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatMessageAttachment2)->get_OriginalFileName(put_abi(result))); + return result; +} + +template void impl_IChatMessageAttachment2::OriginalFileName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatMessageAttachment2)->put_OriginalFileName(get_abi(value))); +} + +template Windows::ApplicationModel::Chat::ChatMessageAttachment impl_IChatMessageAttachmentFactory::CreateChatMessageAttachment(hstring_view mimeType, const Windows::Storage::Streams::IRandomAccessStreamReference & dataStreamReference) const +{ + Windows::ApplicationModel::Chat::ChatMessageAttachment value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageAttachmentFactory)->abi_CreateChatMessageAttachment(get_abi(mimeType), get_abi(dataStreamReference), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::ChatMessage impl_IChatMessageNotificationTriggerDetails::ChatMessage() const +{ + Windows::ApplicationModel::Chat::ChatMessage value { nullptr }; + check_hresult(WINRT_SHIM(IChatMessageNotificationTriggerDetails)->get_ChatMessage(put_abi(value))); + return value; +} + +template bool impl_IChatMessageNotificationTriggerDetails2::ShouldDisplayToast() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessageNotificationTriggerDetails2)->get_ShouldDisplayToast(&result)); + return result; +} + +template bool impl_IChatMessageNotificationTriggerDetails2::ShouldUpdateDetailText() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessageNotificationTriggerDetails2)->get_ShouldUpdateDetailText(&result)); + return result; +} + +template bool impl_IChatMessageNotificationTriggerDetails2::ShouldUpdateBadge() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessageNotificationTriggerDetails2)->get_ShouldUpdateBadge(&result)); + return result; +} + +template bool impl_IChatMessageNotificationTriggerDetails2::ShouldUpdateActionCenter() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatMessageNotificationTriggerDetails2)->get_ShouldUpdateActionCenter(&result)); + return result; +} + +template bool impl_IChatCapabilities::IsOnline() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatCapabilities)->get_IsOnline(&result)); + return result; +} + +template bool impl_IChatCapabilities::IsChatCapable() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatCapabilities)->get_IsChatCapable(&result)); + return result; +} + +template bool impl_IChatCapabilities::IsFileTransferCapable() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatCapabilities)->get_IsFileTransferCapable(&result)); + return result; +} + +template bool impl_IChatCapabilities::IsGeoLocationPushCapable() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatCapabilities)->get_IsGeoLocationPushCapable(&result)); + return result; +} + +template bool impl_IChatCapabilities::IsIntegratedMessagingCapable() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatCapabilities)->get_IsIntegratedMessagingCapable(&result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatCapabilitiesManagerStatics::GetCachedCapabilitiesAsync(hstring_view address) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatCapabilitiesManagerStatics)->abi_GetCachedCapabilitiesAsync(get_abi(address), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IChatCapabilitiesManagerStatics::GetCapabilitiesFromNetworkAsync(hstring_view address) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IChatCapabilitiesManagerStatics)->abi_GetCapabilitiesFromNetworkAsync(get_abi(address), put_abi(result))); + return result; +} + +template hstring impl_IChatRecipientDeliveryInfo::TransportAddress() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_TransportAddress(put_abi(result))); + return result; +} + +template void impl_IChatRecipientDeliveryInfo::TransportAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->put_TransportAddress(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IChatRecipientDeliveryInfo::DeliveryTime() const +{ + Windows::Foundation::IReference result; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_DeliveryTime(put_abi(result))); + return result; +} + +template void impl_IChatRecipientDeliveryInfo::DeliveryTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->put_DeliveryTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IChatRecipientDeliveryInfo::ReadTime() const +{ + Windows::Foundation::IReference result; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_ReadTime(put_abi(result))); + return result; +} + +template void impl_IChatRecipientDeliveryInfo::ReadTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->put_ReadTime(get_abi(value))); +} + +template Windows::ApplicationModel::Chat::ChatTransportErrorCodeCategory impl_IChatRecipientDeliveryInfo::TransportErrorCodeCategory() const +{ + Windows::ApplicationModel::Chat::ChatTransportErrorCodeCategory result {}; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_TransportErrorCodeCategory(&result)); + return result; +} + +template Windows::ApplicationModel::Chat::ChatTransportInterpretedErrorCode impl_IChatRecipientDeliveryInfo::TransportInterpretedErrorCode() const +{ + Windows::ApplicationModel::Chat::ChatTransportInterpretedErrorCode result {}; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_TransportInterpretedErrorCode(&result)); + return result; +} + +template int32_t impl_IChatRecipientDeliveryInfo::TransportErrorCode() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_TransportErrorCode(&result)); + return result; +} + +template bool impl_IChatRecipientDeliveryInfo::IsErrorPermanent() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_IsErrorPermanent(&result)); + return result; +} + +template Windows::ApplicationModel::Chat::ChatMessageStatus impl_IChatRecipientDeliveryInfo::Status() const +{ + Windows::ApplicationModel::Chat::ChatMessageStatus result {}; + check_hresult(WINRT_SHIM(IChatRecipientDeliveryInfo)->get_Status(&result)); + return result; +} + +template hstring impl_IChatConversationThreadingInfo::ContactId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->get_ContactId(put_abi(result))); + return result; +} + +template void impl_IChatConversationThreadingInfo::ContactId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->put_ContactId(get_abi(value))); +} + +template hstring impl_IChatConversationThreadingInfo::Custom() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->get_Custom(put_abi(result))); + return result; +} + +template void impl_IChatConversationThreadingInfo::Custom(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->put_Custom(get_abi(value))); +} + +template hstring impl_IChatConversationThreadingInfo::ConversationId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->get_ConversationId(put_abi(result))); + return result; +} + +template void impl_IChatConversationThreadingInfo::ConversationId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->put_ConversationId(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IChatConversationThreadingInfo::Participants() const +{ + Windows::Foundation::Collections::IVector result; + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->get_Participants(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatConversationThreadingKind impl_IChatConversationThreadingInfo::Kind() const +{ + Windows::ApplicationModel::Chat::ChatConversationThreadingKind result {}; + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->get_Kind(&result)); + return result; +} + +template void impl_IChatConversationThreadingInfo::Kind(Windows::ApplicationModel::Chat::ChatConversationThreadingKind value) const +{ + check_hresult(WINRT_SHIM(IChatConversationThreadingInfo)->put_Kind(value)); +} + +template Windows::Foundation::IAsyncOperation> impl_IChatConversationReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IChatConversationReader)->abi_ReadBatchAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IChatConversationReader::ReadBatchAsync(int32_t count) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IChatConversationReader)->abi_ReadBatchWithCountAsync(count, put_abi(result))); + return result; +} + +template bool impl_IChatConversation::HasUnreadMessages() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatConversation)->get_HasUnreadMessages(&result)); + return result; +} + +template hstring impl_IChatConversation::Id() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatConversation)->get_Id(put_abi(result))); + return result; +} + +template hstring impl_IChatConversation::Subject() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatConversation)->get_Subject(put_abi(result))); + return result; +} + +template void impl_IChatConversation::Subject(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChatConversation)->put_Subject(get_abi(value))); +} + +template bool impl_IChatConversation::IsConversationMuted() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatConversation)->get_IsConversationMuted(&result)); + return result; +} + +template void impl_IChatConversation::IsConversationMuted(bool value) const +{ + check_hresult(WINRT_SHIM(IChatConversation)->put_IsConversationMuted(value)); +} + +template hstring impl_IChatConversation::MostRecentMessageId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IChatConversation)->get_MostRecentMessageId(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IChatConversation::Participants() const +{ + Windows::Foundation::Collections::IVector result; + check_hresult(WINRT_SHIM(IChatConversation)->get_Participants(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatConversationThreadingInfo impl_IChatConversation::ThreadingInfo() const +{ + Windows::ApplicationModel::Chat::ChatConversationThreadingInfo result { nullptr }; + check_hresult(WINRT_SHIM(IChatConversation)->get_ThreadingInfo(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatConversation::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatConversation)->abi_DeleteAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Chat::ChatMessageReader impl_IChatConversation::GetMessageReader() const +{ + Windows::ApplicationModel::Chat::ChatMessageReader result { nullptr }; + check_hresult(WINRT_SHIM(IChatConversation)->abi_GetMessageReader(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatConversation::MarkMessagesAsReadAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatConversation)->abi_MarkAllMessagesAsReadAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatConversation::MarkMessagesAsReadAsync(const Windows::Foundation::DateTime & value) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatConversation)->abi_MarkMessagesAsReadAsync(get_abi(value), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatConversation::SaveAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatConversation)->abi_SaveAsync(put_abi(result))); + return result; +} + +template void impl_IChatConversation::NotifyLocalParticipantComposing(hstring_view transportId, hstring_view participantAddress, bool isComposing) const +{ + check_hresult(WINRT_SHIM(IChatConversation)->abi_NotifyLocalParticipantComposing(get_abi(transportId), get_abi(participantAddress), isComposing)); +} + +template void impl_IChatConversation::NotifyRemoteParticipantComposing(hstring_view transportId, hstring_view participantAddress, bool isComposing) const +{ + check_hresult(WINRT_SHIM(IChatConversation)->abi_NotifyRemoteParticipantComposing(get_abi(transportId), get_abi(participantAddress), isComposing)); +} + +template event_token impl_IChatConversation::RemoteParticipantComposingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IChatConversation)->add_RemoteParticipantComposingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IChatConversation::RemoteParticipantComposingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Chat::IChatConversation::remove_RemoteParticipantComposingChanged, RemoteParticipantComposingChanged(handler)); +} + +template void impl_IChatConversation::RemoteParticipantComposingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IChatConversation)->remove_RemoteParticipantComposingChanged(token)); +} + +template bool impl_IChatConversation2::CanModifyParticipants() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatConversation2)->get_CanModifyParticipants(&result)); + return result; +} + +template void impl_IChatConversation2::CanModifyParticipants(bool value) const +{ + check_hresult(WINRT_SHIM(IChatConversation2)->put_CanModifyParticipants(value)); +} + +template hstring impl_IRemoteParticipantComposingChangedEventArgs::TransportId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IRemoteParticipantComposingChangedEventArgs)->get_TransportId(put_abi(result))); + return result; +} + +template hstring impl_IRemoteParticipantComposingChangedEventArgs::ParticipantAddress() const +{ + hstring result; + check_hresult(WINRT_SHIM(IRemoteParticipantComposingChangedEventArgs)->get_ParticipantAddress(put_abi(result))); + return result; +} + +template bool impl_IRemoteParticipantComposingChangedEventArgs::IsComposing() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRemoteParticipantComposingChangedEventArgs)->get_IsComposing(&result)); + return result; +} + +template Windows::ApplicationModel::Chat::ChatSyncConfiguration impl_IChatSyncManager::Configuration() const +{ + Windows::ApplicationModel::Chat::ChatSyncConfiguration result { nullptr }; + check_hresult(WINRT_SHIM(IChatSyncManager)->get_Configuration(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatSyncManager::AssociateAccountAsync(const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatSyncManager)->abi_AssociateAccountAsync(get_abi(webAccount), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IChatSyncManager::UnassociateAccountAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatSyncManager)->abi_UnassociateAccountAsync(put_abi(result))); + return result; +} + +template bool impl_IChatSyncManager::IsAccountAssociated(const Windows::Security::Credentials::WebAccount & webAccount) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatSyncManager)->abi_IsAccountAssociated(get_abi(webAccount), &result)); + return result; +} + +template void impl_IChatSyncManager::StartSync() const +{ + check_hresult(WINRT_SHIM(IChatSyncManager)->abi_StartSync()); +} + +template Windows::Foundation::IAsyncAction impl_IChatSyncManager::SetConfigurationAsync(const Windows::ApplicationModel::Chat::ChatSyncConfiguration & configuration) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IChatSyncManager)->abi_SetConfigurationAsync(get_abi(configuration), put_abi(result))); + return result; +} + +template bool impl_IChatSyncConfiguration::IsSyncEnabled() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IChatSyncConfiguration)->get_IsSyncEnabled(&result)); + return result; +} + +template void impl_IChatSyncConfiguration::IsSyncEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IChatSyncConfiguration)->put_IsSyncEnabled(value)); +} + +template Windows::ApplicationModel::Chat::ChatRestoreHistorySpan impl_IChatSyncConfiguration::RestoreHistorySpan() const +{ + Windows::ApplicationModel::Chat::ChatRestoreHistorySpan result {}; + check_hresult(WINRT_SHIM(IChatSyncConfiguration)->get_RestoreHistorySpan(&result)); + return result; +} + +template void impl_IChatSyncConfiguration::RestoreHistorySpan(Windows::ApplicationModel::Chat::ChatRestoreHistorySpan value) const +{ + check_hresult(WINRT_SHIM(IChatSyncConfiguration)->put_RestoreHistorySpan(value)); +} + +template Windows::ApplicationModel::Chat::RcsServiceKind impl_IRcsServiceKindSupportedChangedEventArgs::ServiceKind() const +{ + Windows::ApplicationModel::Chat::RcsServiceKind result {}; + check_hresult(WINRT_SHIM(IRcsServiceKindSupportedChangedEventArgs)->get_ServiceKind(&result)); + return result; +} + +template Windows::ApplicationModel::Chat::RcsEndUserMessageManager impl_IRcsManagerStatics::GetEndUserMessageManager() const +{ + Windows::ApplicationModel::Chat::RcsEndUserMessageManager result { nullptr }; + check_hresult(WINRT_SHIM(IRcsManagerStatics)->abi_GetEndUserMessageManager(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IRcsManagerStatics::GetTransportsAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IRcsManagerStatics)->abi_GetTransportsAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRcsManagerStatics::GetTransportAsync(hstring_view transportId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IRcsManagerStatics)->abi_GetTransportAsync(get_abi(transportId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IRcsManagerStatics::LeaveConversationAsync(const Windows::ApplicationModel::Chat::ChatConversation & conversation) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IRcsManagerStatics)->abi_LeaveConversationAsync(get_abi(conversation), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IRcsTransport::ExtendedProperties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IRcsTransport)->get_ExtendedProperties(put_abi(value))); + return value; +} + +template bool impl_IRcsTransport::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRcsTransport)->get_IsActive(&value)); + return value; +} + +template hstring impl_IRcsTransport::TransportFriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRcsTransport)->get_TransportFriendlyName(put_abi(value))); + return value; +} + +template hstring impl_IRcsTransport::TransportId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRcsTransport)->get_TransportId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Chat::RcsTransportConfiguration impl_IRcsTransport::Configuration() const +{ + Windows::ApplicationModel::Chat::RcsTransportConfiguration result { nullptr }; + check_hresult(WINRT_SHIM(IRcsTransport)->get_Configuration(put_abi(result))); + return result; +} + +template bool impl_IRcsTransport::IsStoreAndForwardEnabled(Windows::ApplicationModel::Chat::RcsServiceKind serviceKind) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRcsTransport)->abi_IsStoreAndForwardEnabled(serviceKind, &result)); + return result; +} + +template bool impl_IRcsTransport::IsServiceKindSupported(Windows::ApplicationModel::Chat::RcsServiceKind serviceKind) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRcsTransport)->abi_IsServiceKindSupported(serviceKind, &result)); + return result; +} + +template event_token impl_IRcsTransport::ServiceKindSupportedChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRcsTransport)->add_ServiceKindSupportedChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRcsTransport::ServiceKindSupportedChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Chat::IRcsTransport::remove_ServiceKindSupportedChanged, ServiceKindSupportedChanged(handler)); +} + +template void impl_IRcsTransport::ServiceKindSupportedChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRcsTransport)->remove_ServiceKindSupportedChanged(token)); +} + +template int32_t impl_IRcsTransportConfiguration::MaxAttachmentCount() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IRcsTransportConfiguration)->get_MaxAttachmentCount(&result)); + return result; +} + +template int32_t impl_IRcsTransportConfiguration::MaxMessageSizeInKilobytes() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IRcsTransportConfiguration)->get_MaxMessageSizeInKilobytes(&result)); + return result; +} + +template int32_t impl_IRcsTransportConfiguration::MaxGroupMessageSizeInKilobytes() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IRcsTransportConfiguration)->get_MaxGroupMessageSizeInKilobytes(&result)); + return result; +} + +template int32_t impl_IRcsTransportConfiguration::MaxRecipientCount() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IRcsTransportConfiguration)->get_MaxRecipientCount(&result)); + return result; +} + +template int32_t impl_IRcsTransportConfiguration::MaxFileSizeInKilobytes() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IRcsTransportConfiguration)->get_MaxFileSizeInKilobytes(&result)); + return result; +} + +template int32_t impl_IRcsTransportConfiguration::WarningFileSizeInKilobytes() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IRcsTransportConfiguration)->get_WarningFileSizeInKilobytes(&result)); + return result; +} + +template event_token impl_IRcsEndUserMessageManager::MessageAvailableChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRcsEndUserMessageManager)->add_MessageAvailableChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRcsEndUserMessageManager::MessageAvailableChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Chat::IRcsEndUserMessageManager::remove_MessageAvailableChanged, MessageAvailableChanged(handler)); +} + +template void impl_IRcsEndUserMessageManager::MessageAvailableChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRcsEndUserMessageManager)->remove_MessageAvailableChanged(token)); +} + +template hstring impl_IRcsEndUserMessageAction::Label() const +{ + hstring result; + check_hresult(WINRT_SHIM(IRcsEndUserMessageAction)->get_Label(put_abi(result))); + return result; +} + +template hstring impl_IRcsEndUserMessage::TransportId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IRcsEndUserMessage)->get_TransportId(put_abi(result))); + return result; +} + +template hstring impl_IRcsEndUserMessage::Title() const +{ + hstring result; + check_hresult(WINRT_SHIM(IRcsEndUserMessage)->get_Title(put_abi(result))); + return result; +} + +template hstring impl_IRcsEndUserMessage::Text() const +{ + hstring result; + check_hresult(WINRT_SHIM(IRcsEndUserMessage)->get_Text(put_abi(result))); + return result; +} + +template bool impl_IRcsEndUserMessage::IsPinRequired() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRcsEndUserMessage)->get_IsPinRequired(&result)); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IRcsEndUserMessage::Actions() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IRcsEndUserMessage)->get_Actions(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IRcsEndUserMessage::SendResponseAsync(const Windows::ApplicationModel::Chat::RcsEndUserMessageAction & action) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IRcsEndUserMessage)->abi_SendResponseAsync(get_abi(action), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IRcsEndUserMessage::SendResponseWithPinAsync(const Windows::ApplicationModel::Chat::RcsEndUserMessageAction & action, hstring_view pin) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IRcsEndUserMessage)->abi_SendResponseWithPinAsync(get_abi(action), get_abi(pin), put_abi(result))); + return result; +} + +template bool impl_IRcsEndUserMessageAvailableEventArgs::IsMessageAvailable() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRcsEndUserMessageAvailableEventArgs)->get_IsMessageAvailable(&result)); + return result; +} + +template Windows::ApplicationModel::Chat::RcsEndUserMessage impl_IRcsEndUserMessageAvailableEventArgs::Message() const +{ + Windows::ApplicationModel::Chat::RcsEndUserMessage result { nullptr }; + check_hresult(WINRT_SHIM(IRcsEndUserMessageAvailableEventArgs)->get_Message(put_abi(result))); + return result; +} + +template hstring impl_IRcsEndUserMessageAvailableTriggerDetails::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRcsEndUserMessageAvailableTriggerDetails)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IRcsEndUserMessageAvailableTriggerDetails::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRcsEndUserMessageAvailableTriggerDetails)->get_Text(put_abi(value))); + return value; +} + +inline Windows::Foundation::IAsyncOperation ChatCapabilitiesManager::GetCachedCapabilitiesAsync(hstring_view address) +{ + return get_activation_factory().GetCachedCapabilitiesAsync(address); +} + +inline Windows::Foundation::IAsyncOperation ChatCapabilitiesManager::GetCapabilitiesFromNetworkAsync(hstring_view address) +{ + return get_activation_factory().GetCapabilitiesFromNetworkAsync(address); +} + +inline ChatConversationThreadingInfo::ChatConversationThreadingInfo() : + ChatConversationThreadingInfo(activate_instance()) +{} + +inline ChatMessage::ChatMessage() : + ChatMessage(activate_instance()) +{} + +inline ChatMessageAttachment::ChatMessageAttachment(hstring_view mimeType, const Windows::Storage::Streams::IRandomAccessStreamReference & dataStreamReference) : + ChatMessageAttachment(get_activation_factory().CreateChatMessageAttachment(mimeType, dataStreamReference)) +{} + +inline Windows::Foundation::IAsyncAction ChatMessageBlocking::MarkMessageAsBlockedAsync(hstring_view localChatMessageId, bool blocked) +{ + return get_activation_factory().MarkMessageAsBlockedAsync(localChatMessageId, blocked); +} + +inline Windows::Foundation::IAsyncOperation ChatMessageManager::RegisterTransportAsync() +{ + return get_activation_factory().RegisterTransportAsync(); +} + +inline Windows::Foundation::IAsyncOperation ChatMessageManager::GetTransportAsync(hstring_view transportId) +{ + return get_activation_factory().GetTransportAsync(transportId); +} + +inline Windows::Foundation::IAsyncOperation> ChatMessageManager::GetTransportsAsync() +{ + return get_activation_factory().GetTransportsAsync(); +} + +inline Windows::Foundation::IAsyncOperation ChatMessageManager::RequestStoreAsync() +{ + return get_activation_factory().RequestStoreAsync(); +} + +inline Windows::Foundation::IAsyncAction ChatMessageManager::ShowComposeSmsMessageAsync(const Windows::ApplicationModel::Chat::ChatMessage & message) +{ + return get_activation_factory().ShowComposeSmsMessageAsync(message); +} + +inline void ChatMessageManager::ShowSmsSettings() +{ + get_activation_factory().ShowSmsSettings(); +} + +inline Windows::Foundation::IAsyncOperation ChatMessageManager::RequestSyncManagerAsync() +{ + return get_activation_factory().RequestSyncManagerAsync(); +} + +inline ChatQueryOptions::ChatQueryOptions() : + ChatQueryOptions(activate_instance()) +{} + +inline ChatRecipientDeliveryInfo::ChatRecipientDeliveryInfo() : + ChatRecipientDeliveryInfo(activate_instance()) +{} + +inline Windows::ApplicationModel::Chat::RcsEndUserMessageManager RcsManager::GetEndUserMessageManager() +{ + return get_activation_factory().GetEndUserMessageManager(); +} + +inline Windows::Foundation::IAsyncOperation> RcsManager::GetTransportsAsync() +{ + return get_activation_factory().GetTransportsAsync(); +} + +inline Windows::Foundation::IAsyncOperation RcsManager::GetTransportAsync(hstring_view transportId) +{ + return get_activation_factory().GetTransportAsync(transportId); +} + +inline Windows::Foundation::IAsyncAction RcsManager::LeaveConversationAsync(const Windows::ApplicationModel::Chat::ChatConversation & conversation) +{ + return get_activation_factory().LeaveConversationAsync(conversation); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatCapabilitiesManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatConversation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatConversation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatConversationReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatConversationThreadingInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessage2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessage3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessage4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageAttachment2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageAttachmentFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageBlockingStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageManager2Statics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageManagerStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageNotificationTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageReader2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageStore3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageStoreChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageTransport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageTransport2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageTransportConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatMessageValidationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatRecipientDeliveryInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatSearchReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatSyncConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IChatSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAvailableEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageAvailableTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsEndUserMessageManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsServiceKindSupportedChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsTransport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRcsTransportConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::IRemoteParticipantComposingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatConversation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatConversationReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatConversationThreadingInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageAttachment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageStoreChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageTransport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageTransportConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatMessageValidationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatRecipientDeliveryInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatSearchReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatSyncConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::ChatSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsEndUserMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsEndUserMessageAction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsEndUserMessageAvailableEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsEndUserMessageAvailableTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsEndUserMessageManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsServiceKindSupportedChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsTransport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RcsTransportConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Chat::RemoteParticipantComposingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.CommunicationBlocking.h b/10.0.15042.0/winrt/Windows.ApplicationModel.CommunicationBlocking.h new file mode 100644 index 000000000..37fc0c7ad --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.CommunicationBlocking.h @@ -0,0 +1,295 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.CommunicationBlocking.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsBlockingActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBlockingActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsBlockedNumberAsync(impl::abi_arg_in number, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsBlockedNumberAsync(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowBlockNumbersUI(impl::abi_arg_in> phoneNumbers, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowBlockNumbersUI(*reinterpret_cast *>(&phoneNumbers))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowUnblockNumbersUI(impl::abi_arg_in> phoneNumbers, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowUnblockNumbersUI(*reinterpret_cast *>(&phoneNumbers))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowBlockedCallsUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowBlockedCallsUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowBlockedMessagesUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowBlockedMessagesUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCurrentAppActiveBlockingApp(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCurrentAppActiveBlockingApp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowCommunicationBlockingSettingsUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowCommunicationBlockingSettingsUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestSetAsActiveBlockingAppAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestSetAsActiveBlockingAppAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::CommunicationBlocking { + +template bool impl_ICommunicationBlockingAppManagerStatics::IsCurrentAppActiveBlockingApp() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommunicationBlockingAppManagerStatics)->get_IsCurrentAppActiveBlockingApp(&value)); + return value; +} + +template void impl_ICommunicationBlockingAppManagerStatics::ShowCommunicationBlockingSettingsUI() const +{ + check_hresult(WINRT_SHIM(ICommunicationBlockingAppManagerStatics)->abi_ShowCommunicationBlockingSettingsUI()); +} + +template Windows::Foundation::IAsyncOperation impl_ICommunicationBlockingAppManagerStatics2::RequestSetAsActiveBlockingAppAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ICommunicationBlockingAppManagerStatics2)->abi_RequestSetAsActiveBlockingAppAsync(put_abi(result))); + return result; +} + +template bool impl_ICommunicationBlockingAccessManagerStatics::IsBlockingActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommunicationBlockingAccessManagerStatics)->get_IsBlockingActive(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICommunicationBlockingAccessManagerStatics::IsBlockedNumberAsync(hstring_view number) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ICommunicationBlockingAccessManagerStatics)->abi_IsBlockedNumberAsync(get_abi(number), put_abi(result))); + return result; +} + +template bool impl_ICommunicationBlockingAccessManagerStatics::ShowBlockNumbersUI(iterable phoneNumbers) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommunicationBlockingAccessManagerStatics)->abi_ShowBlockNumbersUI(get_abi(phoneNumbers), &value)); + return value; +} + +template bool impl_ICommunicationBlockingAccessManagerStatics::ShowUnblockNumbersUI(iterable phoneNumbers) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommunicationBlockingAccessManagerStatics)->abi_ShowUnblockNumbersUI(get_abi(phoneNumbers), &value)); + return value; +} + +template void impl_ICommunicationBlockingAccessManagerStatics::ShowBlockedCallsUI() const +{ + check_hresult(WINRT_SHIM(ICommunicationBlockingAccessManagerStatics)->abi_ShowBlockedCallsUI()); +} + +template void impl_ICommunicationBlockingAccessManagerStatics::ShowBlockedMessagesUI() const +{ + check_hresult(WINRT_SHIM(ICommunicationBlockingAccessManagerStatics)->abi_ShowBlockedMessagesUI()); +} + +inline bool CommunicationBlockingAccessManager::IsBlockingActive() +{ + return get_activation_factory().IsBlockingActive(); +} + +inline Windows::Foundation::IAsyncOperation CommunicationBlockingAccessManager::IsBlockedNumberAsync(hstring_view number) +{ + return get_activation_factory().IsBlockedNumberAsync(number); +} + +inline bool CommunicationBlockingAccessManager::ShowBlockNumbersUI(iterable phoneNumbers) +{ + return get_activation_factory().ShowBlockNumbersUI(phoneNumbers); +} + +inline bool CommunicationBlockingAccessManager::ShowUnblockNumbersUI(iterable phoneNumbers) +{ + return get_activation_factory().ShowUnblockNumbersUI(phoneNumbers); +} + +inline void CommunicationBlockingAccessManager::ShowBlockedCallsUI() +{ + get_activation_factory().ShowBlockedCallsUI(); +} + +inline void CommunicationBlockingAccessManager::ShowBlockedMessagesUI() +{ + get_activation_factory().ShowBlockedMessagesUI(); +} + +inline bool CommunicationBlockingAppManager::IsCurrentAppActiveBlockingApp() +{ + return get_activation_factory().IsCurrentAppActiveBlockingApp(); +} + +inline void CommunicationBlockingAppManager::ShowCommunicationBlockingSettingsUI() +{ + get_activation_factory().ShowCommunicationBlockingSettingsUI(); +} + +inline Windows::Foundation::IAsyncOperation CommunicationBlockingAppManager::RequestSetAsActiveBlockingAppAsync() +{ + return get_activation_factory().RequestSetAsActiveBlockingAppAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::CommunicationBlocking::ICommunicationBlockingAccessManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::CommunicationBlocking::ICommunicationBlockingAppManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::CommunicationBlocking::ICommunicationBlockingAppManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.DataProvider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.DataProvider.h new file mode 100644 index 000000000..fe8dc7e67 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.DataProvider.h @@ -0,0 +1,596 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Contacts.3.h" +#include "internal/Windows.ApplicationModel.Contacts.DataProvider.3.h" +#include "Windows.ApplicationModel.Contacts.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SyncRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SyncRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SyncRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ServerSearchReadBatchRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ServerSearchReadBatchRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ServerSearchReadBatchRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerSearchReadBatchRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Connection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Connection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Options(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedBatchSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedBatchSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveContactAsync(impl::abi_arg_in contact, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveContactAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(Windows::ApplicationModel::Contacts::ContactBatchStatus batchStatus, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync(batchStatus)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Contacts::DataProvider { + +template Windows::ApplicationModel::Contacts::DataProvider::ContactDataProviderConnection impl_IContactDataProviderTriggerDetails::Connection() const +{ + Windows::ApplicationModel::Contacts::DataProvider::ContactDataProviderConnection value { nullptr }; + check_hresult(WINRT_SHIM(IContactDataProviderTriggerDetails)->get_Connection(put_abi(value))); + return value; +} + +template event_token impl_IContactDataProviderConnection::SyncRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContactDataProviderConnection)->add_SyncRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IContactDataProviderConnection::SyncRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::DataProvider::IContactDataProviderConnection::remove_SyncRequested, SyncRequested(handler)); +} + +template void impl_IContactDataProviderConnection::SyncRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IContactDataProviderConnection)->remove_SyncRequested(token)); +} + +template event_token impl_IContactDataProviderConnection::ServerSearchReadBatchRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContactDataProviderConnection)->add_ServerSearchReadBatchRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IContactDataProviderConnection::ServerSearchReadBatchRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::DataProvider::IContactDataProviderConnection::remove_ServerSearchReadBatchRequested, ServerSearchReadBatchRequested(handler)); +} + +template void impl_IContactDataProviderConnection::ServerSearchReadBatchRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IContactDataProviderConnection)->remove_ServerSearchReadBatchRequested(token)); +} + +template void impl_IContactDataProviderConnection::Start() const +{ + check_hresult(WINRT_SHIM(IContactDataProviderConnection)->abi_Start()); +} + +template hstring impl_IContactListSyncManagerSyncRequest::ContactListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactListSyncManagerSyncRequest)->get_ContactListId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IContactListSyncManagerSyncRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactListSyncManagerSyncRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IContactListSyncManagerSyncRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactListSyncManagerSyncRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IContactListServerSearchReadBatchRequest::SessionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequest)->get_SessionId(put_abi(value))); + return value; +} + +template hstring impl_IContactListServerSearchReadBatchRequest::ContactListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequest)->get_ContactListId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactQueryOptions impl_IContactListServerSearchReadBatchRequest::Options() const +{ + Windows::ApplicationModel::Contacts::ContactQueryOptions value { nullptr }; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequest)->get_Options(put_abi(value))); + return value; +} + +template uint32_t impl_IContactListServerSearchReadBatchRequest::SuggestedBatchSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequest)->get_SuggestedBatchSize(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IContactListServerSearchReadBatchRequest::SaveContactAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequest)->abi_SaveContactAsync(get_abi(contact), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IContactListServerSearchReadBatchRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IContactListServerSearchReadBatchRequest::ReportFailedAsync(Windows::ApplicationModel::Contacts::ContactBatchStatus batchStatus) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequest)->abi_ReportFailedAsync(batchStatus, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Contacts::DataProvider::ContactListSyncManagerSyncRequest impl_IContactListSyncManagerSyncRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Contacts::DataProvider::ContactListSyncManagerSyncRequest value { nullptr }; + check_hresult(WINRT_SHIM(IContactListSyncManagerSyncRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IContactListSyncManagerSyncRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IContactListSyncManagerSyncRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::DataProvider::ContactListServerSearchReadBatchRequest impl_IContactListServerSearchReadBatchRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Contacts::DataProvider::ContactListServerSearchReadBatchRequest value { nullptr }; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IContactListServerSearchReadBatchRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IContactListServerSearchReadBatchRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::IContactDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::IContactDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::IContactListServerSearchReadBatchRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::IContactListServerSearchReadBatchRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::IContactListSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::IContactListSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::ContactDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::ContactDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::ContactListServerSearchReadBatchRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::ContactListServerSearchReadBatchRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::ContactListSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::DataProvider::ContactListSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.Provider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.Provider.h new file mode 100644 index 000000000..7b82142ab --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.Provider.h @@ -0,0 +1,298 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.Contacts.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Contacts.Provider.3.h" +#include "Windows.ApplicationModel.Contacts.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddContact(impl::abi_arg_in id, impl::abi_arg_in contact, Windows::ApplicationModel::Contacts::Provider::AddContactResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AddContact(*reinterpret_cast(&id), *reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveContact(impl::abi_arg_in id) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveContact(*reinterpret_cast(&id)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainsContact(impl::abi_arg_in id, bool * isContained) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isContained = detach_abi(this->shim().ContainsContact(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredFields(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredFields()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionMode(Windows::ApplicationModel::Contacts::ContactSelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContactRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContactRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContactRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddContact(impl::abi_arg_in contact, Windows::ApplicationModel::Contacts::Provider::AddContactResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AddContact(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredFieldsWithContactFieldType(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredFieldsWithContactFieldType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Contacts::Provider { + +template hstring impl_IContactRemovedEventArgs::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactRemovedEventArgs)->get_Id(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::Provider::AddContactResult impl_IContactPickerUI::AddContact(hstring_view id, const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::ApplicationModel::Contacts::Provider::AddContactResult result {}; + check_hresult(WINRT_SHIM(IContactPickerUI)->abi_AddContact(get_abi(id), get_abi(contact), &result)); + return result; +} + +template void impl_IContactPickerUI::RemoveContact(hstring_view id) const +{ + check_hresult(WINRT_SHIM(IContactPickerUI)->abi_RemoveContact(get_abi(id))); +} + +template bool impl_IContactPickerUI::ContainsContact(hstring_view id) const +{ + bool isContained {}; + check_hresult(WINRT_SHIM(IContactPickerUI)->abi_ContainsContact(get_abi(id), &isContained)); + return isContained; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactPickerUI::DesiredFields() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactPickerUI)->get_DesiredFields(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactSelectionMode impl_IContactPickerUI::SelectionMode() const +{ + Windows::ApplicationModel::Contacts::ContactSelectionMode value {}; + check_hresult(WINRT_SHIM(IContactPickerUI)->get_SelectionMode(&value)); + return value; +} + +template event_token impl_IContactPickerUI::ContactRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContactPickerUI)->add_ContactRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IContactPickerUI::ContactRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI::remove_ContactRemoved, ContactRemoved(handler)); +} + +template void impl_IContactPickerUI::ContactRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IContactPickerUI)->remove_ContactRemoved(token)); +} + +template Windows::ApplicationModel::Contacts::Provider::AddContactResult impl_IContactPickerUI2::AddContact(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::ApplicationModel::Contacts::Provider::AddContactResult result {}; + check_hresult(WINRT_SHIM(IContactPickerUI2)->abi_AddContact(get_abi(contact), &result)); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IContactPickerUI2::DesiredFieldsWithContactFieldType() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContactPickerUI2)->get_DesiredFieldsWithContactFieldType(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::Provider::IContactPickerUI2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::Provider::IContactRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::Provider::ContactPickerUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::Provider::ContactRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.h new file mode 100644 index 000000000..d5bbd00d0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Contacts.h @@ -0,0 +1,10475 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.ViewManagement.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.ApplicationModel.Contacts.3.h" +#include "Windows.ApplicationModel.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindRawContactsAsync(impl::abi_arg_in contact, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindRawContactsAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryLinkContactsAsync(impl::abi_arg_in primaryContact, impl::abi_arg_in secondaryContact, impl::abi_arg_out> contact) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contact = detach_abi(this->shim().TryLinkContactsAsync(*reinterpret_cast(&primaryContact), *reinterpret_cast(&secondaryContact))); + return S_OK; + } + catch (...) + { + *contact = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnlinkRawContactAsync(impl::abi_arg_in contact, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnlinkRawContactAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetPreferredSourceForPictureAsync(impl::abi_arg_in aggregateContact, impl::abi_arg_in rawContact, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrySetPreferredSourceForPictureAsync(*reinterpret_cast(&aggregateContact), *reinterpret_cast(&rawContact))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetRemoteIdentificationInformationAsync(impl::abi_arg_in contactListId, impl::abi_arg_in remoteSourceId, impl::abi_arg_in accountId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetRemoteIdentificationInformationAsync(*reinterpret_cast(&contactListId), *reinterpret_cast(&remoteSourceId), *reinterpret_cast(&accountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Fields(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Fields()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Notes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Notes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Notes(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Notes(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Phones(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Phones()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Emails(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Emails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Addresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Addresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectedServiceAccounts(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectedServiceAccounts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImportantDates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportantDates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataSuppliers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataSuppliers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JobInfo(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JobInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignificantOthers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignificantOthers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Websites(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Websites()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayPictureUserUpdateTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayPictureUserUpdateTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayPictureUserUpdateTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayPictureUserUpdateTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMe(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMe()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AggregateId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AggregateId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RingToneToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RingToneToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RingToneToken(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RingToneToken(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDisplayPictureManuallySet(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisplayPictureManuallySet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LargeDisplayPicture(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LargeDisplayPicture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmallDisplayPicture(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmallDisplayPicture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceDisplayPicture(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceDisplayPicture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceDisplayPicture(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceDisplayPicture(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextToneToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextToneToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextToneToken(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextToneToken(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAggregate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAggregate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayNameOverride(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayNameOverride()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayNameOverride(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayNameOverride(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Nickname(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Nickname()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Nickname(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Nickname(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SortName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SortName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StreetAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreetAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StreetAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreetAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Locality(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Locality()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Locality(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Locality(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Region(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Region()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Region(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Region(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Country(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Country()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Country(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Country(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostalCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostalCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PostalCode(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PostalCode(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Contacts::ContactAddressKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::ApplicationModel::Contacts::ContactAddressKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AnnotationListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContactId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedOperations(Windows::ApplicationModel::Contacts::ContactAnnotationOperations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedOperations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportedOperations(Windows::ApplicationModel::Contacts::ContactAnnotationOperations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportedOperations(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDisabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContactListId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactListId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDataAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDataAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySaveAnnotationAsync(impl::abi_arg_in annotation, impl::abi_arg_out> ppResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppResult = detach_abi(this->shim().TrySaveAnnotationAsync(*reinterpret_cast(&annotation))); + return S_OK; + } + catch (...) + { + *ppResult = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnnotationAsync(impl::abi_arg_in annotationId, impl::abi_arg_out> annotation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *annotation = detach_abi(this->shim().GetAnnotationAsync(*reinterpret_cast(&annotationId))); + return S_OK; + } + catch (...) + { + *annotation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAnnotationsByRemoteIdAsync(impl::abi_arg_in remoteId, impl::abi_arg_out>> annotations) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *annotations = detach_abi(this->shim().FindAnnotationsByRemoteIdAsync(*reinterpret_cast(&remoteId))); + return S_OK; + } + catch (...) + { + *annotations = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAnnotationsAsync(impl::abi_arg_out>> annotations) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *annotations = detach_abi(this->shim().FindAnnotationsAsync()); + return S_OK; + } + catch (...) + { + *annotations = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAnnotationAsync(impl::abi_arg_in annotation, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeleteAnnotationAsync(*reinterpret_cast(&annotation))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindContactIdsByEmailAsync(impl::abi_arg_in emailAddress, impl::abi_arg_out>> contactIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contactIds = detach_abi(this->shim().FindContactIdsByEmailAsync(*reinterpret_cast(&emailAddress))); + return S_OK; + } + catch (...) + { + *contactIds = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindContactIdsByPhoneNumberAsync(impl::abi_arg_in phoneNumber, impl::abi_arg_out>> contactIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contactIds = detach_abi(this->shim().FindContactIdsByPhoneNumberAsync(*reinterpret_cast(&phoneNumber))); + return S_OK; + } + catch (...) + { + *contactIds = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAnnotationsForContactAsync(impl::abi_arg_in contact, impl::abi_arg_out>> annotations) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *annotations = detach_abi(this->shim().FindAnnotationsForContactAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *annotations = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableAnnotationAsync(impl::abi_arg_in annotation, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisableAnnotationAsync(*reinterpret_cast(&annotation))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAnnotationListAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAnnotationListAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAnnotationListInAccountAsync(impl::abi_arg_in userDataAccountId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAnnotationListAsync(*reinterpret_cast(&userDataAccountId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnnotationListAsync(impl::abi_arg_in annotationListId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAnnotationListAsync(*reinterpret_cast(&annotationListId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAnnotationListsAsync(impl::abi_arg_out>> lists) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *lists = detach_abi(this->shim().FindAnnotationListsAsync()); + return S_OK; + } + catch (...) + { + *lists = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAnnotationsForContactListAsync(impl::abi_arg_in contactListId, impl::abi_arg_out>> annotations) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *annotations = detach_abi(this->shim().FindAnnotationsForContactListAsync(*reinterpret_cast(&contactListId))); + return S_OK; + } + catch (...) + { + *annotations = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contacts(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contacts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::Contacts::ContactBatchStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetData(impl::abi_arg_in contact) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetData(*reinterpret_cast(&contact)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderKind(Windows::ApplicationModel::Contacts::ContactCardHeaderKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderKind(Windows::ApplicationModel::Contacts::ContactCardHeaderKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InitialTabKind(Windows::ApplicationModel::Contacts::ContactCardTabKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialTabKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InitialTabKind(Windows::ApplicationModel::Contacts::ContactCardTabKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialTabKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServerSearchContactListIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerSearchContactListIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeType(Windows::ApplicationModel::Contacts::ContactChangeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AcceptChanges() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChanges(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptChangesThrough(impl::abi_arg_in lastChangeToAccept) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChangesThrough(*reinterpret_cast(&lastChangeToAccept)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Enable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChangeReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetChangeReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServiceName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Day(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Day()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Day(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Day(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Month(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Month()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Month(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Month(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Year(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Year()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Year(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Year(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Contacts::ContactDateKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::ApplicationModel::Contacts::ContactDateKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Address(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Address(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Contacts::ContactEmailKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::ApplicationModel::Contacts::ContactEmailKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::ApplicationModel::Contacts::ContactFieldType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Category(Windows::ApplicationModel::Contacts::ContactFieldCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Category()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateField_Default(impl::abi_arg_in value, Windows::ApplicationModel::Contacts::ContactFieldType type, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateField(*reinterpret_cast(&value), type)); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateField_Category(impl::abi_arg_in value, Windows::ApplicationModel::Contacts::ContactFieldType type, Windows::ApplicationModel::Contacts::ContactFieldCategory category, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateField(*reinterpret_cast(&value), type, category)); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateField_Custom(impl::abi_arg_in name, impl::abi_arg_in value, Windows::ApplicationModel::Contacts::ContactFieldType type, Windows::ApplicationModel::Contacts::ContactFieldCategory category, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateField(*reinterpret_cast(&name), *reinterpret_cast(&value), type, category)); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetThumbnailAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetThumbnailAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Emails(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Emails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Locations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Locations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstantMessages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstantMessages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomFields(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomFields()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_QueryCustomFields(impl::abi_arg_in customName, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryCustomFields(*reinterpret_cast(&customName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Service(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Service()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LaunchUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LaunchUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstantMessage_Default(impl::abi_arg_in userName, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateInstantMessage(*reinterpret_cast(&userName))); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstantMessage_Category(impl::abi_arg_in userName, Windows::ApplicationModel::Contacts::ContactFieldCategory category, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateInstantMessage(*reinterpret_cast(&userName), category)); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstantMessage_All(impl::abi_arg_in userName, Windows::ApplicationModel::Contacts::ContactFieldCategory category, impl::abi_arg_in service, impl::abi_arg_in displayText, impl::abi_arg_in verb, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateInstantMessage(*reinterpret_cast(&userName), category, *reinterpret_cast(&service), *reinterpret_cast(&displayText), *reinterpret_cast(&verb))); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CompanyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompanyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CompanyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompanyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompanyYomiName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompanyYomiName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CompanyYomiName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompanyYomiName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Department(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Department()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Department(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Department(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Manager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Manager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Manager(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Manager(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Office(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Office()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Office(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Office(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompanyAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompanyAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CompanyAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompanyAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Call(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Call()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Map(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Map()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Post(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Post()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoCall(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoCall()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHidden(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHidden()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHidden(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHidden(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppReadAccess(Windows::ApplicationModel::Contacts::ContactListOtherAppReadAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppReadAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppReadAccess(Windows::ApplicationModel::Contacts::ContactListOtherAppReadAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppReadAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppWriteAccess(Windows::ApplicationModel::Contacts::ContactListOtherAppWriteAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppWriteAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppWriteAccess(Windows::ApplicationModel::Contacts::ContactListOtherAppWriteAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppWriteAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChangeTracker(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeTracker()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SyncManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SyncManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsServerSearch(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsServerSearch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDataAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDataAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContactChanged(impl::abi_arg_in> value, event_token * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ContactChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContactChanged(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactChanged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactFromRemoteIdAsync(impl::abi_arg_in remoteId, impl::abi_arg_out> contact) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contact = detach_abi(this->shim().GetContactFromRemoteIdAsync(*reinterpret_cast(&remoteId))); + return S_OK; + } + catch (...) + { + *contact = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMeContactAsync(impl::abi_arg_out> meContact) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *meContact = detach_abi(this->shim().GetMeContactAsync()); + return S_OK; + } + catch (...) + { + *meContact = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetContactReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetContactReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveContactAsync(impl::abi_arg_in contact, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaveContactAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteContactAsync(impl::abi_arg_in contact, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeleteContactAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactAsync(impl::abi_arg_in contactId, impl::abi_arg_out> contacts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contacts = detach_abi(this->shim().GetContactAsync(*reinterpret_cast(&contactId))); + return S_OK; + } + catch (...) + { + *contacts = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterSyncManagerAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterSyncManagerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportsServerSearch(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportsServerSearch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SyncConstraints(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SyncConstraints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanSyncDescriptions(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSyncDescriptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanSyncDescriptions(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanSyncDescriptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxHomePhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxHomePhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxHomePhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxHomePhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxMobilePhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxMobilePhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxMobilePhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxMobilePhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxWorkPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxWorkPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxWorkPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxWorkPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxOtherPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxOtherPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxOtherPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxOtherPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPagerPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPagerPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxPagerPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPagerPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxBusinessFaxPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxBusinessFaxPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxBusinessFaxPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxBusinessFaxPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxHomeFaxPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxHomeFaxPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxHomeFaxPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxHomeFaxPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxCompanyPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxCompanyPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxCompanyPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxCompanyPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxAssistantPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAssistantPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxAssistantPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxAssistantPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxRadioPhoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxRadioPhoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxRadioPhoneNumbers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxRadioPhoneNumbers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPersonalEmailAddresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPersonalEmailAddresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxPersonalEmailAddresses(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPersonalEmailAddresses(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxWorkEmailAddresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxWorkEmailAddresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxWorkEmailAddresses(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxWorkEmailAddresses(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxOtherEmailAddresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxOtherEmailAddresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxOtherEmailAddresses(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxOtherEmailAddresses(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxHomeAddresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxHomeAddresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxHomeAddresses(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxHomeAddresses(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxWorkAddresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxWorkAddresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxWorkAddresses(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxWorkAddresses(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxOtherAddresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxOtherAddresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxOtherAddresses(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxOtherAddresses(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxBirthdayDates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxBirthdayDates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxBirthdayDates(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxBirthdayDates(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxAnniversaryDates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAnniversaryDates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxAnniversaryDates(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxAnniversaryDates(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxOtherDates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxOtherDates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxOtherDates(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxOtherDates(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxOtherRelationships(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxOtherRelationships()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxOtherRelationships(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxOtherRelationships(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSpouseRelationships(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSpouseRelationships()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxSpouseRelationships(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxSpouseRelationships(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPartnerRelationships(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPartnerRelationships()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxPartnerRelationships(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPartnerRelationships(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSiblingRelationships(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSiblingRelationships()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxSiblingRelationships(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxSiblingRelationships(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxParentRelationships(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxParentRelationships()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxParentRelationships(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxParentRelationships(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxChildRelationships(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxChildRelationships()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxChildRelationships(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxChildRelationships(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxJobInfo(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxJobInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxJobInfo(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxJobInfo(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxWebsites(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxWebsites()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxWebsites(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxWebsites(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Contacts::ContactListSyncStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastSuccessfulSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSuccessfulSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastAttemptedSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastAttemptedSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SyncAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SyncAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SyncStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SyncStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SyncStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Status(Windows::ApplicationModel::Contacts::ContactListSyncStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastSuccessfulSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastSuccessfulSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastAttemptedSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastAttemptedSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UnstructuredAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnstructuredAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Street(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Street()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_City(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().City()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Region(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Region()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Country(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Country()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostalCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostalCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateLocation_Default(impl::abi_arg_in unstructuredAddress, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateLocation(*reinterpret_cast(&unstructuredAddress))); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateLocation_Category(impl::abi_arg_in unstructuredAddress, Windows::ApplicationModel::Contacts::ContactFieldCategory category, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateLocation(*reinterpret_cast(&unstructuredAddress), category)); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateLocation_All(impl::abi_arg_in unstructuredAddress, Windows::ApplicationModel::Contacts::ContactFieldCategory category, impl::abi_arg_in street, impl::abi_arg_in city, impl::abi_arg_in region, impl::abi_arg_in country, impl::abi_arg_in postalCode, impl::abi_arg_out field) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *field = detach_abi(this->shim().CreateLocation(*reinterpret_cast(&unstructuredAddress), category, *reinterpret_cast(&street), *reinterpret_cast(&city), *reinterpret_cast(®ion), *reinterpret_cast(&country), *reinterpret_cast(&postalCode))); + return S_OK; + } + catch (...) + { + *field = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConvertContactToVCardAsync(impl::abi_arg_in contact, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConvertContactToVCardAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertContactToVCardAsyncWithMaxBytes(impl::abi_arg_in contact, uint32_t maxBytes, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConvertContactToVCardAsync(*reinterpret_cast(&contact), maxBytes)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertVCardToContactAsync(impl::abi_arg_in vCard, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConvertVCardToContactAsync(*reinterpret_cast(&vCard))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::Contacts::ContactStoreAccessType accessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAnnotationStoreAsync(Windows::ApplicationModel::Contacts::ContactAnnotationStoreAccessType accessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAnnotationStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemDisplayNameOrder(Windows::ApplicationModel::Contacts::ContactNameOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemDisplayNameOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemDisplayNameOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemDisplayNameOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemSortOrder(Windows::ApplicationModel::Contacts::ContactNameOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemSortOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemSortOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemSortOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowFullContactCard(impl::abi_arg_in contact, impl::abi_arg_in fullContactCardOptions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowFullContactCard(*reinterpret_cast(&contact), *reinterpret_cast(&fullContactCardOptions)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowContactCard(impl::abi_arg_in contact, impl::abi_arg_in selection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowContactCard(*reinterpret_cast(&contact), *reinterpret_cast(&selection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowContactCardWithPlacement(impl::abi_arg_in contact, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowContactCard(*reinterpret_cast(&contact), *reinterpret_cast(&selection), preferredPlacement); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowDelayLoadedContactCard(impl::abi_arg_in contact, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out dataLoader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataLoader = detach_abi(this->shim().ShowDelayLoadedContactCard(*reinterpret_cast(&contact), *reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *dataLoader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(impl::abi_arg_out> store) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *store = detach_abi(this->shim().RequestStoreAsync()); + return S_OK; + } + catch (...) + { + *store = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConvertContactToVCardAsync(impl::abi_arg_in contact, impl::abi_arg_out> vCard) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vCard = detach_abi(this->shim().ConvertContactToVCardAsync(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *vCard = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertContactToVCardAsyncWithMaxBytes(impl::abi_arg_in contact, uint32_t maxBytes, impl::abi_arg_out> vCard) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vCard = detach_abi(this->shim().ConvertContactToVCardAsync(*reinterpret_cast(&contact), maxBytes)); + return S_OK; + } + catch (...) + { + *vCard = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertVCardToContactAsync(impl::abi_arg_in vCard, impl::abi_arg_out> contact) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contact = detach_abi(this->shim().ConvertVCardToContactAsync(*reinterpret_cast(&vCard))); + return S_OK; + } + catch (...) + { + *contact = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStoreAsyncWithAccessType(Windows::ApplicationModel::Contacts::ContactStoreAccessType accessType, impl::abi_arg_out> store) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *store = detach_abi(this->shim().RequestStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *store = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAnnotationStoreAsync(Windows::ApplicationModel::Contacts::ContactAnnotationStoreAccessType accessType, impl::abi_arg_out> store) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *store = detach_abi(this->shim().RequestAnnotationStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *store = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsShowContactCardSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsShowContactCardSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowContactCardWithOptions(impl::abi_arg_in contact, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in contactCardOptions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowContactCard(*reinterpret_cast(&contact), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&contactCardOptions)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsShowDelayLoadedContactCardSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsShowDelayLoadedContactCardSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowDelayLoadedContactCardWithOptions(impl::abi_arg_in contact, impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_in contactCardOptions, impl::abi_arg_out dataLoader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataLoader = detach_abi(this->shim().ShowDelayLoadedContactCard(*reinterpret_cast(&contact), *reinterpret_cast(&selection), preferredPlacement, *reinterpret_cast(&contactCardOptions))); + return S_OK; + } + catch (...) + { + *dataLoader = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowFullContactCard(impl::abi_arg_in contact, impl::abi_arg_in fullContactCardOptions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowFullContactCard(*reinterpret_cast(&contact), *reinterpret_cast(&fullContactCardOptions)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemDisplayNameOrder(Windows::ApplicationModel::Contacts::ContactNameOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemDisplayNameOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemDisplayNameOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemDisplayNameOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemSortOrder(Windows::ApplicationModel::Contacts::ContactNameOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemSortOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemSortOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemSortOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsShowFullContactCardSupportedAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsShowFullContactCardSupportedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeMiddleNameInSystemDisplayAndSort(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeMiddleNameInSystemDisplayAndSort()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeMiddleNameInSystemDisplayAndSort(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeMiddleNameInSystemDisplayAndSort(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Field(Windows::ApplicationModel::Contacts::ContactMatchReasonKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Field()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Segments(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Segments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FirstName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MiddleName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MiddleName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MiddleName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MiddleName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YomiGivenName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YomiGivenName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_YomiGivenName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().YomiGivenName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YomiFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YomiFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_YomiFamilyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().YomiFamilyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HonorificNameSuffix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HonorificNameSuffix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HonorificNameSuffix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HonorificNameSuffix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HonorificNamePrefix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HonorificNamePrefix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HonorificNamePrefix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HonorificNamePrefix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YomiDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YomiDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ClosePanel() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClosePanel(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LaunchFullAppRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LaunchFullAppRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LaunchFullAppRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LaunchFullAppRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closing(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Number(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Number()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Number(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Number(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Contacts::ContactPhoneKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::ApplicationModel::Contacts::ContactPhoneKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CommitButtonText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommitButtonText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommitButtonText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommitButtonText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionMode(Windows::ApplicationModel::Contacts::ContactSelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionMode(Windows::ApplicationModel::Contacts::ContactSelectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredFields(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredFields()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleContactAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PickSingleContactAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickMultipleContactsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PickMultipleContactsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredFieldsWithContactFieldType(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredFieldsWithContactFieldType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickContactAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PickContactAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickContactsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PickContactsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSupportedAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupportedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextSearch(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextSearch()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactListIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactListIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeContactsFromHiddenLists(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeContactsFromHiddenLists()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeContactsFromHiddenLists(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeContactsFromHiddenLists(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredFields(Windows::ApplicationModel::Contacts::ContactQueryDesiredFields * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredFields()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredFields(Windows::ApplicationModel::Contacts::ContactQueryDesiredFields value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredFields(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredOperations(Windows::ApplicationModel::Contacts::ContactAnnotationOperations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredOperations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredOperations(Windows::ApplicationModel::Contacts::ContactAnnotationOperations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredOperations(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AnnotationListIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationListIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithText(impl::abi_arg_in text, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithText(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTextAndFields(impl::abi_arg_in text, Windows::ApplicationModel::Contacts::ContactQuerySearchFields fields, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithTextAndFields(*reinterpret_cast(&text), fields)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Fields(Windows::ApplicationModel::Contacts::ContactQuerySearchFields * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Fields()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Fields(Windows::ApplicationModel::Contacts::ContactQuerySearchFields value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Fields(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchScope(Windows::ApplicationModel::Contacts::ContactQuerySearchScope * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchScope()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchScope(Windows::ApplicationModel::Contacts::ContactQuerySearchScope value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchScope(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMatchingPropertiesWithMatchReason(impl::abi_arg_in contact, impl::abi_arg_out> ppRetVal) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppRetVal = detach_abi(this->shim().GetMatchingPropertiesWithMatchReason(*reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *ppRetVal = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Relationship(Windows::ApplicationModel::Contacts::ContactRelationship * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Relationship()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Relationship(Windows::ApplicationModel::Contacts::ContactRelationship value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Relationship(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindContactsAsync(impl::abi_arg_out>> contacts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contacts = detach_abi(this->shim().FindContactsAsync()); + return S_OK; + } + catch (...) + { + *contacts = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindContactsWithSearchTextAsync(impl::abi_arg_in searchText, impl::abi_arg_out>> contacts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contacts = detach_abi(this->shim().FindContactsAsync(*reinterpret_cast(&searchText))); + return S_OK; + } + catch (...) + { + *contacts = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactAsync(impl::abi_arg_in contactId, impl::abi_arg_out> contacts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contacts = detach_abi(this->shim().GetContactAsync(*reinterpret_cast(&contactId))); + return S_OK; + } + catch (...) + { + *contacts = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeTracker(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeTracker()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContactChanged(impl::abi_arg_in> value, event_token * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ContactChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContactChanged(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactChanged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AggregateContactManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AggregateContactManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindContactListsAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindContactListsAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactListAsync(impl::abi_arg_in contactListId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetContactListAsync(*reinterpret_cast(&contactListId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateContactListAsync(impl::abi_arg_in displayName, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateContactListAsync(*reinterpret_cast(&displayName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMeContactAsync(impl::abi_arg_out> meContact) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *meContact = detach_abi(this->shim().GetMeContactAsync()); + return S_OK; + } + catch (...) + { + *meContact = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetContactReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetContactReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateContactListInAccountAsync(impl::abi_arg_in displayName, impl::abi_arg_in userDataAccountId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateContactListAsync(*reinterpret_cast(&displayName), *reinterpret_cast(&userDataAccountId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Uri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Uri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RawValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RawValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RawValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredRemainingView(Windows::UI::ViewManagement::ViewSizePreference * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredRemainingView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredRemainingView(Windows::UI::ViewManagement::ViewSizePreference value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredRemainingView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Email(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Email()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstantMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstantMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertNameToType(impl::abi_arg_in name, Windows::ApplicationModel::Contacts::ContactFieldType * type) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *type = detach_abi(this->shim().ConvertNameToType(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertTypeToName(Windows::ApplicationModel::Contacts::ContactFieldType type, impl::abi_arg_out name) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *name = detach_abi(this->shim().ConvertTypeToName(type)); + return S_OK; + } + catch (...) + { + *name = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContactIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out user) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *user = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *user = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsPinSurfaceSupported(Windows::ApplicationModel::Contacts::PinnedContactSurface surface, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsPinSurfaceSupported(surface)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsContactPinned(impl::abi_arg_in contact, Windows::ApplicationModel::Contacts::PinnedContactSurface surface, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsContactPinned(*reinterpret_cast(&contact), surface)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPinContactAsync(impl::abi_arg_in contact, Windows::ApplicationModel::Contacts::PinnedContactSurface surface, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPinContactAsync(*reinterpret_cast(&contact), surface)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPinContactsAsync(impl::abi_arg_in> contacts, Windows::ApplicationModel::Contacts::PinnedContactSurface surface, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPinContactsAsync(*reinterpret_cast *>(&contacts), surface)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestUnpinContactAsync(impl::abi_arg_in contact, Windows::ApplicationModel::Contacts::PinnedContactSurface surface, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestUnpinContactAsync(*reinterpret_cast(&contact), surface)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SignalContactActivity(impl::abi_arg_in contact) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignalContactActivity(*reinterpret_cast(&contact)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPinnedContactIdsAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPinnedContactIdsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Contacts { + +template Windows::ApplicationModel::Contacts::ContactCardHeaderKind impl_IContactCardOptions::HeaderKind() const +{ + Windows::ApplicationModel::Contacts::ContactCardHeaderKind value {}; + check_hresult(WINRT_SHIM(IContactCardOptions)->get_HeaderKind(&value)); + return value; +} + +template void impl_IContactCardOptions::HeaderKind(Windows::ApplicationModel::Contacts::ContactCardHeaderKind value) const +{ + check_hresult(WINRT_SHIM(IContactCardOptions)->put_HeaderKind(value)); +} + +template Windows::ApplicationModel::Contacts::ContactCardTabKind impl_IContactCardOptions::InitialTabKind() const +{ + Windows::ApplicationModel::Contacts::ContactCardTabKind value {}; + check_hresult(WINRT_SHIM(IContactCardOptions)->get_InitialTabKind(&value)); + return value; +} + +template void impl_IContactCardOptions::InitialTabKind(Windows::ApplicationModel::Contacts::ContactCardTabKind value) const +{ + check_hresult(WINRT_SHIM(IContactCardOptions)->put_InitialTabKind(value)); +} + +template Windows::Foundation::Collections::IVector impl_IContactCardOptions2::ServerSearchContactListIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContactCardOptions2)->get_ServerSearchContactListIds(put_abi(value))); + return value; +} + +template Windows::UI::ViewManagement::ViewSizePreference impl_IFullContactCardOptions::DesiredRemainingView() const +{ + Windows::UI::ViewManagement::ViewSizePreference value {}; + check_hresult(WINRT_SHIM(IFullContactCardOptions)->get_DesiredRemainingView(&value)); + return value; +} + +template void impl_IFullContactCardOptions::DesiredRemainingView(Windows::UI::ViewManagement::ViewSizePreference value) const +{ + check_hresult(WINRT_SHIM(IFullContactCardOptions)->put_DesiredRemainingView(value)); +} + +template void impl_IContactCardDelayedDataLoader::SetData(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + check_hresult(WINRT_SHIM(IContactCardDelayedDataLoader)->abi_SetData(get_abi(contact))); +} + +template void impl_IContactManagerStatics::ShowContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection) const +{ + check_hresult(WINRT_SHIM(IContactManagerStatics)->abi_ShowContactCard(get_abi(contact), get_abi(selection))); +} + +template void impl_IContactManagerStatics::ShowContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + check_hresult(WINRT_SHIM(IContactManagerStatics)->abi_ShowContactCardWithPlacement(get_abi(contact), get_abi(selection), preferredPlacement)); +} + +template Windows::ApplicationModel::Contacts::ContactCardDelayedDataLoader impl_IContactManagerStatics::ShowDelayLoadedContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::ApplicationModel::Contacts::ContactCardDelayedDataLoader dataLoader { nullptr }; + check_hresult(WINRT_SHIM(IContactManagerStatics)->abi_ShowDelayLoadedContactCard(get_abi(contact), get_abi(selection), preferredPlacement, put_abi(dataLoader))); + return dataLoader; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerStatics2::RequestStoreAsync() const +{ + Windows::Foundation::IAsyncOperation store; + check_hresult(WINRT_SHIM(IContactManagerStatics2)->abi_RequestStoreAsync(put_abi(store))); + return store; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerStatics3::ConvertContactToVCardAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncOperation vCard; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_ConvertContactToVCardAsync(get_abi(contact), put_abi(vCard))); + return vCard; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerStatics3::ConvertContactToVCardAsync(const Windows::ApplicationModel::Contacts::Contact & contact, uint32_t maxBytes) const +{ + Windows::Foundation::IAsyncOperation vCard; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_ConvertContactToVCardAsyncWithMaxBytes(get_abi(contact), maxBytes, put_abi(vCard))); + return vCard; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerStatics3::ConvertVCardToContactAsync(const Windows::Storage::Streams::IRandomAccessStreamReference & vCard) const +{ + Windows::Foundation::IAsyncOperation contact; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_ConvertVCardToContactAsync(get_abi(vCard), put_abi(contact))); + return contact; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerStatics3::RequestStoreAsync(Windows::ApplicationModel::Contacts::ContactStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation store; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_RequestStoreAsyncWithAccessType(accessType, put_abi(store))); + return store; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerStatics3::RequestAnnotationStoreAsync(Windows::ApplicationModel::Contacts::ContactAnnotationStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation store; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_RequestAnnotationStoreAsync(accessType, put_abi(store))); + return store; +} + +template bool impl_IContactManagerStatics3::IsShowContactCardSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_IsShowContactCardSupported(&result)); + return result; +} + +template void impl_IContactManagerStatics3::ShowContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::ApplicationModel::Contacts::ContactCardOptions & contactCardOptions) const +{ + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_ShowContactCardWithOptions(get_abi(contact), get_abi(selection), preferredPlacement, get_abi(contactCardOptions))); +} + +template bool impl_IContactManagerStatics3::IsShowDelayLoadedContactCardSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_IsShowDelayLoadedContactCardSupported(&result)); + return result; +} + +template Windows::ApplicationModel::Contacts::ContactCardDelayedDataLoader impl_IContactManagerStatics3::ShowDelayLoadedContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::ApplicationModel::Contacts::ContactCardOptions & contactCardOptions) const +{ + Windows::ApplicationModel::Contacts::ContactCardDelayedDataLoader dataLoader { nullptr }; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_ShowDelayLoadedContactCardWithOptions(get_abi(contact), get_abi(selection), preferredPlacement, get_abi(contactCardOptions), put_abi(dataLoader))); + return dataLoader; +} + +template void impl_IContactManagerStatics3::ShowFullContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::ApplicationModel::Contacts::FullContactCardOptions & fullContactCardOptions) const +{ + check_hresult(WINRT_SHIM(IContactManagerStatics3)->abi_ShowFullContactCard(get_abi(contact), get_abi(fullContactCardOptions))); +} + +template Windows::ApplicationModel::Contacts::ContactNameOrder impl_IContactManagerStatics3::SystemDisplayNameOrder() const +{ + Windows::ApplicationModel::Contacts::ContactNameOrder value {}; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->get_SystemDisplayNameOrder(&value)); + return value; +} + +template void impl_IContactManagerStatics3::SystemDisplayNameOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) const +{ + check_hresult(WINRT_SHIM(IContactManagerStatics3)->put_SystemDisplayNameOrder(value)); +} + +template Windows::ApplicationModel::Contacts::ContactNameOrder impl_IContactManagerStatics3::SystemSortOrder() const +{ + Windows::ApplicationModel::Contacts::ContactNameOrder value {}; + check_hresult(WINRT_SHIM(IContactManagerStatics3)->get_SystemSortOrder(&value)); + return value; +} + +template void impl_IContactManagerStatics3::SystemSortOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) const +{ + check_hresult(WINRT_SHIM(IContactManagerStatics3)->put_SystemSortOrder(value)); +} + +template Windows::ApplicationModel::Contacts::ContactManagerForUser impl_IContactManagerStatics4::GetForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::Contacts::ContactManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IContactManagerStatics4)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerStatics5::IsShowFullContactCardSupportedAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactManagerStatics5)->abi_IsShowFullContactCardSupportedAsync(put_abi(result))); + return result; +} + +template bool impl_IContactManagerStatics5::IncludeMiddleNameInSystemDisplayAndSort() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContactManagerStatics5)->get_IncludeMiddleNameInSystemDisplayAndSort(&value)); + return value; +} + +template void impl_IContactManagerStatics5::IncludeMiddleNameInSystemDisplayAndSort(bool value) const +{ + check_hresult(WINRT_SHIM(IContactManagerStatics5)->put_IncludeMiddleNameInSystemDisplayAndSort(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerForUser::ConvertContactToVCardAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactManagerForUser)->abi_ConvertContactToVCardAsync(get_abi(contact), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerForUser::ConvertContactToVCardAsync(const Windows::ApplicationModel::Contacts::Contact & contact, uint32_t maxBytes) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactManagerForUser)->abi_ConvertContactToVCardAsyncWithMaxBytes(get_abi(contact), maxBytes, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerForUser::ConvertVCardToContactAsync(const Windows::Storage::Streams::IRandomAccessStreamReference & vCard) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactManagerForUser)->abi_ConvertVCardToContactAsync(get_abi(vCard), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerForUser::RequestStoreAsync(Windows::ApplicationModel::Contacts::ContactStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactManagerForUser)->abi_RequestStoreAsync(accessType, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IContactManagerForUser::RequestAnnotationStoreAsync(Windows::ApplicationModel::Contacts::ContactAnnotationStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactManagerForUser)->abi_RequestAnnotationStoreAsync(accessType, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Contacts::ContactNameOrder impl_IContactManagerForUser::SystemDisplayNameOrder() const +{ + Windows::ApplicationModel::Contacts::ContactNameOrder value {}; + check_hresult(WINRT_SHIM(IContactManagerForUser)->get_SystemDisplayNameOrder(&value)); + return value; +} + +template void impl_IContactManagerForUser::SystemDisplayNameOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) const +{ + check_hresult(WINRT_SHIM(IContactManagerForUser)->put_SystemDisplayNameOrder(value)); +} + +template Windows::ApplicationModel::Contacts::ContactNameOrder impl_IContactManagerForUser::SystemSortOrder() const +{ + Windows::ApplicationModel::Contacts::ContactNameOrder value {}; + check_hresult(WINRT_SHIM(IContactManagerForUser)->get_SystemSortOrder(&value)); + return value; +} + +template void impl_IContactManagerForUser::SystemSortOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) const +{ + check_hresult(WINRT_SHIM(IContactManagerForUser)->put_SystemSortOrder(value)); +} + +template Windows::System::User impl_IContactManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IContactManagerForUser)->get_User(put_abi(value))); + return value; +} + +template void impl_IContactManagerForUser2::ShowFullContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::ApplicationModel::Contacts::FullContactCardOptions & fullContactCardOptions) const +{ + check_hresult(WINRT_SHIM(IContactManagerForUser2)->abi_ShowFullContactCard(get_abi(contact), get_abi(fullContactCardOptions))); +} + +template Windows::Foundation::IAsyncOperation> impl_IAggregateContactManager::FindRawContactsAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IAggregateContactManager)->abi_FindRawContactsAsync(get_abi(contact), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAggregateContactManager::TryLinkContactsAsync(const Windows::ApplicationModel::Contacts::Contact & primaryContact, const Windows::ApplicationModel::Contacts::Contact & secondaryContact) const +{ + Windows::Foundation::IAsyncOperation contact; + check_hresult(WINRT_SHIM(IAggregateContactManager)->abi_TryLinkContactsAsync(get_abi(primaryContact), get_abi(secondaryContact), put_abi(contact))); + return contact; +} + +template Windows::Foundation::IAsyncAction impl_IAggregateContactManager::UnlinkRawContactAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IAggregateContactManager)->abi_UnlinkRawContactAsync(get_abi(contact), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAggregateContactManager::TrySetPreferredSourceForPictureAsync(const Windows::ApplicationModel::Contacts::Contact & aggregateContact, const Windows::ApplicationModel::Contacts::Contact & rawContact) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IAggregateContactManager)->abi_TrySetPreferredSourceForPictureAsync(get_abi(aggregateContact), get_abi(rawContact), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IAggregateContactManager2::SetRemoteIdentificationInformationAsync(hstring_view contactListId, hstring_view remoteSourceId, hstring_view accountId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IAggregateContactManager2)->abi_SetRemoteIdentificationInformationAsync(get_abi(contactListId), get_abi(remoteSourceId), get_abi(accountId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactAnnotationStore::FindContactIdsByEmailAsync(hstring_view emailAddress) const +{ + Windows::Foundation::IAsyncOperation> contactIds; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_FindContactIdsByEmailAsync(get_abi(emailAddress), put_abi(contactIds))); + return contactIds; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactAnnotationStore::FindContactIdsByPhoneNumberAsync(hstring_view phoneNumber) const +{ + Windows::Foundation::IAsyncOperation> contactIds; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_FindContactIdsByPhoneNumberAsync(get_abi(phoneNumber), put_abi(contactIds))); + return contactIds; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactAnnotationStore::FindAnnotationsForContactAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncOperation> annotations; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_FindAnnotationsForContactAsync(get_abi(contact), put_abi(annotations))); + return annotations; +} + +template Windows::Foundation::IAsyncAction impl_IContactAnnotationStore::DisableAnnotationAsync(const Windows::ApplicationModel::Contacts::ContactAnnotation & annotation) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_DisableAnnotationAsync(get_abi(annotation), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactAnnotationStore::CreateAnnotationListAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_CreateAnnotationListAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactAnnotationStore::CreateAnnotationListAsync(hstring_view userDataAccountId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_CreateAnnotationListInAccountAsync(get_abi(userDataAccountId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactAnnotationStore::GetAnnotationListAsync(hstring_view annotationListId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_GetAnnotationListAsync(get_abi(annotationListId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactAnnotationStore::FindAnnotationListsAsync() const +{ + Windows::Foundation::IAsyncOperation> lists; + check_hresult(WINRT_SHIM(IContactAnnotationStore)->abi_FindAnnotationListsAsync(put_abi(lists))); + return lists; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactAnnotationStore2::FindAnnotationsForContactListAsync(hstring_view contactListId) const +{ + Windows::Foundation::IAsyncOperation> annotations; + check_hresult(WINRT_SHIM(IContactAnnotationStore2)->abi_FindAnnotationsForContactListAsync(get_abi(contactListId), put_abi(annotations))); + return annotations; +} + +template hstring impl_IContactAnnotationList::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotationList)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IContactAnnotationList::ProviderPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotationList)->get_ProviderPackageFamilyName(put_abi(value))); + return value; +} + +template hstring impl_IContactAnnotationList::UserDataAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotationList)->get_UserDataAccountId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IContactAnnotationList::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IContactAnnotationList)->abi_DeleteAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactAnnotationList::TrySaveAnnotationAsync(const Windows::ApplicationModel::Contacts::ContactAnnotation & annotation) const +{ + Windows::Foundation::IAsyncOperation ppResult; + check_hresult(WINRT_SHIM(IContactAnnotationList)->abi_TrySaveAnnotationAsync(get_abi(annotation), put_abi(ppResult))); + return ppResult; +} + +template Windows::Foundation::IAsyncOperation impl_IContactAnnotationList::GetAnnotationAsync(hstring_view annotationId) const +{ + Windows::Foundation::IAsyncOperation annotation; + check_hresult(WINRT_SHIM(IContactAnnotationList)->abi_GetAnnotationAsync(get_abi(annotationId), put_abi(annotation))); + return annotation; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactAnnotationList::FindAnnotationsByRemoteIdAsync(hstring_view remoteId) const +{ + Windows::Foundation::IAsyncOperation> annotations; + check_hresult(WINRT_SHIM(IContactAnnotationList)->abi_FindAnnotationsByRemoteIdAsync(get_abi(remoteId), put_abi(annotations))); + return annotations; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactAnnotationList::FindAnnotationsAsync() const +{ + Windows::Foundation::IAsyncOperation> annotations; + check_hresult(WINRT_SHIM(IContactAnnotationList)->abi_FindAnnotationsAsync(put_abi(annotations))); + return annotations; +} + +template Windows::Foundation::IAsyncAction impl_IContactAnnotationList::DeleteAnnotationAsync(const Windows::ApplicationModel::Contacts::ContactAnnotation & annotation) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IContactAnnotationList)->abi_DeleteAnnotationAsync(get_abi(annotation), put_abi(value))); + return value; +} + +template hstring impl_IContactAnnotation::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotation)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IContactAnnotation::AnnotationListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotation)->get_AnnotationListId(put_abi(value))); + return value; +} + +template hstring impl_IContactAnnotation::ContactId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotation)->get_ContactId(put_abi(value))); + return value; +} + +template void impl_IContactAnnotation::ContactId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAnnotation)->put_ContactId(get_abi(value))); +} + +template hstring impl_IContactAnnotation::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotation)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IContactAnnotation::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAnnotation)->put_RemoteId(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactAnnotationOperations impl_IContactAnnotation::SupportedOperations() const +{ + Windows::ApplicationModel::Contacts::ContactAnnotationOperations value {}; + check_hresult(WINRT_SHIM(IContactAnnotation)->get_SupportedOperations(&value)); + return value; +} + +template void impl_IContactAnnotation::SupportedOperations(Windows::ApplicationModel::Contacts::ContactAnnotationOperations value) const +{ + check_hresult(WINRT_SHIM(IContactAnnotation)->put_SupportedOperations(value)); +} + +template bool impl_IContactAnnotation::IsDisabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContactAnnotation)->get_IsDisabled(&value)); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_IContactAnnotation::ProviderProperties() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IContactAnnotation)->get_ProviderProperties(put_abi(value))); + return value; +} + +template hstring impl_IContactAnnotation2::ContactListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAnnotation2)->get_ContactListId(put_abi(value))); + return value; +} + +template void impl_IContactAnnotation2::ContactListId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAnnotation2)->put_ContactListId(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation> impl_IContactStore::FindContactsAsync() const +{ + Windows::Foundation::IAsyncOperation> contacts; + check_hresult(WINRT_SHIM(IContactStore)->abi_FindContactsAsync(put_abi(contacts))); + return contacts; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactStore::FindContactsAsync(hstring_view searchText) const +{ + Windows::Foundation::IAsyncOperation> contacts; + check_hresult(WINRT_SHIM(IContactStore)->abi_FindContactsWithSearchTextAsync(get_abi(searchText), put_abi(contacts))); + return contacts; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore::GetContactAsync(hstring_view contactId) const +{ + Windows::Foundation::IAsyncOperation contacts; + check_hresult(WINRT_SHIM(IContactStore)->abi_GetContactAsync(get_abi(contactId), put_abi(contacts))); + return contacts; +} + +template Windows::ApplicationModel::Contacts::ContactChangeTracker impl_IContactStore2::ChangeTracker() const +{ + Windows::ApplicationModel::Contacts::ContactChangeTracker value { nullptr }; + check_hresult(WINRT_SHIM(IContactStore2)->get_ChangeTracker(put_abi(value))); + return value; +} + +template event_token impl_IContactStore2::ContactChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token returnValue {}; + check_hresult(WINRT_SHIM(IContactStore2)->add_ContactChanged(get_abi(value), &returnValue)); + return returnValue; +} + +template event_revoker impl_IContactStore2::ContactChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::IContactStore2::remove_ContactChanged, ContactChanged(value)); +} + +template void impl_IContactStore2::ContactChanged(event_token value) const +{ + check_hresult(WINRT_SHIM(IContactStore2)->remove_ContactChanged(value)); +} + +template Windows::ApplicationModel::Contacts::AggregateContactManager impl_IContactStore2::AggregateContactManager() const +{ + Windows::ApplicationModel::Contacts::AggregateContactManager value { nullptr }; + check_hresult(WINRT_SHIM(IContactStore2)->get_AggregateContactManager(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactStore2::FindContactListsAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IContactStore2)->abi_FindContactListsAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore2::GetContactListAsync(hstring_view contactListId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IContactStore2)->abi_GetContactListAsync(get_abi(contactListId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore2::CreateContactListAsync(hstring_view displayName) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IContactStore2)->abi_CreateContactListAsync(get_abi(displayName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore2::GetMeContactAsync() const +{ + Windows::Foundation::IAsyncOperation meContact; + check_hresult(WINRT_SHIM(IContactStore2)->abi_GetMeContactAsync(put_abi(meContact))); + return meContact; +} + +template Windows::ApplicationModel::Contacts::ContactReader impl_IContactStore2::GetContactReader() const +{ + Windows::ApplicationModel::Contacts::ContactReader value { nullptr }; + check_hresult(WINRT_SHIM(IContactStore2)->abi_GetContactReader(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactReader impl_IContactStore2::GetContactReader(const Windows::ApplicationModel::Contacts::ContactQueryOptions & options) const +{ + Windows::ApplicationModel::Contacts::ContactReader value { nullptr }; + check_hresult(WINRT_SHIM(IContactStore2)->abi_GetContactReaderWithOptions(get_abi(options), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore2::CreateContactListAsync(hstring_view displayName, hstring_view userDataAccountId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IContactStore2)->abi_CreateContactListInAccountAsync(get_abi(displayName), get_abi(userDataAccountId), put_abi(value))); + return value; +} + +template hstring impl_IContactList::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactList)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IContactList::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactList)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IContactList::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactList)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IContactList::SourceDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactList)->get_SourceDisplayName(put_abi(value))); + return value; +} + +template bool impl_IContactList::IsHidden() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContactList)->get_IsHidden(&value)); + return value; +} + +template void impl_IContactList::IsHidden(bool value) const +{ + check_hresult(WINRT_SHIM(IContactList)->put_IsHidden(value)); +} + +template Windows::ApplicationModel::Contacts::ContactListOtherAppReadAccess impl_IContactList::OtherAppReadAccess() const +{ + Windows::ApplicationModel::Contacts::ContactListOtherAppReadAccess value {}; + check_hresult(WINRT_SHIM(IContactList)->get_OtherAppReadAccess(&value)); + return value; +} + +template void impl_IContactList::OtherAppReadAccess(Windows::ApplicationModel::Contacts::ContactListOtherAppReadAccess value) const +{ + check_hresult(WINRT_SHIM(IContactList)->put_OtherAppReadAccess(value)); +} + +template Windows::ApplicationModel::Contacts::ContactListOtherAppWriteAccess impl_IContactList::OtherAppWriteAccess() const +{ + Windows::ApplicationModel::Contacts::ContactListOtherAppWriteAccess value {}; + check_hresult(WINRT_SHIM(IContactList)->get_OtherAppWriteAccess(&value)); + return value; +} + +template void impl_IContactList::OtherAppWriteAccess(Windows::ApplicationModel::Contacts::ContactListOtherAppWriteAccess value) const +{ + check_hresult(WINRT_SHIM(IContactList)->put_OtherAppWriteAccess(value)); +} + +template Windows::ApplicationModel::Contacts::ContactChangeTracker impl_IContactList::ChangeTracker() const +{ + Windows::ApplicationModel::Contacts::ContactChangeTracker value { nullptr }; + check_hresult(WINRT_SHIM(IContactList)->get_ChangeTracker(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactListSyncManager impl_IContactList::SyncManager() const +{ + Windows::ApplicationModel::Contacts::ContactListSyncManager value { nullptr }; + check_hresult(WINRT_SHIM(IContactList)->get_SyncManager(put_abi(value))); + return value; +} + +template bool impl_IContactList::SupportsServerSearch() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContactList)->get_SupportsServerSearch(&value)); + return value; +} + +template hstring impl_IContactList::UserDataAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactList)->get_UserDataAccountId(put_abi(value))); + return value; +} + +template event_token impl_IContactList::ContactChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token returnValue {}; + check_hresult(WINRT_SHIM(IContactList)->add_ContactChanged(get_abi(value), &returnValue)); + return returnValue; +} + +template event_revoker impl_IContactList::ContactChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::IContactList::remove_ContactChanged, ContactChanged(value)); +} + +template void impl_IContactList::ContactChanged(event_token value) const +{ + check_hresult(WINRT_SHIM(IContactList)->remove_ContactChanged(value)); +} + +template Windows::Foundation::IAsyncAction impl_IContactList::SaveAsync() const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IContactList)->abi_SaveAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncAction impl_IContactList::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IContactList)->abi_DeleteAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IContactList::GetContactFromRemoteIdAsync(hstring_view remoteId) const +{ + Windows::Foundation::IAsyncOperation contact; + check_hresult(WINRT_SHIM(IContactList)->abi_GetContactFromRemoteIdAsync(get_abi(remoteId), put_abi(contact))); + return contact; +} + +template Windows::Foundation::IAsyncOperation impl_IContactList::GetMeContactAsync() const +{ + Windows::Foundation::IAsyncOperation meContact; + check_hresult(WINRT_SHIM(IContactList)->abi_GetMeContactAsync(put_abi(meContact))); + return meContact; +} + +template Windows::ApplicationModel::Contacts::ContactReader impl_IContactList::GetContactReader() const +{ + Windows::ApplicationModel::Contacts::ContactReader value { nullptr }; + check_hresult(WINRT_SHIM(IContactList)->abi_GetContactReader(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactReader impl_IContactList::GetContactReader(const Windows::ApplicationModel::Contacts::ContactQueryOptions & options) const +{ + Windows::ApplicationModel::Contacts::ContactReader value { nullptr }; + check_hresult(WINRT_SHIM(IContactList)->abi_GetContactReaderWithOptions(get_abi(options), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IContactList::SaveContactAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IContactList)->abi_SaveContactAsync(get_abi(contact), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IContactList::DeleteContactAsync(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IContactList)->abi_DeleteContactAsync(get_abi(contact), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactList::GetContactAsync(hstring_view contactId) const +{ + Windows::Foundation::IAsyncOperation contacts; + check_hresult(WINRT_SHIM(IContactList)->abi_GetContactAsync(get_abi(contactId), put_abi(contacts))); + return contacts; +} + +template Windows::Foundation::IAsyncAction impl_IContactList2::RegisterSyncManagerAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactList2)->abi_RegisterSyncManagerAsync(put_abi(result))); + return result; +} + +template void impl_IContactList2::SupportsServerSearch(bool value) const +{ + check_hresult(WINRT_SHIM(IContactList2)->put_SupportsServerSearch(value)); +} + +template Windows::ApplicationModel::Contacts::ContactListSyncConstraints impl_IContactList2::SyncConstraints() const +{ + Windows::ApplicationModel::Contacts::ContactListSyncConstraints value { nullptr }; + check_hresult(WINRT_SHIM(IContactList2)->get_SyncConstraints(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactListSyncStatus impl_IContactListSyncManager::Status() const +{ + Windows::ApplicationModel::Contacts::ContactListSyncStatus value {}; + check_hresult(WINRT_SHIM(IContactListSyncManager)->get_Status(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IContactListSyncManager::LastSuccessfulSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IContactListSyncManager)->get_LastSuccessfulSyncTime(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IContactListSyncManager::LastAttemptedSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IContactListSyncManager)->get_LastAttemptedSyncTime(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactListSyncManager::SyncAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactListSyncManager)->abi_SyncAsync(put_abi(result))); + return result; +} + +template event_token impl_IContactListSyncManager::SyncStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContactListSyncManager)->add_SyncStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IContactListSyncManager::SyncStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::IContactListSyncManager::remove_SyncStatusChanged, SyncStatusChanged(handler)); +} + +template void impl_IContactListSyncManager::SyncStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IContactListSyncManager)->remove_SyncStatusChanged(token)); +} + +template void impl_IContactListSyncManager2::Status(Windows::ApplicationModel::Contacts::ContactListSyncStatus value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncManager2)->put_Status(value)); +} + +template void impl_IContactListSyncManager2::LastSuccessfulSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncManager2)->put_LastSuccessfulSyncTime(get_abi(value))); +} + +template void impl_IContactListSyncManager2::LastAttemptedSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncManager2)->put_LastAttemptedSyncTime(get_abi(value))); +} + +template bool impl_IContactListSyncConstraints::CanSyncDescriptions() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_CanSyncDescriptions(&value)); + return value; +} + +template void impl_IContactListSyncConstraints::CanSyncDescriptions(bool value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_CanSyncDescriptions(value)); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxHomePhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxHomePhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxHomePhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxHomePhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxMobilePhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxMobilePhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxMobilePhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxMobilePhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxWorkPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxWorkPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxWorkPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxWorkPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxOtherPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxOtherPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxOtherPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxOtherPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxPagerPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxPagerPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxPagerPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxPagerPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxBusinessFaxPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxBusinessFaxPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxBusinessFaxPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxBusinessFaxPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxHomeFaxPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxHomeFaxPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxHomeFaxPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxHomeFaxPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxCompanyPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxCompanyPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxCompanyPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxCompanyPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxAssistantPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxAssistantPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxAssistantPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxAssistantPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxRadioPhoneNumbers() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxRadioPhoneNumbers(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxRadioPhoneNumbers(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxRadioPhoneNumbers(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxPersonalEmailAddresses() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxPersonalEmailAddresses(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxPersonalEmailAddresses(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxPersonalEmailAddresses(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxWorkEmailAddresses() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxWorkEmailAddresses(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxWorkEmailAddresses(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxWorkEmailAddresses(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxOtherEmailAddresses() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxOtherEmailAddresses(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxOtherEmailAddresses(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxOtherEmailAddresses(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxHomeAddresses() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxHomeAddresses(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxHomeAddresses(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxHomeAddresses(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxWorkAddresses() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxWorkAddresses(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxWorkAddresses(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxWorkAddresses(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxOtherAddresses() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxOtherAddresses(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxOtherAddresses(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxOtherAddresses(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxBirthdayDates() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxBirthdayDates(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxBirthdayDates(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxBirthdayDates(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxAnniversaryDates() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxAnniversaryDates(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxAnniversaryDates(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxAnniversaryDates(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxOtherDates() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxOtherDates(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxOtherDates(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxOtherDates(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxOtherRelationships() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxOtherRelationships(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxOtherRelationships(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxOtherRelationships(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxSpouseRelationships() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxSpouseRelationships(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxSpouseRelationships(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxSpouseRelationships(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxPartnerRelationships() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxPartnerRelationships(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxPartnerRelationships(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxPartnerRelationships(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxSiblingRelationships() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxSiblingRelationships(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxSiblingRelationships(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxSiblingRelationships(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxParentRelationships() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxParentRelationships(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxParentRelationships(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxParentRelationships(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxChildRelationships() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxChildRelationships(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxChildRelationships(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxChildRelationships(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxJobInfo() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxJobInfo(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxJobInfo(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxJobInfo(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactListSyncConstraints::MaxWebsites() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->get_MaxWebsites(put_abi(value))); + return value; +} + +template void impl_IContactListSyncConstraints::MaxWebsites(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactListSyncConstraints)->put_MaxWebsites(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactChangeType impl_IContactChange::ChangeType() const +{ + Windows::ApplicationModel::Contacts::ContactChangeType value {}; + check_hresult(WINRT_SHIM(IContactChange)->get_ChangeType(&value)); + return value; +} + +template Windows::ApplicationModel::Contacts::Contact impl_IContactChange::Contact() const +{ + Windows::ApplicationModel::Contacts::Contact value { nullptr }; + check_hresult(WINRT_SHIM(IContactChange)->get_Contact(put_abi(value))); + return value; +} + +template void impl_IContactChangedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IContactChangedDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::Contacts::ContactChangedDeferral impl_IContactChangedEventArgs::GetDeferral() const +{ + Windows::ApplicationModel::Contacts::ContactChangedDeferral value { nullptr }; + check_hresult(WINRT_SHIM(IContactChangedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template void impl_IContactChangeReader::AcceptChanges() const +{ + check_hresult(WINRT_SHIM(IContactChangeReader)->abi_AcceptChanges()); +} + +template void impl_IContactChangeReader::AcceptChangesThrough(const Windows::ApplicationModel::Contacts::ContactChange & lastChangeToAccept) const +{ + check_hresult(WINRT_SHIM(IContactChangeReader)->abi_AcceptChangesThrough(get_abi(lastChangeToAccept))); +} + +template Windows::Foundation::IAsyncOperation> impl_IContactChangeReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IContactChangeReader)->abi_ReadBatchAsync(put_abi(value))); + return value; +} + +template void impl_IContactChangeTracker::Enable() const +{ + check_hresult(WINRT_SHIM(IContactChangeTracker)->abi_Enable()); +} + +template Windows::ApplicationModel::Contacts::ContactChangeReader impl_IContactChangeTracker::GetChangeReader() const +{ + Windows::ApplicationModel::Contacts::ContactChangeReader value { nullptr }; + check_hresult(WINRT_SHIM(IContactChangeTracker)->abi_GetChangeReader(put_abi(value))); + return value; +} + +template void impl_IContactChangeTracker::Reset() const +{ + check_hresult(WINRT_SHIM(IContactChangeTracker)->abi_Reset()); +} + +template Windows::Foundation::IAsyncOperation impl_IContactReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IContactReader)->abi_ReadBatchAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactReader::GetMatchingPropertiesWithMatchReason(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + Windows::Foundation::Collections::IVectorView ppRetVal; + check_hresult(WINRT_SHIM(IContactReader)->abi_GetMatchingPropertiesWithMatchReason(get_abi(contact), put_abi(ppRetVal))); + return ppRetVal; +} + +template Windows::ApplicationModel::Contacts::ContactQuerySearchFields impl_IContactQueryTextSearch::Fields() const +{ + Windows::ApplicationModel::Contacts::ContactQuerySearchFields value {}; + check_hresult(WINRT_SHIM(IContactQueryTextSearch)->get_Fields(&value)); + return value; +} + +template void impl_IContactQueryTextSearch::Fields(Windows::ApplicationModel::Contacts::ContactQuerySearchFields value) const +{ + check_hresult(WINRT_SHIM(IContactQueryTextSearch)->put_Fields(value)); +} + +template hstring impl_IContactQueryTextSearch::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactQueryTextSearch)->get_Text(put_abi(value))); + return value; +} + +template void impl_IContactQueryTextSearch::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactQueryTextSearch)->put_Text(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactQuerySearchScope impl_IContactQueryTextSearch::SearchScope() const +{ + Windows::ApplicationModel::Contacts::ContactQuerySearchScope value {}; + check_hresult(WINRT_SHIM(IContactQueryTextSearch)->get_SearchScope(&value)); + return value; +} + +template void impl_IContactQueryTextSearch::SearchScope(Windows::ApplicationModel::Contacts::ContactQuerySearchScope value) const +{ + check_hresult(WINRT_SHIM(IContactQueryTextSearch)->put_SearchScope(value)); +} + +template Windows::ApplicationModel::Contacts::ContactQueryOptions impl_IContactQueryOptionsFactory::CreateWithText(hstring_view text) const +{ + Windows::ApplicationModel::Contacts::ContactQueryOptions result { nullptr }; + check_hresult(WINRT_SHIM(IContactQueryOptionsFactory)->abi_CreateWithText(get_abi(text), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Contacts::ContactQueryOptions impl_IContactQueryOptionsFactory::CreateWithTextAndFields(hstring_view text, Windows::ApplicationModel::Contacts::ContactQuerySearchFields fields) const +{ + Windows::ApplicationModel::Contacts::ContactQueryOptions result { nullptr }; + check_hresult(WINRT_SHIM(IContactQueryOptionsFactory)->abi_CreateWithTextAndFields(get_abi(text), fields, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Contacts::ContactQueryTextSearch impl_IContactQueryOptions::TextSearch() const +{ + Windows::ApplicationModel::Contacts::ContactQueryTextSearch value { nullptr }; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_TextSearch(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContactQueryOptions::ContactListIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_ContactListIds(put_abi(value))); + return value; +} + +template bool impl_IContactQueryOptions::IncludeContactsFromHiddenLists() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_IncludeContactsFromHiddenLists(&value)); + return value; +} + +template void impl_IContactQueryOptions::IncludeContactsFromHiddenLists(bool value) const +{ + check_hresult(WINRT_SHIM(IContactQueryOptions)->put_IncludeContactsFromHiddenLists(value)); +} + +template Windows::ApplicationModel::Contacts::ContactQueryDesiredFields impl_IContactQueryOptions::DesiredFields() const +{ + Windows::ApplicationModel::Contacts::ContactQueryDesiredFields value {}; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_DesiredFields(&value)); + return value; +} + +template void impl_IContactQueryOptions::DesiredFields(Windows::ApplicationModel::Contacts::ContactQueryDesiredFields value) const +{ + check_hresult(WINRT_SHIM(IContactQueryOptions)->put_DesiredFields(value)); +} + +template Windows::ApplicationModel::Contacts::ContactAnnotationOperations impl_IContactQueryOptions::DesiredOperations() const +{ + Windows::ApplicationModel::Contacts::ContactAnnotationOperations value {}; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_DesiredOperations(&value)); + return value; +} + +template void impl_IContactQueryOptions::DesiredOperations(Windows::ApplicationModel::Contacts::ContactAnnotationOperations value) const +{ + check_hresult(WINRT_SHIM(IContactQueryOptions)->put_DesiredOperations(value)); +} + +template Windows::Foundation::Collections::IVector impl_IContactQueryOptions::AnnotationListIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_AnnotationListIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactBatch::Contacts() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactBatch)->get_Contacts(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactBatchStatus impl_IContactBatch::Status() const +{ + Windows::ApplicationModel::Contacts::ContactBatchStatus value {}; + check_hresult(WINRT_SHIM(IContactBatch)->get_Status(&value)); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactMatchReasonKind impl_IContactMatchReason::Field() const +{ + Windows::ApplicationModel::Contacts::ContactMatchReasonKind value {}; + check_hresult(WINRT_SHIM(IContactMatchReason)->get_Field(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactMatchReason::Segments() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactMatchReason)->get_Segments(put_abi(value))); + return value; +} + +template hstring impl_IContactMatchReason::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactMatchReason)->get_Text(put_abi(value))); + return value; +} + +template hstring impl_IContactLaunchActionVerbsStatics::Call() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLaunchActionVerbsStatics)->get_Call(put_abi(value))); + return value; +} + +template hstring impl_IContactLaunchActionVerbsStatics::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLaunchActionVerbsStatics)->get_Message(put_abi(value))); + return value; +} + +template hstring impl_IContactLaunchActionVerbsStatics::Map() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLaunchActionVerbsStatics)->get_Map(put_abi(value))); + return value; +} + +template hstring impl_IContactLaunchActionVerbsStatics::Post() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLaunchActionVerbsStatics)->get_Post(put_abi(value))); + return value; +} + +template hstring impl_IContactLaunchActionVerbsStatics::VideoCall() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLaunchActionVerbsStatics)->get_VideoCall(put_abi(value))); + return value; +} + +template hstring impl_IContactPicker::CommitButtonText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactPicker)->get_CommitButtonText(put_abi(value))); + return value; +} + +template void impl_IContactPicker::CommitButtonText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactPicker)->put_CommitButtonText(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactSelectionMode impl_IContactPicker::SelectionMode() const +{ + Windows::ApplicationModel::Contacts::ContactSelectionMode value {}; + check_hresult(WINRT_SHIM(IContactPicker)->get_SelectionMode(&value)); + return value; +} + +template void impl_IContactPicker::SelectionMode(Windows::ApplicationModel::Contacts::ContactSelectionMode value) const +{ + check_hresult(WINRT_SHIM(IContactPicker)->put_SelectionMode(value)); +} + +template Windows::Foundation::Collections::IVector impl_IContactPicker::DesiredFields() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContactPicker)->get_DesiredFields(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactPicker::PickSingleContactAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactPicker)->abi_PickSingleContactAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactPicker::PickMultipleContactsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IContactPicker)->abi_PickMultipleContactsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IContactPicker2::DesiredFieldsWithContactFieldType() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContactPicker2)->get_DesiredFieldsWithContactFieldType(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactPicker2::PickContactAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactPicker2)->abi_PickContactAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactPicker2::PickContactsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IContactPicker2)->abi_PickContactsAsync(put_abi(result))); + return result; +} + +template Windows::System::User impl_IContactPicker3::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IContactPicker3)->get_User(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactPicker impl_IContactPickerStatics::CreateForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::Contacts::ContactPicker result { nullptr }; + check_hresult(WINRT_SHIM(IContactPickerStatics)->abi_CreateForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IContactPickerStatics::IsSupportedAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IContactPickerStatics)->abi_IsSupportedAsync(put_abi(result))); + return result; +} + +template hstring impl_IContactConnectedServiceAccount::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactConnectedServiceAccount)->get_Id(put_abi(value))); + return value; +} + +template void impl_IContactConnectedServiceAccount::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactConnectedServiceAccount)->put_Id(get_abi(value))); +} + +template hstring impl_IContactConnectedServiceAccount::ServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactConnectedServiceAccount)->get_ServiceName(put_abi(value))); + return value; +} + +template void impl_IContactConnectedServiceAccount::ServiceName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactConnectedServiceAccount)->put_ServiceName(get_abi(value))); +} + +template hstring impl_IContactSignificantOther::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactSignificantOther)->get_Name(put_abi(value))); + return value; +} + +template void impl_IContactSignificantOther::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactSignificantOther)->put_Name(get_abi(value))); +} + +template hstring impl_IContactSignificantOther::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactSignificantOther)->get_Description(put_abi(value))); + return value; +} + +template void impl_IContactSignificantOther::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactSignificantOther)->put_Description(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactRelationship impl_IContactSignificantOther2::Relationship() const +{ + Windows::ApplicationModel::Contacts::ContactRelationship value {}; + check_hresult(WINRT_SHIM(IContactSignificantOther2)->get_Relationship(&value)); + return value; +} + +template void impl_IContactSignificantOther2::Relationship(Windows::ApplicationModel::Contacts::ContactRelationship value) const +{ + check_hresult(WINRT_SHIM(IContactSignificantOther2)->put_Relationship(value)); +} + +template Windows::Foundation::Uri impl_IContactWebsite::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IContactWebsite)->get_Uri(put_abi(value))); + return value; +} + +template void impl_IContactWebsite::Uri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IContactWebsite)->put_Uri(get_abi(value))); +} + +template hstring impl_IContactWebsite::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactWebsite)->get_Description(put_abi(value))); + return value; +} + +template void impl_IContactWebsite::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactWebsite)->put_Description(get_abi(value))); +} + +template hstring impl_IContactWebsite2::RawValue() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactWebsite2)->get_RawValue(put_abi(value))); + return value; +} + +template void impl_IContactWebsite2::RawValue(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactWebsite2)->put_RawValue(get_abi(value))); +} + +template hstring impl_IContactEmail::Address() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactEmail)->get_Address(put_abi(value))); + return value; +} + +template void impl_IContactEmail::Address(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactEmail)->put_Address(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactEmailKind impl_IContactEmail::Kind() const +{ + Windows::ApplicationModel::Contacts::ContactEmailKind value {}; + check_hresult(WINRT_SHIM(IContactEmail)->get_Kind(&value)); + return value; +} + +template void impl_IContactEmail::Kind(Windows::ApplicationModel::Contacts::ContactEmailKind value) const +{ + check_hresult(WINRT_SHIM(IContactEmail)->put_Kind(value)); +} + +template hstring impl_IContactEmail::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactEmail)->get_Description(put_abi(value))); + return value; +} + +template void impl_IContactEmail::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactEmail)->put_Description(get_abi(value))); +} + +template hstring impl_IContactPhone::Number() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactPhone)->get_Number(put_abi(value))); + return value; +} + +template void impl_IContactPhone::Number(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactPhone)->put_Number(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactPhoneKind impl_IContactPhone::Kind() const +{ + Windows::ApplicationModel::Contacts::ContactPhoneKind value {}; + check_hresult(WINRT_SHIM(IContactPhone)->get_Kind(&value)); + return value; +} + +template void impl_IContactPhone::Kind(Windows::ApplicationModel::Contacts::ContactPhoneKind value) const +{ + check_hresult(WINRT_SHIM(IContactPhone)->put_Kind(value)); +} + +template hstring impl_IContactPhone::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactPhone)->get_Description(put_abi(value))); + return value; +} + +template void impl_IContactPhone::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactPhone)->put_Description(get_abi(value))); +} + +template hstring impl_IContactAddress::StreetAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_StreetAddress(put_abi(value))); + return value; +} + +template void impl_IContactAddress::StreetAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_StreetAddress(get_abi(value))); +} + +template hstring impl_IContactAddress::Locality() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_Locality(put_abi(value))); + return value; +} + +template void impl_IContactAddress::Locality(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Locality(get_abi(value))); +} + +template hstring impl_IContactAddress::Region() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_Region(put_abi(value))); + return value; +} + +template void impl_IContactAddress::Region(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Region(get_abi(value))); +} + +template hstring impl_IContactAddress::Country() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_Country(put_abi(value))); + return value; +} + +template void impl_IContactAddress::Country(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Country(get_abi(value))); +} + +template hstring impl_IContactAddress::PostalCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_PostalCode(put_abi(value))); + return value; +} + +template void impl_IContactAddress::PostalCode(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_PostalCode(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactAddressKind impl_IContactAddress::Kind() const +{ + Windows::ApplicationModel::Contacts::ContactAddressKind value {}; + check_hresult(WINRT_SHIM(IContactAddress)->get_Kind(&value)); + return value; +} + +template void impl_IContactAddress::Kind(Windows::ApplicationModel::Contacts::ContactAddressKind value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Kind(value)); +} + +template hstring impl_IContactAddress::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_Description(put_abi(value))); + return value; +} + +template void impl_IContactAddress::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Description(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactDate::Day() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactDate)->get_Day(put_abi(value))); + return value; +} + +template void impl_IContactDate::Day(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactDate)->put_Day(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactDate::Month() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactDate)->get_Month(put_abi(value))); + return value; +} + +template void impl_IContactDate::Month(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactDate)->put_Month(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IContactDate::Year() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactDate)->get_Year(put_abi(value))); + return value; +} + +template void impl_IContactDate::Year(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactDate)->put_Year(get_abi(value))); +} + +template Windows::ApplicationModel::Contacts::ContactDateKind impl_IContactDate::Kind() const +{ + Windows::ApplicationModel::Contacts::ContactDateKind value {}; + check_hresult(WINRT_SHIM(IContactDate)->get_Kind(&value)); + return value; +} + +template void impl_IContactDate::Kind(Windows::ApplicationModel::Contacts::ContactDateKind value) const +{ + check_hresult(WINRT_SHIM(IContactDate)->put_Kind(value)); +} + +template hstring impl_IContactDate::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactDate)->get_Description(put_abi(value))); + return value; +} + +template void impl_IContactDate::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactDate)->put_Description(get_abi(value))); +} + +template hstring impl_IContactJobInfo::CompanyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_CompanyName(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::CompanyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_CompanyName(get_abi(value))); +} + +template hstring impl_IContactJobInfo::CompanyYomiName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_CompanyYomiName(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::CompanyYomiName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_CompanyYomiName(get_abi(value))); +} + +template hstring impl_IContactJobInfo::Department() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_Department(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::Department(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_Department(get_abi(value))); +} + +template hstring impl_IContactJobInfo::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_Title(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_Title(get_abi(value))); +} + +template hstring impl_IContactJobInfo::Manager() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_Manager(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::Manager(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_Manager(get_abi(value))); +} + +template hstring impl_IContactJobInfo::Office() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_Office(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::Office(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_Office(get_abi(value))); +} + +template hstring impl_IContactJobInfo::CompanyAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_CompanyAddress(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::CompanyAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_CompanyAddress(get_abi(value))); +} + +template hstring impl_IContactJobInfo::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactJobInfo)->get_Description(put_abi(value))); + return value; +} + +template void impl_IContactJobInfo::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactJobInfo)->put_Description(get_abi(value))); +} + +template hstring impl_IContact::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact)->get_Name(put_abi(value))); + return value; +} + +template void impl_IContact::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact)->put_Name(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IContact::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IContact)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_IContact::Thumbnail(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IContact)->put_Thumbnail(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IContact::Fields() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact)->get_Fields(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactFieldType impl_IContactField::Type() const +{ + Windows::ApplicationModel::Contacts::ContactFieldType value {}; + check_hresult(WINRT_SHIM(IContactField)->get_Type(&value)); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactFieldCategory impl_IContactField::Category() const +{ + Windows::ApplicationModel::Contacts::ContactFieldCategory value {}; + check_hresult(WINRT_SHIM(IContactField)->get_Category(&value)); + return value; +} + +template hstring impl_IContactField::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactField)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IContactField::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactField)->get_Value(put_abi(value))); + return value; +} + +template hstring impl_IContactName::FirstName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_FirstName(put_abi(value))); + return value; +} + +template void impl_IContactName::FirstName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactName)->put_FirstName(get_abi(value))); +} + +template hstring impl_IContactName::LastName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_LastName(put_abi(value))); + return value; +} + +template void impl_IContactName::LastName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactName)->put_LastName(get_abi(value))); +} + +template hstring impl_IContactName::MiddleName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_MiddleName(put_abi(value))); + return value; +} + +template void impl_IContactName::MiddleName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactName)->put_MiddleName(get_abi(value))); +} + +template hstring impl_IContactName::YomiGivenName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_YomiGivenName(put_abi(value))); + return value; +} + +template void impl_IContactName::YomiGivenName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactName)->put_YomiGivenName(get_abi(value))); +} + +template hstring impl_IContactName::YomiFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_YomiFamilyName(put_abi(value))); + return value; +} + +template void impl_IContactName::YomiFamilyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactName)->put_YomiFamilyName(get_abi(value))); +} + +template hstring impl_IContactName::HonorificNameSuffix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_HonorificNameSuffix(put_abi(value))); + return value; +} + +template void impl_IContactName::HonorificNameSuffix(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactName)->put_HonorificNameSuffix(get_abi(value))); +} + +template hstring impl_IContactName::HonorificNamePrefix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_HonorificNamePrefix(put_abi(value))); + return value; +} + +template void impl_IContactName::HonorificNamePrefix(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactName)->put_HonorificNamePrefix(get_abi(value))); +} + +template hstring impl_IContactName::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IContactName::YomiDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactName)->get_YomiDisplayName(put_abi(value))); + return value; +} + +template hstring impl_IContact2::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact2)->get_Id(put_abi(value))); + return value; +} + +template void impl_IContact2::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact2)->put_Id(get_abi(value))); +} + +template hstring impl_IContact2::Notes() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact2)->get_Notes(put_abi(value))); + return value; +} + +template void impl_IContact2::Notes(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact2)->put_Notes(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IContact2::Phones() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_Phones(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::Emails() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_Emails(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::Addresses() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_Addresses(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::ConnectedServiceAccounts() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_ConnectedServiceAccounts(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::ImportantDates() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_ImportantDates(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::DataSuppliers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_DataSuppliers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::JobInfo() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_JobInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::SignificantOthers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_SignificantOthers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContact2::Websites() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContact2)->get_Websites(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IContact2::ProviderProperties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IContact2)->get_ProviderProperties(put_abi(value))); + return value; +} + +template hstring impl_IContact3::ContactListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_ContactListId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IContact3::DisplayPictureUserUpdateTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IContact3)->get_DisplayPictureUserUpdateTime(put_abi(value))); + return value; +} + +template void impl_IContact3::DisplayPictureUserUpdateTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IContact3)->put_DisplayPictureUserUpdateTime(get_abi(value))); +} + +template bool impl_IContact3::IsMe() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContact3)->get_IsMe(&value)); + return value; +} + +template hstring impl_IContact3::AggregateId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_AggregateId(put_abi(value))); + return value; +} + +template hstring impl_IContact3::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IContact3::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact3)->put_RemoteId(get_abi(value))); +} + +template hstring impl_IContact3::RingToneToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_RingToneToken(put_abi(value))); + return value; +} + +template void impl_IContact3::RingToneToken(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact3)->put_RingToneToken(get_abi(value))); +} + +template bool impl_IContact3::IsDisplayPictureManuallySet() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContact3)->get_IsDisplayPictureManuallySet(&value)); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IContact3::LargeDisplayPicture() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IContact3)->get_LargeDisplayPicture(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IContact3::SmallDisplayPicture() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IContact3)->get_SmallDisplayPicture(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IContact3::SourceDisplayPicture() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IContact3)->get_SourceDisplayPicture(put_abi(value))); + return value; +} + +template void impl_IContact3::SourceDisplayPicture(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IContact3)->put_SourceDisplayPicture(get_abi(value))); +} + +template hstring impl_IContact3::TextToneToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_TextToneToken(put_abi(value))); + return value; +} + +template void impl_IContact3::TextToneToken(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact3)->put_TextToneToken(get_abi(value))); +} + +template bool impl_IContact3::IsAggregate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContact3)->get_IsAggregate(&value)); + return value; +} + +template hstring impl_IContact3::FullName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_FullName(put_abi(value))); + return value; +} + +template hstring impl_IContact3::DisplayNameOverride() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_DisplayNameOverride(put_abi(value))); + return value; +} + +template void impl_IContact3::DisplayNameOverride(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact3)->put_DisplayNameOverride(get_abi(value))); +} + +template hstring impl_IContact3::Nickname() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_Nickname(put_abi(value))); + return value; +} + +template void impl_IContact3::Nickname(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContact3)->put_Nickname(get_abi(value))); +} + +template hstring impl_IContact3::SortName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContact3)->get_SortName(put_abi(value))); + return value; +} + +template hstring impl_IContactLocationField::UnstructuredAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLocationField)->get_UnstructuredAddress(put_abi(value))); + return value; +} + +template hstring impl_IContactLocationField::Street() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLocationField)->get_Street(put_abi(value))); + return value; +} + +template hstring impl_IContactLocationField::City() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLocationField)->get_City(put_abi(value))); + return value; +} + +template hstring impl_IContactLocationField::Region() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLocationField)->get_Region(put_abi(value))); + return value; +} + +template hstring impl_IContactLocationField::Country() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLocationField)->get_Country(put_abi(value))); + return value; +} + +template hstring impl_IContactLocationField::PostalCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactLocationField)->get_PostalCode(put_abi(value))); + return value; +} + +template hstring impl_IContactInstantMessageField::UserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInstantMessageField)->get_UserName(put_abi(value))); + return value; +} + +template hstring impl_IContactInstantMessageField::Service() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInstantMessageField)->get_Service(put_abi(value))); + return value; +} + +template hstring impl_IContactInstantMessageField::DisplayText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInstantMessageField)->get_DisplayText(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IContactInstantMessageField::LaunchUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IContactInstantMessageField)->get_LaunchUri(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactFieldStatics::Email() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactFieldStatics)->get_Email(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactFieldStatics::PhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactFieldStatics)->get_PhoneNumber(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactFieldStatics::Location() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactFieldStatics)->get_Location(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactFieldStatics::InstantMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactFieldStatics)->get_InstantMessage(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactFieldType impl_IKnownContactFieldStatics::ConvertNameToType(hstring_view name) const +{ + Windows::ApplicationModel::Contacts::ContactFieldType type {}; + check_hresult(WINRT_SHIM(IKnownContactFieldStatics)->abi_ConvertNameToType(get_abi(name), &type)); + return type; +} + +template hstring impl_IKnownContactFieldStatics::ConvertTypeToName(Windows::ApplicationModel::Contacts::ContactFieldType type) const +{ + hstring name; + check_hresult(WINRT_SHIM(IKnownContactFieldStatics)->abi_ConvertTypeToName(type, put_abi(name))); + return name; +} + +template hstring impl_IContactInformation::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInformation)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactInformation::GetThumbnailAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactInformation)->abi_GetThumbnailAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactInformation::Emails() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactInformation)->get_Emails(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactInformation::PhoneNumbers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactInformation)->get_PhoneNumbers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactInformation::Locations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactInformation)->get_Locations(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactInformation::InstantMessages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactInformation)->get_InstantMessages(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactInformation::CustomFields() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactInformation)->get_CustomFields(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IContactInformation::QueryCustomFields(hstring_view customName) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IContactInformation)->abi_QueryCustomFields(get_abi(customName), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::ContactField impl_IContactFieldFactory::CreateField(hstring_view value, Windows::ApplicationModel::Contacts::ContactFieldType type) const +{ + Windows::ApplicationModel::Contacts::ContactField field { nullptr }; + check_hresult(WINRT_SHIM(IContactFieldFactory)->abi_CreateField_Default(get_abi(value), type, put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactField impl_IContactFieldFactory::CreateField(hstring_view value, Windows::ApplicationModel::Contacts::ContactFieldType type, Windows::ApplicationModel::Contacts::ContactFieldCategory category) const +{ + Windows::ApplicationModel::Contacts::ContactField field { nullptr }; + check_hresult(WINRT_SHIM(IContactFieldFactory)->abi_CreateField_Category(get_abi(value), type, category, put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactField impl_IContactFieldFactory::CreateField(hstring_view name, hstring_view value, Windows::ApplicationModel::Contacts::ContactFieldType type, Windows::ApplicationModel::Contacts::ContactFieldCategory category) const +{ + Windows::ApplicationModel::Contacts::ContactField field { nullptr }; + check_hresult(WINRT_SHIM(IContactFieldFactory)->abi_CreateField_Custom(get_abi(name), get_abi(value), type, category, put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactLocationField impl_IContactLocationFieldFactory::CreateLocation(hstring_view unstructuredAddress) const +{ + Windows::ApplicationModel::Contacts::ContactLocationField field { nullptr }; + check_hresult(WINRT_SHIM(IContactLocationFieldFactory)->abi_CreateLocation_Default(get_abi(unstructuredAddress), put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactLocationField impl_IContactLocationFieldFactory::CreateLocation(hstring_view unstructuredAddress, Windows::ApplicationModel::Contacts::ContactFieldCategory category) const +{ + Windows::ApplicationModel::Contacts::ContactLocationField field { nullptr }; + check_hresult(WINRT_SHIM(IContactLocationFieldFactory)->abi_CreateLocation_Category(get_abi(unstructuredAddress), category, put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactLocationField impl_IContactLocationFieldFactory::CreateLocation(hstring_view unstructuredAddress, Windows::ApplicationModel::Contacts::ContactFieldCategory category, hstring_view street, hstring_view city, hstring_view region, hstring_view country, hstring_view postalCode) const +{ + Windows::ApplicationModel::Contacts::ContactLocationField field { nullptr }; + check_hresult(WINRT_SHIM(IContactLocationFieldFactory)->abi_CreateLocation_All(get_abi(unstructuredAddress), category, get_abi(street), get_abi(city), get_abi(region), get_abi(country), get_abi(postalCode), put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactInstantMessageField impl_IContactInstantMessageFieldFactory::CreateInstantMessage(hstring_view userName) const +{ + Windows::ApplicationModel::Contacts::ContactInstantMessageField field { nullptr }; + check_hresult(WINRT_SHIM(IContactInstantMessageFieldFactory)->abi_CreateInstantMessage_Default(get_abi(userName), put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactInstantMessageField impl_IContactInstantMessageFieldFactory::CreateInstantMessage(hstring_view userName, Windows::ApplicationModel::Contacts::ContactFieldCategory category) const +{ + Windows::ApplicationModel::Contacts::ContactInstantMessageField field { nullptr }; + check_hresult(WINRT_SHIM(IContactInstantMessageFieldFactory)->abi_CreateInstantMessage_Category(get_abi(userName), category, put_abi(field))); + return field; +} + +template Windows::ApplicationModel::Contacts::ContactInstantMessageField impl_IContactInstantMessageFieldFactory::CreateInstantMessage(hstring_view userName, Windows::ApplicationModel::Contacts::ContactFieldCategory category, hstring_view service, hstring_view displayText, const Windows::Foundation::Uri & verb) const +{ + Windows::ApplicationModel::Contacts::ContactInstantMessageField field { nullptr }; + check_hresult(WINRT_SHIM(IContactInstantMessageFieldFactory)->abi_CreateInstantMessage_All(get_abi(userName), category, get_abi(service), get_abi(displayText), get_abi(verb), put_abi(field))); + return field; +} + +template Windows::Foundation::Collections::IVector impl_IPinnedContactIdsQueryResult::ContactIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPinnedContactIdsQueryResult)->get_ContactIds(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Contacts::PinnedContactManager impl_IPinnedContactManagerStatics::GetDefault() const +{ + Windows::ApplicationModel::Contacts::PinnedContactManager result { nullptr }; + check_hresult(WINRT_SHIM(IPinnedContactManagerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Contacts::PinnedContactManager impl_IPinnedContactManagerStatics::GetForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::Contacts::PinnedContactManager result { nullptr }; + check_hresult(WINRT_SHIM(IPinnedContactManagerStatics)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template bool impl_IPinnedContactManagerStatics::IsSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPinnedContactManagerStatics)->abi_IsSupported(&result)); + return result; +} + +template Windows::System::User impl_IPinnedContactManager::User() const +{ + Windows::System::User user { nullptr }; + check_hresult(WINRT_SHIM(IPinnedContactManager)->get_User(put_abi(user))); + return user; +} + +template bool impl_IPinnedContactManager::IsPinSurfaceSupported(Windows::ApplicationModel::Contacts::PinnedContactSurface surface) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPinnedContactManager)->abi_IsPinSurfaceSupported(surface, &result)); + return result; +} + +template bool impl_IPinnedContactManager::IsContactPinned(const Windows::ApplicationModel::Contacts::Contact & contact, Windows::ApplicationModel::Contacts::PinnedContactSurface surface) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPinnedContactManager)->abi_IsContactPinned(get_abi(contact), surface, &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPinnedContactManager::RequestPinContactAsync(const Windows::ApplicationModel::Contacts::Contact & contact, Windows::ApplicationModel::Contacts::PinnedContactSurface surface) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPinnedContactManager)->abi_RequestPinContactAsync(get_abi(contact), surface, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPinnedContactManager::RequestPinContactsAsync(iterable contacts, Windows::ApplicationModel::Contacts::PinnedContactSurface surface) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPinnedContactManager)->abi_RequestPinContactsAsync(get_abi(contacts), surface, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPinnedContactManager::RequestUnpinContactAsync(const Windows::ApplicationModel::Contacts::Contact & contact, Windows::ApplicationModel::Contacts::PinnedContactSurface surface) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPinnedContactManager)->abi_RequestUnpinContactAsync(get_abi(contact), surface, put_abi(operation))); + return operation; +} + +template void impl_IPinnedContactManager::SignalContactActivity(const Windows::ApplicationModel::Contacts::Contact & contact) const +{ + check_hresult(WINRT_SHIM(IPinnedContactManager)->abi_SignalContactActivity(get_abi(contact))); +} + +template Windows::Foundation::IAsyncOperation impl_IPinnedContactManager::GetPinnedContactIdsAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPinnedContactManager)->abi_GetPinnedContactIdsAsync(put_abi(operation))); + return operation; +} + +template bool impl_IContactPanelLaunchFullAppRequestedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContactPanelLaunchFullAppRequestedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IContactPanelLaunchFullAppRequestedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IContactPanelLaunchFullAppRequestedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_IContactPanelClosingEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IContactPanelClosingEventArgs)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_IContactPanel::ClosePanel() const +{ + check_hresult(WINRT_SHIM(IContactPanel)->abi_ClosePanel()); +} + +template Windows::Foundation::IReference impl_IContactPanel::HeaderColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContactPanel)->get_HeaderColor(put_abi(value))); + return value; +} + +template void impl_IContactPanel::HeaderColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IContactPanel)->put_HeaderColor(get_abi(value))); +} + +template event_token impl_IContactPanel::LaunchFullAppRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContactPanel)->add_LaunchFullAppRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IContactPanel::LaunchFullAppRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::IContactPanel::remove_LaunchFullAppRequested, LaunchFullAppRequested(handler)); +} + +template void impl_IContactPanel::LaunchFullAppRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IContactPanel)->remove_LaunchFullAppRequested(token)); +} + +template event_token impl_IContactPanel::Closing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContactPanel)->add_Closing(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IContactPanel::Closing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Contacts::IContactPanel::remove_Closing, Closing(handler)); +} + +template void impl_IContactPanel::Closing(event_token token) const +{ + check_hresult(WINRT_SHIM(IContactPanel)->remove_Closing(token)); +} + +inline Contact::Contact() : + Contact(activate_instance()) +{} + +inline ContactAddress::ContactAddress() : + ContactAddress(activate_instance()) +{} + +inline ContactAnnotation::ContactAnnotation() : + ContactAnnotation(activate_instance()) +{} + +inline ContactCardOptions::ContactCardOptions() : + ContactCardOptions(activate_instance()) +{} + +inline ContactConnectedServiceAccount::ContactConnectedServiceAccount() : + ContactConnectedServiceAccount(activate_instance()) +{} + +inline ContactDate::ContactDate() : + ContactDate(activate_instance()) +{} + +inline ContactEmail::ContactEmail() : + ContactEmail(activate_instance()) +{} + +inline ContactField::ContactField(hstring_view value, Windows::ApplicationModel::Contacts::ContactFieldType type) : + ContactField(get_activation_factory().CreateField(value, type)) +{} + +inline ContactField::ContactField(hstring_view value, Windows::ApplicationModel::Contacts::ContactFieldType type, Windows::ApplicationModel::Contacts::ContactFieldCategory category) : + ContactField(get_activation_factory().CreateField(value, type, category)) +{} + +inline ContactField::ContactField(hstring_view name, hstring_view value, Windows::ApplicationModel::Contacts::ContactFieldType type, Windows::ApplicationModel::Contacts::ContactFieldCategory category) : + ContactField(get_activation_factory().CreateField(name, value, type, category)) +{} + +inline ContactFieldFactory::ContactFieldFactory() : + ContactFieldFactory(activate_instance()) +{} + +inline ContactInstantMessageField::ContactInstantMessageField(hstring_view userName) : + ContactInstantMessageField(get_activation_factory().CreateInstantMessage(userName)) +{} + +inline ContactInstantMessageField::ContactInstantMessageField(hstring_view userName, Windows::ApplicationModel::Contacts::ContactFieldCategory category) : + ContactInstantMessageField(get_activation_factory().CreateInstantMessage(userName, category)) +{} + +inline ContactInstantMessageField::ContactInstantMessageField(hstring_view userName, Windows::ApplicationModel::Contacts::ContactFieldCategory category, hstring_view service, hstring_view displayText, const Windows::Foundation::Uri & verb) : + ContactInstantMessageField(get_activation_factory().CreateInstantMessage(userName, category, service, displayText, verb)) +{} + +inline ContactJobInfo::ContactJobInfo() : + ContactJobInfo(activate_instance()) +{} + +inline hstring ContactLaunchActionVerbs::Call() +{ + return get_activation_factory().Call(); +} + +inline hstring ContactLaunchActionVerbs::Message() +{ + return get_activation_factory().Message(); +} + +inline hstring ContactLaunchActionVerbs::Map() +{ + return get_activation_factory().Map(); +} + +inline hstring ContactLaunchActionVerbs::Post() +{ + return get_activation_factory().Post(); +} + +inline hstring ContactLaunchActionVerbs::VideoCall() +{ + return get_activation_factory().VideoCall(); +} + +inline ContactLocationField::ContactLocationField(hstring_view unstructuredAddress) : + ContactLocationField(get_activation_factory().CreateLocation(unstructuredAddress)) +{} + +inline ContactLocationField::ContactLocationField(hstring_view unstructuredAddress, Windows::ApplicationModel::Contacts::ContactFieldCategory category) : + ContactLocationField(get_activation_factory().CreateLocation(unstructuredAddress, category)) +{} + +inline ContactLocationField::ContactLocationField(hstring_view unstructuredAddress, Windows::ApplicationModel::Contacts::ContactFieldCategory category, hstring_view street, hstring_view city, hstring_view region, hstring_view country, hstring_view postalCode) : + ContactLocationField(get_activation_factory().CreateLocation(unstructuredAddress, category, street, city, region, country, postalCode)) +{} + +inline void ContactManager::ShowContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection) +{ + get_activation_factory().ShowContactCard(contact, selection); +} + +inline void ContactManager::ShowContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) +{ + get_activation_factory().ShowContactCard(contact, selection, preferredPlacement); +} + +inline Windows::ApplicationModel::Contacts::ContactCardDelayedDataLoader ContactManager::ShowDelayLoadedContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) +{ + return get_activation_factory().ShowDelayLoadedContactCard(contact, selection, preferredPlacement); +} + +inline Windows::Foundation::IAsyncOperation ContactManager::RequestStoreAsync() +{ + return get_activation_factory().RequestStoreAsync(); +} + +inline Windows::Foundation::IAsyncOperation ContactManager::ConvertContactToVCardAsync(const Windows::ApplicationModel::Contacts::Contact & contact) +{ + return get_activation_factory().ConvertContactToVCardAsync(contact); +} + +inline Windows::Foundation::IAsyncOperation ContactManager::ConvertContactToVCardAsync(const Windows::ApplicationModel::Contacts::Contact & contact, uint32_t maxBytes) +{ + return get_activation_factory().ConvertContactToVCardAsync(contact, maxBytes); +} + +inline Windows::Foundation::IAsyncOperation ContactManager::ConvertVCardToContactAsync(const Windows::Storage::Streams::IRandomAccessStreamReference & vCard) +{ + return get_activation_factory().ConvertVCardToContactAsync(vCard); +} + +inline Windows::Foundation::IAsyncOperation ContactManager::RequestStoreAsync(Windows::ApplicationModel::Contacts::ContactStoreAccessType accessType) +{ + return get_activation_factory().RequestStoreAsync(accessType); +} + +inline Windows::Foundation::IAsyncOperation ContactManager::RequestAnnotationStoreAsync(Windows::ApplicationModel::Contacts::ContactAnnotationStoreAccessType accessType) +{ + return get_activation_factory().RequestAnnotationStoreAsync(accessType); +} + +inline bool ContactManager::IsShowContactCardSupported() +{ + return get_activation_factory().IsShowContactCardSupported(); +} + +inline void ContactManager::ShowContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::ApplicationModel::Contacts::ContactCardOptions & contactCardOptions) +{ + get_activation_factory().ShowContactCard(contact, selection, preferredPlacement, contactCardOptions); +} + +inline bool ContactManager::IsShowDelayLoadedContactCardSupported() +{ + return get_activation_factory().IsShowDelayLoadedContactCardSupported(); +} + +inline Windows::ApplicationModel::Contacts::ContactCardDelayedDataLoader ContactManager::ShowDelayLoadedContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement, const Windows::ApplicationModel::Contacts::ContactCardOptions & contactCardOptions) +{ + return get_activation_factory().ShowDelayLoadedContactCard(contact, selection, preferredPlacement, contactCardOptions); +} + +inline void ContactManager::ShowFullContactCard(const Windows::ApplicationModel::Contacts::Contact & contact, const Windows::ApplicationModel::Contacts::FullContactCardOptions & fullContactCardOptions) +{ + get_activation_factory().ShowFullContactCard(contact, fullContactCardOptions); +} + +inline Windows::ApplicationModel::Contacts::ContactNameOrder ContactManager::SystemDisplayNameOrder() +{ + return get_activation_factory().SystemDisplayNameOrder(); +} + +inline void ContactManager::SystemDisplayNameOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) +{ + get_activation_factory().SystemDisplayNameOrder(value); +} + +inline Windows::ApplicationModel::Contacts::ContactNameOrder ContactManager::SystemSortOrder() +{ + return get_activation_factory().SystemSortOrder(); +} + +inline void ContactManager::SystemSortOrder(Windows::ApplicationModel::Contacts::ContactNameOrder value) +{ + get_activation_factory().SystemSortOrder(value); +} + +inline Windows::ApplicationModel::Contacts::ContactManagerForUser ContactManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline Windows::Foundation::IAsyncOperation ContactManager::IsShowFullContactCardSupportedAsync() +{ + return get_activation_factory().IsShowFullContactCardSupportedAsync(); +} + +inline bool ContactManager::IncludeMiddleNameInSystemDisplayAndSort() +{ + return get_activation_factory().IncludeMiddleNameInSystemDisplayAndSort(); +} + +inline void ContactManager::IncludeMiddleNameInSystemDisplayAndSort(bool value) +{ + get_activation_factory().IncludeMiddleNameInSystemDisplayAndSort(value); +} + +inline ContactPhone::ContactPhone() : + ContactPhone(activate_instance()) +{} + +inline ContactPicker::ContactPicker() : + ContactPicker(activate_instance()) +{} + +inline Windows::ApplicationModel::Contacts::ContactPicker ContactPicker::CreateForUser(const Windows::System::User & user) +{ + return get_activation_factory().CreateForUser(user); +} + +inline Windows::Foundation::IAsyncOperation ContactPicker::IsSupportedAsync() +{ + return get_activation_factory().IsSupportedAsync(); +} + +inline ContactQueryOptions::ContactQueryOptions() : + ContactQueryOptions(activate_instance()) +{} + +inline ContactQueryOptions::ContactQueryOptions(hstring_view text) : + ContactQueryOptions(get_activation_factory().CreateWithText(text)) +{} + +inline ContactQueryOptions::ContactQueryOptions(hstring_view text, Windows::ApplicationModel::Contacts::ContactQuerySearchFields fields) : + ContactQueryOptions(get_activation_factory().CreateWithTextAndFields(text, fields)) +{} + +inline ContactSignificantOther::ContactSignificantOther() : + ContactSignificantOther(activate_instance()) +{} + +inline ContactWebsite::ContactWebsite() : + ContactWebsite(activate_instance()) +{} + +inline FullContactCardOptions::FullContactCardOptions() : + FullContactCardOptions(activate_instance()) +{} + +inline hstring KnownContactField::Email() +{ + return get_activation_factory().Email(); +} + +inline hstring KnownContactField::PhoneNumber() +{ + return get_activation_factory().PhoneNumber(); +} + +inline hstring KnownContactField::Location() +{ + return get_activation_factory().Location(); +} + +inline hstring KnownContactField::InstantMessage() +{ + return get_activation_factory().InstantMessage(); +} + +inline Windows::ApplicationModel::Contacts::ContactFieldType KnownContactField::ConvertNameToType(hstring_view name) +{ + return get_activation_factory().ConvertNameToType(name); +} + +inline hstring KnownContactField::ConvertTypeToName(Windows::ApplicationModel::Contacts::ContactFieldType type) +{ + return get_activation_factory().ConvertTypeToName(type); +} + +inline Windows::ApplicationModel::Contacts::PinnedContactManager PinnedContactManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::ApplicationModel::Contacts::PinnedContactManager PinnedContactManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline bool PinnedContactManager::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IAggregateContactManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IAggregateContactManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContact & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContact2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContact3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactAnnotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactAnnotation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactAnnotationList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactAnnotationStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactAnnotationStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactCardDelayedDataLoader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactCardOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactCardOptions2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactConnectedServiceAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactDate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactEmail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactField & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactFieldFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactInstantMessageField & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactInstantMessageFieldFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactJobInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactLaunchActionVerbsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactList2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactListSyncConstraints & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactListSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactListSyncManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactLocationField & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactLocationFieldFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactManagerForUser2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactManagerStatics5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactMatchReason & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactName & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPanelClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPanelLaunchFullAppRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPhone & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPicker2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPicker3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactPickerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactQueryOptionsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactQueryTextSearch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactSignificantOther & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactSignificantOther2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactStoreNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactWebsite & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IContactWebsite2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IFullContactCardOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IKnownContactFieldStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IPinnedContactIdsQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IPinnedContactManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::IPinnedContactManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::AggregateContactManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::Contact & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactAnnotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactAnnotationList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactAnnotationStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactCardDelayedDataLoader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactCardOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactConnectedServiceAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactDate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactEmail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactField & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactFieldFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactInstantMessageField & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactJobInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactListSyncConstraints & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactListSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactLocationField & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactMatchReason & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactPanelClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactPanelLaunchFullAppRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactPhone & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactQueryTextSearch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactSignificantOther & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactStoreNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::ContactWebsite & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::FullContactCardOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::PinnedContactIdsQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Contacts::PinnedContactManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Core.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Core.h new file mode 100644 index 000000000..7ce3f7984 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Core.h @@ -0,0 +1,1816 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.Core.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Suspending(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Suspending(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Suspending(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Suspending(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Resuming(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Resuming(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Resuming(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resuming(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Run(impl::abi_arg_in viewSource) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Run(*reinterpret_cast(&viewSource)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RunWithActivationFactories(impl::abi_arg_in activationFactoryCallback) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RunWithActivationFactories(*reinterpret_cast(&activationFactoryCallback)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BackgroundActivated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BackgroundActivated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BackgroundActivated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundActivated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LeavingBackground(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LeavingBackground(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LeavingBackground(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeavingBackground(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnteredBackground(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnteredBackground(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnteredBackground(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnteredBackground(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnablePrelaunch(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnablePrelaunch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Exit() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Exit(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Exiting(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Exiting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Exiting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Exiting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_UnhandledErrorDetected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UnhandledErrorDetected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UnhandledErrorDetected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnhandledErrorDetected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IncrementApplicationUseCount() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncrementApplicationUseCount(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DecrementApplicationUseCount() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecrementApplicationUseCount(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CoreWindow(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoreWindow()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Activated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Activated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Activated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Activated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMain(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHosted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHosted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Dispatcher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dispatcher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsComponent(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsComponent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleBar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleBar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HostedViewClosing(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HostedViewClosing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HostedViewClosing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HostedViewClosing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ExtendViewIntoTitleBar(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExtendViewIntoTitleBar(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendViewIntoTitleBar(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendViewIntoTitleBar()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemOverlayLeftInset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemOverlayLeftInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemOverlayRightInset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemOverlayRightInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LayoutMetricsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LayoutMetricsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LayoutMetricsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LayoutMetricsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsVisibleChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsVisibleChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsVisibleChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVisibleChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Views(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Views()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateNewView(impl::abi_arg_in runtimeType, impl::abi_arg_in entryPoint, impl::abi_arg_out view) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *view = detach_abi(this->shim().CreateNewView(*reinterpret_cast(&runtimeType), *reinterpret_cast(&entryPoint))); + return S_OK; + } + catch (...) + { + *view = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MainView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MainView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateNewViewFromMainView(impl::abi_arg_out view) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *view = detach_abi(this->shim().CreateNewView()); + return S_OK; + } + catch (...) + { + *view = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateNewViewWithViewSource(impl::abi_arg_in viewSource, impl::abi_arg_out view) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *view = detach_abi(this->shim().CreateNewView(*reinterpret_cast(&viewSource))); + return S_OK; + } + catch (...) + { + *view = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Initialize(impl::abi_arg_in applicationView) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Initialize(*reinterpret_cast(&applicationView)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetWindow(impl::abi_arg_in window) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetWindow(*reinterpret_cast(&window)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Load(impl::abi_arg_in entryPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Load(*reinterpret_cast(&entryPoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Run() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Run(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Uninitialize() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Uninitialize(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateView(impl::abi_arg_out viewProvider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *viewProvider = detach_abi(this->shim().CreateView()); + return S_OK; + } + catch (...) + { + *viewProvider = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Propagate() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Propagate(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UnhandledError(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnhandledError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Core { + +template Windows::ApplicationModel::AppDisplayInfo impl_IAppListEntry::DisplayInfo() const +{ + Windows::ApplicationModel::AppDisplayInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAppListEntry)->get_DisplayInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAppListEntry::LaunchAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppListEntry)->abi_LaunchAsync(put_abi(operation))); + return operation; +} + +template void impl_IFrameworkView::Initialize(const Windows::ApplicationModel::Core::CoreApplicationView & applicationView) const +{ + check_hresult(WINRT_SHIM(IFrameworkView)->abi_Initialize(get_abi(applicationView))); +} + +template void impl_IFrameworkView::SetWindow(const Windows::UI::Core::CoreWindow & window) const +{ + check_hresult(WINRT_SHIM(IFrameworkView)->abi_SetWindow(get_abi(window))); +} + +template void impl_IFrameworkView::Load(hstring_view entryPoint) const +{ + check_hresult(WINRT_SHIM(IFrameworkView)->abi_Load(get_abi(entryPoint))); +} + +template void impl_IFrameworkView::Run() const +{ + check_hresult(WINRT_SHIM(IFrameworkView)->abi_Run()); +} + +template void impl_IFrameworkView::Uninitialize() const +{ + check_hresult(WINRT_SHIM(IFrameworkView)->abi_Uninitialize()); +} + +template Windows::ApplicationModel::Core::IFrameworkView impl_IFrameworkViewSource::CreateView() const +{ + Windows::ApplicationModel::Core::IFrameworkView viewProvider; + check_hresult(WINRT_SHIM(IFrameworkViewSource)->abi_CreateView(put_abi(viewProvider))); + return viewProvider; +} + +template hstring impl_ICoreApplication::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreApplication)->get_Id(put_abi(value))); + return value; +} + +template event_token impl_ICoreApplication::Suspending(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplication)->add_Suspending(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplication::Suspending(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplication::remove_Suspending, Suspending(handler)); +} + +template void impl_ICoreApplication::Suspending(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplication)->remove_Suspending(token)); +} + +template event_token impl_ICoreApplication::Resuming(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplication)->add_Resuming(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplication::Resuming(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplication::remove_Resuming, Resuming(handler)); +} + +template void impl_ICoreApplication::Resuming(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplication)->remove_Resuming(token)); +} + +template Windows::Foundation::Collections::IPropertySet impl_ICoreApplication::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(ICoreApplication)->get_Properties(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Core::CoreApplicationView impl_ICoreApplication::GetCurrentView() const +{ + Windows::ApplicationModel::Core::CoreApplicationView value { nullptr }; + check_hresult(WINRT_SHIM(ICoreApplication)->abi_GetCurrentView(put_abi(value))); + return value; +} + +template void impl_ICoreApplication::Run(const Windows::ApplicationModel::Core::IFrameworkViewSource & viewSource) const +{ + check_hresult(WINRT_SHIM(ICoreApplication)->abi_Run(get_abi(viewSource))); +} + +template void impl_ICoreApplication::RunWithActivationFactories(const Windows::Foundation::IGetActivationFactory & activationFactoryCallback) const +{ + check_hresult(WINRT_SHIM(ICoreApplication)->abi_RunWithActivationFactories(get_abi(activationFactoryCallback))); +} + +template void impl_ICoreApplicationUseCount::IncrementApplicationUseCount() const +{ + check_hresult(WINRT_SHIM(ICoreApplicationUseCount)->abi_IncrementApplicationUseCount()); +} + +template void impl_ICoreApplicationUseCount::DecrementApplicationUseCount() const +{ + check_hresult(WINRT_SHIM(ICoreApplicationUseCount)->abi_DecrementApplicationUseCount()); +} + +template void impl_ICoreApplicationExit::Exit() const +{ + check_hresult(WINRT_SHIM(ICoreApplicationExit)->abi_Exit()); +} + +template event_token impl_ICoreApplicationExit::Exiting(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplicationExit)->add_Exiting(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplicationExit::Exiting(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplicationExit::remove_Exiting, Exiting(handler)); +} + +template void impl_ICoreApplicationExit::Exiting(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplicationExit)->remove_Exiting(token)); +} + +template event_token impl_ICoreApplication2::BackgroundActivated(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplication2)->add_BackgroundActivated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplication2::BackgroundActivated(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplication2::remove_BackgroundActivated, BackgroundActivated(handler)); +} + +template void impl_ICoreApplication2::BackgroundActivated(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplication2)->remove_BackgroundActivated(token)); +} + +template event_token impl_ICoreApplication2::LeavingBackground(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplication2)->add_LeavingBackground(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplication2::LeavingBackground(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplication2::remove_LeavingBackground, LeavingBackground(handler)); +} + +template void impl_ICoreApplication2::LeavingBackground(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplication2)->remove_LeavingBackground(token)); +} + +template event_token impl_ICoreApplication2::EnteredBackground(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplication2)->add_EnteredBackground(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplication2::EnteredBackground(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplication2::remove_EnteredBackground, EnteredBackground(handler)); +} + +template void impl_ICoreApplication2::EnteredBackground(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplication2)->remove_EnteredBackground(token)); +} + +template void impl_ICoreApplication2::EnablePrelaunch(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreApplication2)->abi_EnablePrelaunch(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_ICoreImmersiveApplication::Views() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICoreImmersiveApplication)->get_Views(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Core::CoreApplicationView impl_ICoreImmersiveApplication::CreateNewView(hstring_view runtimeType, hstring_view entryPoint) const +{ + Windows::ApplicationModel::Core::CoreApplicationView view { nullptr }; + check_hresult(WINRT_SHIM(ICoreImmersiveApplication)->abi_CreateNewView(get_abi(runtimeType), get_abi(entryPoint), put_abi(view))); + return view; +} + +template Windows::ApplicationModel::Core::CoreApplicationView impl_ICoreImmersiveApplication::MainView() const +{ + Windows::ApplicationModel::Core::CoreApplicationView value { nullptr }; + check_hresult(WINRT_SHIM(ICoreImmersiveApplication)->get_MainView(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Core::CoreApplicationView impl_ICoreImmersiveApplication2::CreateNewView() const +{ + Windows::ApplicationModel::Core::CoreApplicationView view { nullptr }; + check_hresult(WINRT_SHIM(ICoreImmersiveApplication2)->abi_CreateNewViewFromMainView(put_abi(view))); + return view; +} + +template Windows::ApplicationModel::Core::CoreApplicationView impl_ICoreImmersiveApplication3::CreateNewView(const Windows::ApplicationModel::Core::IFrameworkViewSource & viewSource) const +{ + Windows::ApplicationModel::Core::CoreApplicationView view { nullptr }; + check_hresult(WINRT_SHIM(ICoreImmersiveApplication3)->abi_CreateNewViewWithViewSource(get_abi(viewSource), put_abi(view))); + return view; +} + +template event_token impl_ICoreApplicationUnhandledError::UnhandledErrorDetected(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplicationUnhandledError)->add_UnhandledErrorDetected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplicationUnhandledError::UnhandledErrorDetected(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplicationUnhandledError::remove_UnhandledErrorDetected, UnhandledErrorDetected(handler)); +} + +template void impl_ICoreApplicationUnhandledError::UnhandledErrorDetected(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplicationUnhandledError)->remove_UnhandledErrorDetected(token)); +} + +template Windows::UI::Core::CoreWindow impl_ICoreApplicationView::CoreWindow() const +{ + Windows::UI::Core::CoreWindow value { nullptr }; + check_hresult(WINRT_SHIM(ICoreApplicationView)->get_CoreWindow(put_abi(value))); + return value; +} + +template event_token impl_ICoreApplicationView::Activated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplicationView)->add_Activated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplicationView::Activated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplicationView::remove_Activated, Activated(handler)); +} + +template void impl_ICoreApplicationView::Activated(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplicationView)->remove_Activated(token)); +} + +template bool impl_ICoreApplicationView::IsMain() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreApplicationView)->get_IsMain(&value)); + return value; +} + +template bool impl_ICoreApplicationView::IsHosted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreApplicationView)->get_IsHosted(&value)); + return value; +} + +template Windows::UI::Core::CoreDispatcher impl_ICoreApplicationView2::Dispatcher() const +{ + Windows::UI::Core::CoreDispatcher value { nullptr }; + check_hresult(WINRT_SHIM(ICoreApplicationView2)->get_Dispatcher(put_abi(value))); + return value; +} + +template bool impl_ICoreApplicationView3::IsComponent() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreApplicationView3)->get_IsComponent(&value)); + return value; +} + +template Windows::ApplicationModel::Core::CoreApplicationViewTitleBar impl_ICoreApplicationView3::TitleBar() const +{ + Windows::ApplicationModel::Core::CoreApplicationViewTitleBar value { nullptr }; + check_hresult(WINRT_SHIM(ICoreApplicationView3)->get_TitleBar(put_abi(value))); + return value; +} + +template event_token impl_ICoreApplicationView3::HostedViewClosing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplicationView3)->add_HostedViewClosing(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplicationView3::HostedViewClosing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplicationView3::remove_HostedViewClosing, HostedViewClosing(handler)); +} + +template void impl_ICoreApplicationView3::HostedViewClosing(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplicationView3)->remove_HostedViewClosing(token)); +} + +template Windows::Foundation::Collections::IPropertySet impl_ICoreApplicationView5::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(ICoreApplicationView5)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IHostedViewClosingEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IHostedViewClosingEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template void impl_ICoreApplicationViewTitleBar::ExtendViewIntoTitleBar(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->put_ExtendViewIntoTitleBar(value)); +} + +template bool impl_ICoreApplicationViewTitleBar::ExtendViewIntoTitleBar() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->get_ExtendViewIntoTitleBar(&value)); + return value; +} + +template double impl_ICoreApplicationViewTitleBar::SystemOverlayLeftInset() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->get_SystemOverlayLeftInset(&value)); + return value; +} + +template double impl_ICoreApplicationViewTitleBar::SystemOverlayRightInset() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->get_SystemOverlayRightInset(&value)); + return value; +} + +template double impl_ICoreApplicationViewTitleBar::Height() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->get_Height(&value)); + return value; +} + +template event_token impl_ICoreApplicationViewTitleBar::LayoutMetricsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->add_LayoutMetricsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplicationViewTitleBar::LayoutMetricsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplicationViewTitleBar::remove_LayoutMetricsChanged, LayoutMetricsChanged(handler)); +} + +template void impl_ICoreApplicationViewTitleBar::LayoutMetricsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->remove_LayoutMetricsChanged(token)); +} + +template bool impl_ICoreApplicationViewTitleBar::IsVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->get_IsVisible(&value)); + return value; +} + +template event_token impl_ICoreApplicationViewTitleBar::IsVisibleChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->add_IsVisibleChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICoreApplicationViewTitleBar::IsVisibleChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Core::ICoreApplicationViewTitleBar::remove_IsVisibleChanged, IsVisibleChanged(handler)); +} + +template void impl_ICoreApplicationViewTitleBar::IsVisibleChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ICoreApplicationViewTitleBar)->remove_IsVisibleChanged(token)); +} + +template Windows::ApplicationModel::Core::UnhandledError impl_IUnhandledErrorDetectedEventArgs::UnhandledError() const +{ + Windows::ApplicationModel::Core::UnhandledError value { nullptr }; + check_hresult(WINRT_SHIM(IUnhandledErrorDetectedEventArgs)->get_UnhandledError(put_abi(value))); + return value; +} + +template bool impl_IUnhandledError::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnhandledError)->get_Handled(&value)); + return value; +} + +template void impl_IUnhandledError::Propagate() const +{ + check_hresult(WINRT_SHIM(IUnhandledError)->abi_Propagate()); +} + +inline hstring CoreApplication::Id() +{ + return get_activation_factory().Id(); +} + +inline event_token CoreApplication::Suspending(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().Suspending(handler); +} + +inline factory_event_revoker CoreApplication::Suspending(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Core::ICoreApplication::remove_Suspending, factory.Suspending(handler) }; +} + +inline void CoreApplication::Suspending(event_token token) +{ + get_activation_factory().Suspending(token); +} + +inline event_token CoreApplication::Resuming(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().Resuming(handler); +} + +inline factory_event_revoker CoreApplication::Resuming(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Core::ICoreApplication::remove_Resuming, factory.Resuming(handler) }; +} + +inline void CoreApplication::Resuming(event_token token) +{ + get_activation_factory().Resuming(token); +} + +inline Windows::Foundation::Collections::IPropertySet CoreApplication::Properties() +{ + return get_activation_factory().Properties(); +} + +inline Windows::ApplicationModel::Core::CoreApplicationView CoreApplication::GetCurrentView() +{ + return get_activation_factory().GetCurrentView(); +} + +inline void CoreApplication::Run(const Windows::ApplicationModel::Core::IFrameworkViewSource & viewSource) +{ + get_activation_factory().Run(viewSource); +} + +inline void CoreApplication::RunWithActivationFactories(const Windows::Foundation::IGetActivationFactory & activationFactoryCallback) +{ + get_activation_factory().RunWithActivationFactories(activationFactoryCallback); +} + +inline event_token CoreApplication::BackgroundActivated(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().BackgroundActivated(handler); +} + +inline factory_event_revoker CoreApplication::BackgroundActivated(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Core::ICoreApplication2::remove_BackgroundActivated, factory.BackgroundActivated(handler) }; +} + +inline void CoreApplication::BackgroundActivated(event_token token) +{ + get_activation_factory().BackgroundActivated(token); +} + +inline event_token CoreApplication::LeavingBackground(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().LeavingBackground(handler); +} + +inline factory_event_revoker CoreApplication::LeavingBackground(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Core::ICoreApplication2::remove_LeavingBackground, factory.LeavingBackground(handler) }; +} + +inline void CoreApplication::LeavingBackground(event_token token) +{ + get_activation_factory().LeavingBackground(token); +} + +inline event_token CoreApplication::EnteredBackground(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().EnteredBackground(handler); +} + +inline factory_event_revoker CoreApplication::EnteredBackground(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Core::ICoreApplication2::remove_EnteredBackground, factory.EnteredBackground(handler) }; +} + +inline void CoreApplication::EnteredBackground(event_token token) +{ + get_activation_factory().EnteredBackground(token); +} + +inline void CoreApplication::EnablePrelaunch(bool value) +{ + get_activation_factory().EnablePrelaunch(value); +} + +inline void CoreApplication::Exit() +{ + get_activation_factory().Exit(); +} + +inline event_token CoreApplication::Exiting(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().Exiting(handler); +} + +inline factory_event_revoker CoreApplication::Exiting(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Core::ICoreApplicationExit::remove_Exiting, factory.Exiting(handler) }; +} + +inline void CoreApplication::Exiting(event_token token) +{ + get_activation_factory().Exiting(token); +} + +inline event_token CoreApplication::UnhandledErrorDetected(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().UnhandledErrorDetected(handler); +} + +inline factory_event_revoker CoreApplication::UnhandledErrorDetected(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::Core::ICoreApplicationUnhandledError::remove_UnhandledErrorDetected, factory.UnhandledErrorDetected(handler) }; +} + +inline void CoreApplication::UnhandledErrorDetected(event_token token) +{ + get_activation_factory().UnhandledErrorDetected(token); +} + +inline void CoreApplication::IncrementApplicationUseCount() +{ + get_activation_factory().IncrementApplicationUseCount(); +} + +inline void CoreApplication::DecrementApplicationUseCount() +{ + get_activation_factory().DecrementApplicationUseCount(); +} + +inline Windows::Foundation::Collections::IVectorView CoreApplication::Views() +{ + return get_activation_factory().Views(); +} + +inline Windows::ApplicationModel::Core::CoreApplicationView CoreApplication::CreateNewView(hstring_view runtimeType, hstring_view entryPoint) +{ + return get_activation_factory().CreateNewView(runtimeType, entryPoint); +} + +inline Windows::ApplicationModel::Core::CoreApplicationView CoreApplication::MainView() +{ + return get_activation_factory().MainView(); +} + +inline Windows::ApplicationModel::Core::CoreApplicationView CoreApplication::CreateNewView() +{ + return get_activation_factory().CreateNewView(); +} + +inline Windows::ApplicationModel::Core::CoreApplicationView CoreApplication::CreateNewView(const Windows::ApplicationModel::Core::IFrameworkViewSource & viewSource) +{ + return get_activation_factory().CreateNewView(viewSource); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::IAppListEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplication & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplication2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationExit & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationUnhandledError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationUseCount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationView2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationView3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationView5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreApplicationViewTitleBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreImmersiveApplication & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreImmersiveApplication2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::ICoreImmersiveApplication3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::IFrameworkView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::IFrameworkViewSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::IHostedViewClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::IUnhandledError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::IUnhandledErrorDetectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::AppListEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::CoreApplicationView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::CoreApplicationViewTitleBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::HostedViewClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::UnhandledError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Core::UnhandledErrorDetectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.DragDrop.Core.h b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.DragDrop.Core.h new file mode 100644 index 000000000..ce91cabbe --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.DragDrop.Core.h @@ -0,0 +1,897 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.DataTransfer.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.DragDrop.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.DragDrop.Core.3.h" +#include "Windows.ApplicationModel.DataTransfer.DragDrop.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_TargetRequested(impl::abi_arg_in> value, event_token * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TargetRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TargetRequested(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetRequested(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AreConcurrentOperationsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreConcurrentOperationsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreConcurrentOperationsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreConcurrentOperationsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Modifiers(Windows::ApplicationModel::DataTransfer::DragDrop::DragDropModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Modifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowedOperations(Windows::ApplicationModel::DataTransfer::DataPackageOperation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedOperations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPointerId(uint32_t pointerId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPointerId(pointerId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDragUIContentFromSoftwareBitmap(impl::abi_arg_in softwareBitmap) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDragUIContentFromSoftwareBitmap(*reinterpret_cast(&softwareBitmap)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDragUIContentFromSoftwareBitmapWithAnchorPoint(impl::abi_arg_in softwareBitmap, impl::abi_arg_in anchorPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDragUIContentFromSoftwareBitmap(*reinterpret_cast(&softwareBitmap), *reinterpret_cast(&anchorPoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragUIContentMode(Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIContentMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragUIContentMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DragUIContentMode(Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIContentMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragUIContentMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowedOperations(Windows::ApplicationModel::DataTransfer::DataPackageOperation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedOperations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowedOperations(Windows::ApplicationModel::DataTransfer::DataPackageOperation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowedOperations(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetContentFromSoftwareBitmap(impl::abi_arg_in softwareBitmap) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetContentFromSoftwareBitmap(*reinterpret_cast(&softwareBitmap)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetContentFromSoftwareBitmapWithAnchorPoint(impl::abi_arg_in softwareBitmap, impl::abi_arg_in anchorPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetContentFromSoftwareBitmap(*reinterpret_cast(&softwareBitmap), *reinterpret_cast(&anchorPoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsContentVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContentVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsContentVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsContentVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Caption(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Caption()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Caption(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Caption(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCaptionVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCaptionVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCaptionVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCaptionVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGlyphVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGlyphVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsGlyphVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsGlyphVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_EnterAsync(impl::abi_arg_in dragInfo, impl::abi_arg_in dragUIOverride, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().EnterAsync(*reinterpret_cast(&dragInfo), *reinterpret_cast(&dragUIOverride))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OverAsync(impl::abi_arg_in dragInfo, impl::abi_arg_in dragUIOverride, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().OverAsync(*reinterpret_cast(&dragInfo), *reinterpret_cast(&dragUIOverride))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LeaveAsync(impl::abi_arg_in dragInfo, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().LeaveAsync(*reinterpret_cast(&dragInfo))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DropAsync(impl::abi_arg_in dragInfo, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().DropAsync(*reinterpret_cast(&dragInfo))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetTarget(impl::abi_arg_in target) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetTarget(*reinterpret_cast(&target)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::DataTransfer::DragDrop::Core { + +template Windows::ApplicationModel::DataTransfer::DataPackageView impl_ICoreDragInfo::Data() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageView value { nullptr }; + check_hresult(WINRT_SHIM(ICoreDragInfo)->get_Data(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DragDrop::DragDropModifiers impl_ICoreDragInfo::Modifiers() const +{ + Windows::ApplicationModel::DataTransfer::DragDrop::DragDropModifiers value {}; + check_hresult(WINRT_SHIM(ICoreDragInfo)->get_Modifiers(&value)); + return value; +} + +template Windows::Foundation::Point impl_ICoreDragInfo::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(ICoreDragInfo)->get_Position(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageOperation impl_ICoreDragInfo2::AllowedOperations() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageOperation value {}; + check_hresult(WINRT_SHIM(ICoreDragInfo2)->get_AllowedOperations(&value)); + return value; +} + +template void impl_ICoreDragUIOverride::SetContentFromSoftwareBitmap(const Windows::Graphics::Imaging::SoftwareBitmap & softwareBitmap) const +{ + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->abi_SetContentFromSoftwareBitmap(get_abi(softwareBitmap))); +} + +template void impl_ICoreDragUIOverride::SetContentFromSoftwareBitmap(const Windows::Graphics::Imaging::SoftwareBitmap & softwareBitmap, const Windows::Foundation::Point & anchorPoint) const +{ + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->abi_SetContentFromSoftwareBitmapWithAnchorPoint(get_abi(softwareBitmap), get_abi(anchorPoint))); +} + +template bool impl_ICoreDragUIOverride::IsContentVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->get_IsContentVisible(&value)); + return value; +} + +template void impl_ICoreDragUIOverride::IsContentVisible(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->put_IsContentVisible(value)); +} + +template hstring impl_ICoreDragUIOverride::Caption() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->get_Caption(put_abi(value))); + return value; +} + +template void impl_ICoreDragUIOverride::Caption(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->put_Caption(get_abi(value))); +} + +template bool impl_ICoreDragUIOverride::IsCaptionVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->get_IsCaptionVisible(&value)); + return value; +} + +template void impl_ICoreDragUIOverride::IsCaptionVisible(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->put_IsCaptionVisible(value)); +} + +template bool impl_ICoreDragUIOverride::IsGlyphVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->get_IsGlyphVisible(&value)); + return value; +} + +template void impl_ICoreDragUIOverride::IsGlyphVisible(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->put_IsGlyphVisible(value)); +} + +template void impl_ICoreDragUIOverride::Clear() const +{ + check_hresult(WINRT_SHIM(ICoreDragUIOverride)->abi_Clear()); +} + +template Windows::Foundation::IAsyncOperation impl_ICoreDropOperationTarget::EnterAsync(const Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragInfo & dragInfo, const Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIOverride & dragUIOverride) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(ICoreDropOperationTarget)->abi_EnterAsync(get_abi(dragInfo), get_abi(dragUIOverride), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_ICoreDropOperationTarget::OverAsync(const Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragInfo & dragInfo, const Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIOverride & dragUIOverride) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(ICoreDropOperationTarget)->abi_OverAsync(get_abi(dragInfo), get_abi(dragUIOverride), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncAction impl_ICoreDropOperationTarget::LeaveAsync(const Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragInfo & dragInfo) const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(ICoreDropOperationTarget)->abi_LeaveAsync(get_abi(dragInfo), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_ICoreDropOperationTarget::DropAsync(const Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragInfo & dragInfo) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(ICoreDropOperationTarget)->abi_DropAsync(get_abi(dragInfo), put_abi(returnValue))); + return returnValue; +} + +template Windows::ApplicationModel::DataTransfer::DataPackage impl_ICoreDragOperation::Data() const +{ + Windows::ApplicationModel::DataTransfer::DataPackage value { nullptr }; + check_hresult(WINRT_SHIM(ICoreDragOperation)->get_Data(put_abi(value))); + return value; +} + +template void impl_ICoreDragOperation::SetPointerId(uint32_t pointerId) const +{ + check_hresult(WINRT_SHIM(ICoreDragOperation)->abi_SetPointerId(pointerId)); +} + +template void impl_ICoreDragOperation::SetDragUIContentFromSoftwareBitmap(const Windows::Graphics::Imaging::SoftwareBitmap & softwareBitmap) const +{ + check_hresult(WINRT_SHIM(ICoreDragOperation)->abi_SetDragUIContentFromSoftwareBitmap(get_abi(softwareBitmap))); +} + +template void impl_ICoreDragOperation::SetDragUIContentFromSoftwareBitmap(const Windows::Graphics::Imaging::SoftwareBitmap & softwareBitmap, const Windows::Foundation::Point & anchorPoint) const +{ + check_hresult(WINRT_SHIM(ICoreDragOperation)->abi_SetDragUIContentFromSoftwareBitmapWithAnchorPoint(get_abi(softwareBitmap), get_abi(anchorPoint))); +} + +template Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIContentMode impl_ICoreDragOperation::DragUIContentMode() const +{ + Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIContentMode value {}; + check_hresult(WINRT_SHIM(ICoreDragOperation)->get_DragUIContentMode(&value)); + return value; +} + +template void impl_ICoreDragOperation::DragUIContentMode(Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIContentMode value) const +{ + check_hresult(WINRT_SHIM(ICoreDragOperation)->put_DragUIContentMode(value)); +} + +template Windows::Foundation::IAsyncOperation impl_ICoreDragOperation::StartAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICoreDragOperation)->abi_StartAsync(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageOperation impl_ICoreDragOperation2::AllowedOperations() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageOperation value {}; + check_hresult(WINRT_SHIM(ICoreDragOperation2)->get_AllowedOperations(&value)); + return value; +} + +template void impl_ICoreDragOperation2::AllowedOperations(Windows::ApplicationModel::DataTransfer::DataPackageOperation value) const +{ + check_hresult(WINRT_SHIM(ICoreDragOperation2)->put_AllowedOperations(value)); +} + +template Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragDropManager impl_ICoreDragDropManagerStatics::GetForCurrentView() const +{ + Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragDropManager value { nullptr }; + check_hresult(WINRT_SHIM(ICoreDragDropManagerStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template event_token impl_ICoreDragDropManager::TargetRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token returnValue {}; + check_hresult(WINRT_SHIM(ICoreDragDropManager)->add_TargetRequested(get_abi(value), &returnValue)); + return returnValue; +} + +template event_revoker impl_ICoreDragDropManager::TargetRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragDropManager::remove_TargetRequested, TargetRequested(value)); +} + +template void impl_ICoreDragDropManager::TargetRequested(event_token value) const +{ + check_hresult(WINRT_SHIM(ICoreDragDropManager)->remove_TargetRequested(value)); +} + +template bool impl_ICoreDragDropManager::AreConcurrentOperationsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreDragDropManager)->get_AreConcurrentOperationsEnabled(&value)); + return value; +} + +template void impl_ICoreDragDropManager::AreConcurrentOperationsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreDragDropManager)->put_AreConcurrentOperationsEnabled(value)); +} + +template void impl_ICoreDropOperationTargetRequestedEventArgs::SetTarget(const Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDropOperationTarget & target) const +{ + check_hresult(WINRT_SHIM(ICoreDropOperationTargetRequestedEventArgs)->abi_SetTarget(get_abi(target))); +} + +inline Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragDropManager CoreDragDropManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline CoreDragOperation::CoreDragOperation() : + CoreDragOperation(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragDropManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragDropManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragInfo2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragOperation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDragUIOverride & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDropOperationTarget & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::ICoreDropOperationTargetRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragDropManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDragUIOverride & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DragDrop::Core::CoreDropOperationTargetRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.DragDrop.h b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.DragDrop.h new file mode 100644 index 000000000..c9bf58d28 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.DragDrop.h @@ -0,0 +1,20 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.DataTransfer.DragDrop.3.h" +#include "Windows.ApplicationModel.DataTransfer.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +} + +} + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.ShareTarget.h b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.ShareTarget.h new file mode 100644 index 000000000..f43351bb2 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.ShareTarget.h @@ -0,0 +1,451 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.ShareTarget.3.h" +#include "Windows.ApplicationModel.DataTransfer.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedDataFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedDataFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedFileTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedFileTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QuickLinkId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QuickLinkId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveThisQuickLink() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveThisQuickLink(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportStarted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportStarted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportDataRetrieved() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportDataRetrieved(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportSubmittedBackgroundTask() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportSubmittedBackgroundTask(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedWithQuickLink(impl::abi_arg_in quicklink) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(*reinterpret_cast(&quicklink)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportError(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportError(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DismissUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::DataTransfer::ShareTarget { + +template hstring impl_IQuickLink::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IQuickLink)->get_Title(put_abi(value))); + return value; +} + +template void impl_IQuickLink::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IQuickLink)->put_Title(get_abi(value))); +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IQuickLink::Thumbnail() const +{ + Windows::Storage::Streams::RandomAccessStreamReference value { nullptr }; + check_hresult(WINRT_SHIM(IQuickLink)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_IQuickLink::Thumbnail(const Windows::Storage::Streams::RandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IQuickLink)->put_Thumbnail(get_abi(value))); +} + +template hstring impl_IQuickLink::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IQuickLink)->get_Id(put_abi(value))); + return value; +} + +template void impl_IQuickLink::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IQuickLink)->put_Id(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IQuickLink::SupportedDataFormats() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IQuickLink)->get_SupportedDataFormats(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IQuickLink::SupportedFileTypes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IQuickLink)->get_SupportedFileTypes(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageView impl_IShareOperation::Data() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageView value { nullptr }; + check_hresult(WINRT_SHIM(IShareOperation)->get_Data(put_abi(value))); + return value; +} + +template hstring impl_IShareOperation::QuickLinkId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IShareOperation)->get_QuickLinkId(put_abi(value))); + return value; +} + +template void impl_IShareOperation::RemoveThisQuickLink() const +{ + check_hresult(WINRT_SHIM(IShareOperation)->abi_RemoveThisQuickLink()); +} + +template void impl_IShareOperation::ReportStarted() const +{ + check_hresult(WINRT_SHIM(IShareOperation)->abi_ReportStarted()); +} + +template void impl_IShareOperation::ReportDataRetrieved() const +{ + check_hresult(WINRT_SHIM(IShareOperation)->abi_ReportDataRetrieved()); +} + +template void impl_IShareOperation::ReportSubmittedBackgroundTask() const +{ + check_hresult(WINRT_SHIM(IShareOperation)->abi_ReportSubmittedBackgroundTask()); +} + +template void impl_IShareOperation::ReportCompleted(const Windows::ApplicationModel::DataTransfer::ShareTarget::QuickLink & quicklink) const +{ + check_hresult(WINRT_SHIM(IShareOperation)->abi_ReportCompletedWithQuickLink(get_abi(quicklink))); +} + +template void impl_IShareOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IShareOperation)->abi_ReportCompleted()); +} + +template void impl_IShareOperation::ReportError(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IShareOperation)->abi_ReportError(get_abi(value))); +} + +template void impl_IShareOperation2::DismissUI() const +{ + check_hresult(WINRT_SHIM(IShareOperation2)->abi_DismissUI()); +} + +inline QuickLink::QuickLink() : + QuickLink(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareTarget::IQuickLink & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareTarget::IShareOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareTarget::IShareOperation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareTarget::QuickLink & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareTarget::ShareOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.h b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.h new file mode 100644 index 000000000..5ff8f9ed9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.DataTransfer.h @@ -0,0 +1,3669 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Security.EnterpriseData.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.3.h" +#include "Windows.ApplicationModel.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::ApplicationModel::DataTransfer { + +template DataProviderHandler::DataProviderHandler(L lambda) : + DataProviderHandler(impl::make_delegate, DataProviderHandler>(std::forward(lambda))) +{} + +template DataProviderHandler::DataProviderHandler(F * function) : + DataProviderHandler([=](auto && ... args) { function(args ...); }) +{} + +template DataProviderHandler::DataProviderHandler(O * object, M method) : + DataProviderHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DataProviderHandler::operator()(const Windows::ApplicationModel::DataTransfer::DataProviderRequest & request) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(request))); +} + +template ShareProviderHandler::ShareProviderHandler(L lambda) : + ShareProviderHandler(impl::make_delegate, ShareProviderHandler>(std::forward(lambda))) +{} + +template ShareProviderHandler::ShareProviderHandler(F * function) : + ShareProviderHandler([=](auto && ... args) { function(args ...); }) +{} + +template ShareProviderHandler::ShareProviderHandler(O * object, M method) : + ShareProviderHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ShareProviderHandler::operator()(const Windows::ApplicationModel::DataTransfer::ShareProviderOperation & operation) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(operation))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetContent(impl::abi_arg_out content) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *content = detach_abi(this->shim().GetContent()); + return S_OK; + } + catch (...) + { + *content = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetContent(impl::abi_arg_in content) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetContent(*reinterpret_cast(&content)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Flush() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Flush(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContentChanged(impl::abi_arg_in> changeHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContentChanged(*reinterpret_cast *>(&changeHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContentChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestedOperation(Windows::ApplicationModel::DataTransfer::DataPackageOperation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedOperation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequestedOperation(Windows::ApplicationModel::DataTransfer::DataPackageOperation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestedOperation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OperationCompleted(impl::abi_arg_in> handler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().OperationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OperationCompleted(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OperationCompleted(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Destroyed(impl::abi_arg_in> handler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Destroyed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Destroyed(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Destroyed(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetData(impl::abi_arg_in formatId, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetData(*reinterpret_cast(&formatId), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDataProvider(impl::abi_arg_in formatId, impl::abi_arg_in delayRenderer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDataProvider(*reinterpret_cast(&formatId), *reinterpret_cast(&delayRenderer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetHtmlFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHtmlFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceMap(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceMap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRtf(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRtf(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBitmap(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBitmap(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStorageItemsReadOnly(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStorageItems(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStorageItems(impl::abi_arg_in> value, bool readOnly) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStorageItems(*reinterpret_cast *>(&value), readOnly); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetApplicationLink(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetApplicationLink(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetWebLink(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetWebLink(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ShareCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ShareCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ShareCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShareCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ApplicationName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplicationName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationListingUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationListingUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ApplicationListingUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplicationListingUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentSourceWebLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentSourceWebLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentSourceWebLink(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentSourceWebLink(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentSourceApplicationLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentSourceApplicationLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentSourceApplicationLink(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentSourceApplicationLink(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PackageFamilyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageFamilyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square30x30Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square30x30Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Square30x30Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Square30x30Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogoBackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogoBackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LogoBackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogoBackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnterpriseId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnterpriseId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EnterpriseId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnterpriseId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationListingUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationListingUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentSourceWebLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentSourceWebLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentSourceApplicationLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentSourceApplicationLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square30x30Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square30x30Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogoBackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogoBackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnterpriseId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnterpriseId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestedOperation(Windows::ApplicationModel::DataTransfer::DataPackageOperation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedOperation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportOperationCompleted(Windows::ApplicationModel::DataTransfer::DataPackageOperation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportOperationCompleted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableFormats(impl::abi_arg_out> formatIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *formatIds = detach_abi(this->shim().AvailableFormats()); + return S_OK; + } + catch (...) + { + *formatIds = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Contains(impl::abi_arg_in formatId, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contains(*reinterpret_cast(&formatId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDataAsync(impl::abi_arg_in formatId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDataAsync(*reinterpret_cast(&formatId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTextAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetTextAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCustomTextAsync(impl::abi_arg_in formatId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetTextAsync(*reinterpret_cast(&formatId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUriAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetUriAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHtmlFormatAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetHtmlFormatAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetResourceMapAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetResourceMapAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRtfAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRtfAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBitmapAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetBitmapAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStorageItemsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetStorageItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetApplicationLinkAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetApplicationLinkAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetWebLinkAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetWebLinkAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessWithEnterpriseIdAsync(impl::abi_arg_in enterpriseId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync(*reinterpret_cast(&enterpriseId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnlockAndAssumeEnterpriseIdentity(Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnlockAndAssumeEnterpriseIdentity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetAcceptedFormatId(impl::abi_arg_in formatId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAcceptedFormatId(*reinterpret_cast(&formatId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FormatId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormatId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FailWithDisplayText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FailWithDisplayText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_DataRequested(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().DataRequested(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DataRequested(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataRequested(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TargetApplicationChosen(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().TargetApplicationChosen(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TargetApplicationChosen(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetApplicationChosen(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ShareProvidersRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ShareProvidersRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ShareProvidersRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShareProvidersRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowShareUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowShareUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetStaticFragment(impl::abi_arg_in htmlFormat, impl::abi_arg_out htmlFragment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *htmlFragment = detach_abi(this->shim().GetStaticFragment(*reinterpret_cast(&htmlFormat))); + return S_OK; + } + catch (...) + { + *htmlFragment = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateHtmlFormat(impl::abi_arg_in htmlFragment, impl::abi_arg_out htmlFormat) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *htmlFormat = detach_abi(this->shim().CreateHtmlFormat(*reinterpret_cast(&htmlFragment))); + return S_OK; + } + catch (...) + { + *htmlFormat = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Operation(Windows::ApplicationModel::DataTransfer::DataPackageOperation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Operation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AcceptedFormatId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceptedFormatId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShareTarget(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShareTarget()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayIcon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayIcon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in title, impl::abi_arg_in displayIcon, impl::abi_arg_in backgroundColor, impl::abi_arg_in handler, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&title), *reinterpret_cast(&displayIcon), *reinterpret_cast(&backgroundColor), *reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Provider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Provider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Providers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Providers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppUserModelId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppUserModelId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShareProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShareProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddFile(impl::abi_arg_in file, impl::abi_arg_out outToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outToken = detach_abi(this->shim().AddFile(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *outToken = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RedeemTokenForFileAsync(impl::abi_arg_in token, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RedeemTokenForFileAsync(*reinterpret_cast(&token))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveFile(impl::abi_arg_in token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveFile(*reinterpret_cast(&token)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Html(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Html()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rtf(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rtf()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bitmap(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bitmap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StorageItems(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationLink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationLink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ApplicationName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::DataTransfer { + +template hstring impl_IStandardDataFormatsStatics::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics)->get_Text(put_abi(value))); + return value; +} + +template hstring impl_IStandardDataFormatsStatics::Uri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics)->get_Uri(put_abi(value))); + return value; +} + +template hstring impl_IStandardDataFormatsStatics::Html() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics)->get_Html(put_abi(value))); + return value; +} + +template hstring impl_IStandardDataFormatsStatics::Rtf() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics)->get_Rtf(put_abi(value))); + return value; +} + +template hstring impl_IStandardDataFormatsStatics::Bitmap() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics)->get_Bitmap(put_abi(value))); + return value; +} + +template hstring impl_IStandardDataFormatsStatics::StorageItems() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics)->get_StorageItems(put_abi(value))); + return value; +} + +template hstring impl_IStandardDataFormatsStatics2::WebLink() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics2)->get_WebLink(put_abi(value))); + return value; +} + +template hstring impl_IStandardDataFormatsStatics2::ApplicationLink() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardDataFormatsStatics2)->get_ApplicationLink(put_abi(value))); + return value; +} + +template hstring impl_IDataPackagePropertySetView::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IDataPackagePropertySetView::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView)->get_Description(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IDataPackagePropertySetView::Thumbnail() const +{ + Windows::Storage::Streams::RandomAccessStreamReference value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView)->get_Thumbnail(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IDataPackagePropertySetView::FileTypes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView)->get_FileTypes(put_abi(value))); + return value; +} + +template hstring impl_IDataPackagePropertySetView::ApplicationName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView)->get_ApplicationName(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IDataPackagePropertySetView::ApplicationListingUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView)->get_ApplicationListingUri(put_abi(value))); + return value; +} + +template hstring impl_IDataPackagePropertySetView2::PackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView2)->get_PackageFamilyName(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IDataPackagePropertySetView2::ContentSourceWebLink() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView2)->get_ContentSourceWebLink(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IDataPackagePropertySetView2::ContentSourceApplicationLink() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView2)->get_ContentSourceApplicationLink(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IDataPackagePropertySetView2::Square30x30Logo() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView2)->get_Square30x30Logo(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IDataPackagePropertySetView2::LogoBackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView2)->get_LogoBackgroundColor(put_abi(value))); + return value; +} + +template hstring impl_IDataPackagePropertySetView3::EnterpriseId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySetView3)->get_EnterpriseId(put_abi(value))); + return value; +} + +template hstring impl_IDataPackagePropertySet::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->get_Title(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->put_Title(get_abi(value))); +} + +template hstring impl_IDataPackagePropertySet::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->get_Description(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->put_Description(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IDataPackagePropertySet::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet::Thumbnail(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->put_Thumbnail(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IDataPackagePropertySet::FileTypes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->get_FileTypes(put_abi(value))); + return value; +} + +template hstring impl_IDataPackagePropertySet::ApplicationName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->get_ApplicationName(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet::ApplicationName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->put_ApplicationName(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IDataPackagePropertySet::ApplicationListingUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->get_ApplicationListingUri(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet::ApplicationListingUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet)->put_ApplicationListingUri(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IDataPackagePropertySet2::ContentSourceWebLink() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->get_ContentSourceWebLink(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet2::ContentSourceWebLink(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->put_ContentSourceWebLink(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IDataPackagePropertySet2::ContentSourceApplicationLink() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->get_ContentSourceApplicationLink(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet2::ContentSourceApplicationLink(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->put_ContentSourceApplicationLink(get_abi(value))); +} + +template hstring impl_IDataPackagePropertySet2::PackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->get_PackageFamilyName(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet2::PackageFamilyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->put_PackageFamilyName(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IDataPackagePropertySet2::Square30x30Logo() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->get_Square30x30Logo(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet2::Square30x30Logo(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->put_Square30x30Logo(get_abi(value))); +} + +template Windows::UI::Color impl_IDataPackagePropertySet2::LogoBackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->get_LogoBackgroundColor(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet2::LogoBackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet2)->put_LogoBackgroundColor(get_abi(value))); +} + +template hstring impl_IDataPackagePropertySet3::EnterpriseId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataPackagePropertySet3)->get_EnterpriseId(put_abi(value))); + return value; +} + +template void impl_IDataPackagePropertySet3::EnterpriseId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackagePropertySet3)->put_EnterpriseId(get_abi(value))); +} + +template void impl_IDataProviderDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IDataProviderDeferral)->abi_Complete()); +} + +template hstring impl_IDataProviderRequest::FormatId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataProviderRequest)->get_FormatId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IDataProviderRequest::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDataProviderRequest)->get_Deadline(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataProviderDeferral impl_IDataProviderRequest::GetDeferral() const +{ + Windows::ApplicationModel::DataTransfer::DataProviderDeferral value { nullptr }; + check_hresult(WINRT_SHIM(IDataProviderRequest)->abi_GetDeferral(put_abi(value))); + return value; +} + +template void impl_IDataProviderRequest::SetData(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IDataProviderRequest)->abi_SetData(get_abi(value))); +} + +template Windows::ApplicationModel::DataTransfer::DataPackageOperation impl_IOperationCompletedEventArgs::Operation() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageOperation value {}; + check_hresult(WINRT_SHIM(IOperationCompletedEventArgs)->get_Operation(&value)); + return value; +} + +template hstring impl_IOperationCompletedEventArgs2::AcceptedFormatId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOperationCompletedEventArgs2)->get_AcceptedFormatId(put_abi(value))); + return value; +} + +template hstring impl_IShareProvider::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IShareProvider)->get_Title(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IShareProvider::DisplayIcon() const +{ + Windows::Storage::Streams::RandomAccessStreamReference value { nullptr }; + check_hresult(WINRT_SHIM(IShareProvider)->get_DisplayIcon(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IShareProvider::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IShareProvider)->get_BackgroundColor(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IShareProvider::Tag() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IShareProvider)->get_Tag(put_abi(value))); + return value; +} + +template void impl_IShareProvider::Tag(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IShareProvider)->put_Tag(get_abi(value))); +} + +template Windows::ApplicationModel::DataTransfer::ShareProvider impl_IShareProviderFactory::Create(hstring_view title, const Windows::Storage::Streams::RandomAccessStreamReference & displayIcon, const Windows::UI::Color & backgroundColor, const Windows::ApplicationModel::DataTransfer::ShareProviderHandler & handler) const +{ + Windows::ApplicationModel::DataTransfer::ShareProvider result { nullptr }; + check_hresult(WINRT_SHIM(IShareProviderFactory)->abi_Create(get_abi(title), get_abi(displayIcon), get_abi(backgroundColor), get_abi(handler), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageView impl_IShareProviderOperation::Data() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageView value { nullptr }; + check_hresult(WINRT_SHIM(IShareProviderOperation)->get_Data(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::ShareProvider impl_IShareProviderOperation::Provider() const +{ + Windows::ApplicationModel::DataTransfer::ShareProvider value { nullptr }; + check_hresult(WINRT_SHIM(IShareProviderOperation)->get_Provider(put_abi(value))); + return value; +} + +template void impl_IShareProviderOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IShareProviderOperation)->abi_ReportCompleted()); +} + +template hstring impl_IShareTargetInfo::AppUserModelId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IShareTargetInfo)->get_AppUserModelId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::ShareProvider impl_IShareTargetInfo::ShareProvider() const +{ + Windows::ApplicationModel::DataTransfer::ShareProvider value { nullptr }; + check_hresult(WINRT_SHIM(IShareTargetInfo)->get_ShareProvider(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::ShareTargetInfo impl_IShareCompletedEventArgs::ShareTarget() const +{ + Windows::ApplicationModel::DataTransfer::ShareTargetInfo value { nullptr }; + check_hresult(WINRT_SHIM(IShareCompletedEventArgs)->get_ShareTarget(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackagePropertySetView impl_IDataPackageView::Properties() const +{ + Windows::ApplicationModel::DataTransfer::DataPackagePropertySetView value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackageView)->get_Properties(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageOperation impl_IDataPackageView::RequestedOperation() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageOperation value {}; + check_hresult(WINRT_SHIM(IDataPackageView)->get_RequestedOperation(&value)); + return value; +} + +template void impl_IDataPackageView::ReportOperationCompleted(Windows::ApplicationModel::DataTransfer::DataPackageOperation value) const +{ + check_hresult(WINRT_SHIM(IDataPackageView)->abi_ReportOperationCompleted(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_IDataPackageView::AvailableFormats() const +{ + Windows::Foundation::Collections::IVectorView formatIds; + check_hresult(WINRT_SHIM(IDataPackageView)->get_AvailableFormats(put_abi(formatIds))); + return formatIds; +} + +template bool impl_IDataPackageView::Contains(hstring_view formatId) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_Contains(get_abi(formatId), &value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView::GetDataAsync(hstring_view formatId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetDataAsync(get_abi(formatId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView::GetTextAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetTextAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView::GetTextAsync(hstring_view formatId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetCustomTextAsync(get_abi(formatId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView::GetUriAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetUriAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView::GetHtmlFormatAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetHtmlFormatAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IDataPackageView::GetResourceMapAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetResourceMapAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView::GetRtfAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetRtfAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView::GetBitmapAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetBitmapAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IDataPackageView::GetStorageItemsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IDataPackageView)->abi_GetStorageItemsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView2::GetApplicationLinkAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView2)->abi_GetApplicationLinkAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView2::GetWebLinkAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView2)->abi_GetWebLinkAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView3::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView3)->abi_RequestAccessAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataPackageView3::RequestAccessAsync(hstring_view enterpriseId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataPackageView3)->abi_RequestAccessWithEnterpriseIdAsync(get_abi(enterpriseId), put_abi(operation))); + return operation; +} + +template Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult impl_IDataPackageView3::UnlockAndAssumeEnterpriseIdentity() const +{ + Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult result {}; + check_hresult(WINRT_SHIM(IDataPackageView3)->abi_UnlockAndAssumeEnterpriseIdentity(&result)); + return result; +} + +template void impl_IDataPackageView4::SetAcceptedFormatId(hstring_view formatId) const +{ + check_hresult(WINRT_SHIM(IDataPackageView4)->abi_SetAcceptedFormatId(get_abi(formatId))); +} + +template Windows::ApplicationModel::DataTransfer::DataPackageView impl_IDataPackage::GetView() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageView value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackage)->abi_GetView(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackagePropertySet impl_IDataPackage::Properties() const +{ + Windows::ApplicationModel::DataTransfer::DataPackagePropertySet value { nullptr }; + check_hresult(WINRT_SHIM(IDataPackage)->get_Properties(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageOperation impl_IDataPackage::RequestedOperation() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageOperation value {}; + check_hresult(WINRT_SHIM(IDataPackage)->get_RequestedOperation(&value)); + return value; +} + +template void impl_IDataPackage::RequestedOperation(Windows::ApplicationModel::DataTransfer::DataPackageOperation value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->put_RequestedOperation(value)); +} + +template event_token impl_IDataPackage::OperationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IDataPackage)->add_OperationCompleted(get_abi(handler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IDataPackage::OperationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::IDataPackage::remove_OperationCompleted, OperationCompleted(handler)); +} + +template void impl_IDataPackage::OperationCompleted(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->remove_OperationCompleted(eventCookie)); +} + +template event_token impl_IDataPackage::Destroyed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IDataPackage)->add_Destroyed(get_abi(handler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IDataPackage::Destroyed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::IDataPackage::remove_Destroyed, Destroyed(handler)); +} + +template void impl_IDataPackage::Destroyed(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->remove_Destroyed(eventCookie)); +} + +template void impl_IDataPackage::SetData(hstring_view formatId, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetData(get_abi(formatId), get_abi(value))); +} + +template void impl_IDataPackage::SetDataProvider(hstring_view formatId, const Windows::ApplicationModel::DataTransfer::DataProviderHandler & delayRenderer) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetDataProvider(get_abi(formatId), get_abi(delayRenderer))); +} + +template void impl_IDataPackage::SetText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetText(get_abi(value))); +} + +template void impl_IDataPackage::SetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetUri(get_abi(value))); +} + +template void impl_IDataPackage::SetHtmlFormat(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetHtmlFormat(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_IDataPackage::ResourceMap() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IDataPackage)->get_ResourceMap(put_abi(value))); + return value; +} + +template void impl_IDataPackage::SetRtf(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetRtf(get_abi(value))); +} + +template void impl_IDataPackage::SetBitmap(const Windows::Storage::Streams::RandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetBitmap(get_abi(value))); +} + +template void impl_IDataPackage::SetStorageItems(iterable value) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetStorageItemsReadOnly(get_abi(value))); +} + +template void impl_IDataPackage::SetStorageItems(iterable value, bool readOnly) const +{ + check_hresult(WINRT_SHIM(IDataPackage)->abi_SetStorageItems(get_abi(value), readOnly)); +} + +template void impl_IDataPackage2::SetApplicationLink(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDataPackage2)->abi_SetApplicationLink(get_abi(value))); +} + +template void impl_IDataPackage2::SetWebLink(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDataPackage2)->abi_SetWebLink(get_abi(value))); +} + +template event_token impl_IDataPackage3::ShareCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDataPackage3)->add_ShareCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDataPackage3::ShareCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::IDataPackage3::remove_ShareCompleted, ShareCompleted(handler)); +} + +template void impl_IDataPackage3::ShareCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IDataPackage3)->remove_ShareCompleted(token)); +} + +template hstring impl_IHtmlFormatHelperStatics::GetStaticFragment(hstring_view htmlFormat) const +{ + hstring htmlFragment; + check_hresult(WINRT_SHIM(IHtmlFormatHelperStatics)->abi_GetStaticFragment(get_abi(htmlFormat), put_abi(htmlFragment))); + return htmlFragment; +} + +template hstring impl_IHtmlFormatHelperStatics::CreateHtmlFormat(hstring_view htmlFragment) const +{ + hstring htmlFormat; + check_hresult(WINRT_SHIM(IHtmlFormatHelperStatics)->abi_CreateHtmlFormat(get_abi(htmlFragment), put_abi(htmlFormat))); + return htmlFormat; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageView impl_IClipboardStatics::GetContent() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageView content { nullptr }; + check_hresult(WINRT_SHIM(IClipboardStatics)->abi_GetContent(put_abi(content))); + return content; +} + +template void impl_IClipboardStatics::SetContent(const Windows::ApplicationModel::DataTransfer::DataPackage & content) const +{ + check_hresult(WINRT_SHIM(IClipboardStatics)->abi_SetContent(get_abi(content))); +} + +template void impl_IClipboardStatics::Flush() const +{ + check_hresult(WINRT_SHIM(IClipboardStatics)->abi_Flush()); +} + +template void impl_IClipboardStatics::Clear() const +{ + check_hresult(WINRT_SHIM(IClipboardStatics)->abi_Clear()); +} + +template event_token impl_IClipboardStatics::ContentChanged(const Windows::Foundation::EventHandler & changeHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClipboardStatics)->add_ContentChanged(get_abi(changeHandler), &token)); + return token; +} + +template event_revoker impl_IClipboardStatics::ContentChanged(auto_revoke_t, const Windows::Foundation::EventHandler & changeHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::IClipboardStatics::remove_ContentChanged, ContentChanged(changeHandler)); +} + +template void impl_IClipboardStatics::ContentChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IClipboardStatics)->remove_ContentChanged(token)); +} + +template void impl_IDataRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IDataRequestDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::DataTransfer::DataPackage impl_IDataRequest::Data() const +{ + Windows::ApplicationModel::DataTransfer::DataPackage value { nullptr }; + check_hresult(WINRT_SHIM(IDataRequest)->get_Data(put_abi(value))); + return value; +} + +template void impl_IDataRequest::Data(const Windows::ApplicationModel::DataTransfer::DataPackage & value) const +{ + check_hresult(WINRT_SHIM(IDataRequest)->put_Data(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_IDataRequest::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDataRequest)->get_Deadline(put_abi(value))); + return value; +} + +template void impl_IDataRequest::FailWithDisplayText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDataRequest)->abi_FailWithDisplayText(get_abi(value))); +} + +template Windows::ApplicationModel::DataTransfer::DataRequestDeferral impl_IDataRequest::GetDeferral() const +{ + Windows::ApplicationModel::DataTransfer::DataRequestDeferral value { nullptr }; + check_hresult(WINRT_SHIM(IDataRequest)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataRequest impl_IDataRequestedEventArgs::Request() const +{ + Windows::ApplicationModel::DataTransfer::DataRequest value { nullptr }; + check_hresult(WINRT_SHIM(IDataRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IShareProvidersRequestedEventArgs::Providers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IShareProvidersRequestedEventArgs)->get_Providers(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageView impl_IShareProvidersRequestedEventArgs::Data() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageView value { nullptr }; + check_hresult(WINRT_SHIM(IShareProvidersRequestedEventArgs)->get_Data(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IShareProvidersRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IShareProvidersRequestedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template hstring impl_ITargetApplicationChosenEventArgs::ApplicationName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetApplicationChosenEventArgs)->get_ApplicationName(put_abi(value))); + return value; +} + +template event_token impl_IDataTransferManager::DataRequested(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IDataTransferManager)->add_DataRequested(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IDataTransferManager::DataRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::IDataTransferManager::remove_DataRequested, DataRequested(eventHandler)); +} + +template void impl_IDataTransferManager::DataRequested(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IDataTransferManager)->remove_DataRequested(eventCookie)); +} + +template event_token impl_IDataTransferManager::TargetApplicationChosen(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IDataTransferManager)->add_TargetApplicationChosen(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IDataTransferManager::TargetApplicationChosen(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::IDataTransferManager::remove_TargetApplicationChosen, TargetApplicationChosen(eventHandler)); +} + +template void impl_IDataTransferManager::TargetApplicationChosen(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IDataTransferManager)->remove_TargetApplicationChosen(eventCookie)); +} + +template event_token impl_IDataTransferManager2::ShareProvidersRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDataTransferManager2)->add_ShareProvidersRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDataTransferManager2::ShareProvidersRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::DataTransfer::IDataTransferManager2::remove_ShareProvidersRequested, ShareProvidersRequested(handler)); +} + +template void impl_IDataTransferManager2::ShareProvidersRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IDataTransferManager2)->remove_ShareProvidersRequested(token)); +} + +template void impl_IDataTransferManagerStatics::ShowShareUI() const +{ + check_hresult(WINRT_SHIM(IDataTransferManagerStatics)->abi_ShowShareUI()); +} + +template Windows::ApplicationModel::DataTransfer::DataTransferManager impl_IDataTransferManagerStatics::GetForCurrentView() const +{ + Windows::ApplicationModel::DataTransfer::DataTransferManager value { nullptr }; + check_hresult(WINRT_SHIM(IDataTransferManagerStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template bool impl_IDataTransferManagerStatics2::IsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDataTransferManagerStatics2)->abi_IsSupported(&value)); + return value; +} + +template hstring impl_ISharedStorageAccessManagerStatics::AddFile(const Windows::Storage::IStorageFile & file) const +{ + hstring outToken; + check_hresult(WINRT_SHIM(ISharedStorageAccessManagerStatics)->abi_AddFile(get_abi(file), put_abi(outToken))); + return outToken; +} + +template Windows::Foundation::IAsyncOperation impl_ISharedStorageAccessManagerStatics::RedeemTokenForFileAsync(hstring_view token) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISharedStorageAccessManagerStatics)->abi_RedeemTokenForFileAsync(get_abi(token), put_abi(operation))); + return operation; +} + +template void impl_ISharedStorageAccessManagerStatics::RemoveFile(hstring_view token) const +{ + check_hresult(WINRT_SHIM(ISharedStorageAccessManagerStatics)->abi_RemoveFile(get_abi(token))); +} + +inline Windows::ApplicationModel::DataTransfer::DataPackageView Clipboard::GetContent() +{ + return get_activation_factory().GetContent(); +} + +inline void Clipboard::SetContent(const Windows::ApplicationModel::DataTransfer::DataPackage & content) +{ + get_activation_factory().SetContent(content); +} + +inline void Clipboard::Flush() +{ + get_activation_factory().Flush(); +} + +inline void Clipboard::Clear() +{ + get_activation_factory().Clear(); +} + +inline event_token Clipboard::ContentChanged(const Windows::Foundation::EventHandler & changeHandler) +{ + return get_activation_factory().ContentChanged(changeHandler); +} + +inline factory_event_revoker Clipboard::ContentChanged(auto_revoke_t, const Windows::Foundation::EventHandler & changeHandler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::ApplicationModel::DataTransfer::IClipboardStatics::remove_ContentChanged, factory.ContentChanged(changeHandler) }; +} + +inline void Clipboard::ContentChanged(event_token token) +{ + get_activation_factory().ContentChanged(token); +} + +inline DataPackage::DataPackage() : + DataPackage(activate_instance()) +{} + +inline void DataTransferManager::ShowShareUI() +{ + get_activation_factory().ShowShareUI(); +} + +inline Windows::ApplicationModel::DataTransfer::DataTransferManager DataTransferManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline bool DataTransferManager::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline hstring HtmlFormatHelper::GetStaticFragment(hstring_view htmlFormat) +{ + return get_activation_factory().GetStaticFragment(htmlFormat); +} + +inline hstring HtmlFormatHelper::CreateHtmlFormat(hstring_view htmlFragment) +{ + return get_activation_factory().CreateHtmlFormat(htmlFragment); +} + +inline ShareProvider::ShareProvider(hstring_view title, const Windows::Storage::Streams::RandomAccessStreamReference & displayIcon, const Windows::UI::Color & backgroundColor, const Windows::ApplicationModel::DataTransfer::ShareProviderHandler & handler) : + ShareProvider(get_activation_factory().Create(title, displayIcon, backgroundColor, handler)) +{} + +inline hstring SharedStorageAccessManager::AddFile(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().AddFile(file); +} + +inline Windows::Foundation::IAsyncOperation SharedStorageAccessManager::RedeemTokenForFileAsync(hstring_view token) +{ + return get_activation_factory().RedeemTokenForFileAsync(token); +} + +inline void SharedStorageAccessManager::RemoveFile(hstring_view token) +{ + get_activation_factory().RemoveFile(token); +} + +inline hstring StandardDataFormats::Text() +{ + return get_activation_factory().Text(); +} + +inline hstring StandardDataFormats::Uri() +{ + return get_activation_factory().Uri(); +} + +inline hstring StandardDataFormats::Html() +{ + return get_activation_factory().Html(); +} + +inline hstring StandardDataFormats::Rtf() +{ + return get_activation_factory().Rtf(); +} + +inline hstring StandardDataFormats::Bitmap() +{ + return get_activation_factory().Bitmap(); +} + +inline hstring StandardDataFormats::StorageItems() +{ + return get_activation_factory().StorageItems(); +} + +inline hstring StandardDataFormats::WebLink() +{ + return get_activation_factory().WebLink(); +} + +inline hstring StandardDataFormats::ApplicationLink() +{ + return get_activation_factory().ApplicationLink(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IClipboardStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackage2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackage3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackagePropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackagePropertySet2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackagePropertySet3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackagePropertySetView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackagePropertySetView2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackagePropertySetView3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackageView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackageView2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackageView3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataPackageView4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataProviderDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataProviderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataTransferManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataTransferManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataTransferManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IDataTransferManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IHtmlFormatHelperStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IOperationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IOperationCompletedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IShareCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IShareProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IShareProviderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IShareProviderOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IShareProvidersRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IShareTargetInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ISharedStorageAccessManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IStandardDataFormatsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::IStandardDataFormatsStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ITargetApplicationChosenEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataPackage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataPackagePropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataPackagePropertySetView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataPackageView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataProviderDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataProviderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::DataTransferManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::OperationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareProviderOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareProvidersRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::ShareTargetInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::DataTransfer::TargetApplicationChosenEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Email.DataProvider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Email.DataProvider.h new file mode 100644 index 000000000..3762dc378 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Email.DataProvider.h @@ -0,0 +1,3860 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Email.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.Email.DataProvider.3.h" +#include "Windows.ApplicationModel.Email.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_MailboxSyncRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MailboxSyncRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MailboxSyncRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MailboxSyncRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadMessageRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadMessageRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadMessageRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadMessageRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadAttachmentRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadAttachmentRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadAttachmentRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadAttachmentRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CreateFolderRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CreateFolderRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CreateFolderRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CreateFolderRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DeleteFolderRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DeleteFolderRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DeleteFolderRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeleteFolderRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EmptyFolderRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EmptyFolderRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EmptyFolderRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EmptyFolderRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MoveFolderRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MoveFolderRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MoveFolderRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MoveFolderRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UpdateMeetingResponseRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UpdateMeetingResponseRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UpdateMeetingResponseRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateMeetingResponseRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ForwardMeetingRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ForwardMeetingRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ForwardMeetingRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForwardMeetingRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProposeNewTimeForMeetingRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProposeNewTimeForMeetingRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProposeNewTimeForMeetingRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProposeNewTimeForMeetingRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SetAutoReplySettingsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SetAutoReplySettingsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SetAutoReplySettingsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAutoReplySettingsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GetAutoReplySettingsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GetAutoReplySettingsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GetAutoReplySettingsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetAutoReplySettingsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ResolveRecipientsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ResolveRecipientsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ResolveRecipientsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResolveRecipientsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ValidateCertificatesRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ValidateCertificatesRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ValidateCertificatesRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValidateCertificatesRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ServerSearchReadBatchRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ServerSearchReadBatchRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ServerSearchReadBatchRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerSearchReadBatchRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Connection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Connection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentFolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentFolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_in folder, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync(*reinterpret_cast(&folder))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(Windows::ApplicationModel::Email::EmailMailboxCreateFolderStatus status, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync(status)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailFolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailFolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(Windows::ApplicationModel::Email::EmailMailboxDeleteFolderStatus status, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync(status)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailMessageId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMessageId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailAttachmentId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailAttachmentId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailMessageId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMessageId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailFolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailFolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(Windows::ApplicationModel::Email::EmailMailboxEmptyFolderStatus status, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync(status)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailMessageId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMessageId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recipients(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recipients()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForwardHeaderType(Windows::ApplicationModel::Email::EmailMessageBodyKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForwardHeaderType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForwardHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForwardHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestedFormat(Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_in autoReplySettings, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync(*reinterpret_cast(&autoReplySettings))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailFolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailFolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewParentFolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewParentFolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewFolderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewFolderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailMessageId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMessageId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewStartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewStartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recipients(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recipients()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_in> resolutionResults, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync(*reinterpret_cast *>(&resolutionResults))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailFolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailFolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Options(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedBatchSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedBatchSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveMessageAsync(impl::abi_arg_in message, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveMessageAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(Windows::ApplicationModel::Email::EmailBatchStatus batchStatus, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync(batchStatus)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoReplySettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoReplySettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailMessageId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMessageId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Response(Windows::ApplicationModel::Email::EmailMeetingResponseType * response) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *response = detach_abi(this->shim().Response()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SendUpdate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SendUpdate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Certificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_in> validationStatuses, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync(*reinterpret_cast *>(&validationStatuses))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Email::DataProvider { + +template Windows::ApplicationModel::Email::DataProvider::EmailDataProviderConnection impl_IEmailDataProviderTriggerDetails::Connection() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailDataProviderConnection value { nullptr }; + check_hresult(WINRT_SHIM(IEmailDataProviderTriggerDetails)->get_Connection(put_abi(value))); + return value; +} + +template event_token impl_IEmailDataProviderConnection::MailboxSyncRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_MailboxSyncRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::MailboxSyncRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_MailboxSyncRequested, MailboxSyncRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::MailboxSyncRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_MailboxSyncRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::DownloadMessageRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_DownloadMessageRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::DownloadMessageRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_DownloadMessageRequested, DownloadMessageRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::DownloadMessageRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_DownloadMessageRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::DownloadAttachmentRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_DownloadAttachmentRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::DownloadAttachmentRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_DownloadAttachmentRequested, DownloadAttachmentRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::DownloadAttachmentRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_DownloadAttachmentRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::CreateFolderRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_CreateFolderRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::CreateFolderRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_CreateFolderRequested, CreateFolderRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::CreateFolderRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_CreateFolderRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::DeleteFolderRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_DeleteFolderRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::DeleteFolderRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_DeleteFolderRequested, DeleteFolderRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::DeleteFolderRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_DeleteFolderRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::EmptyFolderRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_EmptyFolderRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::EmptyFolderRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_EmptyFolderRequested, EmptyFolderRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::EmptyFolderRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_EmptyFolderRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::MoveFolderRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_MoveFolderRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::MoveFolderRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_MoveFolderRequested, MoveFolderRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::MoveFolderRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_MoveFolderRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::UpdateMeetingResponseRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_UpdateMeetingResponseRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::UpdateMeetingResponseRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_UpdateMeetingResponseRequested, UpdateMeetingResponseRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::UpdateMeetingResponseRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_UpdateMeetingResponseRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::ForwardMeetingRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_ForwardMeetingRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::ForwardMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_ForwardMeetingRequested, ForwardMeetingRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::ForwardMeetingRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_ForwardMeetingRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::ProposeNewTimeForMeetingRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_ProposeNewTimeForMeetingRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::ProposeNewTimeForMeetingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_ProposeNewTimeForMeetingRequested, ProposeNewTimeForMeetingRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::ProposeNewTimeForMeetingRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_ProposeNewTimeForMeetingRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::SetAutoReplySettingsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_SetAutoReplySettingsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::SetAutoReplySettingsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_SetAutoReplySettingsRequested, SetAutoReplySettingsRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::SetAutoReplySettingsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_SetAutoReplySettingsRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::GetAutoReplySettingsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_GetAutoReplySettingsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::GetAutoReplySettingsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_GetAutoReplySettingsRequested, GetAutoReplySettingsRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::GetAutoReplySettingsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_GetAutoReplySettingsRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::ResolveRecipientsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_ResolveRecipientsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::ResolveRecipientsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_ResolveRecipientsRequested, ResolveRecipientsRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::ResolveRecipientsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_ResolveRecipientsRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::ValidateCertificatesRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_ValidateCertificatesRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::ValidateCertificatesRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_ValidateCertificatesRequested, ValidateCertificatesRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::ValidateCertificatesRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_ValidateCertificatesRequested(token)); +} + +template event_token impl_IEmailDataProviderConnection::ServerSearchReadBatchRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->add_ServerSearchReadBatchRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailDataProviderConnection::ServerSearchReadBatchRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection::remove_ServerSearchReadBatchRequested, ServerSearchReadBatchRequested(handler)); +} + +template void impl_IEmailDataProviderConnection::ServerSearchReadBatchRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->remove_ServerSearchReadBatchRequested(token)); +} + +template void impl_IEmailDataProviderConnection::Start() const +{ + check_hresult(WINRT_SHIM(IEmailDataProviderConnection)->abi_Start()); +} + +template hstring impl_IEmailMailboxSyncManagerSyncRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManagerSyncRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxSyncManagerSyncRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManagerSyncRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxSyncManagerSyncRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManagerSyncRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxDownloadMessageRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadMessageRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxDownloadMessageRequest::EmailMessageId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadMessageRequest)->get_EmailMessageId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxDownloadMessageRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadMessageRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxDownloadMessageRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadMessageRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxDownloadAttachmentRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadAttachmentRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxDownloadAttachmentRequest::EmailMessageId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadAttachmentRequest)->get_EmailMessageId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxDownloadAttachmentRequest::EmailAttachmentId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadAttachmentRequest)->get_EmailAttachmentId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxDownloadAttachmentRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadAttachmentRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxDownloadAttachmentRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadAttachmentRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxCreateFolderRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxCreateFolderRequest::ParentFolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderRequest)->get_ParentFolderId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxCreateFolderRequest::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderRequest)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxCreateFolderRequest::ReportCompletedAsync(const Windows::ApplicationModel::Email::EmailFolder & folder) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderRequest)->abi_ReportCompletedAsync(get_abi(folder), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxCreateFolderRequest::ReportFailedAsync(Windows::ApplicationModel::Email::EmailMailboxCreateFolderStatus status) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderRequest)->abi_ReportFailedAsync(status, put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxDeleteFolderRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxDeleteFolderRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxDeleteFolderRequest::EmailFolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxDeleteFolderRequest)->get_EmailFolderId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxDeleteFolderRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxDeleteFolderRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxDeleteFolderRequest::ReportFailedAsync(Windows::ApplicationModel::Email::EmailMailboxDeleteFolderStatus status) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxDeleteFolderRequest)->abi_ReportFailedAsync(status, put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxEmptyFolderRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxEmptyFolderRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxEmptyFolderRequest::EmailFolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxEmptyFolderRequest)->get_EmailFolderId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxEmptyFolderRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxEmptyFolderRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxEmptyFolderRequest::ReportFailedAsync(Windows::ApplicationModel::Email::EmailMailboxEmptyFolderStatus status) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxEmptyFolderRequest)->abi_ReportFailedAsync(status, put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxMoveFolderRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxMoveFolderRequest::EmailFolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequest)->get_EmailFolderId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxMoveFolderRequest::NewParentFolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequest)->get_NewParentFolderId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxMoveFolderRequest::NewFolderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequest)->get_NewFolderName(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxMoveFolderRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxMoveFolderRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxUpdateMeetingResponseRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxUpdateMeetingResponseRequest::EmailMessageId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->get_EmailMessageId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMeetingResponseType impl_IEmailMailboxUpdateMeetingResponseRequest::Response() const +{ + Windows::ApplicationModel::Email::EmailMeetingResponseType response {}; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->get_Response(&response)); + return response; +} + +template hstring impl_IEmailMailboxUpdateMeetingResponseRequest::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxUpdateMeetingResponseRequest::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->get_Comment(put_abi(value))); + return value; +} + +template bool impl_IEmailMailboxUpdateMeetingResponseRequest::SendUpdate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->get_SendUpdate(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxUpdateMeetingResponseRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxUpdateMeetingResponseRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxForwardMeetingRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxForwardMeetingRequest::EmailMessageId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->get_EmailMessageId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IEmailMailboxForwardMeetingRequest::Recipients() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->get_Recipients(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxForwardMeetingRequest::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->get_Subject(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMessageBodyKind impl_IEmailMailboxForwardMeetingRequest::ForwardHeaderType() const +{ + Windows::ApplicationModel::Email::EmailMessageBodyKind value {}; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->get_ForwardHeaderType(&value)); + return value; +} + +template hstring impl_IEmailMailboxForwardMeetingRequest::ForwardHeader() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->get_ForwardHeader(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxForwardMeetingRequest::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->get_Comment(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxForwardMeetingRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxForwardMeetingRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxProposeNewTimeForMeetingRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxProposeNewTimeForMeetingRequest::EmailMessageId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->get_EmailMessageId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IEmailMailboxProposeNewTimeForMeetingRequest::NewStartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->get_NewStartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IEmailMailboxProposeNewTimeForMeetingRequest::NewDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->get_NewDuration(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxProposeNewTimeForMeetingRequest::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxProposeNewTimeForMeetingRequest::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->get_Comment(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxProposeNewTimeForMeetingRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxProposeNewTimeForMeetingRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxSetAutoReplySettingsRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxSetAutoReplySettingsRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMailboxAutoReplySettings impl_IEmailMailboxSetAutoReplySettingsRequest::AutoReplySettings() const +{ + Windows::ApplicationModel::Email::EmailMailboxAutoReplySettings value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxSetAutoReplySettingsRequest)->get_AutoReplySettings(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxSetAutoReplySettingsRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxSetAutoReplySettingsRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxSetAutoReplySettingsRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxSetAutoReplySettingsRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxGetAutoReplySettingsRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxGetAutoReplySettingsRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind impl_IEmailMailboxGetAutoReplySettingsRequest::RequestedFormat() const +{ + Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind value {}; + check_hresult(WINRT_SHIM(IEmailMailboxGetAutoReplySettingsRequest)->get_RequestedFormat(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxGetAutoReplySettingsRequest::ReportCompletedAsync(const Windows::ApplicationModel::Email::EmailMailboxAutoReplySettings & autoReplySettings) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxGetAutoReplySettingsRequest)->abi_ReportCompletedAsync(get_abi(autoReplySettings), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxGetAutoReplySettingsRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxGetAutoReplySettingsRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxResolveRecipientsRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxResolveRecipientsRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IEmailMailboxResolveRecipientsRequest::Recipients() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEmailMailboxResolveRecipientsRequest)->get_Recipients(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxResolveRecipientsRequest::ReportCompletedAsync(iterable resolutionResults) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxResolveRecipientsRequest)->abi_ReportCompletedAsync(get_abi(resolutionResults), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxResolveRecipientsRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxResolveRecipientsRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxValidateCertificatesRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxValidateCertificatesRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IEmailMailboxValidateCertificatesRequest::Certificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEmailMailboxValidateCertificatesRequest)->get_Certificates(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxValidateCertificatesRequest::ReportCompletedAsync(iterable validationStatuses) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxValidateCertificatesRequest)->abi_ReportCompletedAsync(get_abi(validationStatuses), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxValidateCertificatesRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxValidateCertificatesRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IEmailMailboxServerSearchReadBatchRequest::SessionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->get_SessionId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxServerSearchReadBatchRequest::EmailMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->get_EmailMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailboxServerSearchReadBatchRequest::EmailFolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->get_EmailFolderId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailQueryOptions impl_IEmailMailboxServerSearchReadBatchRequest::Options() const +{ + Windows::ApplicationModel::Email::EmailQueryOptions value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->get_Options(put_abi(value))); + return value; +} + +template uint32_t impl_IEmailMailboxServerSearchReadBatchRequest::SuggestedBatchSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->get_SuggestedBatchSize(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxServerSearchReadBatchRequest::SaveMessageAsync(const Windows::ApplicationModel::Email::EmailMessage & message) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->abi_SaveMessageAsync(get_abi(message), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxServerSearchReadBatchRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailboxServerSearchReadBatchRequest::ReportFailedAsync(Windows::ApplicationModel::Email::EmailBatchStatus batchStatus) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequest)->abi_ReportFailedAsync(batchStatus, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxSyncManagerSyncRequest impl_IEmailMailboxSyncManagerSyncRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxSyncManagerSyncRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManagerSyncRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxSyncManagerSyncRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManagerSyncRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadMessageRequest impl_IEmailMailboxDownloadMessageRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadMessageRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadMessageRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxDownloadMessageRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadMessageRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadAttachmentRequest impl_IEmailMailboxDownloadAttachmentRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadAttachmentRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadAttachmentRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxDownloadAttachmentRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxDownloadAttachmentRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxCreateFolderRequest impl_IEmailMailboxCreateFolderRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxCreateFolderRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxCreateFolderRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxDeleteFolderRequest impl_IEmailMailboxDeleteFolderRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxDeleteFolderRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxDeleteFolderRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxDeleteFolderRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxDeleteFolderRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxEmptyFolderRequest impl_IEmailMailboxEmptyFolderRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxEmptyFolderRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxEmptyFolderRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxEmptyFolderRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxEmptyFolderRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxMoveFolderRequest impl_IEmailMailboxMoveFolderRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxMoveFolderRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxMoveFolderRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxMoveFolderRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxUpdateMeetingResponseRequest impl_IEmailMailboxUpdateMeetingResponseRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxUpdateMeetingResponseRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxUpdateMeetingResponseRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxUpdateMeetingResponseRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxForwardMeetingRequest impl_IEmailMailboxForwardMeetingRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxForwardMeetingRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxForwardMeetingRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxForwardMeetingRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxProposeNewTimeForMeetingRequest impl_IEmailMailboxProposeNewTimeForMeetingRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxProposeNewTimeForMeetingRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxProposeNewTimeForMeetingRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxProposeNewTimeForMeetingRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxSetAutoReplySettingsRequest impl_IEmailMailboxSetAutoReplySettingsRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxSetAutoReplySettingsRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxSetAutoReplySettingsRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxSetAutoReplySettingsRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxSetAutoReplySettingsRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxGetAutoReplySettingsRequest impl_IEmailMailboxGetAutoReplySettingsRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxGetAutoReplySettingsRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxGetAutoReplySettingsRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxGetAutoReplySettingsRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxGetAutoReplySettingsRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxResolveRecipientsRequest impl_IEmailMailboxResolveRecipientsRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxResolveRecipientsRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxResolveRecipientsRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxResolveRecipientsRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxResolveRecipientsRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxValidateCertificatesRequest impl_IEmailMailboxValidateCertificatesRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxValidateCertificatesRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxValidateCertificatesRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxValidateCertificatesRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxValidateCertificatesRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::DataProvider::EmailMailboxServerSearchReadBatchRequest impl_IEmailMailboxServerSearchReadBatchRequestEventArgs::Request() const +{ + Windows::ApplicationModel::Email::DataProvider::EmailMailboxServerSearchReadBatchRequest value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEmailMailboxServerSearchReadBatchRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxServerSearchReadBatchRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxCreateFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxCreateFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxDeleteFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxDeleteFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxDownloadAttachmentRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxDownloadAttachmentRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxDownloadMessageRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxDownloadMessageRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxEmptyFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxEmptyFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxForwardMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxForwardMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxGetAutoReplySettingsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxGetAutoReplySettingsRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxMoveFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxMoveFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxProposeNewTimeForMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxProposeNewTimeForMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxResolveRecipientsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxResolveRecipientsRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxServerSearchReadBatchRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxServerSearchReadBatchRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxSetAutoReplySettingsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxSetAutoReplySettingsRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxUpdateMeetingResponseRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxUpdateMeetingResponseRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxValidateCertificatesRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::IEmailMailboxValidateCertificatesRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxCreateFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxCreateFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxDeleteFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxDeleteFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadAttachmentRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadAttachmentRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadMessageRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxDownloadMessageRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxEmptyFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxEmptyFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxForwardMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxForwardMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxGetAutoReplySettingsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxGetAutoReplySettingsRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxMoveFolderRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxMoveFolderRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxProposeNewTimeForMeetingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxProposeNewTimeForMeetingRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxResolveRecipientsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxResolveRecipientsRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxServerSearchReadBatchRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxServerSearchReadBatchRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxSetAutoReplySettingsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxSetAutoReplySettingsRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxUpdateMeetingResponseRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxUpdateMeetingResponseRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxValidateCertificatesRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::DataProvider::EmailMailboxValidateCertificatesRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Email.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Email.h new file mode 100644 index 000000000..bfbcceff1 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Email.h @@ -0,0 +1,8879 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.ApplicationModel.Appointments.3.h" +#include "internal/Windows.ApplicationModel.Email.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FileName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FileName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FileName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentLocation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentLocation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadState(Windows::ApplicationModel::Email::EmailAttachmentDownloadState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DownloadState(Windows::ApplicationModel::Email::EmailAttachmentDownloadState value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EstimatedDownloadSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EstimatedDownloadSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EstimatedDownloadSizeInBytes(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EstimatedDownloadSizeInBytes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFromBaseMessage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFromBaseMessage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInline(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInline(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInline(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MimeType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MimeType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MimeType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MimeType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in fileName, impl::abi_arg_in data, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&fileName), *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in fileName, impl::abi_arg_in data, impl::abi_arg_in mimeType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&fileName), *reinterpret_cast(&data), *reinterpret_cast(&mimeType))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlagState(Windows::ApplicationModel::Email::EmailFlagState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlagState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasAttachment(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasAttachment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Importance(Windows::ApplicationModel::Email::EmailImportance * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Importance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastEmailResponseKind(Windows::ApplicationModel::Email::EmailMessageResponseKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastEmailResponseKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MostRecentMessageId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MostRecentMessageId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MostRecentMessageTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MostRecentMessageTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Preview(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Preview()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LatestSender(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LatestSender()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnreadMessageCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnreadMessageCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindMessagesAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindMessagesAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindMessagesWithCountAsync(uint32_t count, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindMessagesAsync(count)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Conversations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Conversations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::Email::EmailBatchStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentFolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentFolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSyncEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSyncEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSyncEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSyncEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastSuccessfulSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSuccessfulSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastSuccessfulSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastSuccessfulSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Email::EmailSpecialFolderKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderAsync(impl::abi_arg_in name, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFolderAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindChildFoldersAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindChildFoldersAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageCountsAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageCountsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryMoveAsync(impl::abi_arg_in newParentFolder, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryMoveAsync(*reinterpret_cast(&newParentFolder))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryMoveWithNewNameAsync(impl::abi_arg_in newParentFolder, impl::abi_arg_in newFolderName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryMoveAsync(*reinterpret_cast(&newParentFolder), *reinterpret_cast(&newFolderName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySaveAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySaveAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveMessageAsync(impl::abi_arg_in message, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveMessageAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanEdit(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanEdit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanEdit(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanEdit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanExtractData(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanExtractData()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanExtractData(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanExtractData(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanForward(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanForward()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanForward(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanForward(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanModifyRecipientsOnResponse(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanModifyRecipientsOnResponse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanModifyRecipientsOnResponse(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanModifyRecipientsOnResponse(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanPrintData(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPrintData()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanPrintData(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanPrintData(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanRemoveIrmOnResponse(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanRemoveIrmOnResponse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanRemoveIrmOnResponse(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanRemoveIrmOnResponse(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanReply(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanReply()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanReply(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanReply(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanReplyAll(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanReplyAll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanReplyAll(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanReplyAll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationDate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationDate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIrmOriginator(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIrmOriginator()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsIrmOriginator(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsIrmOriginator(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsProgramaticAccessAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProgramaticAccessAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsProgramaticAccessAllowed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsProgramaticAccessAllowed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Template(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Template()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Template(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Template(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in expiration, impl::abi_arg_in irmTemplate, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&expiration), *reinterpret_cast(&irmTemplate))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in id, impl::abi_arg_in name, impl::abi_arg_in description, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&id), *reinterpret_cast(&name), *reinterpret_cast(&description))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Flagged(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flagged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Important(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Important()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Total(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Total()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Unread(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unread()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChangeTracker(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeTracker()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOwnedByCurrentApp(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOwnedByCurrentApp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDataEncryptedUnderLock(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDataEncryptedUnderLock()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MailAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MailAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MailAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MailAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MailAddressAliases(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MailAddressAliases()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppReadAccess(Windows::ApplicationModel::Email::EmailMailboxOtherAppReadAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppReadAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppReadAccess(Windows::ApplicationModel::Email::EmailMailboxOtherAppReadAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppReadAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppWriteAccess(Windows::ApplicationModel::Email::EmailMailboxOtherAppWriteAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppWriteAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppWriteAccess(Windows::ApplicationModel::Email::EmailMailboxOtherAppWriteAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppWriteAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Policies(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Policies()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SyncManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SyncManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDataAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDataAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFolderAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetFolderAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSpecialFolderAsync(Windows::ApplicationModel::Email::EmailSpecialFolderKind folderType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSpecialFolderAsync(folderType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkMessageAsSeenAsync(impl::abi_arg_in messageId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkMessageAsSeenAsync(*reinterpret_cast(&messageId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkFolderAsSeenAsync(impl::abi_arg_in folderId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkFolderAsSeenAsync(*reinterpret_cast(&folderId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkMessageReadAsync(impl::abi_arg_in messageId, bool isRead, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkMessageReadAsync(*reinterpret_cast(&messageId), isRead)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeMessageFlagStateAsync(impl::abi_arg_in messageId, Windows::ApplicationModel::Email::EmailFlagState flagState, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ChangeMessageFlagStateAsync(*reinterpret_cast(&messageId), flagState)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryMoveMessageAsync(impl::abi_arg_in messageId, impl::abi_arg_in newParentFolderId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryMoveMessageAsync(*reinterpret_cast(&messageId), *reinterpret_cast(&newParentFolderId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryMoveFolderAsync(impl::abi_arg_in folderId, impl::abi_arg_in newParentFolderId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryMoveFolderAsync(*reinterpret_cast(&folderId), *reinterpret_cast(&newParentFolderId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryMoveFolderWithNewNameAsync(impl::abi_arg_in folderId, impl::abi_arg_in newParentFolderId, impl::abi_arg_in newFolderName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryMoveFolderAsync(*reinterpret_cast(&folderId), *reinterpret_cast(&newParentFolderId), *reinterpret_cast(&newFolderName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteMessageAsync(impl::abi_arg_in messageId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteMessageAsync(*reinterpret_cast(&messageId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MarkFolderSyncEnabledAsync(impl::abi_arg_in folderId, bool isSyncEnabled, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MarkFolderSyncEnabledAsync(*reinterpret_cast(&folderId), isSyncEnabled)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendMessageAsync(impl::abi_arg_in message, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendMessageAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveDraftAsync(impl::abi_arg_in message, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveDraftAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DownloadMessageAsync(impl::abi_arg_in messageId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DownloadMessageAsync(*reinterpret_cast(&messageId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DownloadAttachmentAsync(impl::abi_arg_in attachmentId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DownloadAttachmentAsync(*reinterpret_cast(&attachmentId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateResponseMessageAsync(impl::abi_arg_in messageId, Windows::ApplicationModel::Email::EmailMessageResponseKind responseType, impl::abi_arg_in subject, Windows::ApplicationModel::Email::EmailMessageBodyKind responseHeaderType, impl::abi_arg_in responseHeader, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateResponseMessageAsync(*reinterpret_cast(&messageId), responseType, *reinterpret_cast(&subject), responseHeaderType, *reinterpret_cast(&responseHeader))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdateMeetingResponseAsync(impl::abi_arg_in meeting, Windows::ApplicationModel::Email::EmailMeetingResponseType response, impl::abi_arg_in subject, impl::abi_arg_in comment, bool sendUpdate, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryUpdateMeetingResponseAsync(*reinterpret_cast(&meeting), response, *reinterpret_cast(&subject), *reinterpret_cast(&comment), sendUpdate)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryForwardMeetingAsync(impl::abi_arg_in meeting, impl::abi_arg_in> recipients, impl::abi_arg_in subject, Windows::ApplicationModel::Email::EmailMessageBodyKind forwardHeaderType, impl::abi_arg_in forwardHeader, impl::abi_arg_in comment, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryForwardMeetingAsync(*reinterpret_cast(&meeting), *reinterpret_cast *>(&recipients), *reinterpret_cast(&subject), forwardHeaderType, *reinterpret_cast(&forwardHeader), *reinterpret_cast(&comment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryProposeNewTimeForMeetingAsync(impl::abi_arg_in meeting, impl::abi_arg_in newStartTime, impl::abi_arg_in newDuration, impl::abi_arg_in subject, impl::abi_arg_in comment, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryProposeNewTimeForMeetingAsync(*reinterpret_cast(&meeting), *reinterpret_cast(&newStartTime), *reinterpret_cast(&newDuration), *reinterpret_cast(&subject), *reinterpret_cast(&comment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MailboxChanged(impl::abi_arg_in> pHandler, event_token * pToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pToken = detach_abi(this->shim().MailboxChanged(*reinterpret_cast *>(&pHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MailboxChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MailboxChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SmartSendMessageAsync(impl::abi_arg_in message, bool smartSend, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendMessageAsync(*reinterpret_cast(&message), smartSend)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetAutoReplySettingsAsync(impl::abi_arg_in autoReplySettings, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetAutoReplySettingsAsync(*reinterpret_cast(&autoReplySettings))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetAutoReplySettingsAsync(Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind requestedFormat, impl::abi_arg_out> autoReplySettings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *autoReplySettings = detach_abi(this->shim().TryGetAutoReplySettingsAsync(requestedFormat)); + return S_OK; + } + catch (...) + { + *autoReplySettings = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LinkedMailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinkedMailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ResolveRecipientsAsync(impl::abi_arg_in> recipients, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ResolveRecipientsAsync(*reinterpret_cast *>(&recipients))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ValidateCertificatesAsync(impl::abi_arg_in> certificates, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ValidateCertificatesAsync(*reinterpret_cast *>(&certificates))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryEmptyFolderAsync(impl::abi_arg_in folderId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryEmptyFolderAsync(*reinterpret_cast(&folderId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateFolderAsync(impl::abi_arg_in parentFolderId, impl::abi_arg_in name, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCreateFolderAsync(*reinterpret_cast(&parentFolderId), *reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryDeleteFolderAsync(impl::abi_arg_in folderId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryDeleteFolderAsync(*reinterpret_cast(&folderId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterSyncManagerAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterSyncManagerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Email::EmailMailboxActionKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChangeNumber(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Response(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Response()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Response(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Response(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseKind(Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ResponseKind(Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResponseKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EndTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InternalReply(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InternalReply()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KnownExternalReply(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KnownExternalReply()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnknownExternalReply(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnknownExternalReply()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanForwardMeetings(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanForwardMeetings()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGetAndSetExternalAutoReplies(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGetAndSetExternalAutoReplies()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGetAndSetInternalAutoReplies(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGetAndSetInternalAutoReplies()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanUpdateMeetingResponses(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanUpdateMeetingResponses()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanServerSearchFolders(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanServerSearchFolders()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanServerSearchMailbox(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanServerSearchMailbox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanProposeNewTimeForMeetings(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanProposeNewTimeForMeetings()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSmartSend(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSmartSend()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanResolveRecipients(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanResolveRecipients()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanValidateCertificates(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanValidateCertificates()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanEmptyFolder(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanEmptyFolder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanCreateFolder(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanCreateFolder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanDeleteFolder(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanDeleteFolder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanMoveFolder(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMoveFolder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_CanForwardMeetings(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanForwardMeetings(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanGetAndSetExternalAutoReplies(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanGetAndSetExternalAutoReplies(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanGetAndSetInternalAutoReplies(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanGetAndSetInternalAutoReplies(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanUpdateMeetingResponses(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanUpdateMeetingResponses(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanServerSearchFolders(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanServerSearchFolders(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanServerSearchMailbox(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanServerSearchMailbox(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanProposeNewTimeForMeetings(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanProposeNewTimeForMeetings(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanSmartSend(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanSmartSend(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanResolveRecipients(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanResolveRecipients(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanValidateCertificates(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanValidateCertificates(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanEmptyFolder(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanEmptyFolder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanCreateFolder(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanCreateFolder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanDeleteFolder(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanDeleteFolder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanMoveFolder(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanMoveFolder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeType(Windows::ApplicationModel::Email::EmailMailboxChangeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MailboxActions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MailboxActions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Folder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Folder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AcceptChanges() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChanges(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptChangesThrough(impl::abi_arg_in lastChangeToAcknowledge) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptChangesThrough(*reinterpret_cast(&lastChangeToAcknowledge)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTracking(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTracking()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Enable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChangeReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetChangeReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Email::EmailMailboxCreateFolderStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Folder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Folder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowedSmimeEncryptionAlgorithmNegotiation(Windows::ApplicationModel::Email::EmailMailboxAllowedSmimeEncryptionAlgorithmNegotiation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedSmimeEncryptionAlgorithmNegotiation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowSmimeSoftCertificates(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowSmimeSoftCertificates()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequiredSmimeEncryptionAlgorithm(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequiredSmimeEncryptionAlgorithm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequiredSmimeSigningAlgorithm(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequiredSmimeSigningAlgorithm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MustEncryptSmimeMessages(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MustEncryptSmimeMessages()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MustSignSmimeMessages(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MustSignSmimeMessages()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_AllowedSmimeEncryptionAlgorithmNegotiation(Windows::ApplicationModel::Email::EmailMailboxAllowedSmimeEncryptionAlgorithmNegotiation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowedSmimeEncryptionAlgorithmNegotiation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowSmimeSoftCertificates(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowSmimeSoftCertificates(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequiredSmimeEncryptionAlgorithm(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequiredSmimeEncryptionAlgorithm(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequiredSmimeSigningAlgorithm(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequiredSmimeSigningAlgorithm(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MustEncryptSmimeMessages(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MustEncryptSmimeMessages(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MustSignSmimeMessages(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MustSignSmimeMessages(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Email::EmailMailboxSyncStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastSuccessfulSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSuccessfulSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastAttemptedSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastAttemptedSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SyncAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SyncAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SyncStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SyncStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SyncStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Status(Windows::ApplicationModel::Email::EmailMailboxSyncStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastSuccessfulSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastSuccessfulSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastAttemptedSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastAttemptedSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowComposeNewEmailAsync(impl::abi_arg_in message, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowComposeNewEmailAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::Email::EmailStoreAccessType accessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowComposeNewEmailAsync(impl::abi_arg_in message, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().ShowComposeNewEmailAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::Email::EmailStoreAccessType accessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowNewTimeProposal(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowNewTimeProposal()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowNewTimeProposal(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowNewTimeProposal(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentRoamingId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentRoamingId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppointmentRoamingId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppointmentRoamingId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppointmentOriginalStartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppointmentOriginalStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppointmentOriginalStartTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppointmentOriginalStartTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAllDay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAllDay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAllDay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAllDay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsResponseRequested(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsResponseRequested()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsResponseRequested(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsResponseRequested(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Location(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Location(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProposedStartTime(impl::abi_arg_out> proposedStartTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *proposedStartTime = detach_abi(this->shim().ProposedStartTime()); + return S_OK; + } + catch (...) + { + *proposedStartTime = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProposedStartTime(impl::abi_arg_in> proposedStartTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProposedStartTime(*reinterpret_cast *>(&proposedStartTime)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProposedDuration(impl::abi_arg_out> duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *duration = detach_abi(this->shim().ProposedDuration()); + return S_OK; + } + catch (...) + { + *duration = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProposedDuration(impl::abi_arg_in> duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProposedDuration(*reinterpret_cast *>(&duration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecurrenceStartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecurrenceStartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RecurrenceStartTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecurrenceStartTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recurrence(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recurrence()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Recurrence(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Recurrence(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteChangeNumber(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteChangeNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteChangeNumber(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteChangeNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReportedOutOfDateByServer(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReportedOutOfDateByServer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subject(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subject(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Body(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Body(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_To(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CC(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CC()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bcc(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bcc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Attachments(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Attachments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MailboxId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MailboxId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConversationId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConversationId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FolderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FolderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowInternetImages(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowInternetImages()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowInternetImages(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowInternetImages(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChangeNumber(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadState(Windows::ApplicationModel::Email::EmailMessageDownloadState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DownloadState(Windows::ApplicationModel::Email::EmailMessageDownloadState value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EstimatedDownloadSizeInBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EstimatedDownloadSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EstimatedDownloadSizeInBytes(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EstimatedDownloadSizeInBytes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlagState(Windows::ApplicationModel::Email::EmailFlagState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlagState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FlagState(Windows::ApplicationModel::Email::EmailFlagState value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlagState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasPartialBodies(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasPartialBodies()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Importance(Windows::ApplicationModel::Email::EmailImportance * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Importance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Importance(Windows::ApplicationModel::Email::EmailImportance value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Importance(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InResponseToMessageId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InResponseToMessageId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IrmInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IrmInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IrmInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IrmInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDraftMessage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDraftMessage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRead(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRead()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRead(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRead(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSeen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSeen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSeen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSeen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsServerSearchMessage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsServerSearchMessage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSmartSendable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSmartSendable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageClass(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageClass()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MessageClass(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageClass(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedSubject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedSubject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OriginalCodePage(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalCodePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OriginalCodePage(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OriginalCodePage(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Preview(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Preview()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Preview(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Preview(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastResponseKind(Windows::ApplicationModel::Email::EmailMessageResponseKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastResponseKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastResponseKind(Windows::ApplicationModel::Email::EmailMessageResponseKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastResponseKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sender(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sender()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Sender(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Sender(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SentTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SentTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SentTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SentTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MeetingInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MeetingInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MeetingInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MeetingInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBodyStream(Windows::ApplicationModel::Email::EmailMessageBodyKind type, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetBodyStream(type)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBodyStream(Windows::ApplicationModel::Email::EmailMessageBodyKind type, impl::abi_arg_in stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBodyStream(type, *reinterpret_cast(&stream)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SmimeData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmimeData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmimeData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmimeData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmimeKind(Windows::ApplicationModel::Email::EmailMessageSmimeKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmimeKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmimeKind(Windows::ApplicationModel::Email::EmailMessageSmimeKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmimeKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReplyTo(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReplyTo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SentRepresenting(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SentRepresenting()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SentRepresenting(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SentRepresenting(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Messages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Messages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::Email::EmailBatchStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextSearch(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextSearch()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SortDirection(Windows::ApplicationModel::Email::EmailQuerySortDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SortDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SortDirection(Windows::ApplicationModel::Email::EmailQuerySortDirection value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SortDirection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SortProperty(Windows::ApplicationModel::Email::EmailQuerySortProperty * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SortProperty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SortProperty(Windows::ApplicationModel::Email::EmailQuerySortProperty value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SortProperty(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Email::EmailQueryKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::ApplicationModel::Email::EmailQueryKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FolderIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FolderIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithText(impl::abi_arg_in text, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithText(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTextAndFields(impl::abi_arg_in text, Windows::ApplicationModel::Email::EmailQuerySearchFields fields, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithTextAndFields(*reinterpret_cast(&text), fields)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Fields(Windows::ApplicationModel::Email::EmailQuerySearchFields * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Fields()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Fields(Windows::ApplicationModel::Email::EmailQuerySearchFields value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Fields(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchScope(Windows::ApplicationModel::Email::EmailQuerySearchScope * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchScope()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchScope(Windows::ApplicationModel::Email::EmailQuerySearchScope value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchScope(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Address(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Address(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in address, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&address))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithName(impl::abi_arg_in address, impl::abi_arg_in name, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithName(*reinterpret_cast(&address), *reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Email::EmailRecipientResolutionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublicKeys(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublicKeys()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Status(Windows::ApplicationModel::Email::EmailRecipientResolutionStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPublicKeys(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPublicKeys(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindMailboxesAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindMailboxesAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMailboxAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMailboxAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversationAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConversationAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFolderAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetFolderAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMessageAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMailboxAsync(impl::abi_arg_in accountName, impl::abi_arg_in accountAddress, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateMailboxAsync(*reinterpret_cast(&accountName), *reinterpret_cast(&accountAddress))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMailboxInAccountAsync(impl::abi_arg_in accountName, impl::abi_arg_in accountAddress, impl::abi_arg_in userDataAccountId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateMailboxAsync(*reinterpret_cast(&accountName), *reinterpret_cast(&accountAddress), *reinterpret_cast(&userDataAccountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +} + +namespace Windows::ApplicationModel::Email { + +template Windows::Foundation::IAsyncAction impl_IEmailManagerStatics::ShowComposeNewEmailAsync(const Windows::ApplicationModel::Email::EmailMessage & message) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IEmailManagerStatics)->abi_ShowComposeNewEmailAsync(get_abi(message), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailManagerStatics2::RequestStoreAsync(Windows::ApplicationModel::Email::EmailStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailManagerStatics2)->abi_RequestStoreAsync(accessType, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailManagerForUser impl_IEmailManagerStatics3::GetForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::Email::EmailManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IEmailManagerStatics3)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailManagerForUser::ShowComposeNewEmailAsync(const Windows::ApplicationModel::Email::EmailMessage & message) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailManagerForUser)->abi_ShowComposeNewEmailAsync(get_abi(message), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailManagerForUser::RequestStoreAsync(Windows::ApplicationModel::Email::EmailStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailManagerForUser)->abi_RequestStoreAsync(accessType, put_abi(result))); + return result; +} + +template Windows::System::User impl_IEmailManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IEmailManagerForUser)->get_User(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IEmailStore::FindMailboxesAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IEmailStore)->abi_FindMailboxesAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailConversationReader impl_IEmailStore::GetConversationReader() const +{ + Windows::ApplicationModel::Email::EmailConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetConversationReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailConversationReader impl_IEmailStore::GetConversationReader(const Windows::ApplicationModel::Email::EmailQueryOptions & options) const +{ + Windows::ApplicationModel::Email::EmailConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetConversationReaderWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMessageReader impl_IEmailStore::GetMessageReader() const +{ + Windows::ApplicationModel::Email::EmailMessageReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetMessageReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMessageReader impl_IEmailStore::GetMessageReader(const Windows::ApplicationModel::Email::EmailQueryOptions & options) const +{ + Windows::ApplicationModel::Email::EmailMessageReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetMessageReaderWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailStore::GetMailboxAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetMailboxAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailStore::GetConversationAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetConversationAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailStore::GetFolderAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetFolderAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailStore::GetMessageAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailStore)->abi_GetMessageAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailStore::CreateMailboxAsync(hstring_view accountName, hstring_view accountAddress) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailStore)->abi_CreateMailboxAsync(get_abi(accountName), get_abi(accountAddress), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailStore::CreateMailboxAsync(hstring_view accountName, hstring_view accountAddress, hstring_view userDataAccountId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailStore)->abi_CreateMailboxInAccountAsync(get_abi(accountName), get_abi(accountAddress), get_abi(userDataAccountId), put_abi(result))); + return result; +} + +template hstring impl_IEmailRecipient::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailRecipient)->get_Name(put_abi(value))); + return value; +} + +template void impl_IEmailRecipient::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailRecipient)->put_Name(get_abi(value))); +} + +template hstring impl_IEmailRecipient::Address() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailRecipient)->get_Address(put_abi(value))); + return value; +} + +template void impl_IEmailRecipient::Address(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailRecipient)->put_Address(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailRecipient impl_IEmailRecipientFactory::Create(hstring_view address) const +{ + Windows::ApplicationModel::Email::EmailRecipient result { nullptr }; + check_hresult(WINRT_SHIM(IEmailRecipientFactory)->abi_Create(get_abi(address), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailRecipient impl_IEmailRecipientFactory::CreateWithName(hstring_view address, hstring_view name) const +{ + Windows::ApplicationModel::Email::EmailRecipient result { nullptr }; + check_hresult(WINRT_SHIM(IEmailRecipientFactory)->abi_CreateWithName(get_abi(address), get_abi(name), put_abi(result))); + return result; +} + +template hstring impl_IEmailIrmTemplate::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailIrmTemplate)->get_Id(put_abi(value))); + return value; +} + +template void impl_IEmailIrmTemplate::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmTemplate)->put_Id(get_abi(value))); +} + +template hstring impl_IEmailIrmTemplate::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailIrmTemplate)->get_Description(put_abi(value))); + return value; +} + +template void impl_IEmailIrmTemplate::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmTemplate)->put_Description(get_abi(value))); +} + +template hstring impl_IEmailIrmTemplate::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailIrmTemplate)->get_Name(put_abi(value))); + return value; +} + +template void impl_IEmailIrmTemplate::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmTemplate)->put_Name(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailIrmTemplate impl_IEmailIrmTemplateFactory::Create(hstring_view id, hstring_view name, hstring_view description) const +{ + Windows::ApplicationModel::Email::EmailIrmTemplate result { nullptr }; + check_hresult(WINRT_SHIM(IEmailIrmTemplateFactory)->abi_Create(get_abi(id), get_abi(name), get_abi(description), put_abi(result))); + return result; +} + +template bool impl_IEmailIrmInfo::CanEdit() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanEdit(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanEdit(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanEdit(value)); +} + +template bool impl_IEmailIrmInfo::CanExtractData() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanExtractData(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanExtractData(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanExtractData(value)); +} + +template bool impl_IEmailIrmInfo::CanForward() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanForward(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanForward(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanForward(value)); +} + +template bool impl_IEmailIrmInfo::CanModifyRecipientsOnResponse() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanModifyRecipientsOnResponse(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanModifyRecipientsOnResponse(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanModifyRecipientsOnResponse(value)); +} + +template bool impl_IEmailIrmInfo::CanPrintData() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanPrintData(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanPrintData(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanPrintData(value)); +} + +template bool impl_IEmailIrmInfo::CanRemoveIrmOnResponse() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanRemoveIrmOnResponse(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanRemoveIrmOnResponse(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanRemoveIrmOnResponse(value)); +} + +template bool impl_IEmailIrmInfo::CanReply() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanReply(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanReply(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanReply(value)); +} + +template bool impl_IEmailIrmInfo::CanReplyAll() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_CanReplyAll(&value)); + return value; +} + +template void impl_IEmailIrmInfo::CanReplyAll(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_CanReplyAll(value)); +} + +template Windows::Foundation::DateTime impl_IEmailIrmInfo::ExpirationDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_ExpirationDate(put_abi(value))); + return value; +} + +template void impl_IEmailIrmInfo::ExpirationDate(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_ExpirationDate(get_abi(value))); +} + +template bool impl_IEmailIrmInfo::IsIrmOriginator() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_IsIrmOriginator(&value)); + return value; +} + +template void impl_IEmailIrmInfo::IsIrmOriginator(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_IsIrmOriginator(value)); +} + +template bool impl_IEmailIrmInfo::IsProgramaticAccessAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_IsProgramaticAccessAllowed(&value)); + return value; +} + +template void impl_IEmailIrmInfo::IsProgramaticAccessAllowed(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_IsProgramaticAccessAllowed(value)); +} + +template Windows::ApplicationModel::Email::EmailIrmTemplate impl_IEmailIrmInfo::Template() const +{ + Windows::ApplicationModel::Email::EmailIrmTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IEmailIrmInfo)->get_Template(put_abi(value))); + return value; +} + +template void impl_IEmailIrmInfo::Template(const Windows::ApplicationModel::Email::EmailIrmTemplate & value) const +{ + check_hresult(WINRT_SHIM(IEmailIrmInfo)->put_Template(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailIrmInfo impl_IEmailIrmInfoFactory::Create(const Windows::Foundation::DateTime & expiration, const Windows::ApplicationModel::Email::EmailIrmTemplate & irmTemplate) const +{ + Windows::ApplicationModel::Email::EmailIrmInfo result { nullptr }; + check_hresult(WINRT_SHIM(IEmailIrmInfoFactory)->abi_Create(get_abi(expiration), get_abi(irmTemplate), put_abi(result))); + return result; +} + +template hstring impl_IEmailMessage::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage)->get_Subject(put_abi(value))); + return value; +} + +template void impl_IEmailMessage::Subject(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage)->put_Subject(get_abi(value))); +} + +template hstring impl_IEmailMessage::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage)->get_Body(put_abi(value))); + return value; +} + +template void impl_IEmailMessage::Body(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage)->put_Body(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IEmailMessage::To() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailMessage)->get_To(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IEmailMessage::CC() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailMessage)->get_CC(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IEmailMessage::Bcc() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailMessage)->get_Bcc(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IEmailMessage::Attachments() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailMessage)->get_Attachments(put_abi(value))); + return value; +} + +template hstring impl_IEmailMessage2::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IEmailMessage2::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IEmailMessage2::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_RemoteId(get_abi(value))); +} + +template hstring impl_IEmailMessage2::MailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_MailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMessage2::ConversationId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_ConversationId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMessage2::FolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_FolderId(put_abi(value))); + return value; +} + +template bool impl_IEmailMessage2::AllowInternetImages() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_AllowInternetImages(&value)); + return value; +} + +template void impl_IEmailMessage2::AllowInternetImages(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_AllowInternetImages(value)); +} + +template uint64_t impl_IEmailMessage2::ChangeNumber() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_ChangeNumber(&value)); + return value; +} + +template Windows::ApplicationModel::Email::EmailMessageDownloadState impl_IEmailMessage2::DownloadState() const +{ + Windows::ApplicationModel::Email::EmailMessageDownloadState value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_DownloadState(&value)); + return value; +} + +template void impl_IEmailMessage2::DownloadState(Windows::ApplicationModel::Email::EmailMessageDownloadState value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_DownloadState(value)); +} + +template uint32_t impl_IEmailMessage2::EstimatedDownloadSizeInBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_EstimatedDownloadSizeInBytes(&value)); + return value; +} + +template void impl_IEmailMessage2::EstimatedDownloadSizeInBytes(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_EstimatedDownloadSizeInBytes(value)); +} + +template Windows::ApplicationModel::Email::EmailFlagState impl_IEmailMessage2::FlagState() const +{ + Windows::ApplicationModel::Email::EmailFlagState value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_FlagState(&value)); + return value; +} + +template void impl_IEmailMessage2::FlagState(Windows::ApplicationModel::Email::EmailFlagState value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_FlagState(value)); +} + +template bool impl_IEmailMessage2::HasPartialBodies() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_HasPartialBodies(&value)); + return value; +} + +template Windows::ApplicationModel::Email::EmailImportance impl_IEmailMessage2::Importance() const +{ + Windows::ApplicationModel::Email::EmailImportance value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_Importance(&value)); + return value; +} + +template void impl_IEmailMessage2::Importance(Windows::ApplicationModel::Email::EmailImportance value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_Importance(value)); +} + +template hstring impl_IEmailMessage2::InResponseToMessageId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_InResponseToMessageId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailIrmInfo impl_IEmailMessage2::IrmInfo() const +{ + Windows::ApplicationModel::Email::EmailIrmInfo value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_IrmInfo(put_abi(value))); + return value; +} + +template void impl_IEmailMessage2::IrmInfo(const Windows::ApplicationModel::Email::EmailIrmInfo & value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_IrmInfo(get_abi(value))); +} + +template bool impl_IEmailMessage2::IsDraftMessage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_IsDraftMessage(&value)); + return value; +} + +template bool impl_IEmailMessage2::IsRead() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_IsRead(&value)); + return value; +} + +template void impl_IEmailMessage2::IsRead(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_IsRead(value)); +} + +template bool impl_IEmailMessage2::IsSeen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_IsSeen(&value)); + return value; +} + +template void impl_IEmailMessage2::IsSeen(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_IsSeen(value)); +} + +template bool impl_IEmailMessage2::IsServerSearchMessage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_IsServerSearchMessage(&value)); + return value; +} + +template bool impl_IEmailMessage2::IsSmartSendable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_IsSmartSendable(&value)); + return value; +} + +template hstring impl_IEmailMessage2::MessageClass() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_MessageClass(put_abi(value))); + return value; +} + +template void impl_IEmailMessage2::MessageClass(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_MessageClass(get_abi(value))); +} + +template hstring impl_IEmailMessage2::NormalizedSubject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_NormalizedSubject(put_abi(value))); + return value; +} + +template int32_t impl_IEmailMessage2::OriginalCodePage() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_OriginalCodePage(&value)); + return value; +} + +template void impl_IEmailMessage2::OriginalCodePage(int32_t value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_OriginalCodePage(value)); +} + +template hstring impl_IEmailMessage2::Preview() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_Preview(put_abi(value))); + return value; +} + +template void impl_IEmailMessage2::Preview(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_Preview(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailMessageResponseKind impl_IEmailMessage2::LastResponseKind() const +{ + Windows::ApplicationModel::Email::EmailMessageResponseKind value {}; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_LastResponseKind(&value)); + return value; +} + +template void impl_IEmailMessage2::LastResponseKind(Windows::ApplicationModel::Email::EmailMessageResponseKind value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_LastResponseKind(value)); +} + +template Windows::ApplicationModel::Email::EmailRecipient impl_IEmailMessage2::Sender() const +{ + Windows::ApplicationModel::Email::EmailRecipient value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_Sender(put_abi(value))); + return value; +} + +template void impl_IEmailMessage2::Sender(const Windows::ApplicationModel::Email::EmailRecipient & value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_Sender(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IEmailMessage2::SentTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_SentTime(put_abi(value))); + return value; +} + +template void impl_IEmailMessage2::SentTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_SentTime(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailMeetingInfo impl_IEmailMessage2::MeetingInfo() const +{ + Windows::ApplicationModel::Email::EmailMeetingInfo value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMessage2)->get_MeetingInfo(put_abi(value))); + return value; +} + +template void impl_IEmailMessage2::MeetingInfo(const Windows::ApplicationModel::Email::EmailMeetingInfo & value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->put_MeetingInfo(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IEmailMessage2::GetBodyStream(Windows::ApplicationModel::Email::EmailMessageBodyKind type) const +{ + Windows::Storage::Streams::IRandomAccessStreamReference result; + check_hresult(WINRT_SHIM(IEmailMessage2)->abi_GetBodyStream(type, put_abi(result))); + return result; +} + +template void impl_IEmailMessage2::SetBodyStream(Windows::ApplicationModel::Email::EmailMessageBodyKind type, const Windows::Storage::Streams::IRandomAccessStreamReference & stream) const +{ + check_hresult(WINRT_SHIM(IEmailMessage2)->abi_SetBodyStream(type, get_abi(stream))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IEmailMessage3::SmimeData() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IEmailMessage3)->get_SmimeData(put_abi(value))); + return value; +} + +template void impl_IEmailMessage3::SmimeData(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage3)->put_SmimeData(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailMessageSmimeKind impl_IEmailMessage3::SmimeKind() const +{ + Windows::ApplicationModel::Email::EmailMessageSmimeKind value {}; + check_hresult(WINRT_SHIM(IEmailMessage3)->get_SmimeKind(&value)); + return value; +} + +template void impl_IEmailMessage3::SmimeKind(Windows::ApplicationModel::Email::EmailMessageSmimeKind value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage3)->put_SmimeKind(value)); +} + +template Windows::Foundation::Collections::IVector impl_IEmailMessage4::ReplyTo() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailMessage4)->get_ReplyTo(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailRecipient impl_IEmailMessage4::SentRepresenting() const +{ + Windows::ApplicationModel::Email::EmailRecipient value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMessage4)->get_SentRepresenting(put_abi(value))); + return value; +} + +template void impl_IEmailMessage4::SentRepresenting(const Windows::ApplicationModel::Email::EmailRecipient & value) const +{ + check_hresult(WINRT_SHIM(IEmailMessage4)->put_SentRepresenting(get_abi(value))); +} + +template hstring impl_IEmailAttachment::FileName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailAttachment)->get_FileName(put_abi(value))); + return value; +} + +template void impl_IEmailAttachment::FileName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment)->put_FileName(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IEmailAttachment::Data() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IEmailAttachment)->get_Data(put_abi(value))); + return value; +} + +template void impl_IEmailAttachment::Data(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment)->put_Data(get_abi(value))); +} + +template hstring impl_IEmailAttachment2::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IEmailAttachment2::ContentId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_ContentId(put_abi(value))); + return value; +} + +template void impl_IEmailAttachment2::ContentId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment2)->put_ContentId(get_abi(value))); +} + +template hstring impl_IEmailAttachment2::ContentLocation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_ContentLocation(put_abi(value))); + return value; +} + +template void impl_IEmailAttachment2::ContentLocation(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment2)->put_ContentLocation(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailAttachmentDownloadState impl_IEmailAttachment2::DownloadState() const +{ + Windows::ApplicationModel::Email::EmailAttachmentDownloadState value {}; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_DownloadState(&value)); + return value; +} + +template void impl_IEmailAttachment2::DownloadState(Windows::ApplicationModel::Email::EmailAttachmentDownloadState value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment2)->put_DownloadState(value)); +} + +template uint64_t impl_IEmailAttachment2::EstimatedDownloadSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_EstimatedDownloadSizeInBytes(&value)); + return value; +} + +template void impl_IEmailAttachment2::EstimatedDownloadSizeInBytes(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment2)->put_EstimatedDownloadSizeInBytes(value)); +} + +template bool impl_IEmailAttachment2::IsFromBaseMessage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_IsFromBaseMessage(&value)); + return value; +} + +template bool impl_IEmailAttachment2::IsInline() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_IsInline(&value)); + return value; +} + +template void impl_IEmailAttachment2::IsInline(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment2)->put_IsInline(value)); +} + +template hstring impl_IEmailAttachment2::MimeType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailAttachment2)->get_MimeType(put_abi(value))); + return value; +} + +template void impl_IEmailAttachment2::MimeType(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailAttachment2)->put_MimeType(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailAttachment impl_IEmailAttachmentFactory::Create(hstring_view fileName, const Windows::Storage::Streams::IRandomAccessStreamReference & data) const +{ + Windows::ApplicationModel::Email::EmailAttachment result { nullptr }; + check_hresult(WINRT_SHIM(IEmailAttachmentFactory)->abi_Create(get_abi(fileName), get_abi(data), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailAttachment impl_IEmailAttachmentFactory2::Create(hstring_view fileName, const Windows::Storage::Streams::IRandomAccessStreamReference & data, hstring_view mimeType) const +{ + Windows::ApplicationModel::Email::EmailAttachment result { nullptr }; + check_hresult(WINRT_SHIM(IEmailAttachmentFactory2)->abi_Create(get_abi(fileName), get_abi(data), get_abi(mimeType), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMailboxChangedDeferral impl_IEmailMailboxChangedEventArgs::GetDeferral() const +{ + Windows::ApplicationModel::Email::EmailMailboxChangedDeferral result { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxChangedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template void impl_IEmailMailboxChangedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IEmailMailboxChangedDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::Email::EmailMailboxAllowedSmimeEncryptionAlgorithmNegotiation impl_IEmailMailboxPolicies::AllowedSmimeEncryptionAlgorithmNegotiation() const +{ + Windows::ApplicationModel::Email::EmailMailboxAllowedSmimeEncryptionAlgorithmNegotiation value {}; + check_hresult(WINRT_SHIM(IEmailMailboxPolicies)->get_AllowedSmimeEncryptionAlgorithmNegotiation(&value)); + return value; +} + +template bool impl_IEmailMailboxPolicies::AllowSmimeSoftCertificates() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxPolicies)->get_AllowSmimeSoftCertificates(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IEmailMailboxPolicies::RequiredSmimeEncryptionAlgorithm() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IEmailMailboxPolicies)->get_RequiredSmimeEncryptionAlgorithm(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IEmailMailboxPolicies::RequiredSmimeSigningAlgorithm() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IEmailMailboxPolicies)->get_RequiredSmimeSigningAlgorithm(put_abi(value))); + return value; +} + +template bool impl_IEmailMailboxPolicies2::MustEncryptSmimeMessages() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxPolicies2)->get_MustEncryptSmimeMessages(&value)); + return value; +} + +template bool impl_IEmailMailboxPolicies2::MustSignSmimeMessages() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxPolicies2)->get_MustSignSmimeMessages(&value)); + return value; +} + +template void impl_IEmailMailboxPolicies3::AllowedSmimeEncryptionAlgorithmNegotiation(Windows::ApplicationModel::Email::EmailMailboxAllowedSmimeEncryptionAlgorithmNegotiation value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxPolicies3)->put_AllowedSmimeEncryptionAlgorithmNegotiation(value)); +} + +template void impl_IEmailMailboxPolicies3::AllowSmimeSoftCertificates(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxPolicies3)->put_AllowSmimeSoftCertificates(value)); +} + +template void impl_IEmailMailboxPolicies3::RequiredSmimeEncryptionAlgorithm(const optional & value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxPolicies3)->put_RequiredSmimeEncryptionAlgorithm(get_abi(value))); +} + +template void impl_IEmailMailboxPolicies3::RequiredSmimeSigningAlgorithm(const optional & value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxPolicies3)->put_RequiredSmimeSigningAlgorithm(get_abi(value))); +} + +template void impl_IEmailMailboxPolicies3::MustEncryptSmimeMessages(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxPolicies3)->put_MustEncryptSmimeMessages(value)); +} + +template void impl_IEmailMailboxPolicies3::MustSignSmimeMessages(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxPolicies3)->put_MustSignSmimeMessages(value)); +} + +template bool impl_IEmailMailboxCapabilities::CanForwardMeetings() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanForwardMeetings(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities::CanGetAndSetExternalAutoReplies() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanGetAndSetExternalAutoReplies(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities::CanGetAndSetInternalAutoReplies() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanGetAndSetInternalAutoReplies(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities::CanUpdateMeetingResponses() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanUpdateMeetingResponses(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities::CanServerSearchFolders() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanServerSearchFolders(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities::CanServerSearchMailbox() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanServerSearchMailbox(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities::CanProposeNewTimeForMeetings() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanProposeNewTimeForMeetings(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities::CanSmartSend() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities)->get_CanSmartSend(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities2::CanResolveRecipients() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities2)->get_CanResolveRecipients(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities2::CanValidateCertificates() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities2)->get_CanValidateCertificates(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities2::CanEmptyFolder() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities2)->get_CanEmptyFolder(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities2::CanCreateFolder() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities2)->get_CanCreateFolder(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities2::CanDeleteFolder() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities2)->get_CanDeleteFolder(&value)); + return value; +} + +template bool impl_IEmailMailboxCapabilities2::CanMoveFolder() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities2)->get_CanMoveFolder(&value)); + return value; +} + +template void impl_IEmailMailboxCapabilities3::CanForwardMeetings(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanForwardMeetings(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanGetAndSetExternalAutoReplies(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanGetAndSetExternalAutoReplies(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanGetAndSetInternalAutoReplies(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanGetAndSetInternalAutoReplies(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanUpdateMeetingResponses(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanUpdateMeetingResponses(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanServerSearchFolders(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanServerSearchFolders(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanServerSearchMailbox(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanServerSearchMailbox(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanProposeNewTimeForMeetings(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanProposeNewTimeForMeetings(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanSmartSend(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanSmartSend(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanResolveRecipients(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanResolveRecipients(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanValidateCertificates(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanValidateCertificates(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanEmptyFolder(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanEmptyFolder(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanCreateFolder(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanCreateFolder(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanDeleteFolder(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanDeleteFolder(value)); +} + +template void impl_IEmailMailboxCapabilities3::CanMoveFolder(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxCapabilities3)->put_CanMoveFolder(value)); +} + +template Windows::ApplicationModel::Email::EmailMailboxCapabilities impl_IEmailMailbox::Capabilities() const +{ + Windows::ApplicationModel::Email::EmailMailboxCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_Capabilities(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMailboxChangeTracker impl_IEmailMailbox::ChangeTracker() const +{ + Windows::ApplicationModel::Email::EmailMailboxChangeTracker value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_ChangeTracker(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailbox::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IEmailMailbox::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMailbox)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IEmailMailbox::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_Id(put_abi(value))); + return value; +} + +template bool impl_IEmailMailbox::IsOwnedByCurrentApp() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_IsOwnedByCurrentApp(&value)); + return value; +} + +template bool impl_IEmailMailbox::IsDataEncryptedUnderLock() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_IsDataEncryptedUnderLock(&value)); + return value; +} + +template hstring impl_IEmailMailbox::MailAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_MailAddress(put_abi(value))); + return value; +} + +template void impl_IEmailMailbox::MailAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMailbox)->put_MailAddress(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IEmailMailbox::MailAddressAliases() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_MailAddressAliases(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMailboxOtherAppReadAccess impl_IEmailMailbox::OtherAppReadAccess() const +{ + Windows::ApplicationModel::Email::EmailMailboxOtherAppReadAccess value {}; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_OtherAppReadAccess(&value)); + return value; +} + +template void impl_IEmailMailbox::OtherAppReadAccess(Windows::ApplicationModel::Email::EmailMailboxOtherAppReadAccess value) const +{ + check_hresult(WINRT_SHIM(IEmailMailbox)->put_OtherAppReadAccess(value)); +} + +template Windows::ApplicationModel::Email::EmailMailboxOtherAppWriteAccess impl_IEmailMailbox::OtherAppWriteAccess() const +{ + Windows::ApplicationModel::Email::EmailMailboxOtherAppWriteAccess value {}; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_OtherAppWriteAccess(&value)); + return value; +} + +template void impl_IEmailMailbox::OtherAppWriteAccess(Windows::ApplicationModel::Email::EmailMailboxOtherAppWriteAccess value) const +{ + check_hresult(WINRT_SHIM(IEmailMailbox)->put_OtherAppWriteAccess(value)); +} + +template Windows::ApplicationModel::Email::EmailMailboxPolicies impl_IEmailMailbox::Policies() const +{ + Windows::ApplicationModel::Email::EmailMailboxPolicies value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_Policies(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailbox::SourceDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_SourceDisplayName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMailboxSyncManager impl_IEmailMailbox::SyncManager() const +{ + Windows::ApplicationModel::Email::EmailMailboxSyncManager value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_SyncManager(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailbox::UserDataAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox)->get_UserDataAccountId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailConversationReader impl_IEmailMailbox::GetConversationReader() const +{ + Windows::ApplicationModel::Email::EmailConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetConversationReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailConversationReader impl_IEmailMailbox::GetConversationReader(const Windows::ApplicationModel::Email::EmailQueryOptions & options) const +{ + Windows::ApplicationModel::Email::EmailConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetConversationReaderWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMessageReader impl_IEmailMailbox::GetMessageReader() const +{ + Windows::ApplicationModel::Email::EmailMessageReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetMessageReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMessageReader impl_IEmailMailbox::GetMessageReader(const Windows::ApplicationModel::Email::EmailQueryOptions & options) const +{ + Windows::ApplicationModel::Email::EmailMessageReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetMessageReaderWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_DeleteAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::GetConversationAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetConversationAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::GetFolderAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetFolderAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::GetMessageAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetMessageAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::GetSpecialFolderAsync(Windows::ApplicationModel::Email::EmailSpecialFolderKind folderType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_GetSpecialFolderAsync(folderType, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::SaveAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_SaveAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::MarkMessageAsSeenAsync(hstring_view messageId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_MarkMessageAsSeenAsync(get_abi(messageId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::MarkFolderAsSeenAsync(hstring_view folderId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_MarkFolderAsSeenAsync(get_abi(folderId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::MarkMessageReadAsync(hstring_view messageId, bool isRead) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_MarkMessageReadAsync(get_abi(messageId), isRead, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::ChangeMessageFlagStateAsync(hstring_view messageId, Windows::ApplicationModel::Email::EmailFlagState flagState) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_ChangeMessageFlagStateAsync(get_abi(messageId), flagState, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TryMoveMessageAsync(hstring_view messageId, hstring_view newParentFolderId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TryMoveMessageAsync(get_abi(messageId), get_abi(newParentFolderId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TryMoveFolderAsync(hstring_view folderId, hstring_view newParentFolderId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TryMoveFolderAsync(get_abi(folderId), get_abi(newParentFolderId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TryMoveFolderAsync(hstring_view folderId, hstring_view newParentFolderId, hstring_view newFolderName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TryMoveFolderWithNewNameAsync(get_abi(folderId), get_abi(newParentFolderId), get_abi(newFolderName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::DeleteMessageAsync(hstring_view messageId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_DeleteMessageAsync(get_abi(messageId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::MarkFolderSyncEnabledAsync(hstring_view folderId, bool isSyncEnabled) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_MarkFolderSyncEnabledAsync(get_abi(folderId), isSyncEnabled, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::SendMessageAsync(const Windows::ApplicationModel::Email::EmailMessage & message) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_SendMessageAsync(get_abi(message), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::SaveDraftAsync(const Windows::ApplicationModel::Email::EmailMessage & message) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_SaveDraftAsync(get_abi(message), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::DownloadMessageAsync(hstring_view messageId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_DownloadMessageAsync(get_abi(messageId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::DownloadAttachmentAsync(hstring_view attachmentId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_DownloadAttachmentAsync(get_abi(attachmentId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::CreateResponseMessageAsync(hstring_view messageId, Windows::ApplicationModel::Email::EmailMessageResponseKind responseType, hstring_view subject, Windows::ApplicationModel::Email::EmailMessageBodyKind responseHeaderType, hstring_view responseHeader) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_CreateResponseMessageAsync(get_abi(messageId), responseType, get_abi(subject), responseHeaderType, get_abi(responseHeader), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TryUpdateMeetingResponseAsync(const Windows::ApplicationModel::Email::EmailMessage & meeting, Windows::ApplicationModel::Email::EmailMeetingResponseType response, hstring_view subject, hstring_view comment, bool sendUpdate) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TryUpdateMeetingResponseAsync(get_abi(meeting), response, get_abi(subject), get_abi(comment), sendUpdate, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TryForwardMeetingAsync(const Windows::ApplicationModel::Email::EmailMessage & meeting, iterable recipients, hstring_view subject, Windows::ApplicationModel::Email::EmailMessageBodyKind forwardHeaderType, hstring_view forwardHeader, hstring_view comment) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TryForwardMeetingAsync(get_abi(meeting), get_abi(recipients), get_abi(subject), forwardHeaderType, get_abi(forwardHeader), get_abi(comment), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TryProposeNewTimeForMeetingAsync(const Windows::ApplicationModel::Email::EmailMessage & meeting, const Windows::Foundation::DateTime & newStartTime, const Windows::Foundation::TimeSpan & newDuration, hstring_view subject, hstring_view comment) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TryProposeNewTimeForMeetingAsync(get_abi(meeting), get_abi(newStartTime), get_abi(newDuration), get_abi(subject), get_abi(comment), put_abi(result))); + return result; +} + +template event_token impl_IEmailMailbox::MailboxChanged(const Windows::Foundation::TypedEventHandler & pHandler) const +{ + event_token pToken {}; + check_hresult(WINRT_SHIM(IEmailMailbox)->add_MailboxChanged(get_abi(pHandler), &pToken)); + return pToken; +} + +template event_revoker impl_IEmailMailbox::MailboxChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & pHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::IEmailMailbox::remove_MailboxChanged, MailboxChanged(pHandler)); +} + +template void impl_IEmailMailbox::MailboxChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailMailbox)->remove_MailboxChanged(token)); +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox::SendMessageAsync(const Windows::ApplicationModel::Email::EmailMessage & message, bool smartSend) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_SmartSendMessageAsync(get_abi(message), smartSend, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TrySetAutoReplySettingsAsync(const Windows::ApplicationModel::Email::EmailMailboxAutoReplySettings & autoReplySettings) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TrySetAutoReplySettingsAsync(get_abi(autoReplySettings), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox::TryGetAutoReplySettingsAsync(Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind requestedFormat) const +{ + Windows::Foundation::IAsyncOperation autoReplySettings; + check_hresult(WINRT_SHIM(IEmailMailbox)->abi_TryGetAutoReplySettingsAsync(requestedFormat, put_abi(autoReplySettings))); + return autoReplySettings; +} + +template hstring impl_IEmailMailbox2::LinkedMailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox2)->get_LinkedMailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailbox2::NetworkAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox2)->get_NetworkAccountId(put_abi(value))); + return value; +} + +template hstring impl_IEmailMailbox2::NetworkId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailbox2)->get_NetworkId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IEmailMailbox3::ResolveRecipientsAsync(iterable recipients) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IEmailMailbox3)->abi_ResolveRecipientsAsync(get_abi(recipients), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IEmailMailbox3::ValidateCertificatesAsync(iterable certificates) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IEmailMailbox3)->abi_ValidateCertificatesAsync(get_abi(certificates), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox3::TryEmptyFolderAsync(hstring_view folderId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox3)->abi_TryEmptyFolderAsync(get_abi(folderId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox3::TryCreateFolderAsync(hstring_view parentFolderId, hstring_view name) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox3)->abi_TryCreateFolderAsync(get_abi(parentFolderId), get_abi(name), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailbox3::TryDeleteFolderAsync(hstring_view folderId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailbox3)->abi_TryDeleteFolderAsync(get_abi(folderId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailMailbox4::RegisterSyncManagerAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailMailbox4)->abi_RegisterSyncManagerAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailRecipientResolutionStatus impl_IEmailRecipientResolutionResult::Status() const +{ + Windows::ApplicationModel::Email::EmailRecipientResolutionStatus value {}; + check_hresult(WINRT_SHIM(IEmailRecipientResolutionResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IEmailRecipientResolutionResult::PublicKeys() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEmailRecipientResolutionResult)->get_PublicKeys(put_abi(value))); + return value; +} + +template void impl_IEmailRecipientResolutionResult2::Status(Windows::ApplicationModel::Email::EmailRecipientResolutionStatus value) const +{ + check_hresult(WINRT_SHIM(IEmailRecipientResolutionResult2)->put_Status(value)); +} + +template void impl_IEmailRecipientResolutionResult2::SetPublicKeys(iterable value) const +{ + check_hresult(WINRT_SHIM(IEmailRecipientResolutionResult2)->abi_SetPublicKeys(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailMailboxCreateFolderStatus impl_IEmailMailboxCreateFolderResult::Status() const +{ + Windows::ApplicationModel::Email::EmailMailboxCreateFolderStatus value {}; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderResult)->get_Status(&value)); + return value; +} + +template Windows::ApplicationModel::Email::EmailFolder impl_IEmailMailboxCreateFolderResult::Folder() const +{ + Windows::ApplicationModel::Email::EmailFolder value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxCreateFolderResult)->get_Folder(put_abi(value))); + return value; +} + +template bool impl_IEmailMailboxAutoReplySettings::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->get_IsEnabled(&value)); + return value; +} + +template void impl_IEmailMailboxAutoReplySettings::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->put_IsEnabled(value)); +} + +template Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind impl_IEmailMailboxAutoReplySettings::ResponseKind() const +{ + Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind value {}; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->get_ResponseKind(&value)); + return value; +} + +template void impl_IEmailMailboxAutoReplySettings::ResponseKind(Windows::ApplicationModel::Email::EmailMailboxAutoReplyMessageResponseKind value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->put_ResponseKind(value)); +} + +template Windows::Foundation::IReference impl_IEmailMailboxAutoReplySettings::StartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_IEmailMailboxAutoReplySettings::StartTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->put_StartTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IEmailMailboxAutoReplySettings::EndTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->get_EndTime(put_abi(value))); + return value; +} + +template void impl_IEmailMailboxAutoReplySettings::EndTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->put_EndTime(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailMailboxAutoReply impl_IEmailMailboxAutoReplySettings::InternalReply() const +{ + Windows::ApplicationModel::Email::EmailMailboxAutoReply value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->get_InternalReply(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMailboxAutoReply impl_IEmailMailboxAutoReplySettings::KnownExternalReply() const +{ + Windows::ApplicationModel::Email::EmailMailboxAutoReply value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->get_KnownExternalReply(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMailboxAutoReply impl_IEmailMailboxAutoReplySettings::UnknownExternalReply() const +{ + Windows::ApplicationModel::Email::EmailMailboxAutoReply value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReplySettings)->get_UnknownExternalReply(put_abi(value))); + return value; +} + +template bool impl_IEmailMailboxAutoReply::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReply)->get_IsEnabled(&value)); + return value; +} + +template void impl_IEmailMailboxAutoReply::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxAutoReply)->put_IsEnabled(value)); +} + +template hstring impl_IEmailMailboxAutoReply::Response() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMailboxAutoReply)->get_Response(put_abi(value))); + return value; +} + +template void impl_IEmailMailboxAutoReply::Response(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxAutoReply)->put_Response(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailMailboxSyncStatus impl_IEmailMailboxSyncManager::Status() const +{ + Windows::ApplicationModel::Email::EmailMailboxSyncStatus value {}; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager)->get_Status(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IEmailMailboxSyncManager::LastSuccessfulSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager)->get_LastSuccessfulSyncTime(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IEmailMailboxSyncManager::LastAttemptedSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager)->get_LastAttemptedSyncTime(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMailboxSyncManager::SyncAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager)->abi_SyncAsync(put_abi(result))); + return result; +} + +template event_token impl_IEmailMailboxSyncManager::SyncStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager)->add_SyncStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEmailMailboxSyncManager::SyncStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Email::IEmailMailboxSyncManager::remove_SyncStatusChanged, SyncStatusChanged(handler)); +} + +template void impl_IEmailMailboxSyncManager::SyncStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager)->remove_SyncStatusChanged(token)); +} + +template void impl_IEmailMailboxSyncManager2::Status(Windows::ApplicationModel::Email::EmailMailboxSyncStatus value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager2)->put_Status(value)); +} + +template void impl_IEmailMailboxSyncManager2::LastSuccessfulSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager2)->put_LastSuccessfulSyncTime(get_abi(value))); +} + +template void impl_IEmailMailboxSyncManager2::LastAttemptedSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxSyncManager2)->put_LastAttemptedSyncTime(get_abi(value))); +} + +template hstring impl_IEmailFolder::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailFolder)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IEmailFolder::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailFolder)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IEmailFolder::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailFolder)->put_RemoteId(get_abi(value))); +} + +template hstring impl_IEmailFolder::MailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailFolder)->get_MailboxId(put_abi(value))); + return value; +} + +template hstring impl_IEmailFolder::ParentFolderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailFolder)->get_ParentFolderId(put_abi(value))); + return value; +} + +template hstring impl_IEmailFolder::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailFolder)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IEmailFolder::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailFolder)->put_DisplayName(get_abi(value))); +} + +template bool impl_IEmailFolder::IsSyncEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailFolder)->get_IsSyncEnabled(&value)); + return value; +} + +template void impl_IEmailFolder::IsSyncEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailFolder)->put_IsSyncEnabled(value)); +} + +template Windows::Foundation::DateTime impl_IEmailFolder::LastSuccessfulSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailFolder)->get_LastSuccessfulSyncTime(put_abi(value))); + return value; +} + +template void impl_IEmailFolder::LastSuccessfulSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IEmailFolder)->put_LastSuccessfulSyncTime(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailSpecialFolderKind impl_IEmailFolder::Kind() const +{ + Windows::ApplicationModel::Email::EmailSpecialFolderKind value {}; + check_hresult(WINRT_SHIM(IEmailFolder)->get_Kind(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailFolder::CreateFolderAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_CreateFolderAsync(get_abi(name), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailFolder::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_DeleteAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IEmailFolder::FindChildFoldersAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_FindChildFoldersAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailConversationReader impl_IEmailFolder::GetConversationReader() const +{ + Windows::ApplicationModel::Email::EmailConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_GetConversationReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailConversationReader impl_IEmailFolder::GetConversationReader(const Windows::ApplicationModel::Email::EmailQueryOptions & options) const +{ + Windows::ApplicationModel::Email::EmailConversationReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_GetConversationReaderWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailFolder::GetMessageAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_GetMessageAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMessageReader impl_IEmailFolder::GetMessageReader() const +{ + Windows::ApplicationModel::Email::EmailMessageReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_GetMessageReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMessageReader impl_IEmailFolder::GetMessageReader(const Windows::ApplicationModel::Email::EmailQueryOptions & options) const +{ + Windows::ApplicationModel::Email::EmailMessageReader result { nullptr }; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_GetMessageReaderWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailFolder::GetMessageCountsAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_GetMessageCountsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailFolder::TryMoveAsync(const Windows::ApplicationModel::Email::EmailFolder & newParentFolder) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_TryMoveAsync(get_abi(newParentFolder), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailFolder::TryMoveAsync(const Windows::ApplicationModel::Email::EmailFolder & newParentFolder, hstring_view newFolderName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_TryMoveWithNewNameAsync(get_abi(newParentFolder), get_abi(newFolderName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailFolder::TrySaveAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_TrySaveAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEmailFolder::SaveMessageAsync(const Windows::ApplicationModel::Email::EmailMessage & message) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEmailFolder)->abi_SaveMessageAsync(get_abi(message), put_abi(result))); + return result; +} + +template hstring impl_IEmailConversation::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailConversation)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IEmailConversation::MailboxId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailConversation)->get_MailboxId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailFlagState impl_IEmailConversation::FlagState() const +{ + Windows::ApplicationModel::Email::EmailFlagState value {}; + check_hresult(WINRT_SHIM(IEmailConversation)->get_FlagState(&value)); + return value; +} + +template bool impl_IEmailConversation::HasAttachment() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailConversation)->get_HasAttachment(&value)); + return value; +} + +template Windows::ApplicationModel::Email::EmailImportance impl_IEmailConversation::Importance() const +{ + Windows::ApplicationModel::Email::EmailImportance value {}; + check_hresult(WINRT_SHIM(IEmailConversation)->get_Importance(&value)); + return value; +} + +template Windows::ApplicationModel::Email::EmailMessageResponseKind impl_IEmailConversation::LastEmailResponseKind() const +{ + Windows::ApplicationModel::Email::EmailMessageResponseKind value {}; + check_hresult(WINRT_SHIM(IEmailConversation)->get_LastEmailResponseKind(&value)); + return value; +} + +template uint32_t impl_IEmailConversation::MessageCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailConversation)->get_MessageCount(&value)); + return value; +} + +template hstring impl_IEmailConversation::MostRecentMessageId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailConversation)->get_MostRecentMessageId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IEmailConversation::MostRecentMessageTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailConversation)->get_MostRecentMessageTime(put_abi(value))); + return value; +} + +template hstring impl_IEmailConversation::Preview() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailConversation)->get_Preview(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailRecipient impl_IEmailConversation::LatestSender() const +{ + Windows::ApplicationModel::Email::EmailRecipient value { nullptr }; + check_hresult(WINRT_SHIM(IEmailConversation)->get_LatestSender(put_abi(value))); + return value; +} + +template hstring impl_IEmailConversation::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailConversation)->get_Subject(put_abi(value))); + return value; +} + +template uint32_t impl_IEmailConversation::UnreadMessageCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailConversation)->get_UnreadMessageCount(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IEmailConversation::FindMessagesAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IEmailConversation)->abi_FindMessagesAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IEmailConversation::FindMessagesAsync(uint32_t count) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IEmailConversation)->abi_FindMessagesWithCountAsync(count, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMailboxActionKind impl_IEmailMailboxAction::Kind() const +{ + Windows::ApplicationModel::Email::EmailMailboxActionKind value {}; + check_hresult(WINRT_SHIM(IEmailMailboxAction)->get_Kind(&value)); + return value; +} + +template uint64_t impl_IEmailMailboxAction::ChangeNumber() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IEmailMailboxAction)->get_ChangeNumber(&value)); + return value; +} + +template Windows::ApplicationModel::Email::EmailQuerySearchFields impl_IEmailQueryTextSearch::Fields() const +{ + Windows::ApplicationModel::Email::EmailQuerySearchFields value {}; + check_hresult(WINRT_SHIM(IEmailQueryTextSearch)->get_Fields(&value)); + return value; +} + +template void impl_IEmailQueryTextSearch::Fields(Windows::ApplicationModel::Email::EmailQuerySearchFields value) const +{ + check_hresult(WINRT_SHIM(IEmailQueryTextSearch)->put_Fields(value)); +} + +template Windows::ApplicationModel::Email::EmailQuerySearchScope impl_IEmailQueryTextSearch::SearchScope() const +{ + Windows::ApplicationModel::Email::EmailQuerySearchScope value {}; + check_hresult(WINRT_SHIM(IEmailQueryTextSearch)->get_SearchScope(&value)); + return value; +} + +template void impl_IEmailQueryTextSearch::SearchScope(Windows::ApplicationModel::Email::EmailQuerySearchScope value) const +{ + check_hresult(WINRT_SHIM(IEmailQueryTextSearch)->put_SearchScope(value)); +} + +template hstring impl_IEmailQueryTextSearch::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailQueryTextSearch)->get_Text(put_abi(value))); + return value; +} + +template void impl_IEmailQueryTextSearch::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailQueryTextSearch)->put_Text(get_abi(value))); +} + +template Windows::ApplicationModel::Email::EmailQueryOptions impl_IEmailQueryOptionsFactory::CreateWithText(hstring_view text) const +{ + Windows::ApplicationModel::Email::EmailQueryOptions result { nullptr }; + check_hresult(WINRT_SHIM(IEmailQueryOptionsFactory)->abi_CreateWithText(get_abi(text), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailQueryOptions impl_IEmailQueryOptionsFactory::CreateWithTextAndFields(hstring_view text, Windows::ApplicationModel::Email::EmailQuerySearchFields fields) const +{ + Windows::ApplicationModel::Email::EmailQueryOptions result { nullptr }; + check_hresult(WINRT_SHIM(IEmailQueryOptionsFactory)->abi_CreateWithTextAndFields(get_abi(text), fields, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailQueryTextSearch impl_IEmailQueryOptions::TextSearch() const +{ + Windows::ApplicationModel::Email::EmailQueryTextSearch value { nullptr }; + check_hresult(WINRT_SHIM(IEmailQueryOptions)->get_TextSearch(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailQuerySortDirection impl_IEmailQueryOptions::SortDirection() const +{ + Windows::ApplicationModel::Email::EmailQuerySortDirection value {}; + check_hresult(WINRT_SHIM(IEmailQueryOptions)->get_SortDirection(&value)); + return value; +} + +template void impl_IEmailQueryOptions::SortDirection(Windows::ApplicationModel::Email::EmailQuerySortDirection value) const +{ + check_hresult(WINRT_SHIM(IEmailQueryOptions)->put_SortDirection(value)); +} + +template Windows::ApplicationModel::Email::EmailQuerySortProperty impl_IEmailQueryOptions::SortProperty() const +{ + Windows::ApplicationModel::Email::EmailQuerySortProperty value {}; + check_hresult(WINRT_SHIM(IEmailQueryOptions)->get_SortProperty(&value)); + return value; +} + +template void impl_IEmailQueryOptions::SortProperty(Windows::ApplicationModel::Email::EmailQuerySortProperty value) const +{ + check_hresult(WINRT_SHIM(IEmailQueryOptions)->put_SortProperty(value)); +} + +template Windows::ApplicationModel::Email::EmailQueryKind impl_IEmailQueryOptions::Kind() const +{ + Windows::ApplicationModel::Email::EmailQueryKind value {}; + check_hresult(WINRT_SHIM(IEmailQueryOptions)->get_Kind(&value)); + return value; +} + +template void impl_IEmailQueryOptions::Kind(Windows::ApplicationModel::Email::EmailQueryKind value) const +{ + check_hresult(WINRT_SHIM(IEmailQueryOptions)->put_Kind(value)); +} + +template Windows::Foundation::Collections::IVector impl_IEmailQueryOptions::FolderIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailQueryOptions)->get_FolderIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IEmailConversationBatch::Conversations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEmailConversationBatch)->get_Conversations(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailBatchStatus impl_IEmailConversationBatch::Status() const +{ + Windows::ApplicationModel::Email::EmailBatchStatus value {}; + check_hresult(WINRT_SHIM(IEmailConversationBatch)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailConversationReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailConversationReader)->abi_ReadBatchAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IEmailMessageBatch::Messages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEmailMessageBatch)->get_Messages(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailBatchStatus impl_IEmailMessageBatch::Status() const +{ + Windows::ApplicationModel::Email::EmailBatchStatus value {}; + check_hresult(WINRT_SHIM(IEmailMessageBatch)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IEmailMessageReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEmailMessageReader)->abi_ReadBatchAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Email::EmailMailboxChangeType impl_IEmailMailboxChange::ChangeType() const +{ + Windows::ApplicationModel::Email::EmailMailboxChangeType value {}; + check_hresult(WINRT_SHIM(IEmailMailboxChange)->get_ChangeType(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IEmailMailboxChange::MailboxActions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IEmailMailboxChange)->get_MailboxActions(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMessage impl_IEmailMailboxChange::Message() const +{ + Windows::ApplicationModel::Email::EmailMessage value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxChange)->get_Message(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailFolder impl_IEmailMailboxChange::Folder() const +{ + Windows::ApplicationModel::Email::EmailFolder value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxChange)->get_Folder(put_abi(value))); + return value; +} + +template void impl_IEmailMailboxChangeReader::AcceptChanges() const +{ + check_hresult(WINRT_SHIM(IEmailMailboxChangeReader)->abi_AcceptChanges()); +} + +template void impl_IEmailMailboxChangeReader::AcceptChangesThrough(const Windows::ApplicationModel::Email::EmailMailboxChange & lastChangeToAcknowledge) const +{ + check_hresult(WINRT_SHIM(IEmailMailboxChangeReader)->abi_AcceptChangesThrough(get_abi(lastChangeToAcknowledge))); +} + +template Windows::Foundation::IAsyncOperation> impl_IEmailMailboxChangeReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IEmailMailboxChangeReader)->abi_ReadBatchAsync(put_abi(value))); + return value; +} + +template bool impl_IEmailMailboxChangeTracker::IsTracking() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMailboxChangeTracker)->get_IsTracking(&value)); + return value; +} + +template void impl_IEmailMailboxChangeTracker::Enable() const +{ + check_hresult(WINRT_SHIM(IEmailMailboxChangeTracker)->abi_Enable()); +} + +template Windows::ApplicationModel::Email::EmailMailboxChangeReader impl_IEmailMailboxChangeTracker::GetChangeReader() const +{ + Windows::ApplicationModel::Email::EmailMailboxChangeReader value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMailboxChangeTracker)->abi_GetChangeReader(put_abi(value))); + return value; +} + +template void impl_IEmailMailboxChangeTracker::Reset() const +{ + check_hresult(WINRT_SHIM(IEmailMailboxChangeTracker)->abi_Reset()); +} + +template bool impl_IEmailMeetingInfo::AllowNewTimeProposal() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_AllowNewTimeProposal(&value)); + return value; +} + +template void impl_IEmailMeetingInfo::AllowNewTimeProposal(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_AllowNewTimeProposal(value)); +} + +template hstring impl_IEmailMeetingInfo::AppointmentRoamingId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_AppointmentRoamingId(put_abi(value))); + return value; +} + +template void impl_IEmailMeetingInfo::AppointmentRoamingId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_AppointmentRoamingId(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IEmailMeetingInfo::AppointmentOriginalStartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_AppointmentOriginalStartTime(put_abi(value))); + return value; +} + +template void impl_IEmailMeetingInfo::AppointmentOriginalStartTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_AppointmentOriginalStartTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IEmailMeetingInfo::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IEmailMeetingInfo::Duration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_Duration(get_abi(value))); +} + +template bool impl_IEmailMeetingInfo::IsAllDay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_IsAllDay(&value)); + return value; +} + +template void impl_IEmailMeetingInfo::IsAllDay(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_IsAllDay(value)); +} + +template bool impl_IEmailMeetingInfo::IsResponseRequested() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_IsResponseRequested(&value)); + return value; +} + +template void impl_IEmailMeetingInfo::IsResponseRequested(bool value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_IsResponseRequested(value)); +} + +template hstring impl_IEmailMeetingInfo::Location() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_Location(put_abi(value))); + return value; +} + +template void impl_IEmailMeetingInfo::Location(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_Location(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IEmailMeetingInfo::ProposedStartTime() const +{ + Windows::Foundation::IReference proposedStartTime; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_ProposedStartTime(put_abi(proposedStartTime))); + return proposedStartTime; +} + +template void impl_IEmailMeetingInfo::ProposedStartTime(const optional & proposedStartTime) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_ProposedStartTime(get_abi(proposedStartTime))); +} + +template Windows::Foundation::IReference impl_IEmailMeetingInfo::ProposedDuration() const +{ + Windows::Foundation::IReference duration; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_ProposedDuration(put_abi(duration))); + return duration; +} + +template void impl_IEmailMeetingInfo::ProposedDuration(const optional & duration) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_ProposedDuration(get_abi(duration))); +} + +template Windows::Foundation::IReference impl_IEmailMeetingInfo::RecurrenceStartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_RecurrenceStartTime(put_abi(value))); + return value; +} + +template void impl_IEmailMeetingInfo::RecurrenceStartTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_RecurrenceStartTime(get_abi(value))); +} + +template Windows::ApplicationModel::Appointments::AppointmentRecurrence impl_IEmailMeetingInfo::Recurrence() const +{ + Windows::ApplicationModel::Appointments::AppointmentRecurrence value { nullptr }; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_Recurrence(put_abi(value))); + return value; +} + +template void impl_IEmailMeetingInfo::Recurrence(const Windows::ApplicationModel::Appointments::AppointmentRecurrence & value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_Recurrence(get_abi(value))); +} + +template uint64_t impl_IEmailMeetingInfo::RemoteChangeNumber() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_RemoteChangeNumber(&value)); + return value; +} + +template void impl_IEmailMeetingInfo::RemoteChangeNumber(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_RemoteChangeNumber(value)); +} + +template Windows::Foundation::DateTime impl_IEmailMeetingInfo::StartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_IEmailMeetingInfo::StartTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IEmailMeetingInfo)->put_StartTime(get_abi(value))); +} + +template bool impl_IEmailMeetingInfo2::IsReportedOutOfDateByServer() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailMeetingInfo2)->get_IsReportedOutOfDateByServer(&value)); + return value; +} + +template uint32_t impl_IEmailItemCounts::Flagged() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailItemCounts)->get_Flagged(&value)); + return value; +} + +template uint32_t impl_IEmailItemCounts::Important() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailItemCounts)->get_Important(&value)); + return value; +} + +template uint32_t impl_IEmailItemCounts::Total() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailItemCounts)->get_Total(&value)); + return value; +} + +template uint32_t impl_IEmailItemCounts::Unread() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEmailItemCounts)->get_Unread(&value)); + return value; +} + +inline EmailAttachment::EmailAttachment() : + EmailAttachment(activate_instance()) +{} + +inline EmailAttachment::EmailAttachment(hstring_view fileName, const Windows::Storage::Streams::IRandomAccessStreamReference & data, hstring_view mimeType) : + EmailAttachment(get_activation_factory().Create(fileName, data, mimeType)) +{} + +inline EmailAttachment::EmailAttachment(hstring_view fileName, const Windows::Storage::Streams::IRandomAccessStreamReference & data) : + EmailAttachment(get_activation_factory().Create(fileName, data)) +{} + +inline EmailIrmInfo::EmailIrmInfo() : + EmailIrmInfo(activate_instance()) +{} + +inline EmailIrmInfo::EmailIrmInfo(const Windows::Foundation::DateTime & expiration, const Windows::ApplicationModel::Email::EmailIrmTemplate & irmTemplate) : + EmailIrmInfo(get_activation_factory().Create(expiration, irmTemplate)) +{} + +inline EmailIrmTemplate::EmailIrmTemplate() : + EmailIrmTemplate(activate_instance()) +{} + +inline EmailIrmTemplate::EmailIrmTemplate(hstring_view id, hstring_view name, hstring_view description) : + EmailIrmTemplate(get_activation_factory().Create(id, name, description)) +{} + +inline EmailMailboxAutoReplySettings::EmailMailboxAutoReplySettings() : + EmailMailboxAutoReplySettings(activate_instance()) +{} + +inline Windows::Foundation::IAsyncAction EmailManager::ShowComposeNewEmailAsync(const Windows::ApplicationModel::Email::EmailMessage & message) +{ + return get_activation_factory().ShowComposeNewEmailAsync(message); +} + +inline Windows::Foundation::IAsyncOperation EmailManager::RequestStoreAsync(Windows::ApplicationModel::Email::EmailStoreAccessType accessType) +{ + return get_activation_factory().RequestStoreAsync(accessType); +} + +inline Windows::ApplicationModel::Email::EmailManagerForUser EmailManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline EmailMeetingInfo::EmailMeetingInfo() : + EmailMeetingInfo(activate_instance()) +{} + +inline EmailMessage::EmailMessage() : + EmailMessage(activate_instance()) +{} + +inline EmailQueryOptions::EmailQueryOptions() : + EmailQueryOptions(activate_instance()) +{} + +inline EmailQueryOptions::EmailQueryOptions(hstring_view text) : + EmailQueryOptions(get_activation_factory().CreateWithText(text)) +{} + +inline EmailQueryOptions::EmailQueryOptions(hstring_view text, Windows::ApplicationModel::Email::EmailQuerySearchFields fields) : + EmailQueryOptions(get_activation_factory().CreateWithTextAndFields(text, fields)) +{} + +inline EmailRecipient::EmailRecipient() : + EmailRecipient(activate_instance()) +{} + +inline EmailRecipient::EmailRecipient(hstring_view address) : + EmailRecipient(get_activation_factory().Create(address)) +{} + +inline EmailRecipient::EmailRecipient(hstring_view address, hstring_view name) : + EmailRecipient(get_activation_factory().CreateWithName(address, name)) +{} + +inline EmailRecipientResolutionResult::EmailRecipientResolutionResult() : + EmailRecipientResolutionResult(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailAttachment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailAttachment2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailAttachmentFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailAttachmentFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailConversation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailConversationBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailConversationReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailFolder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailIrmInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailIrmInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailIrmTemplate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailIrmTemplateFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailItemCounts & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailbox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailbox2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailbox3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailbox4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxAction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxAutoReply & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxAutoReplySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxCapabilities2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxCapabilities3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxCreateFolderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxPolicies & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxPolicies2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxPolicies3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMailboxSyncManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMeetingInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMeetingInfo2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMessage2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMessage3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMessage4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMessageBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailMessageReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailQueryOptionsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailQueryTextSearch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailRecipient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailRecipientFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailRecipientResolutionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailRecipientResolutionResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::IEmailStoreNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailAttachment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailConversation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailConversationBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailConversationReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailFolder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailIrmInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailIrmTemplate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailItemCounts & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailbox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxAction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxAutoReply & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxAutoReplySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxChangedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxCreateFolderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxPolicies & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMailboxSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMeetingInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMessageBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailMessageReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailQueryTextSearch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailRecipient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailRecipientResolutionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Email::EmailStoreNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.ExtendedExecution.Foreground.h b/10.0.15042.0/winrt/Windows.ApplicationModel.ExtendedExecution.Foreground.h new file mode 100644 index 000000000..8fec25d17 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.ExtendedExecution.Foreground.h @@ -0,0 +1,243 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.ExtendedExecution.Foreground.3.h" +#include "Windows.ApplicationModel.ExtendedExecution.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundRevokedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Revoked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Revoked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Revoked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Revoked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestExtensionAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestExtensionAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reason(Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Reason(Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundReason value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reason(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::ExtendedExecution::Foreground { + +template Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundRevokedReason impl_IExtendedExecutionForegroundRevokedEventArgs::Reason() const +{ + Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundRevokedReason value {}; + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundRevokedEventArgs)->get_Reason(&value)); + return value; +} + +template hstring impl_IExtendedExecutionForegroundSession::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundSession)->get_Description(put_abi(value))); + return value; +} + +template void impl_IExtendedExecutionForegroundSession::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundSession)->put_Description(get_abi(value))); +} + +template event_token impl_IExtendedExecutionForegroundSession::Revoked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundSession)->add_Revoked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IExtendedExecutionForegroundSession::Revoked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::ExtendedExecution::Foreground::IExtendedExecutionForegroundSession::remove_Revoked, Revoked(handler)); +} + +template void impl_IExtendedExecutionForegroundSession::Revoked(event_token token) const +{ + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundSession)->remove_Revoked(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IExtendedExecutionForegroundSession::RequestExtensionAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundSession)->abi_RequestExtensionAsync(put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundReason impl_IExtendedExecutionForegroundSession::Reason() const +{ + Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundReason value {}; + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundSession)->get_Reason(&value)); + return value; +} + +template void impl_IExtendedExecutionForegroundSession::Reason(Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundReason value) const +{ + check_hresult(WINRT_SHIM(IExtendedExecutionForegroundSession)->put_Reason(value)); +} + +inline ExtendedExecutionForegroundSession::ExtendedExecutionForegroundSession() : + ExtendedExecutionForegroundSession(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::Foreground::IExtendedExecutionForegroundRevokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::Foreground::IExtendedExecutionForegroundSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundRevokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::Foreground::ExtendedExecutionForegroundSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.ExtendedExecution.h b/10.0.15042.0/winrt/Windows.ApplicationModel.ExtendedExecution.h new file mode 100644 index 000000000..ed4bc56ef --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.ExtendedExecution.h @@ -0,0 +1,283 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.ExtendedExecution.3.h" +#include "Windows.ApplicationModel.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionRevokedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Reason(Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionReason value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reason(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PercentProgress(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PercentProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PercentProgress(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PercentProgress(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Revoked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Revoked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Revoked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Revoked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestExtensionAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestExtensionAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::ExtendedExecution { + +template Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionRevokedReason impl_IExtendedExecutionRevokedEventArgs::Reason() const +{ + Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionRevokedReason value {}; + check_hresult(WINRT_SHIM(IExtendedExecutionRevokedEventArgs)->get_Reason(&value)); + return value; +} + +template Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionReason impl_IExtendedExecutionSession::Reason() const +{ + Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionReason value {}; + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->get_Reason(&value)); + return value; +} + +template void impl_IExtendedExecutionSession::Reason(Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionReason value) const +{ + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->put_Reason(value)); +} + +template hstring impl_IExtendedExecutionSession::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->get_Description(put_abi(value))); + return value; +} + +template void impl_IExtendedExecutionSession::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->put_Description(get_abi(value))); +} + +template uint32_t impl_IExtendedExecutionSession::PercentProgress() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->get_PercentProgress(&value)); + return value; +} + +template void impl_IExtendedExecutionSession::PercentProgress(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->put_PercentProgress(value)); +} + +template event_token impl_IExtendedExecutionSession::Revoked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->add_Revoked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IExtendedExecutionSession::Revoked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::ExtendedExecution::IExtendedExecutionSession::remove_Revoked, Revoked(handler)); +} + +template void impl_IExtendedExecutionSession::Revoked(event_token token) const +{ + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->remove_Revoked(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IExtendedExecutionSession::RequestExtensionAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IExtendedExecutionSession)->abi_RequestExtensionAsync(put_abi(operation))); + return operation; +} + +inline ExtendedExecutionSession::ExtendedExecutionSession() : + ExtendedExecutionSession(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::IExtendedExecutionRevokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::IExtendedExecutionSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionRevokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ExtendedExecution::ExtendedExecutionSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.LockScreen.h b/10.0.15042.0/winrt/Windows.ApplicationModel.LockScreen.h new file mode 100644 index 000000000..d8db2012e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.LockScreen.h @@ -0,0 +1,678 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.LockScreen.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestUnlock() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestUnlock(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Unlocking(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Unlocking(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Unlocking(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unlocking(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Glyph(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Glyph()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Number(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Number()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutomationName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutomationName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchApp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LaunchApp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_LockScreenImageChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LockScreenImageChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LockScreenImageChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LockScreenImageChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LockScreenImage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LockScreenImage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BadgesChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BadgesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BadgesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BadgesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Badges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Badges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DetailTextChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DetailTextChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DetailTextChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DetailTextChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DetailText(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetailText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AlarmIconChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AlarmIconChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AlarmIconChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlarmIconChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlarmIcon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlarmIcon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::LockScreen { + +template Windows::Storage::Streams::IRandomAccessStream impl_ILockScreenBadge::Logo() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(ILockScreenBadge)->get_Logo(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStream impl_ILockScreenBadge::Glyph() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(ILockScreenBadge)->get_Glyph(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ILockScreenBadge::Number() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ILockScreenBadge)->get_Number(put_abi(value))); + return value; +} + +template hstring impl_ILockScreenBadge::AutomationName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILockScreenBadge)->get_AutomationName(put_abi(value))); + return value; +} + +template void impl_ILockScreenBadge::LaunchApp() const +{ + check_hresult(WINRT_SHIM(ILockScreenBadge)->abi_LaunchApp()); +} + +template event_token impl_ILockScreenInfo::LockScreenImageChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILockScreenInfo)->add_LockScreenImageChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILockScreenInfo::LockScreenImageChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::LockScreen::ILockScreenInfo::remove_LockScreenImageChanged, LockScreenImageChanged(handler)); +} + +template void impl_ILockScreenInfo::LockScreenImageChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ILockScreenInfo)->remove_LockScreenImageChanged(token)); +} + +template Windows::Storage::Streams::IRandomAccessStream impl_ILockScreenInfo::LockScreenImage() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(ILockScreenInfo)->get_LockScreenImage(put_abi(value))); + return value; +} + +template event_token impl_ILockScreenInfo::BadgesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILockScreenInfo)->add_BadgesChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILockScreenInfo::BadgesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::LockScreen::ILockScreenInfo::remove_BadgesChanged, BadgesChanged(handler)); +} + +template void impl_ILockScreenInfo::BadgesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ILockScreenInfo)->remove_BadgesChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_ILockScreenInfo::Badges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ILockScreenInfo)->get_Badges(put_abi(value))); + return value; +} + +template event_token impl_ILockScreenInfo::DetailTextChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILockScreenInfo)->add_DetailTextChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILockScreenInfo::DetailTextChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::LockScreen::ILockScreenInfo::remove_DetailTextChanged, DetailTextChanged(handler)); +} + +template void impl_ILockScreenInfo::DetailTextChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ILockScreenInfo)->remove_DetailTextChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_ILockScreenInfo::DetailText() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ILockScreenInfo)->get_DetailText(put_abi(value))); + return value; +} + +template event_token impl_ILockScreenInfo::AlarmIconChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILockScreenInfo)->add_AlarmIconChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILockScreenInfo::AlarmIconChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::LockScreen::ILockScreenInfo::remove_AlarmIconChanged, AlarmIconChanged(handler)); +} + +template void impl_ILockScreenInfo::AlarmIconChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ILockScreenInfo)->remove_AlarmIconChanged(token)); +} + +template Windows::Storage::Streams::IRandomAccessStream impl_ILockScreenInfo::AlarmIcon() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(ILockScreenInfo)->get_AlarmIcon(put_abi(value))); + return value; +} + +template void impl_ILockScreenUnlockingDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ILockScreenUnlockingDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::LockScreen::LockScreenUnlockingDeferral impl_ILockScreenUnlockingEventArgs::GetDeferral() const +{ + Windows::ApplicationModel::LockScreen::LockScreenUnlockingDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(ILockScreenUnlockingEventArgs)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::Foundation::DateTime impl_ILockScreenUnlockingEventArgs::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ILockScreenUnlockingEventArgs)->get_Deadline(put_abi(value))); + return value; +} + +template void impl_ILockApplicationHost::RequestUnlock() const +{ + check_hresult(WINRT_SHIM(ILockApplicationHost)->abi_RequestUnlock()); +} + +template event_token impl_ILockApplicationHost::Unlocking(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILockApplicationHost)->add_Unlocking(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILockApplicationHost::Unlocking(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::LockScreen::ILockApplicationHost::remove_Unlocking, Unlocking(handler)); +} + +template void impl_ILockApplicationHost::Unlocking(event_token token) const +{ + check_hresult(WINRT_SHIM(ILockApplicationHost)->remove_Unlocking(token)); +} + +template Windows::ApplicationModel::LockScreen::LockApplicationHost impl_ILockApplicationHostStatics::GetForCurrentView() const +{ + Windows::ApplicationModel::LockScreen::LockApplicationHost result { nullptr }; + check_hresult(WINRT_SHIM(ILockApplicationHostStatics)->abi_GetForCurrentView(put_abi(result))); + return result; +} + +inline Windows::ApplicationModel::LockScreen::LockApplicationHost LockApplicationHost::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::ILockApplicationHost & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::ILockApplicationHostStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::ILockScreenBadge & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::ILockScreenInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::ILockScreenUnlockingDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::ILockScreenUnlockingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::LockApplicationHost & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::LockScreenBadge & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::LockScreenInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::LockScreenUnlockingDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LockScreen::LockScreenUnlockingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Payments.Provider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Payments.Provider.h new file mode 100644 index 000000000..70bfb3abe --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Payments.Provider.h @@ -0,0 +1,468 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Payments.3.h" +#include "internal/Windows.ApplicationModel.Payments.Provider.3.h" +#include "Windows.ApplicationModel.Payments.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterAsync(impl::abi_arg_in> supportedPaymentMethodIds, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterAsync(*reinterpret_cast *>(&supportedPaymentMethodIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnregisterAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PaymentRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaymentRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PayerEmail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PayerEmail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PayerEmail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PayerEmail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PayerName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PayerName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PayerName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PayerName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PayerPhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PayerPhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PayerPhoneNumber(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PayerPhoneNumber(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateShippingAddressAsync(impl::abi_arg_in shippingAddress, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateShippingAddressAsync(*reinterpret_cast(&shippingAddress))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateSelectedShippingOptionAsync(impl::abi_arg_in selectedShippingOption, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateSelectedShippingOptionAsync(*reinterpret_cast(&selectedShippingOption))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptAsync(impl::abi_arg_in paymentToken, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AcceptAsync(*reinterpret_cast(&paymentToken))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reject() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reject(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Payments::PaymentRequestCompletionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Payments::Provider { + +template Windows::Foundation::IAsyncAction impl_IPaymentAppManager::RegisterAsync(iterable supportedPaymentMethodIds) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPaymentAppManager)->abi_RegisterAsync(get_abi(supportedPaymentMethodIds), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPaymentAppManager::UnregisterAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPaymentAppManager)->abi_UnregisterAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::Provider::PaymentAppManager impl_IPaymentAppManagerStatics::Current() const +{ + Windows::ApplicationModel::Payments::Provider::PaymentAppManager value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentAppManagerStatics)->get_Current(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentRequest impl_IPaymentTransaction::PaymentRequest() const +{ + Windows::ApplicationModel::Payments::PaymentRequest value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentTransaction)->get_PaymentRequest(put_abi(value))); + return value; +} + +template hstring impl_IPaymentTransaction::PayerEmail() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentTransaction)->get_PayerEmail(put_abi(value))); + return value; +} + +template void impl_IPaymentTransaction::PayerEmail(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentTransaction)->put_PayerEmail(get_abi(value))); +} + +template hstring impl_IPaymentTransaction::PayerName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentTransaction)->get_PayerName(put_abi(value))); + return value; +} + +template void impl_IPaymentTransaction::PayerName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentTransaction)->put_PayerName(get_abi(value))); +} + +template hstring impl_IPaymentTransaction::PayerPhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentTransaction)->get_PayerPhoneNumber(put_abi(value))); + return value; +} + +template void impl_IPaymentTransaction::PayerPhoneNumber(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentTransaction)->put_PayerPhoneNumber(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IPaymentTransaction::UpdateShippingAddressAsync(const Windows::ApplicationModel::Payments::PaymentAddress & shippingAddress) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPaymentTransaction)->abi_UpdateShippingAddressAsync(get_abi(shippingAddress), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPaymentTransaction::UpdateSelectedShippingOptionAsync(const Windows::ApplicationModel::Payments::PaymentShippingOption & selectedShippingOption) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPaymentTransaction)->abi_UpdateSelectedShippingOptionAsync(get_abi(selectedShippingOption), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPaymentTransaction::AcceptAsync(const Windows::ApplicationModel::Payments::PaymentToken & paymentToken) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPaymentTransaction)->abi_AcceptAsync(get_abi(paymentToken), put_abi(result))); + return result; +} + +template void impl_IPaymentTransaction::Reject() const +{ + check_hresult(WINRT_SHIM(IPaymentTransaction)->abi_Reject()); +} + +template Windows::ApplicationModel::Payments::PaymentRequestCompletionStatus impl_IPaymentTransactionAcceptResult::Status() const +{ + Windows::ApplicationModel::Payments::PaymentRequestCompletionStatus value {}; + check_hresult(WINRT_SHIM(IPaymentTransactionAcceptResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPaymentTransactionStatics::FromIdAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPaymentTransactionStatics)->abi_FromIdAsync(get_abi(id), put_abi(result))); + return result; +} + +inline Windows::ApplicationModel::Payments::Provider::PaymentAppManager PaymentAppManager::Current() +{ + return get_activation_factory().Current(); +} + +inline Windows::Foundation::IAsyncOperation PaymentTransaction::FromIdAsync(hstring_view id) +{ + return get_activation_factory().FromIdAsync(id); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::IPaymentAppManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::IPaymentAppManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::IPaymentTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::IPaymentTransactionAcceptResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::IPaymentTransactionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::PaymentAppManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::PaymentTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::Provider::PaymentTransactionAcceptResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Payments.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Payments.h new file mode 100644 index 000000000..6943ec23b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Payments.h @@ -0,0 +1,3117 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Payments.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::ApplicationModel::Payments { + +template PaymentRequestChangedHandler::PaymentRequestChangedHandler(L lambda) : + PaymentRequestChangedHandler(impl::make_delegate, PaymentRequestChangedHandler>(std::forward(lambda))) +{} + +template PaymentRequestChangedHandler::PaymentRequestChangedHandler(F * function) : + PaymentRequestChangedHandler([=](auto && ... args) { function(args ...); }) +{} + +template PaymentRequestChangedHandler::PaymentRequestChangedHandler(O * object, M method) : + PaymentRequestChangedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void PaymentRequestChangedHandler::operator()(const Windows::ApplicationModel::Payments::PaymentRequest & paymentRequest, const Windows::ApplicationModel::Payments::PaymentRequestChangedArgs & args) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(paymentRequest), get_abi(args))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Country(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Country()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Country(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Country(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AddressLines(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddressLines()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AddressLines(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddressLines(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Region(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Region()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Region(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Region(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_City(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().City()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_City(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().City(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DependentLocality(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DependentLocality()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DependentLocality(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DependentLocality(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostalCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostalCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PostalCode(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PostalCode(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SortingCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SortingCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SortingCode(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SortingCode(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LanguageCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LanguageCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LanguageCode(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LanguageCode(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Organization(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Organization()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Organization(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Organization(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recipient(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recipient()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Recipient(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Recipient(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhoneNumber(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhoneNumber(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Currency(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Currency()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Currency(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Currency(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrencySystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrencySystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CurrencySystem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrencySystem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in value, impl::abi_arg_in currency, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&value), *reinterpret_cast(¤cy))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithCurrencySystem(impl::abi_arg_in value, impl::abi_arg_in currency, impl::abi_arg_in currencySystem, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithCurrencySystem(*reinterpret_cast(&value), *reinterpret_cast(¤cy), *reinterpret_cast(¤cySystem))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Total(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Total()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Total(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Total(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayItems(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayItems(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShippingOptions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShippingOptions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShippingOptions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShippingOptions(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Modifiers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Modifiers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Modifiers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Modifiers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in total, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&total))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithDisplayItems(impl::abi_arg_in total, impl::abi_arg_in> displayItems, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithDisplayItems(*reinterpret_cast(&total), *reinterpret_cast *>(&displayItems))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_JsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedMethodIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedMethodIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Total(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Total()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdditionalDisplayItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdditionalDisplayItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> supportedMethodIds, impl::abi_arg_in total, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast *>(&supportedMethodIds), *reinterpret_cast(&total))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAdditionalDisplayItems(impl::abi_arg_in> supportedMethodIds, impl::abi_arg_in total, impl::abi_arg_in> additionalDisplayItems, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithAdditionalDisplayItems(*reinterpret_cast *>(&supportedMethodIds), *reinterpret_cast(&total), *reinterpret_cast *>(&additionalDisplayItems))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAdditionalDisplayItemsAndJsonData(impl::abi_arg_in> supportedMethodIds, impl::abi_arg_in total, impl::abi_arg_in> additionalDisplayItems, impl::abi_arg_in jsonData, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithAdditionalDisplayItemsAndJsonData(*reinterpret_cast *>(&supportedMethodIds), *reinterpret_cast(&total), *reinterpret_cast *>(&additionalDisplayItems), *reinterpret_cast(&jsonData))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Amount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Amount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Amount(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Amount(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pending(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pending()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Pending(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pending(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in label, impl::abi_arg_in amount, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&label), *reinterpret_cast(&amount))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSupportedMethodIdsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSupportedMethodIdsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SubmitPaymentRequestAsync(impl::abi_arg_in paymentRequest, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SubmitPaymentRequestAsync(*reinterpret_cast(&paymentRequest))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SubmitPaymentRequestWithChangeHandlerAsync(impl::abi_arg_in paymentRequest, impl::abi_arg_in changeHandler, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SubmitPaymentRequestAsync(*reinterpret_cast(&paymentRequest), *reinterpret_cast(&changeHandler))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PackageFullName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFullName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in uri, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedMethodIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedMethodIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> supportedMethodIds, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast *>(&supportedMethodIds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithJsonData(impl::abi_arg_in> supportedMethodIds, impl::abi_arg_in jsonData, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithJsonData(*reinterpret_cast *>(&supportedMethodIds), *reinterpret_cast(&jsonData))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestPayerEmail(Windows::ApplicationModel::Payments::PaymentOptionPresence * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestPayerEmail()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequestPayerEmail(Windows::ApplicationModel::Payments::PaymentOptionPresence value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestPayerEmail(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestPayerName(Windows::ApplicationModel::Payments::PaymentOptionPresence * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestPayerName()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequestPayerName(Windows::ApplicationModel::Payments::PaymentOptionPresence value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestPayerName(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestPayerPhoneNumber(Windows::ApplicationModel::Payments::PaymentOptionPresence * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestPayerPhoneNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequestPayerPhoneNumber(Windows::ApplicationModel::Payments::PaymentOptionPresence value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestPayerPhoneNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestShipping(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestShipping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequestShipping(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestShipping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShippingType(Windows::ApplicationModel::Payments::PaymentShippingType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShippingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShippingType(Windows::ApplicationModel::Payments::PaymentShippingType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShippingType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MerchantInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MerchantInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Details(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Details()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MethodData(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MethodData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Options(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeKind(Windows::ApplicationModel::Payments::PaymentRequestChangeKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShippingAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShippingAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedShippingOption(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedShippingOption()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Acknowledge(impl::abi_arg_in changeResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Acknowledge(*reinterpret_cast(&changeResult)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeAcceptedByMerchant(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeAcceptedByMerchant()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChangeAcceptedByMerchant(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChangeAcceptedByMerchant(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Message(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Message(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdatedPaymentDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdatedPaymentDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UpdatedPaymentDetails(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdatedPaymentDetails(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(bool changeAcceptedByMerchant, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(changeAcceptedByMerchant)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithPaymentDetails(bool changeAcceptedByMerchant, impl::abi_arg_in updatedPaymentDetails, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithPaymentDetails(changeAcceptedByMerchant, *reinterpret_cast(&updatedPaymentDetails))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in details, impl::abi_arg_in> methodData, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&details), *reinterpret_cast *>(&methodData))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithMerchantInfo(impl::abi_arg_in details, impl::abi_arg_in> methodData, impl::abi_arg_in merchantInfo, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithMerchantInfo(*reinterpret_cast(&details), *reinterpret_cast *>(&methodData), *reinterpret_cast(&merchantInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithMerchantInfoAndOptions(impl::abi_arg_in details, impl::abi_arg_in> methodData, impl::abi_arg_in merchantInfo, impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithMerchantInfoAndOptions(*reinterpret_cast(&details), *reinterpret_cast *>(&methodData), *reinterpret_cast(&merchantInfo), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Payments::PaymentRequestStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Response(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Response()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PaymentToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaymentToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShippingOption(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShippingOption()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShippingAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShippingAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PayerEmail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PayerEmail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PayerName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PayerName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PayerPhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PayerPhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompleteAsync(Windows::ApplicationModel::Payments::PaymentRequestCompletionStatus status, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CompleteAsync(status)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Amount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Amount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Amount(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Amount(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSelected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSelected(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSelected(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in label, impl::abi_arg_in amount, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&label), *reinterpret_cast(&amount))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithSelected(impl::abi_arg_in label, impl::abi_arg_in amount, bool selected, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithSelected(*reinterpret_cast(&label), *reinterpret_cast(&amount), selected)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithSelectedAndTag(impl::abi_arg_in label, impl::abi_arg_in amount, bool selected, impl::abi_arg_in tag, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithSelectedAndTag(*reinterpret_cast(&label), *reinterpret_cast(&amount), selected, *reinterpret_cast(&tag))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PaymentMethodId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaymentMethodId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JsonDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JsonDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in paymentMethodId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&paymentMethodId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithJsonDetails(impl::abi_arg_in paymentMethodId, impl::abi_arg_in jsonDetails, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithJsonDetails(*reinterpret_cast(&paymentMethodId), *reinterpret_cast(&jsonDetails))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Payments { + +template Windows::ApplicationModel::Payments::PaymentMerchantInfo impl_IPaymentRequest::MerchantInfo() const +{ + Windows::ApplicationModel::Payments::PaymentMerchantInfo value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequest)->get_MerchantInfo(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentDetails impl_IPaymentRequest::Details() const +{ + Windows::ApplicationModel::Payments::PaymentDetails value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequest)->get_Details(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentRequest::MethodData() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentRequest)->get_MethodData(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentOptions impl_IPaymentRequest::Options() const +{ + Windows::ApplicationModel::Payments::PaymentOptions value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequest)->get_Options(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentRequest impl_IPaymentRequestFactory::Create(const Windows::ApplicationModel::Payments::PaymentDetails & details, iterable methodData) const +{ + Windows::ApplicationModel::Payments::PaymentRequest result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestFactory)->abi_Create(get_abi(details), get_abi(methodData), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentRequest impl_IPaymentRequestFactory::CreateWithMerchantInfo(const Windows::ApplicationModel::Payments::PaymentDetails & details, iterable methodData, const Windows::ApplicationModel::Payments::PaymentMerchantInfo & merchantInfo) const +{ + Windows::ApplicationModel::Payments::PaymentRequest result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestFactory)->abi_CreateWithMerchantInfo(get_abi(details), get_abi(methodData), get_abi(merchantInfo), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentRequest impl_IPaymentRequestFactory::CreateWithMerchantInfoAndOptions(const Windows::ApplicationModel::Payments::PaymentDetails & details, iterable methodData, const Windows::ApplicationModel::Payments::PaymentMerchantInfo & merchantInfo, const Windows::ApplicationModel::Payments::PaymentOptions & options) const +{ + Windows::ApplicationModel::Payments::PaymentRequest result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestFactory)->abi_CreateWithMerchantInfoAndOptions(get_abi(details), get_abi(methodData), get_abi(merchantInfo), get_abi(options), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentToken impl_IPaymentResponse::PaymentToken() const +{ + Windows::ApplicationModel::Payments::PaymentToken value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentResponse)->get_PaymentToken(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentShippingOption impl_IPaymentResponse::ShippingOption() const +{ + Windows::ApplicationModel::Payments::PaymentShippingOption value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentResponse)->get_ShippingOption(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentAddress impl_IPaymentResponse::ShippingAddress() const +{ + Windows::ApplicationModel::Payments::PaymentAddress value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentResponse)->get_ShippingAddress(put_abi(value))); + return value; +} + +template hstring impl_IPaymentResponse::PayerEmail() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentResponse)->get_PayerEmail(put_abi(value))); + return value; +} + +template hstring impl_IPaymentResponse::PayerName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentResponse)->get_PayerName(put_abi(value))); + return value; +} + +template hstring impl_IPaymentResponse::PayerPhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentResponse)->get_PayerPhoneNumber(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IPaymentResponse::CompleteAsync(Windows::ApplicationModel::Payments::PaymentRequestCompletionStatus status) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPaymentResponse)->abi_CompleteAsync(status, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentItem impl_IPaymentDetails::Total() const +{ + Windows::ApplicationModel::Payments::PaymentItem value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentDetails)->get_Total(put_abi(value))); + return value; +} + +template void impl_IPaymentDetails::Total(const Windows::ApplicationModel::Payments::PaymentItem & value) const +{ + check_hresult(WINRT_SHIM(IPaymentDetails)->put_Total(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentDetails::DisplayItems() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentDetails)->get_DisplayItems(put_abi(value))); + return value; +} + +template void impl_IPaymentDetails::DisplayItems(const Windows::Foundation::Collections::IVectorView & value) const +{ + check_hresult(WINRT_SHIM(IPaymentDetails)->put_DisplayItems(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentDetails::ShippingOptions() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentDetails)->get_ShippingOptions(put_abi(value))); + return value; +} + +template void impl_IPaymentDetails::ShippingOptions(const Windows::Foundation::Collections::IVectorView & value) const +{ + check_hresult(WINRT_SHIM(IPaymentDetails)->put_ShippingOptions(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentDetails::Modifiers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentDetails)->get_Modifiers(put_abi(value))); + return value; +} + +template void impl_IPaymentDetails::Modifiers(const Windows::Foundation::Collections::IVectorView & value) const +{ + check_hresult(WINRT_SHIM(IPaymentDetails)->put_Modifiers(get_abi(value))); +} + +template Windows::ApplicationModel::Payments::PaymentDetails impl_IPaymentDetailsFactory::Create(const Windows::ApplicationModel::Payments::PaymentItem & total) const +{ + Windows::ApplicationModel::Payments::PaymentDetails result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentDetailsFactory)->abi_Create(get_abi(total), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentDetails impl_IPaymentDetailsFactory::CreateWithDisplayItems(const Windows::ApplicationModel::Payments::PaymentItem & total, iterable displayItems) const +{ + Windows::ApplicationModel::Payments::PaymentDetails result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentDetailsFactory)->abi_CreateWithDisplayItems(get_abi(total), get_abi(displayItems), put_abi(result))); + return result; +} + +template hstring impl_IPaymentDetailsModifier::JsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentDetailsModifier)->get_JsonData(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentDetailsModifier::SupportedMethodIds() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentDetailsModifier)->get_SupportedMethodIds(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentItem impl_IPaymentDetailsModifier::Total() const +{ + Windows::ApplicationModel::Payments::PaymentItem value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentDetailsModifier)->get_Total(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentDetailsModifier::AdditionalDisplayItems() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentDetailsModifier)->get_AdditionalDisplayItems(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentDetailsModifier impl_IPaymentDetailsModifierFactory::Create(iterable supportedMethodIds, const Windows::ApplicationModel::Payments::PaymentItem & total) const +{ + Windows::ApplicationModel::Payments::PaymentDetailsModifier result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentDetailsModifierFactory)->abi_Create(get_abi(supportedMethodIds), get_abi(total), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentDetailsModifier impl_IPaymentDetailsModifierFactory::CreateWithAdditionalDisplayItems(iterable supportedMethodIds, const Windows::ApplicationModel::Payments::PaymentItem & total, iterable additionalDisplayItems) const +{ + Windows::ApplicationModel::Payments::PaymentDetailsModifier result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentDetailsModifierFactory)->abi_CreateWithAdditionalDisplayItems(get_abi(supportedMethodIds), get_abi(total), get_abi(additionalDisplayItems), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentDetailsModifier impl_IPaymentDetailsModifierFactory::CreateWithAdditionalDisplayItemsAndJsonData(iterable supportedMethodIds, const Windows::ApplicationModel::Payments::PaymentItem & total, iterable additionalDisplayItems, hstring_view jsonData) const +{ + Windows::ApplicationModel::Payments::PaymentDetailsModifier result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentDetailsModifierFactory)->abi_CreateWithAdditionalDisplayItemsAndJsonData(get_abi(supportedMethodIds), get_abi(total), get_abi(additionalDisplayItems), get_abi(jsonData), put_abi(result))); + return result; +} + +template hstring impl_IPaymentToken::PaymentMethodId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentToken)->get_PaymentMethodId(put_abi(value))); + return value; +} + +template hstring impl_IPaymentToken::JsonDetails() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentToken)->get_JsonDetails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentToken impl_IPaymentTokenFactory::Create(hstring_view paymentMethodId) const +{ + Windows::ApplicationModel::Payments::PaymentToken result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentTokenFactory)->abi_Create(get_abi(paymentMethodId), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentToken impl_IPaymentTokenFactory::CreateWithJsonDetails(hstring_view paymentMethodId, hstring_view jsonDetails) const +{ + Windows::ApplicationModel::Payments::PaymentToken result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentTokenFactory)->abi_CreateWithJsonDetails(get_abi(paymentMethodId), get_abi(jsonDetails), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentMethodData::SupportedMethodIds() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentMethodData)->get_SupportedMethodIds(put_abi(value))); + return value; +} + +template hstring impl_IPaymentMethodData::JsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentMethodData)->get_JsonData(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentMethodData impl_IPaymentMethodDataFactory::Create(iterable supportedMethodIds) const +{ + Windows::ApplicationModel::Payments::PaymentMethodData result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentMethodDataFactory)->abi_Create(get_abi(supportedMethodIds), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentMethodData impl_IPaymentMethodDataFactory::CreateWithJsonData(iterable supportedMethodIds, hstring_view jsonData) const +{ + Windows::ApplicationModel::Payments::PaymentMethodData result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentMethodDataFactory)->abi_CreateWithJsonData(get_abi(supportedMethodIds), get_abi(jsonData), put_abi(result))); + return result; +} + +template hstring impl_IPaymentCurrencyAmount::Currency() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentCurrencyAmount)->get_Currency(put_abi(value))); + return value; +} + +template void impl_IPaymentCurrencyAmount::Currency(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentCurrencyAmount)->put_Currency(get_abi(value))); +} + +template hstring impl_IPaymentCurrencyAmount::CurrencySystem() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentCurrencyAmount)->get_CurrencySystem(put_abi(value))); + return value; +} + +template void impl_IPaymentCurrencyAmount::CurrencySystem(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentCurrencyAmount)->put_CurrencySystem(get_abi(value))); +} + +template hstring impl_IPaymentCurrencyAmount::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentCurrencyAmount)->get_Value(put_abi(value))); + return value; +} + +template void impl_IPaymentCurrencyAmount::Value(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentCurrencyAmount)->put_Value(get_abi(value))); +} + +template Windows::ApplicationModel::Payments::PaymentCurrencyAmount impl_IPaymentCurrencyAmountFactory::Create(hstring_view value, hstring_view currency) const +{ + Windows::ApplicationModel::Payments::PaymentCurrencyAmount result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentCurrencyAmountFactory)->abi_Create(get_abi(value), get_abi(currency), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentCurrencyAmount impl_IPaymentCurrencyAmountFactory::CreateWithCurrencySystem(hstring_view value, hstring_view currency, hstring_view currencySystem) const +{ + Windows::ApplicationModel::Payments::PaymentCurrencyAmount result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentCurrencyAmountFactory)->abi_CreateWithCurrencySystem(get_abi(value), get_abi(currency), get_abi(currencySystem), put_abi(result))); + return result; +} + +template hstring impl_IPaymentItem::Label() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentItem)->get_Label(put_abi(value))); + return value; +} + +template void impl_IPaymentItem::Label(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentItem)->put_Label(get_abi(value))); +} + +template Windows::ApplicationModel::Payments::PaymentCurrencyAmount impl_IPaymentItem::Amount() const +{ + Windows::ApplicationModel::Payments::PaymentCurrencyAmount value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentItem)->get_Amount(put_abi(value))); + return value; +} + +template void impl_IPaymentItem::Amount(const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & value) const +{ + check_hresult(WINRT_SHIM(IPaymentItem)->put_Amount(get_abi(value))); +} + +template bool impl_IPaymentItem::Pending() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPaymentItem)->get_Pending(&value)); + return value; +} + +template void impl_IPaymentItem::Pending(bool value) const +{ + check_hresult(WINRT_SHIM(IPaymentItem)->put_Pending(value)); +} + +template Windows::ApplicationModel::Payments::PaymentItem impl_IPaymentItemFactory::Create(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount) const +{ + Windows::ApplicationModel::Payments::PaymentItem result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentItemFactory)->abi_Create(get_abi(label), get_abi(amount), put_abi(result))); + return result; +} + +template hstring impl_IPaymentShippingOption::Label() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentShippingOption)->get_Label(put_abi(value))); + return value; +} + +template void impl_IPaymentShippingOption::Label(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentShippingOption)->put_Label(get_abi(value))); +} + +template Windows::ApplicationModel::Payments::PaymentCurrencyAmount impl_IPaymentShippingOption::Amount() const +{ + Windows::ApplicationModel::Payments::PaymentCurrencyAmount value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentShippingOption)->get_Amount(put_abi(value))); + return value; +} + +template void impl_IPaymentShippingOption::Amount(const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & value) const +{ + check_hresult(WINRT_SHIM(IPaymentShippingOption)->put_Amount(get_abi(value))); +} + +template hstring impl_IPaymentShippingOption::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentShippingOption)->get_Tag(put_abi(value))); + return value; +} + +template void impl_IPaymentShippingOption::Tag(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentShippingOption)->put_Tag(get_abi(value))); +} + +template bool impl_IPaymentShippingOption::IsSelected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPaymentShippingOption)->get_IsSelected(&value)); + return value; +} + +template void impl_IPaymentShippingOption::IsSelected(bool value) const +{ + check_hresult(WINRT_SHIM(IPaymentShippingOption)->put_IsSelected(value)); +} + +template Windows::ApplicationModel::Payments::PaymentShippingOption impl_IPaymentShippingOptionFactory::Create(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount) const +{ + Windows::ApplicationModel::Payments::PaymentShippingOption result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentShippingOptionFactory)->abi_Create(get_abi(label), get_abi(amount), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentShippingOption impl_IPaymentShippingOptionFactory::CreateWithSelected(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount, bool selected) const +{ + Windows::ApplicationModel::Payments::PaymentShippingOption result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentShippingOptionFactory)->abi_CreateWithSelected(get_abi(label), get_abi(amount), selected, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentShippingOption impl_IPaymentShippingOptionFactory::CreateWithSelectedAndTag(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount, bool selected, hstring_view tag) const +{ + Windows::ApplicationModel::Payments::PaymentShippingOption result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentShippingOptionFactory)->abi_CreateWithSelectedAndTag(get_abi(label), get_abi(amount), selected, get_abi(tag), put_abi(result))); + return result; +} + +template hstring impl_IPaymentAddress::Country() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_Country(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::Country(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_Country(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IPaymentAddress::AddressLines() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_AddressLines(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::AddressLines(const Windows::Foundation::Collections::IVectorView & value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_AddressLines(get_abi(value))); +} + +template hstring impl_IPaymentAddress::Region() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_Region(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::Region(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_Region(get_abi(value))); +} + +template hstring impl_IPaymentAddress::City() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_City(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::City(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_City(get_abi(value))); +} + +template hstring impl_IPaymentAddress::DependentLocality() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_DependentLocality(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::DependentLocality(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_DependentLocality(get_abi(value))); +} + +template hstring impl_IPaymentAddress::PostalCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_PostalCode(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::PostalCode(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_PostalCode(get_abi(value))); +} + +template hstring impl_IPaymentAddress::SortingCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_SortingCode(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::SortingCode(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_SortingCode(get_abi(value))); +} + +template hstring impl_IPaymentAddress::LanguageCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_LanguageCode(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::LanguageCode(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_LanguageCode(get_abi(value))); +} + +template hstring impl_IPaymentAddress::Organization() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_Organization(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::Organization(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_Organization(get_abi(value))); +} + +template hstring impl_IPaymentAddress::Recipient() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_Recipient(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::Recipient(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_Recipient(get_abi(value))); +} + +template hstring impl_IPaymentAddress::PhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_PhoneNumber(put_abi(value))); + return value; +} + +template void impl_IPaymentAddress::PhoneNumber(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentAddress)->put_PhoneNumber(get_abi(value))); +} + +template Windows::Foundation::Collections::ValueSet impl_IPaymentAddress::Properties() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentAddress)->get_Properties(put_abi(value))); + return value; +} + +template hstring impl_IPaymentMerchantInfo::PackageFullName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentMerchantInfo)->get_PackageFullName(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IPaymentMerchantInfo::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentMerchantInfo)->get_Uri(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentMerchantInfo impl_IPaymentMerchantInfoFactory::Create(const Windows::Foundation::Uri & uri) const +{ + Windows::ApplicationModel::Payments::PaymentMerchantInfo result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentMerchantInfoFactory)->abi_Create(get_abi(uri), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentOptionPresence impl_IPaymentOptions::RequestPayerEmail() const +{ + Windows::ApplicationModel::Payments::PaymentOptionPresence value {}; + check_hresult(WINRT_SHIM(IPaymentOptions)->get_RequestPayerEmail(&value)); + return value; +} + +template void impl_IPaymentOptions::RequestPayerEmail(Windows::ApplicationModel::Payments::PaymentOptionPresence value) const +{ + check_hresult(WINRT_SHIM(IPaymentOptions)->put_RequestPayerEmail(value)); +} + +template Windows::ApplicationModel::Payments::PaymentOptionPresence impl_IPaymentOptions::RequestPayerName() const +{ + Windows::ApplicationModel::Payments::PaymentOptionPresence value {}; + check_hresult(WINRT_SHIM(IPaymentOptions)->get_RequestPayerName(&value)); + return value; +} + +template void impl_IPaymentOptions::RequestPayerName(Windows::ApplicationModel::Payments::PaymentOptionPresence value) const +{ + check_hresult(WINRT_SHIM(IPaymentOptions)->put_RequestPayerName(value)); +} + +template Windows::ApplicationModel::Payments::PaymentOptionPresence impl_IPaymentOptions::RequestPayerPhoneNumber() const +{ + Windows::ApplicationModel::Payments::PaymentOptionPresence value {}; + check_hresult(WINRT_SHIM(IPaymentOptions)->get_RequestPayerPhoneNumber(&value)); + return value; +} + +template void impl_IPaymentOptions::RequestPayerPhoneNumber(Windows::ApplicationModel::Payments::PaymentOptionPresence value) const +{ + check_hresult(WINRT_SHIM(IPaymentOptions)->put_RequestPayerPhoneNumber(value)); +} + +template bool impl_IPaymentOptions::RequestShipping() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPaymentOptions)->get_RequestShipping(&value)); + return value; +} + +template void impl_IPaymentOptions::RequestShipping(bool value) const +{ + check_hresult(WINRT_SHIM(IPaymentOptions)->put_RequestShipping(value)); +} + +template Windows::ApplicationModel::Payments::PaymentShippingType impl_IPaymentOptions::ShippingType() const +{ + Windows::ApplicationModel::Payments::PaymentShippingType value {}; + check_hresult(WINRT_SHIM(IPaymentOptions)->get_ShippingType(&value)); + return value; +} + +template void impl_IPaymentOptions::ShippingType(Windows::ApplicationModel::Payments::PaymentShippingType value) const +{ + check_hresult(WINRT_SHIM(IPaymentOptions)->put_ShippingType(value)); +} + +template Windows::ApplicationModel::Payments::PaymentRequestChangeKind impl_IPaymentRequestChangedArgs::ChangeKind() const +{ + Windows::ApplicationModel::Payments::PaymentRequestChangeKind value {}; + check_hresult(WINRT_SHIM(IPaymentRequestChangedArgs)->get_ChangeKind(&value)); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentAddress impl_IPaymentRequestChangedArgs::ShippingAddress() const +{ + Windows::ApplicationModel::Payments::PaymentAddress value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestChangedArgs)->get_ShippingAddress(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentShippingOption impl_IPaymentRequestChangedArgs::SelectedShippingOption() const +{ + Windows::ApplicationModel::Payments::PaymentShippingOption value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestChangedArgs)->get_SelectedShippingOption(put_abi(value))); + return value; +} + +template void impl_IPaymentRequestChangedArgs::Acknowledge(const Windows::ApplicationModel::Payments::PaymentRequestChangedResult & changeResult) const +{ + check_hresult(WINRT_SHIM(IPaymentRequestChangedArgs)->abi_Acknowledge(get_abi(changeResult))); +} + +template bool impl_IPaymentRequestChangedResult::ChangeAcceptedByMerchant() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPaymentRequestChangedResult)->get_ChangeAcceptedByMerchant(&value)); + return value; +} + +template void impl_IPaymentRequestChangedResult::ChangeAcceptedByMerchant(bool value) const +{ + check_hresult(WINRT_SHIM(IPaymentRequestChangedResult)->put_ChangeAcceptedByMerchant(value)); +} + +template hstring impl_IPaymentRequestChangedResult::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPaymentRequestChangedResult)->get_Message(put_abi(value))); + return value; +} + +template void impl_IPaymentRequestChangedResult::Message(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPaymentRequestChangedResult)->put_Message(get_abi(value))); +} + +template Windows::ApplicationModel::Payments::PaymentDetails impl_IPaymentRequestChangedResult::UpdatedPaymentDetails() const +{ + Windows::ApplicationModel::Payments::PaymentDetails value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestChangedResult)->get_UpdatedPaymentDetails(put_abi(value))); + return value; +} + +template void impl_IPaymentRequestChangedResult::UpdatedPaymentDetails(const Windows::ApplicationModel::Payments::PaymentDetails & value) const +{ + check_hresult(WINRT_SHIM(IPaymentRequestChangedResult)->put_UpdatedPaymentDetails(get_abi(value))); +} + +template Windows::ApplicationModel::Payments::PaymentRequestChangedResult impl_IPaymentRequestChangedResultFactory::Create(bool changeAcceptedByMerchant) const +{ + Windows::ApplicationModel::Payments::PaymentRequestChangedResult result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestChangedResultFactory)->abi_Create(changeAcceptedByMerchant, put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentRequestChangedResult impl_IPaymentRequestChangedResultFactory::CreateWithPaymentDetails(bool changeAcceptedByMerchant, const Windows::ApplicationModel::Payments::PaymentDetails & updatedPaymentDetails) const +{ + Windows::ApplicationModel::Payments::PaymentRequestChangedResult result { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestChangedResultFactory)->abi_CreateWithPaymentDetails(changeAcceptedByMerchant, get_abi(updatedPaymentDetails), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IPaymentMediator::GetSupportedMethodIdsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IPaymentMediator)->abi_GetSupportedMethodIdsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPaymentMediator::SubmitPaymentRequestAsync(const Windows::ApplicationModel::Payments::PaymentRequest & paymentRequest) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPaymentMediator)->abi_SubmitPaymentRequestAsync(get_abi(paymentRequest), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPaymentMediator::SubmitPaymentRequestAsync(const Windows::ApplicationModel::Payments::PaymentRequest & paymentRequest, const Windows::ApplicationModel::Payments::PaymentRequestChangedHandler & changeHandler) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPaymentMediator)->abi_SubmitPaymentRequestWithChangeHandlerAsync(get_abi(paymentRequest), get_abi(changeHandler), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Payments::PaymentRequestStatus impl_IPaymentRequestSubmitResult::Status() const +{ + Windows::ApplicationModel::Payments::PaymentRequestStatus value {}; + check_hresult(WINRT_SHIM(IPaymentRequestSubmitResult)->get_Status(&value)); + return value; +} + +template Windows::ApplicationModel::Payments::PaymentResponse impl_IPaymentRequestSubmitResult::Response() const +{ + Windows::ApplicationModel::Payments::PaymentResponse value { nullptr }; + check_hresult(WINRT_SHIM(IPaymentRequestSubmitResult)->get_Response(put_abi(value))); + return value; +} + +inline PaymentAddress::PaymentAddress() : + PaymentAddress(activate_instance()) +{} + +inline PaymentCurrencyAmount::PaymentCurrencyAmount(hstring_view value, hstring_view currency) : + PaymentCurrencyAmount(get_activation_factory().Create(value, currency)) +{} + +inline PaymentCurrencyAmount::PaymentCurrencyAmount(hstring_view value, hstring_view currency, hstring_view currencySystem) : + PaymentCurrencyAmount(get_activation_factory().CreateWithCurrencySystem(value, currency, currencySystem)) +{} + +inline PaymentDetails::PaymentDetails() : + PaymentDetails(activate_instance()) +{} + +inline PaymentDetails::PaymentDetails(const Windows::ApplicationModel::Payments::PaymentItem & total) : + PaymentDetails(get_activation_factory().Create(total)) +{} + +inline PaymentDetails::PaymentDetails(const Windows::ApplicationModel::Payments::PaymentItem & total, iterable displayItems) : + PaymentDetails(get_activation_factory().CreateWithDisplayItems(total, displayItems)) +{} + +inline PaymentDetailsModifier::PaymentDetailsModifier(iterable supportedMethodIds, const Windows::ApplicationModel::Payments::PaymentItem & total) : + PaymentDetailsModifier(get_activation_factory().Create(supportedMethodIds, total)) +{} + +inline PaymentDetailsModifier::PaymentDetailsModifier(iterable supportedMethodIds, const Windows::ApplicationModel::Payments::PaymentItem & total, iterable additionalDisplayItems) : + PaymentDetailsModifier(get_activation_factory().CreateWithAdditionalDisplayItems(supportedMethodIds, total, additionalDisplayItems)) +{} + +inline PaymentDetailsModifier::PaymentDetailsModifier(iterable supportedMethodIds, const Windows::ApplicationModel::Payments::PaymentItem & total, iterable additionalDisplayItems, hstring_view jsonData) : + PaymentDetailsModifier(get_activation_factory().CreateWithAdditionalDisplayItemsAndJsonData(supportedMethodIds, total, additionalDisplayItems, jsonData)) +{} + +inline PaymentItem::PaymentItem(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount) : + PaymentItem(get_activation_factory().Create(label, amount)) +{} + +inline PaymentMediator::PaymentMediator() : + PaymentMediator(activate_instance()) +{} + +inline PaymentMerchantInfo::PaymentMerchantInfo() : + PaymentMerchantInfo(activate_instance()) +{} + +inline PaymentMerchantInfo::PaymentMerchantInfo(const Windows::Foundation::Uri & uri) : + PaymentMerchantInfo(get_activation_factory().Create(uri)) +{} + +inline PaymentMethodData::PaymentMethodData(iterable supportedMethodIds) : + PaymentMethodData(get_activation_factory().Create(supportedMethodIds)) +{} + +inline PaymentMethodData::PaymentMethodData(iterable supportedMethodIds, hstring_view jsonData) : + PaymentMethodData(get_activation_factory().CreateWithJsonData(supportedMethodIds, jsonData)) +{} + +inline PaymentOptions::PaymentOptions() : + PaymentOptions(activate_instance()) +{} + +inline PaymentRequest::PaymentRequest(const Windows::ApplicationModel::Payments::PaymentDetails & details, iterable methodData) : + PaymentRequest(get_activation_factory().Create(details, methodData)) +{} + +inline PaymentRequest::PaymentRequest(const Windows::ApplicationModel::Payments::PaymentDetails & details, iterable methodData, const Windows::ApplicationModel::Payments::PaymentMerchantInfo & merchantInfo) : + PaymentRequest(get_activation_factory().CreateWithMerchantInfo(details, methodData, merchantInfo)) +{} + +inline PaymentRequest::PaymentRequest(const Windows::ApplicationModel::Payments::PaymentDetails & details, iterable methodData, const Windows::ApplicationModel::Payments::PaymentMerchantInfo & merchantInfo, const Windows::ApplicationModel::Payments::PaymentOptions & options) : + PaymentRequest(get_activation_factory().CreateWithMerchantInfoAndOptions(details, methodData, merchantInfo, options)) +{} + +inline PaymentRequestChangedResult::PaymentRequestChangedResult(bool changeAcceptedByMerchant) : + PaymentRequestChangedResult(get_activation_factory().Create(changeAcceptedByMerchant)) +{} + +inline PaymentRequestChangedResult::PaymentRequestChangedResult(bool changeAcceptedByMerchant, const Windows::ApplicationModel::Payments::PaymentDetails & updatedPaymentDetails) : + PaymentRequestChangedResult(get_activation_factory().CreateWithPaymentDetails(changeAcceptedByMerchant, updatedPaymentDetails)) +{} + +inline PaymentShippingOption::PaymentShippingOption(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount) : + PaymentShippingOption(get_activation_factory().Create(label, amount)) +{} + +inline PaymentShippingOption::PaymentShippingOption(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount, bool selected) : + PaymentShippingOption(get_activation_factory().CreateWithSelected(label, amount, selected)) +{} + +inline PaymentShippingOption::PaymentShippingOption(hstring_view label, const Windows::ApplicationModel::Payments::PaymentCurrencyAmount & amount, bool selected, hstring_view tag) : + PaymentShippingOption(get_activation_factory().CreateWithSelectedAndTag(label, amount, selected, tag)) +{} + +inline PaymentToken::PaymentToken(hstring_view paymentMethodId) : + PaymentToken(get_activation_factory().Create(paymentMethodId)) +{} + +inline PaymentToken::PaymentToken(hstring_view paymentMethodId, hstring_view jsonDetails) : + PaymentToken(get_activation_factory().CreateWithJsonDetails(paymentMethodId, jsonDetails)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentCurrencyAmount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentCurrencyAmountFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentDetailsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentDetailsModifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentDetailsModifierFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentItemFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentMediator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentMerchantInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentMerchantInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentMethodData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentMethodDataFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentRequestChangedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentRequestChangedResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentRequestChangedResultFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentRequestFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentRequestSubmitResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentShippingOption & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentShippingOptionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentToken & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::IPaymentTokenFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentCurrencyAmount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentDetailsModifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentMediator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentMerchantInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentMethodData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentRequestChangedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentRequestChangedResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentRequestSubmitResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentShippingOption & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Payments::PaymentToken & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.Holographic.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.Holographic.h new file mode 100644 index 000000000..02d1a5411 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.Holographic.h @@ -0,0 +1,90 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.Activation.3.h" +#include "internal/Windows.ApplicationModel.Preview.Holographic.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsCurrentViewPresentedOnHolographicDisplay(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsCurrentViewPresentedOnHolographicDisplay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsHolographicActivation(impl::abi_arg_in activatedEventArgs, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsHolographicActivation(*reinterpret_cast(&activatedEventArgs))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Preview::Holographic { + +template bool impl_IHolographicApplicationPreviewStatics::IsCurrentViewPresentedOnHolographicDisplay() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IHolographicApplicationPreviewStatics)->abi_IsCurrentViewPresentedOnHolographicDisplay(&result)); + return result; +} + +template bool impl_IHolographicApplicationPreviewStatics::IsHolographicActivation(const Windows::ApplicationModel::Activation::IActivatedEventArgs & activatedEventArgs) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IHolographicApplicationPreviewStatics)->abi_IsHolographicActivation(get_abi(activatedEventArgs), &result)); + return result; +} + +inline bool HolographicApplicationPreview::IsCurrentViewPresentedOnHolographicDisplay() +{ + return get_activation_factory().IsCurrentViewPresentedOnHolographicDisplay(); +} + +inline bool HolographicApplicationPreview::IsHolographicActivation(const Windows::ApplicationModel::Activation::IActivatedEventArgs & activatedEventArgs) +{ + return get_activation_factory().IsHolographicActivation(activatedEventArgs); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Holographic::IHolographicApplicationPreviewStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.InkWorkspace.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.InkWorkspace.h new file mode 100644 index 000000000..7acfa4aba --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.InkWorkspace.h @@ -0,0 +1,110 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Preview.InkWorkspace.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetThumbnailAsync(impl::abi_arg_in bitmap, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SetThumbnailAsync(*reinterpret_cast(&bitmap))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentApp(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentApp()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Preview::InkWorkspace { + +template Windows::Foundation::IAsyncAction impl_IInkWorkspaceHostedAppManager::SetThumbnailAsync(const Windows::Graphics::Imaging::SoftwareBitmap & bitmap) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IInkWorkspaceHostedAppManager)->abi_SetThumbnailAsync(get_abi(bitmap), put_abi(action))); + return action; +} + +template Windows::ApplicationModel::Preview::InkWorkspace::InkWorkspaceHostedAppManager impl_IInkWorkspaceHostedAppManagerStatics::GetForCurrentApp() const +{ + Windows::ApplicationModel::Preview::InkWorkspace::InkWorkspaceHostedAppManager current { nullptr }; + check_hresult(WINRT_SHIM(IInkWorkspaceHostedAppManagerStatics)->abi_GetForCurrentApp(put_abi(current))); + return current; +} + +inline Windows::ApplicationModel::Preview::InkWorkspace::InkWorkspaceHostedAppManager InkWorkspaceHostedAppManager::GetForCurrentApp() +{ + return get_activation_factory().GetForCurrentApp(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::InkWorkspace::IInkWorkspaceHostedAppManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::InkWorkspace::IInkWorkspaceHostedAppManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::InkWorkspace::InkWorkspaceHostedAppManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.Notes.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.Notes.h new file mode 100644 index 000000000..6004def74 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Preview.Notes.h @@ -0,0 +1,670 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.ApplicationModel.Preview.Notes.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsScreenLocked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsScreenLocked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowNote(int32_t noteViewId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNote(noteViewId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowNoteRelativeTo(int32_t noteViewId, int32_t anchorNoteViewId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNoteRelativeTo(noteViewId, anchorNoteViewId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowNoteWithPlacement(int32_t noteViewId, impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNoteWithPlacement(noteViewId, *reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HideNote(int32_t noteViewId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HideNote(noteViewId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNotePlacement(int32_t noteViewId, impl::abi_arg_out data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *data = detach_abi(this->shim().GetNotePlacement(noteViewId)); + return S_OK; + } + catch (...) + { + *data = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetNoteSize(int32_t noteViewId, impl::abi_arg_in size, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySetNoteSize(noteViewId, *reinterpret_cast(&size))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFocusToNextView() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFocusToNextView(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetNotesThumbnailAsync(impl::abi_arg_in thumbnail, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetNotesThumbnailAsync(*reinterpret_cast(&thumbnail))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SystemLockStateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SystemLockStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SystemLockStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemLockStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NotePlacementChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NotePlacementChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NotePlacementChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotePlacementChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NoteVisibilityChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NoteVisibilityChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NoteVisibilityChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NoteVisibilityChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowNoteRelativeToWithOptions(int32_t noteViewId, int32_t anchorNoteViewId, impl::abi_arg_in options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNoteRelativeTo(noteViewId, anchorNoteViewId, *reinterpret_cast(&options)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowNoteWithPlacementWithOptions(int32_t noteViewId, impl::abi_arg_in data, impl::abi_arg_in options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNoteWithPlacement(noteViewId, *reinterpret_cast(&data), *reinterpret_cast(&options)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFocusToPreviousView() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFocusToPreviousView(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetThumbnailImageForTaskSwitcherAsync(impl::abi_arg_in bitmap, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SetThumbnailImageForTaskSwitcherAsync(*reinterpret_cast(&bitmap))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShowWithFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowWithFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowWithFocus(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowWithFocus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentApp(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentApp()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Preview::Notes { + +template int32_t impl_INotePlacementChangedPreviewEventArgs::ViewId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(INotePlacementChangedPreviewEventArgs)->get_ViewId(&value)); + return value; +} + +template int32_t impl_INoteVisibilityChangedPreviewEventArgs::ViewId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(INoteVisibilityChangedPreviewEventArgs)->get_ViewId(&value)); + return value; +} + +template bool impl_INoteVisibilityChangedPreviewEventArgs::IsVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INoteVisibilityChangedPreviewEventArgs)->get_IsVisible(&value)); + return value; +} + +template bool impl_INotesWindowManagerPreviewShowNoteOptions::ShowWithFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INotesWindowManagerPreviewShowNoteOptions)->get_ShowWithFocus(&value)); + return value; +} + +template void impl_INotesWindowManagerPreviewShowNoteOptions::ShowWithFocus(bool value) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreviewShowNoteOptions)->put_ShowWithFocus(value)); +} + +template bool impl_INotesWindowManagerPreview::IsScreenLocked() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->get_IsScreenLocked(&value)); + return value; +} + +template void impl_INotesWindowManagerPreview::ShowNote(int32_t noteViewId) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_ShowNote(noteViewId)); +} + +template void impl_INotesWindowManagerPreview::ShowNoteRelativeTo(int32_t noteViewId, int32_t anchorNoteViewId) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_ShowNoteRelativeTo(noteViewId, anchorNoteViewId)); +} + +template void impl_INotesWindowManagerPreview::ShowNoteWithPlacement(int32_t noteViewId, const Windows::Storage::Streams::IBuffer & data) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_ShowNoteWithPlacement(noteViewId, get_abi(data))); +} + +template void impl_INotesWindowManagerPreview::HideNote(int32_t noteViewId) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_HideNote(noteViewId)); +} + +template Windows::Storage::Streams::IBuffer impl_INotesWindowManagerPreview::GetNotePlacement(int32_t noteViewId) const +{ + Windows::Storage::Streams::IBuffer data; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_GetNotePlacement(noteViewId, put_abi(data))); + return data; +} + +template bool impl_INotesWindowManagerPreview::TrySetNoteSize(int32_t noteViewId, const Windows::Foundation::Size & size) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_TrySetNoteSize(noteViewId, get_abi(size), &succeeded)); + return succeeded; +} + +template void impl_INotesWindowManagerPreview::SetFocusToNextView() const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_SetFocusToNextView()); +} + +template Windows::Foundation::IAsyncAction impl_INotesWindowManagerPreview::SetNotesThumbnailAsync(const Windows::Storage::Streams::IBuffer & thumbnail) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->abi_SetNotesThumbnailAsync(get_abi(thumbnail), put_abi(operation))); + return operation; +} + +template event_token impl_INotesWindowManagerPreview::SystemLockStateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->add_SystemLockStateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INotesWindowManagerPreview::SystemLockStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Preview::Notes::INotesWindowManagerPreview::remove_SystemLockStateChanged, SystemLockStateChanged(handler)); +} + +template void impl_INotesWindowManagerPreview::SystemLockStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->remove_SystemLockStateChanged(token)); +} + +template event_token impl_INotesWindowManagerPreview::NotePlacementChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->add_NotePlacementChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INotesWindowManagerPreview::NotePlacementChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Preview::Notes::INotesWindowManagerPreview::remove_NotePlacementChanged, NotePlacementChanged(handler)); +} + +template void impl_INotesWindowManagerPreview::NotePlacementChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->remove_NotePlacementChanged(token)); +} + +template event_token impl_INotesWindowManagerPreview::NoteVisibilityChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->add_NoteVisibilityChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INotesWindowManagerPreview::NoteVisibilityChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Preview::Notes::INotesWindowManagerPreview::remove_NoteVisibilityChanged, NoteVisibilityChanged(handler)); +} + +template void impl_INotesWindowManagerPreview::NoteVisibilityChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview)->remove_NoteVisibilityChanged(token)); +} + +template void impl_INotesWindowManagerPreview2::ShowNoteRelativeTo(int32_t noteViewId, int32_t anchorNoteViewId, const Windows::ApplicationModel::Preview::Notes::NotesWindowManagerPreviewShowNoteOptions & options) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview2)->abi_ShowNoteRelativeToWithOptions(noteViewId, anchorNoteViewId, get_abi(options))); +} + +template void impl_INotesWindowManagerPreview2::ShowNoteWithPlacement(int32_t noteViewId, const Windows::Storage::Streams::IBuffer & data, const Windows::ApplicationModel::Preview::Notes::NotesWindowManagerPreviewShowNoteOptions & options) const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview2)->abi_ShowNoteWithPlacementWithOptions(noteViewId, get_abi(data), get_abi(options))); +} + +template void impl_INotesWindowManagerPreview2::SetFocusToPreviousView() const +{ + check_hresult(WINRT_SHIM(INotesWindowManagerPreview2)->abi_SetFocusToPreviousView()); +} + +template Windows::Foundation::IAsyncAction impl_INotesWindowManagerPreview2::SetThumbnailImageForTaskSwitcherAsync(const Windows::Graphics::Imaging::SoftwareBitmap & bitmap) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(INotesWindowManagerPreview2)->abi_SetThumbnailImageForTaskSwitcherAsync(get_abi(bitmap), put_abi(action))); + return action; +} + +template Windows::ApplicationModel::Preview::Notes::NotesWindowManagerPreview impl_INotesWindowManagerPreviewStatics::GetForCurrentApp() const +{ + Windows::ApplicationModel::Preview::Notes::NotesWindowManagerPreview current { nullptr }; + check_hresult(WINRT_SHIM(INotesWindowManagerPreviewStatics)->abi_GetForCurrentApp(put_abi(current))); + return current; +} + +inline Windows::ApplicationModel::Preview::Notes::NotesWindowManagerPreview NotesWindowManagerPreview::GetForCurrentApp() +{ + return get_activation_factory().GetForCurrentApp(); +} + +inline NotesWindowManagerPreviewShowNoteOptions::NotesWindowManagerPreviewShowNoteOptions() : + NotesWindowManagerPreviewShowNoteOptions(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::INotePlacementChangedPreviewEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::INoteVisibilityChangedPreviewEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::INotesWindowManagerPreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::INotesWindowManagerPreview2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::INotesWindowManagerPreviewShowNoteOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::INotesWindowManagerPreviewStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::NotePlacementChangedPreviewEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::NoteVisibilityChangedPreviewEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::NotesWindowManagerPreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Preview::Notes::NotesWindowManagerPreviewShowNoteOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.Core.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.Core.h new file mode 100644 index 000000000..3b27669ba --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.Core.h @@ -0,0 +1,1333 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Resources.Core.3.h" +#include "Windows.ApplicationModel.Resources.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out uri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *uri = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *uri = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Candidates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Candidates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resolve(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Resolve()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResolveForContext(impl::abi_arg_in resourceContext, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Resolve(*reinterpret_cast(&resourceContext))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResolveAll(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ResolveAll()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResolveAllForContext(impl::abi_arg_in resourceContext, impl::abi_arg_out> instances) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instances = detach_abi(this->shim().ResolveAll(*reinterpret_cast(&resourceContext))); + return S_OK; + } + catch (...) + { + *instances = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Qualifiers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Qualifiers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMatch(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMatch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMatchAsDefault(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMatchAsDefault()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDefault(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDefault()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValueAsString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ValueAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetValueAsFileAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetValueAsFileAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetQualifierValue(impl::abi_arg_in qualifierName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetQualifierValue(*reinterpret_cast(&qualifierName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetValueAsStreamAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetValueAsStreamAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QualifierValues(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualifierValues()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetQualifierValues(impl::abi_arg_in> qualifierNames) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(*reinterpret_cast *>(&qualifierNames)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OverrideToMatch(impl::abi_arg_in> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OverrideToMatch(*reinterpret_cast *>(&result)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clone(impl::abi_arg_out clone) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *clone = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *clone = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Languages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Languages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Languages(impl::abi_arg_in> languages) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Languages(*reinterpret_cast *>(&languages)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMatchingContext(impl::abi_arg_in> result, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMatchingContext(*reinterpret_cast *>(&result))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetGlobalQualifierValue(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetGlobalQualifierValue(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetGlobalQualifierValues() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResetGlobalQualifierValues(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetGlobalQualifierValuesForSpecifiedQualifiers(impl::abi_arg_in> qualifierNames) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResetGlobalQualifierValues(*reinterpret_cast *>(&qualifierNames)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForViewIndependentUse(impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().GetForViewIndependentUse()); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetGlobalQualifierValueWithPersistence(impl::abi_arg_in key, impl::abi_arg_in value, Windows::ApplicationModel::Resources::Core::ResourceQualifierPersistence persistence) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetGlobalQualifierValue(*reinterpret_cast(&key), *reinterpret_cast(&value), persistence); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MainResourceMap(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MainResourceMap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllResourceMaps(impl::abi_arg_out> maps) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *maps = detach_abi(this->shim().AllResourceMaps()); + return S_OK; + } + catch (...) + { + *maps = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadPriFiles(impl::abi_arg_in> files) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadPriFiles(*reinterpret_cast *>(&files)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnloadPriFiles(impl::abi_arg_in> files) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnloadPriFiles(*reinterpret_cast *>(&files)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAllNamedResourcesForPackage(impl::abi_arg_in packageName, impl::abi_arg_in resourceLayoutInfo, impl::abi_arg_out> table) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *table = detach_abi(this->shim().GetAllNamedResourcesForPackage(*reinterpret_cast(&packageName), *reinterpret_cast(&resourceLayoutInfo))); + return S_OK; + } + catch (...) + { + *table = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllSubtreesForPackage(impl::abi_arg_in packageName, impl::abi_arg_in resourceLayoutInfo, impl::abi_arg_out> table) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *table = detach_abi(this->shim().GetAllSubtreesForPackage(*reinterpret_cast(&packageName), *reinterpret_cast(&resourceLayoutInfo))); + return S_OK; + } + catch (...) + { + *table = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsResourceReference(impl::abi_arg_in resourceReference, bool * isReference) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isReference = detach_abi(this->shim().IsResourceReference(*reinterpret_cast(&resourceReference))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out uri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *uri = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *uri = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetValue(impl::abi_arg_in resource, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetValue(*reinterpret_cast(&resource))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetValueForContext(impl::abi_arg_in resource, impl::abi_arg_in context, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetValue(*reinterpret_cast(&resource), *reinterpret_cast(&context))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSubtree(impl::abi_arg_in reference, impl::abi_arg_out map) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *map = detach_abi(this->shim().GetSubtree(*reinterpret_cast(&reference))); + return S_OK; + } + catch (...) + { + *map = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QualifierName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualifierName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QualifierValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualifierValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDefault(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDefault()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMatch(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMatch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Score(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Score()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Resources::Core { + +template Windows::ApplicationModel::Resources::Core::ResourceMap impl_IResourceManager::MainResourceMap() const +{ + Windows::ApplicationModel::Resources::Core::ResourceMap value { nullptr }; + check_hresult(WINRT_SHIM(IResourceManager)->get_MainResourceMap(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IResourceManager::AllResourceMaps() const +{ + Windows::Foundation::Collections::IMapView maps; + check_hresult(WINRT_SHIM(IResourceManager)->get_AllResourceMaps(put_abi(maps))); + return maps; +} + +template Windows::ApplicationModel::Resources::Core::ResourceContext impl_IResourceManager::DefaultContext() const +{ + Windows::ApplicationModel::Resources::Core::ResourceContext value { nullptr }; + check_hresult(WINRT_SHIM(IResourceManager)->get_DefaultContext(put_abi(value))); + return value; +} + +template void impl_IResourceManager::LoadPriFiles(iterable files) const +{ + check_hresult(WINRT_SHIM(IResourceManager)->abi_LoadPriFiles(get_abi(files))); +} + +template void impl_IResourceManager::UnloadPriFiles(iterable files) const +{ + check_hresult(WINRT_SHIM(IResourceManager)->abi_UnloadPriFiles(get_abi(files))); +} + +template Windows::Foundation::Collections::IVectorView impl_IResourceManager2::GetAllNamedResourcesForPackage(hstring_view packageName, const Windows::ApplicationModel::Resources::Core::ResourceLayoutInfo & resourceLayoutInfo) const +{ + Windows::Foundation::Collections::IVectorView table; + check_hresult(WINRT_SHIM(IResourceManager2)->abi_GetAllNamedResourcesForPackage(get_abi(packageName), get_abi(resourceLayoutInfo), put_abi(table))); + return table; +} + +template Windows::Foundation::Collections::IVectorView impl_IResourceManager2::GetAllSubtreesForPackage(hstring_view packageName, const Windows::ApplicationModel::Resources::Core::ResourceLayoutInfo & resourceLayoutInfo) const +{ + Windows::Foundation::Collections::IVectorView table; + check_hresult(WINRT_SHIM(IResourceManager2)->abi_GetAllSubtreesForPackage(get_abi(packageName), get_abi(resourceLayoutInfo), put_abi(table))); + return table; +} + +template Windows::ApplicationModel::Resources::Core::ResourceManager impl_IResourceManagerStatics::Current() const +{ + Windows::ApplicationModel::Resources::Core::ResourceManager value { nullptr }; + check_hresult(WINRT_SHIM(IResourceManagerStatics)->get_Current(put_abi(value))); + return value; +} + +template bool impl_IResourceManagerStatics::IsResourceReference(hstring_view resourceReference) const +{ + bool isReference {}; + check_hresult(WINRT_SHIM(IResourceManagerStatics)->abi_IsResourceReference(get_abi(resourceReference), &isReference)); + return isReference; +} + +template hstring impl_IResourceQualifier::QualifierName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IResourceQualifier)->get_QualifierName(put_abi(value))); + return value; +} + +template hstring impl_IResourceQualifier::QualifierValue() const +{ + hstring value; + check_hresult(WINRT_SHIM(IResourceQualifier)->get_QualifierValue(put_abi(value))); + return value; +} + +template bool impl_IResourceQualifier::IsDefault() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IResourceQualifier)->get_IsDefault(&value)); + return value; +} + +template bool impl_IResourceQualifier::IsMatch() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IResourceQualifier)->get_IsMatch(&value)); + return value; +} + +template double impl_IResourceQualifier::Score() const +{ + double value {}; + check_hresult(WINRT_SHIM(IResourceQualifier)->get_Score(&value)); + return value; +} + +template Windows::Foundation::Collections::IObservableMap impl_IResourceContext::QualifierValues() const +{ + Windows::Foundation::Collections::IObservableMap value; + check_hresult(WINRT_SHIM(IResourceContext)->get_QualifierValues(put_abi(value))); + return value; +} + +template void impl_IResourceContext::Reset() const +{ + check_hresult(WINRT_SHIM(IResourceContext)->abi_Reset()); +} + +template void impl_IResourceContext::Reset(iterable qualifierNames) const +{ + check_hresult(WINRT_SHIM(IResourceContext)->abi_ResetQualifierValues(get_abi(qualifierNames))); +} + +template void impl_IResourceContext::OverrideToMatch(iterable result) const +{ + check_hresult(WINRT_SHIM(IResourceContext)->abi_OverrideToMatch(get_abi(result))); +} + +template Windows::ApplicationModel::Resources::Core::ResourceContext impl_IResourceContext::Clone() const +{ + Windows::ApplicationModel::Resources::Core::ResourceContext clone { nullptr }; + check_hresult(WINRT_SHIM(IResourceContext)->abi_Clone(put_abi(clone))); + return clone; +} + +template Windows::Foundation::Collections::IVectorView impl_IResourceContext::Languages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IResourceContext)->get_Languages(put_abi(value))); + return value; +} + +template void impl_IResourceContext::Languages(const Windows::Foundation::Collections::IVectorView & languages) const +{ + check_hresult(WINRT_SHIM(IResourceContext)->put_Languages(get_abi(languages))); +} + +template Windows::ApplicationModel::Resources::Core::ResourceContext impl_IResourceContextStatics::CreateMatchingContext(iterable result) const +{ + Windows::ApplicationModel::Resources::Core::ResourceContext value { nullptr }; + check_hresult(WINRT_SHIM(IResourceContextStatics)->abi_CreateMatchingContext(get_abi(result), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Resources::Core::ResourceContext impl_IResourceContextStatics2::GetForCurrentView() const +{ + Windows::ApplicationModel::Resources::Core::ResourceContext value { nullptr }; + check_hresult(WINRT_SHIM(IResourceContextStatics2)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template void impl_IResourceContextStatics2::SetGlobalQualifierValue(hstring_view key, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IResourceContextStatics2)->abi_SetGlobalQualifierValue(get_abi(key), get_abi(value))); +} + +template void impl_IResourceContextStatics2::ResetGlobalQualifierValues() const +{ + check_hresult(WINRT_SHIM(IResourceContextStatics2)->abi_ResetGlobalQualifierValues()); +} + +template void impl_IResourceContextStatics2::ResetGlobalQualifierValues(iterable qualifierNames) const +{ + check_hresult(WINRT_SHIM(IResourceContextStatics2)->abi_ResetGlobalQualifierValuesForSpecifiedQualifiers(get_abi(qualifierNames))); +} + +template Windows::ApplicationModel::Resources::Core::ResourceContext impl_IResourceContextStatics2::GetForViewIndependentUse() const +{ + Windows::ApplicationModel::Resources::Core::ResourceContext loader { nullptr }; + check_hresult(WINRT_SHIM(IResourceContextStatics2)->abi_GetForViewIndependentUse(put_abi(loader))); + return loader; +} + +template void impl_IResourceContextStatics3::SetGlobalQualifierValue(hstring_view key, hstring_view value, Windows::ApplicationModel::Resources::Core::ResourceQualifierPersistence persistence) const +{ + check_hresult(WINRT_SHIM(IResourceContextStatics3)->abi_SetGlobalQualifierValueWithPersistence(get_abi(key), get_abi(value), persistence)); +} + +template Windows::Foundation::Collections::IVectorView impl_IResourceCandidate::Qualifiers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IResourceCandidate)->get_Qualifiers(put_abi(value))); + return value; +} + +template bool impl_IResourceCandidate::IsMatch() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IResourceCandidate)->get_IsMatch(&value)); + return value; +} + +template bool impl_IResourceCandidate::IsMatchAsDefault() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IResourceCandidate)->get_IsMatchAsDefault(&value)); + return value; +} + +template bool impl_IResourceCandidate::IsDefault() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IResourceCandidate)->get_IsDefault(&value)); + return value; +} + +template hstring impl_IResourceCandidate::ValueAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(IResourceCandidate)->get_ValueAsString(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IResourceCandidate::GetValueAsFileAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IResourceCandidate)->abi_GetValueAsFileAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IResourceCandidate::GetQualifierValue(hstring_view qualifierName) const +{ + hstring value; + check_hresult(WINRT_SHIM(IResourceCandidate)->abi_GetQualifierValue(get_abi(qualifierName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IResourceCandidate2::GetValueAsStreamAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IResourceCandidate2)->abi_GetValueAsStreamAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Uri impl_INamedResource::Uri() const +{ + Windows::Foundation::Uri uri { nullptr }; + check_hresult(WINRT_SHIM(INamedResource)->get_Uri(put_abi(uri))); + return uri; +} + +template Windows::Foundation::Collections::IVectorView impl_INamedResource::Candidates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INamedResource)->get_Candidates(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Resources::Core::ResourceCandidate impl_INamedResource::Resolve() const +{ + Windows::ApplicationModel::Resources::Core::ResourceCandidate result { nullptr }; + check_hresult(WINRT_SHIM(INamedResource)->abi_Resolve(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::Resources::Core::ResourceCandidate impl_INamedResource::Resolve(const Windows::ApplicationModel::Resources::Core::ResourceContext & resourceContext) const +{ + Windows::ApplicationModel::Resources::Core::ResourceCandidate result { nullptr }; + check_hresult(WINRT_SHIM(INamedResource)->abi_ResolveForContext(get_abi(resourceContext), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_INamedResource::ResolveAll() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(INamedResource)->abi_ResolveAll(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_INamedResource::ResolveAll(const Windows::ApplicationModel::Resources::Core::ResourceContext & resourceContext) const +{ + Windows::Foundation::Collections::IVectorView instances; + check_hresult(WINRT_SHIM(INamedResource)->abi_ResolveAllForContext(get_abi(resourceContext), put_abi(instances))); + return instances; +} + +template Windows::Foundation::Uri impl_IResourceMap::Uri() const +{ + Windows::Foundation::Uri uri { nullptr }; + check_hresult(WINRT_SHIM(IResourceMap)->get_Uri(put_abi(uri))); + return uri; +} + +template Windows::ApplicationModel::Resources::Core::ResourceCandidate impl_IResourceMap::GetValue(hstring_view resource) const +{ + Windows::ApplicationModel::Resources::Core::ResourceCandidate value { nullptr }; + check_hresult(WINRT_SHIM(IResourceMap)->abi_GetValue(get_abi(resource), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Resources::Core::ResourceCandidate impl_IResourceMap::GetValue(hstring_view resource, const Windows::ApplicationModel::Resources::Core::ResourceContext & context) const +{ + Windows::ApplicationModel::Resources::Core::ResourceCandidate value { nullptr }; + check_hresult(WINRT_SHIM(IResourceMap)->abi_GetValueForContext(get_abi(resource), get_abi(context), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Resources::Core::ResourceMap impl_IResourceMap::GetSubtree(hstring_view reference) const +{ + Windows::ApplicationModel::Resources::Core::ResourceMap map { nullptr }; + check_hresult(WINRT_SHIM(IResourceMap)->abi_GetSubtree(get_abi(reference), put_abi(map))); + return map; +} + +inline ResourceContext::ResourceContext() : + ResourceContext(activate_instance()) +{} + +inline Windows::ApplicationModel::Resources::Core::ResourceContext ResourceContext::CreateMatchingContext(iterable result) +{ + return get_activation_factory().CreateMatchingContext(result); +} + +inline Windows::ApplicationModel::Resources::Core::ResourceContext ResourceContext::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline void ResourceContext::SetGlobalQualifierValue(hstring_view key, hstring_view value) +{ + get_activation_factory().SetGlobalQualifierValue(key, value); +} + +inline void ResourceContext::ResetGlobalQualifierValues() +{ + get_activation_factory().ResetGlobalQualifierValues(); +} + +inline void ResourceContext::ResetGlobalQualifierValues(iterable qualifierNames) +{ + get_activation_factory().ResetGlobalQualifierValues(qualifierNames); +} + +inline Windows::ApplicationModel::Resources::Core::ResourceContext ResourceContext::GetForViewIndependentUse() +{ + return get_activation_factory().GetForViewIndependentUse(); +} + +inline void ResourceContext::SetGlobalQualifierValue(hstring_view key, hstring_view value, Windows::ApplicationModel::Resources::Core::ResourceQualifierPersistence persistence) +{ + get_activation_factory().SetGlobalQualifierValue(key, value, persistence); +} + +inline Windows::ApplicationModel::Resources::Core::ResourceManager ResourceManager::Current() +{ + return get_activation_factory().Current(); +} + +inline bool ResourceManager::IsResourceReference(hstring_view resourceReference) +{ + return get_activation_factory().IsResourceReference(resourceReference); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::INamedResource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceCandidate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceCandidate2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceContextStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceContextStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceContextStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceMap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::IResourceQualifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::NamedResource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceCandidate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceCandidateVectorView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceContextLanguagesVectorView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceMap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceMapIterator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceMapMapView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceMapMapViewIterator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceQualifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceQualifierMapView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceQualifierObservableMap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Core::ResourceQualifierVectorView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.Management.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.Management.h new file mode 100644 index 000000000..7e99fff25 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.Management.h @@ -0,0 +1,389 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.Resources.Management.3.h" +#include "Windows.ApplicationModel.Resources.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::ApplicationModel::Resources::Management::IndexedResourceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Metadata(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Metadata()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Qualifiers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Qualifiers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValueAsString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValueAsString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetQualifierValue(impl::abi_arg_in qualifierName, impl::abi_arg_out qualifierValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *qualifierValue = detach_abi(this->shim().GetQualifierValue(*reinterpret_cast(&qualifierName))); + return S_OK; + } + catch (...) + { + *qualifierValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QualifierName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualifierName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QualifierValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualifierValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IndexFilePath(impl::abi_arg_in filePath, impl::abi_arg_out candidate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *candidate = detach_abi(this->shim().IndexFilePath(*reinterpret_cast(&filePath))); + return S_OK; + } + catch (...) + { + *candidate = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IndexFileContentsAsync(impl::abi_arg_in file, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().IndexFileContentsAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateResourceIndexer(impl::abi_arg_in projectRoot, impl::abi_arg_out indexer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *indexer = detach_abi(this->shim().CreateResourceIndexer(*reinterpret_cast(&projectRoot))); + return S_OK; + } + catch (...) + { + *indexer = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateResourceIndexerWithExtension(impl::abi_arg_in projectRoot, impl::abi_arg_in extensionDllPath, impl::abi_arg_out indexer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *indexer = detach_abi(this->shim().CreateResourceIndexerWithExtension(*reinterpret_cast(&projectRoot), *reinterpret_cast(&extensionDllPath))); + return S_OK; + } + catch (...) + { + *indexer = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Resources::Management { + +template Windows::ApplicationModel::Resources::Management::IndexedResourceCandidate impl_IResourceIndexer::IndexFilePath(const Windows::Foundation::Uri & filePath) const +{ + Windows::ApplicationModel::Resources::Management::IndexedResourceCandidate candidate { nullptr }; + check_hresult(WINRT_SHIM(IResourceIndexer)->abi_IndexFilePath(get_abi(filePath), put_abi(candidate))); + return candidate; +} + +template Windows::Foundation::IAsyncOperation> impl_IResourceIndexer::IndexFileContentsAsync(const Windows::Foundation::Uri & file) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IResourceIndexer)->abi_IndexFileContentsAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Resources::Management::ResourceIndexer impl_IResourceIndexerFactory::CreateResourceIndexer(const Windows::Foundation::Uri & projectRoot) const +{ + Windows::ApplicationModel::Resources::Management::ResourceIndexer indexer { nullptr }; + check_hresult(WINRT_SHIM(IResourceIndexerFactory)->abi_CreateResourceIndexer(get_abi(projectRoot), put_abi(indexer))); + return indexer; +} + +template Windows::ApplicationModel::Resources::Management::ResourceIndexer impl_IResourceIndexerFactory2::CreateResourceIndexerWithExtension(const Windows::Foundation::Uri & projectRoot, const Windows::Foundation::Uri & extensionDllPath) const +{ + Windows::ApplicationModel::Resources::Management::ResourceIndexer indexer { nullptr }; + check_hresult(WINRT_SHIM(IResourceIndexerFactory2)->abi_CreateResourceIndexerWithExtension(get_abi(projectRoot), get_abi(extensionDllPath), put_abi(indexer))); + return indexer; +} + +template hstring impl_IIndexedResourceQualifier::QualifierName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IIndexedResourceQualifier)->get_QualifierName(put_abi(value))); + return value; +} + +template hstring impl_IIndexedResourceQualifier::QualifierValue() const +{ + hstring value; + check_hresult(WINRT_SHIM(IIndexedResourceQualifier)->get_QualifierValue(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Resources::Management::IndexedResourceType impl_IIndexedResourceCandidate::Type() const +{ + Windows::ApplicationModel::Resources::Management::IndexedResourceType value {}; + check_hresult(WINRT_SHIM(IIndexedResourceCandidate)->get_Type(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IIndexedResourceCandidate::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IIndexedResourceCandidate)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IIndexedResourceCandidate::Metadata() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IIndexedResourceCandidate)->get_Metadata(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IIndexedResourceCandidate::Qualifiers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IIndexedResourceCandidate)->get_Qualifiers(put_abi(value))); + return value; +} + +template hstring impl_IIndexedResourceCandidate::ValueAsString() const +{ + hstring value; + check_hresult(WINRT_SHIM(IIndexedResourceCandidate)->get_ValueAsString(put_abi(value))); + return value; +} + +template hstring impl_IIndexedResourceCandidate::GetQualifierValue(hstring_view qualifierName) const +{ + hstring qualifierValue; + check_hresult(WINRT_SHIM(IIndexedResourceCandidate)->abi_GetQualifierValue(get_abi(qualifierName), put_abi(qualifierValue))); + return qualifierValue; +} + +inline ResourceIndexer::ResourceIndexer(const Windows::Foundation::Uri & projectRoot, const Windows::Foundation::Uri & extensionDllPath) : + ResourceIndexer(get_activation_factory().CreateResourceIndexerWithExtension(projectRoot, extensionDllPath)) +{} + +inline ResourceIndexer::ResourceIndexer(const Windows::Foundation::Uri & projectRoot) : + ResourceIndexer(get_activation_factory().CreateResourceIndexer(projectRoot)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::IIndexedResourceCandidate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::IIndexedResourceQualifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::IResourceIndexer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::IResourceIndexerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::IResourceIndexerFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::IndexedResourceCandidate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::IndexedResourceQualifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::Management::ResourceIndexer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.h new file mode 100644 index 000000000..0584aad8a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Resources.h @@ -0,0 +1,308 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Resources.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetString(impl::abi_arg_in resource, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetString(*reinterpret_cast(&resource))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetStringForUri(impl::abi_arg_in uri, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetStringForUri(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateResourceLoaderByName(impl::abi_arg_in name, impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().CreateResourceLoaderByName(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetStringForReference(impl::abi_arg_in uri, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetStringForReference(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForCurrentViewWithName(impl::abi_arg_in name, impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().GetForCurrentView(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForViewIndependentUse(impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().GetForViewIndependentUse()); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForViewIndependentUseWithName(impl::abi_arg_in name, impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().GetForViewIndependentUse(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Resources { + +template hstring impl_IResourceLoader::GetString(hstring_view resource) const +{ + hstring value; + check_hresult(WINRT_SHIM(IResourceLoader)->abi_GetString(get_abi(resource), put_abi(value))); + return value; +} + +template hstring impl_IResourceLoader2::GetStringForUri(const Windows::Foundation::Uri & uri) const +{ + hstring value; + check_hresult(WINRT_SHIM(IResourceLoader2)->abi_GetStringForUri(get_abi(uri), put_abi(value))); + return value; +} + +template hstring impl_IResourceLoaderStatics::GetStringForReference(const Windows::Foundation::Uri & uri) const +{ + hstring value; + check_hresult(WINRT_SHIM(IResourceLoaderStatics)->abi_GetStringForReference(get_abi(uri), put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Resources::ResourceLoader impl_IResourceLoaderStatics2::GetForCurrentView() const +{ + Windows::ApplicationModel::Resources::ResourceLoader loader { nullptr }; + check_hresult(WINRT_SHIM(IResourceLoaderStatics2)->abi_GetForCurrentView(put_abi(loader))); + return loader; +} + +template Windows::ApplicationModel::Resources::ResourceLoader impl_IResourceLoaderStatics2::GetForCurrentView(hstring_view name) const +{ + Windows::ApplicationModel::Resources::ResourceLoader loader { nullptr }; + check_hresult(WINRT_SHIM(IResourceLoaderStatics2)->abi_GetForCurrentViewWithName(get_abi(name), put_abi(loader))); + return loader; +} + +template Windows::ApplicationModel::Resources::ResourceLoader impl_IResourceLoaderStatics2::GetForViewIndependentUse() const +{ + Windows::ApplicationModel::Resources::ResourceLoader loader { nullptr }; + check_hresult(WINRT_SHIM(IResourceLoaderStatics2)->abi_GetForViewIndependentUse(put_abi(loader))); + return loader; +} + +template Windows::ApplicationModel::Resources::ResourceLoader impl_IResourceLoaderStatics2::GetForViewIndependentUse(hstring_view name) const +{ + Windows::ApplicationModel::Resources::ResourceLoader loader { nullptr }; + check_hresult(WINRT_SHIM(IResourceLoaderStatics2)->abi_GetForViewIndependentUseWithName(get_abi(name), put_abi(loader))); + return loader; +} + +template Windows::ApplicationModel::Resources::ResourceLoader impl_IResourceLoaderFactory::CreateResourceLoaderByName(hstring_view name) const +{ + Windows::ApplicationModel::Resources::ResourceLoader loader { nullptr }; + check_hresult(WINRT_SHIM(IResourceLoaderFactory)->abi_CreateResourceLoaderByName(get_abi(name), put_abi(loader))); + return loader; +} + +inline ResourceLoader::ResourceLoader() : + ResourceLoader(activate_instance()) +{} + +inline ResourceLoader::ResourceLoader(hstring_view name) : + ResourceLoader(get_activation_factory().CreateResourceLoaderByName(name)) +{} + +inline hstring ResourceLoader::GetStringForReference(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().GetStringForReference(uri); +} + +inline Windows::ApplicationModel::Resources::ResourceLoader ResourceLoader::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::ApplicationModel::Resources::ResourceLoader ResourceLoader::GetForCurrentView(hstring_view name) +{ + return get_activation_factory().GetForCurrentView(name); +} + +inline Windows::ApplicationModel::Resources::ResourceLoader ResourceLoader::GetForViewIndependentUse() +{ + return get_activation_factory().GetForViewIndependentUse(); +} + +inline Windows::ApplicationModel::Resources::ResourceLoader ResourceLoader::GetForViewIndependentUse(hstring_view name) +{ + return get_activation_factory().GetForViewIndependentUse(name); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::IResourceLoader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::IResourceLoader2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::IResourceLoaderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::IResourceLoaderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::IResourceLoaderStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Resources::ResourceLoader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Search.Core.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Search.Core.h new file mode 100644 index 000000000..31f1b452c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Search.Core.h @@ -0,0 +1,665 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.ApplicationModel.Search.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Search.Core.3.h" +#include "Windows.ApplicationModel.Search.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Search::Core::SearchSuggestionKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DetailText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetailText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Image(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Image()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageAlternateText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageAlternateText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SearchHistoryEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchHistoryEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchHistoryEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchHistoryContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchHistoryContext(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchHistoryContext(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLocalContentSuggestionSettings(impl::abi_arg_in settings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLocalContentSuggestionSettings(*reinterpret_cast(&settings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetQuery(impl::abi_arg_in queryText) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetQuery(*reinterpret_cast(&queryText)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetQueryWithLanguage(impl::abi_arg_in queryText, impl::abi_arg_in language) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetQuery(*reinterpret_cast(&queryText), *reinterpret_cast(&language)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetQueryWithSearchQueryLinguisticDetails(impl::abi_arg_in queryText, impl::abi_arg_in language, impl::abi_arg_in linguisticDetails) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetQuery(*reinterpret_cast(&queryText), *reinterpret_cast(&language), *reinterpret_cast(&linguisticDetails)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Suggestions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Suggestions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddToHistory(impl::abi_arg_in queryText) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddToHistory(*reinterpret_cast(&queryText)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddToHistoryWithLanguage(impl::abi_arg_in queryText, impl::abi_arg_in language) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddToHistory(*reinterpret_cast(&queryText), *reinterpret_cast(&language)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearHistory() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearHistory(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SuggestionsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SuggestionsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SuggestionsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestionsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RequestingFocusOnKeyboardInput(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RequestingFocusOnKeyboardInput(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RequestingFocusOnKeyboardInput(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestingFocusOnKeyboardInput(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinguisticDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinguisticDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Search::Core { + +template Windows::ApplicationModel::Search::Core::SearchSuggestionKind impl_ISearchSuggestion::Kind() const +{ + Windows::ApplicationModel::Search::Core::SearchSuggestionKind value {}; + check_hresult(WINRT_SHIM(ISearchSuggestion)->get_Kind(&value)); + return value; +} + +template hstring impl_ISearchSuggestion::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchSuggestion)->get_Text(put_abi(value))); + return value; +} + +template hstring impl_ISearchSuggestion::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchSuggestion)->get_Tag(put_abi(value))); + return value; +} + +template hstring impl_ISearchSuggestion::DetailText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchSuggestion)->get_DetailText(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_ISearchSuggestion::Image() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(ISearchSuggestion)->get_Image(put_abi(value))); + return value; +} + +template hstring impl_ISearchSuggestion::ImageAlternateText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchSuggestion)->get_ImageAlternateText(put_abi(value))); + return value; +} + +template hstring impl_ISearchSuggestionsRequestedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchSuggestionsRequestedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchSuggestionsRequestedEventArgs::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchSuggestionsRequestedEventArgs)->get_Language(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchQueryLinguisticDetails impl_ISearchSuggestionsRequestedEventArgs::LinguisticDetails() const +{ + Windows::ApplicationModel::Search::SearchQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchSuggestionsRequestedEventArgs)->get_LinguisticDetails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchSuggestionsRequest impl_ISearchSuggestionsRequestedEventArgs::Request() const +{ + Windows::ApplicationModel::Search::SearchSuggestionsRequest value { nullptr }; + check_hresult(WINRT_SHIM(ISearchSuggestionsRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template bool impl_ISearchSuggestionManager::SearchHistoryEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->get_SearchHistoryEnabled(&value)); + return value; +} + +template void impl_ISearchSuggestionManager::SearchHistoryEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->put_SearchHistoryEnabled(value)); +} + +template hstring impl_ISearchSuggestionManager::SearchHistoryContext() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->get_SearchHistoryContext(put_abi(value))); + return value; +} + +template void impl_ISearchSuggestionManager::SearchHistoryContext(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->put_SearchHistoryContext(get_abi(value))); +} + +template void impl_ISearchSuggestionManager::SetLocalContentSuggestionSettings(const Windows::ApplicationModel::Search::LocalContentSuggestionSettings & settings) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->abi_SetLocalContentSuggestionSettings(get_abi(settings))); +} + +template void impl_ISearchSuggestionManager::SetQuery(hstring_view queryText) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->abi_SetQuery(get_abi(queryText))); +} + +template void impl_ISearchSuggestionManager::SetQuery(hstring_view queryText, hstring_view language) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->abi_SetQueryWithLanguage(get_abi(queryText), get_abi(language))); +} + +template void impl_ISearchSuggestionManager::SetQuery(hstring_view queryText, hstring_view language, const Windows::ApplicationModel::Search::SearchQueryLinguisticDetails & linguisticDetails) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->abi_SetQueryWithSearchQueryLinguisticDetails(get_abi(queryText), get_abi(language), get_abi(linguisticDetails))); +} + +template Windows::Foundation::Collections::IObservableVector impl_ISearchSuggestionManager::Suggestions() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->get_Suggestions(put_abi(value))); + return value; +} + +template void impl_ISearchSuggestionManager::AddToHistory(hstring_view queryText) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->abi_AddToHistory(get_abi(queryText))); +} + +template void impl_ISearchSuggestionManager::AddToHistory(hstring_view queryText, hstring_view language) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->abi_AddToHistoryWithLanguage(get_abi(queryText), get_abi(language))); +} + +template void impl_ISearchSuggestionManager::ClearHistory() const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->abi_ClearHistory()); +} + +template event_token impl_ISearchSuggestionManager::SuggestionsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->add_SuggestionsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISearchSuggestionManager::SuggestionsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Search::Core::ISearchSuggestionManager::remove_SuggestionsRequested, SuggestionsRequested(handler)); +} + +template void impl_ISearchSuggestionManager::SuggestionsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->remove_SuggestionsRequested(token)); +} + +template event_token impl_ISearchSuggestionManager::RequestingFocusOnKeyboardInput(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->add_RequestingFocusOnKeyboardInput(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISearchSuggestionManager::RequestingFocusOnKeyboardInput(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Search::Core::ISearchSuggestionManager::remove_RequestingFocusOnKeyboardInput, RequestingFocusOnKeyboardInput(handler)); +} + +template void impl_ISearchSuggestionManager::RequestingFocusOnKeyboardInput(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionManager)->remove_RequestingFocusOnKeyboardInput(token)); +} + +inline SearchSuggestionManager::SearchSuggestionManager() : + SearchSuggestionManager(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::IRequestingFocusOnKeyboardInputEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::ISearchSuggestion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::ISearchSuggestionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::ISearchSuggestionsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::RequestingFocusOnKeyboardInputEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::SearchSuggestion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::SearchSuggestionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::Core::SearchSuggestionsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Search.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Search.h new file mode 100644 index 000000000..69c705be6 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Search.h @@ -0,0 +1,1713 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Search.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Locations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Locations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AqsFilter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AqsFilter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AqsFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AqsFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PropertiesToMatch(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PropertiesToMatch()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_SearchHistoryEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchHistoryEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchHistoryEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchHistoryContext(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchHistoryContext(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchHistoryContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VisibilityChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VisibilityChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VisibilityChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VisibilityChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QueryChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QueryChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QueryChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QueryChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SuggestionsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SuggestionsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SuggestionsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestionsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QuerySubmitted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QuerySubmitted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QuerySubmitted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuerySubmitted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ResultSuggestionChosen(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ResultSuggestionChosen(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ResultSuggestionChosen(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResultSuggestionChosen(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLocalContentSuggestionSettings(impl::abi_arg_in settings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLocalContentSuggestionSettings(*reinterpret_cast(&settings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowOverloadDefault() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowOverloadWithQuery(impl::abi_arg_in query) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&query)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowOnKeyboardInput(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowOnKeyboardInput(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowOnKeyboardInput(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowOnKeyboardInput()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetQueryText(impl::abi_arg_in query, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySetQueryText(*reinterpret_cast(&query))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinguisticDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinguisticDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryTextAlternatives(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryTextAlternatives()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryTextCompositionStart(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryTextCompositionStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryTextCompositionLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryTextCompositionLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LinguisticDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinguisticDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out searchPane) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *searchPane = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *searchPane = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_HideThisApplication() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HideThisApplication(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchSuggestionCollection(impl::abi_arg_out collection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *collection = detach_abi(this->shim().SearchSuggestionCollection()); + return S_OK; + } + catch (...) + { + *collection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryTextAlternatives(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryTextAlternatives()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryTextCompositionStart(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryTextCompositionStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryTextCompositionLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryTextCompositionLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in> queryTextAlternatives, uint32_t queryTextCompositionStart, uint32_t queryTextCompositionLength, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateInstance(*reinterpret_cast *>(&queryTextAlternatives), queryTextCompositionStart, queryTextCompositionLength)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Size(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendQuerySuggestion(impl::abi_arg_in text) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendQuerySuggestion(*reinterpret_cast(&text)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendQuerySuggestions(impl::abi_arg_in> suggestions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendQuerySuggestions(*reinterpret_cast *>(&suggestions)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendResultSuggestion(impl::abi_arg_in text, impl::abi_arg_in detailText, impl::abi_arg_in tag, impl::abi_arg_in image, impl::abi_arg_in imageAlternateText) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendResultSuggestion(*reinterpret_cast(&text), *reinterpret_cast(&detailText), *reinterpret_cast(&tag), *reinterpret_cast(&image), *reinterpret_cast(&imageAlternateText)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendSearchSeparator(impl::abi_arg_in label) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendSearchSeparator(*reinterpret_cast(&label)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchSuggestionCollection(impl::abi_arg_out collection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *collection = detach_abi(this->shim().SearchSuggestionCollection()); + return S_OK; + } + catch (...) + { + *collection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Search { + +template Windows::Foundation::Collections::IVectorView impl_ISearchPaneQueryLinguisticDetails::QueryTextAlternatives() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISearchPaneQueryLinguisticDetails)->get_QueryTextAlternatives(put_abi(value))); + return value; +} + +template uint32_t impl_ISearchPaneQueryLinguisticDetails::QueryTextCompositionStart() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISearchPaneQueryLinguisticDetails)->get_QueryTextCompositionStart(&value)); + return value; +} + +template uint32_t impl_ISearchPaneQueryLinguisticDetails::QueryTextCompositionLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISearchPaneQueryLinguisticDetails)->get_QueryTextCompositionLength(&value)); + return value; +} + +template uint32_t impl_ISearchSuggestionCollection::Size() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISearchSuggestionCollection)->get_Size(&value)); + return value; +} + +template void impl_ISearchSuggestionCollection::AppendQuerySuggestion(hstring_view text) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionCollection)->abi_AppendQuerySuggestion(get_abi(text))); +} + +template void impl_ISearchSuggestionCollection::AppendQuerySuggestions(iterable suggestions) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionCollection)->abi_AppendQuerySuggestions(get_abi(suggestions))); +} + +template void impl_ISearchSuggestionCollection::AppendResultSuggestion(hstring_view text, hstring_view detailText, hstring_view tag, const Windows::Storage::Streams::IRandomAccessStreamReference & image, hstring_view imageAlternateText) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionCollection)->abi_AppendResultSuggestion(get_abi(text), get_abi(detailText), get_abi(tag), get_abi(image), get_abi(imageAlternateText))); +} + +template void impl_ISearchSuggestionCollection::AppendSearchSeparator(hstring_view label) const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionCollection)->abi_AppendSearchSeparator(get_abi(label))); +} + +template void impl_ILocalContentSuggestionSettings::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(ILocalContentSuggestionSettings)->put_Enabled(value)); +} + +template bool impl_ILocalContentSuggestionSettings::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILocalContentSuggestionSettings)->get_Enabled(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ILocalContentSuggestionSettings::Locations() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ILocalContentSuggestionSettings)->get_Locations(put_abi(value))); + return value; +} + +template void impl_ILocalContentSuggestionSettings::AqsFilter(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILocalContentSuggestionSettings)->put_AqsFilter(get_abi(value))); +} + +template hstring impl_ILocalContentSuggestionSettings::AqsFilter() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalContentSuggestionSettings)->get_AqsFilter(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ILocalContentSuggestionSettings::PropertiesToMatch() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ILocalContentSuggestionSettings)->get_PropertiesToMatch(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchQueryLinguisticDetails impl_ISearchQueryLinguisticDetailsFactory::CreateInstance(iterable queryTextAlternatives, uint32_t queryTextCompositionStart, uint32_t queryTextCompositionLength) const +{ + Windows::ApplicationModel::Search::SearchQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchQueryLinguisticDetailsFactory)->abi_CreateInstance(get_abi(queryTextAlternatives), queryTextCompositionStart, queryTextCompositionLength, put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISearchQueryLinguisticDetails::QueryTextAlternatives() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISearchQueryLinguisticDetails)->get_QueryTextAlternatives(put_abi(value))); + return value; +} + +template uint32_t impl_ISearchQueryLinguisticDetails::QueryTextCompositionStart() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISearchQueryLinguisticDetails)->get_QueryTextCompositionStart(&value)); + return value; +} + +template uint32_t impl_ISearchQueryLinguisticDetails::QueryTextCompositionLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISearchQueryLinguisticDetails)->get_QueryTextCompositionLength(&value)); + return value; +} + +template void impl_ISearchSuggestionsRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ISearchSuggestionsRequestDeferral)->abi_Complete()); +} + +template bool impl_ISearchSuggestionsRequest::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchSuggestionsRequest)->get_IsCanceled(&value)); + return value; +} + +template Windows::ApplicationModel::Search::SearchSuggestionCollection impl_ISearchSuggestionsRequest::SearchSuggestionCollection() const +{ + Windows::ApplicationModel::Search::SearchSuggestionCollection collection { nullptr }; + check_hresult(WINRT_SHIM(ISearchSuggestionsRequest)->get_SearchSuggestionCollection(put_abi(collection))); + return collection; +} + +template Windows::ApplicationModel::Search::SearchSuggestionsRequestDeferral impl_ISearchSuggestionsRequest::GetDeferral() const +{ + Windows::ApplicationModel::Search::SearchSuggestionsRequestDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(ISearchSuggestionsRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template bool impl_ISearchPaneVisibilityChangedEventArgs::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchPaneVisibilityChangedEventArgs)->get_Visible(&value)); + return value; +} + +template hstring impl_ISearchPaneQueryChangedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPaneQueryChangedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchPaneQueryChangedEventArgs::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPaneQueryChangedEventArgs)->get_Language(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchPaneQueryLinguisticDetails impl_ISearchPaneQueryChangedEventArgs::LinguisticDetails() const +{ + Windows::ApplicationModel::Search::SearchPaneQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchPaneQueryChangedEventArgs)->get_LinguisticDetails(put_abi(value))); + return value; +} + +template hstring impl_ISearchPaneQuerySubmittedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPaneQuerySubmittedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchPaneQuerySubmittedEventArgs::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPaneQuerySubmittedEventArgs)->get_Language(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchPaneQueryLinguisticDetails impl_ISearchPaneQuerySubmittedEventArgsWithLinguisticDetails::LinguisticDetails() const +{ + Windows::ApplicationModel::Search::SearchPaneQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchPaneQuerySubmittedEventArgsWithLinguisticDetails)->get_LinguisticDetails(put_abi(value))); + return value; +} + +template hstring impl_ISearchPaneResultSuggestionChosenEventArgs::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPaneResultSuggestionChosenEventArgs)->get_Tag(put_abi(value))); + return value; +} + +template void impl_ISearchPaneSuggestionsRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ISearchPaneSuggestionsRequestDeferral)->abi_Complete()); +} + +template bool impl_ISearchPaneSuggestionsRequest::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchPaneSuggestionsRequest)->get_IsCanceled(&value)); + return value; +} + +template Windows::ApplicationModel::Search::SearchSuggestionCollection impl_ISearchPaneSuggestionsRequest::SearchSuggestionCollection() const +{ + Windows::ApplicationModel::Search::SearchSuggestionCollection collection { nullptr }; + check_hresult(WINRT_SHIM(ISearchPaneSuggestionsRequest)->get_SearchSuggestionCollection(put_abi(collection))); + return collection; +} + +template Windows::ApplicationModel::Search::SearchPaneSuggestionsRequestDeferral impl_ISearchPaneSuggestionsRequest::GetDeferral() const +{ + Windows::ApplicationModel::Search::SearchPaneSuggestionsRequestDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(ISearchPaneSuggestionsRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::ApplicationModel::Search::SearchPaneSuggestionsRequest impl_ISearchPaneSuggestionsRequestedEventArgs::Request() const +{ + Windows::ApplicationModel::Search::SearchPaneSuggestionsRequest value { nullptr }; + check_hresult(WINRT_SHIM(ISearchPaneSuggestionsRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchPane impl_ISearchPaneStatics::GetForCurrentView() const +{ + Windows::ApplicationModel::Search::SearchPane searchPane { nullptr }; + check_hresult(WINRT_SHIM(ISearchPaneStatics)->abi_GetForCurrentView(put_abi(searchPane))); + return searchPane; +} + +template void impl_ISearchPaneStaticsWithHideThisApplication::HideThisApplication() const +{ + check_hresult(WINRT_SHIM(ISearchPaneStaticsWithHideThisApplication)->abi_HideThisApplication()); +} + +template void impl_ISearchPane::SearchHistoryEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->put_SearchHistoryEnabled(value)); +} + +template bool impl_ISearchPane::SearchHistoryEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchPane)->get_SearchHistoryEnabled(&value)); + return value; +} + +template void impl_ISearchPane::SearchHistoryContext(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->put_SearchHistoryContext(get_abi(value))); +} + +template hstring impl_ISearchPane::SearchHistoryContext() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPane)->get_SearchHistoryContext(put_abi(value))); + return value; +} + +template void impl_ISearchPane::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->put_PlaceholderText(get_abi(value))); +} + +template hstring impl_ISearchPane::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPane)->get_PlaceholderText(put_abi(value))); + return value; +} + +template hstring impl_ISearchPane::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPane)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchPane::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchPane)->get_Language(put_abi(value))); + return value; +} + +template bool impl_ISearchPane::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchPane)->get_Visible(&value)); + return value; +} + +template event_token impl_ISearchPane::VisibilityChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchPane)->add_VisibilityChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISearchPane::VisibilityChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Search::ISearchPane::remove_VisibilityChanged, VisibilityChanged(handler)); +} + +template void impl_ISearchPane::VisibilityChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->remove_VisibilityChanged(token)); +} + +template event_token impl_ISearchPane::QueryChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchPane)->add_QueryChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISearchPane::QueryChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Search::ISearchPane::remove_QueryChanged, QueryChanged(handler)); +} + +template void impl_ISearchPane::QueryChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->remove_QueryChanged(token)); +} + +template event_token impl_ISearchPane::SuggestionsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchPane)->add_SuggestionsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISearchPane::SuggestionsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Search::ISearchPane::remove_SuggestionsRequested, SuggestionsRequested(handler)); +} + +template void impl_ISearchPane::SuggestionsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->remove_SuggestionsRequested(token)); +} + +template event_token impl_ISearchPane::QuerySubmitted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchPane)->add_QuerySubmitted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISearchPane::QuerySubmitted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Search::ISearchPane::remove_QuerySubmitted, QuerySubmitted(handler)); +} + +template void impl_ISearchPane::QuerySubmitted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->remove_QuerySubmitted(token)); +} + +template event_token impl_ISearchPane::ResultSuggestionChosen(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchPane)->add_ResultSuggestionChosen(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISearchPane::ResultSuggestionChosen(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Search::ISearchPane::remove_ResultSuggestionChosen, ResultSuggestionChosen(handler)); +} + +template void impl_ISearchPane::ResultSuggestionChosen(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->remove_ResultSuggestionChosen(token)); +} + +template void impl_ISearchPane::SetLocalContentSuggestionSettings(const Windows::ApplicationModel::Search::LocalContentSuggestionSettings & settings) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->abi_SetLocalContentSuggestionSettings(get_abi(settings))); +} + +template void impl_ISearchPane::Show() const +{ + check_hresult(WINRT_SHIM(ISearchPane)->abi_ShowOverloadDefault()); +} + +template void impl_ISearchPane::Show(hstring_view query) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->abi_ShowOverloadWithQuery(get_abi(query))); +} + +template void impl_ISearchPane::ShowOnKeyboardInput(bool value) const +{ + check_hresult(WINRT_SHIM(ISearchPane)->put_ShowOnKeyboardInput(value)); +} + +template bool impl_ISearchPane::ShowOnKeyboardInput() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchPane)->get_ShowOnKeyboardInput(&value)); + return value; +} + +template bool impl_ISearchPane::TrySetQueryText(hstring_view query) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(ISearchPane)->abi_TrySetQueryText(get_abi(query), &succeeded)); + return succeeded; +} + +inline LocalContentSuggestionSettings::LocalContentSuggestionSettings() : + LocalContentSuggestionSettings(activate_instance()) +{} + +inline Windows::ApplicationModel::Search::SearchPane SearchPane::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline void SearchPane::HideThisApplication() +{ + get_activation_factory().HideThisApplication(); +} + +inline SearchQueryLinguisticDetails::SearchQueryLinguisticDetails(iterable queryTextAlternatives, uint32_t queryTextCompositionStart, uint32_t queryTextCompositionLength) : + SearchQueryLinguisticDetails(get_activation_factory().CreateInstance(queryTextAlternatives, queryTextCompositionStart, queryTextCompositionLength)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ILocalContentSuggestionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneQueryChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneQueryLinguisticDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneQuerySubmittedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneQuerySubmittedEventArgsWithLinguisticDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneResultSuggestionChosenEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneStaticsWithHideThisApplication & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneSuggestionsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneSuggestionsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneSuggestionsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchPaneVisibilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchQueryLinguisticDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchQueryLinguisticDetailsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchSuggestionCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchSuggestionsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::ISearchSuggestionsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::LocalContentSuggestionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneQueryChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneQueryLinguisticDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneQuerySubmittedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneResultSuggestionChosenEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneSuggestionsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneSuggestionsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneSuggestionsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchPaneVisibilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchQueryLinguisticDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchSuggestionCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchSuggestionsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Search::SearchSuggestionsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.SocialInfo.Provider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.SocialInfo.Provider.h new file mode 100644 index 000000000..57d2ccca2 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.SocialInfo.Provider.h @@ -0,0 +1,515 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.SocialInfo.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.SocialInfo.Provider.3.h" +#include "Windows.ApplicationModel.SocialInfo.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OwnerRemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OwnerRemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Timestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Timestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CommitAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CommitAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OwnerRemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OwnerRemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::SocialInfo::SocialFeedKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CommitAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CommitAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateSocialFeedUpdaterAsync(Windows::ApplicationModel::SocialInfo::SocialFeedKind kind, Windows::ApplicationModel::SocialInfo::SocialFeedUpdateMode mode, impl::abi_arg_in ownerRemoteId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateSocialFeedUpdaterAsync(kind, mode, *reinterpret_cast(&ownerRemoteId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDashboardItemUpdaterAsync(impl::abi_arg_in ownerRemoteId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateDashboardItemUpdaterAsync(*reinterpret_cast(&ownerRemoteId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateBadgeCountValue(impl::abi_arg_in itemRemoteId, int32_t newCount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateBadgeCountValue(*reinterpret_cast(&itemRemoteId), newCount); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportNewContentAvailable(impl::abi_arg_in contactRemoteId, Windows::ApplicationModel::SocialInfo::SocialFeedKind kind) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportNewContentAvailable(*reinterpret_cast(&contactRemoteId), kind); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProvisionAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ProvisionAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeprovisionAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeprovisionAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::SocialInfo::Provider { + +template hstring impl_ISocialFeedUpdater::OwnerRemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialFeedUpdater)->get_OwnerRemoteId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedKind impl_ISocialFeedUpdater::Kind() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedKind value {}; + check_hresult(WINRT_SHIM(ISocialFeedUpdater)->get_Kind(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISocialFeedUpdater::Items() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISocialFeedUpdater)->get_Items(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISocialFeedUpdater::CommitAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ISocialFeedUpdater)->abi_CommitAsync(put_abi(operation))); + return operation; +} + +template hstring impl_ISocialDashboardItemUpdater::OwnerRemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->get_OwnerRemoteId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedContent impl_ISocialDashboardItemUpdater::Content() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedContent value { nullptr }; + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->get_Content(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISocialDashboardItemUpdater::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->get_Timestamp(put_abi(value))); + return value; +} + +template void impl_ISocialDashboardItemUpdater::Timestamp(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->put_Timestamp(get_abi(value))); +} + +template void impl_ISocialDashboardItemUpdater::Thumbnail(const Windows::ApplicationModel::SocialInfo::SocialItemThumbnail & value) const +{ + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->put_Thumbnail(get_abi(value))); +} + +template Windows::ApplicationModel::SocialInfo::SocialItemThumbnail impl_ISocialDashboardItemUpdater::Thumbnail() const +{ + Windows::ApplicationModel::SocialInfo::SocialItemThumbnail value { nullptr }; + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->get_Thumbnail(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISocialDashboardItemUpdater::CommitAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->abi_CommitAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Uri impl_ISocialDashboardItemUpdater::TargetUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->get_TargetUri(put_abi(value))); + return value; +} + +template void impl_ISocialDashboardItemUpdater::TargetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialDashboardItemUpdater)->put_TargetUri(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_ISocialInfoProviderManagerStatics::CreateSocialFeedUpdaterAsync(Windows::ApplicationModel::SocialInfo::SocialFeedKind kind, Windows::ApplicationModel::SocialInfo::SocialFeedUpdateMode mode, hstring_view ownerRemoteId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISocialInfoProviderManagerStatics)->abi_CreateSocialFeedUpdaterAsync(kind, mode, get_abi(ownerRemoteId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISocialInfoProviderManagerStatics::CreateDashboardItemUpdaterAsync(hstring_view ownerRemoteId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISocialInfoProviderManagerStatics)->abi_CreateDashboardItemUpdaterAsync(get_abi(ownerRemoteId), put_abi(operation))); + return operation; +} + +template void impl_ISocialInfoProviderManagerStatics::UpdateBadgeCountValue(hstring_view itemRemoteId, int32_t newCount) const +{ + check_hresult(WINRT_SHIM(ISocialInfoProviderManagerStatics)->abi_UpdateBadgeCountValue(get_abi(itemRemoteId), newCount)); +} + +template void impl_ISocialInfoProviderManagerStatics::ReportNewContentAvailable(hstring_view contactRemoteId, Windows::ApplicationModel::SocialInfo::SocialFeedKind kind) const +{ + check_hresult(WINRT_SHIM(ISocialInfoProviderManagerStatics)->abi_ReportNewContentAvailable(get_abi(contactRemoteId), kind)); +} + +template Windows::Foundation::IAsyncOperation impl_ISocialInfoProviderManagerStatics::ProvisionAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISocialInfoProviderManagerStatics)->abi_ProvisionAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ISocialInfoProviderManagerStatics::DeprovisionAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ISocialInfoProviderManagerStatics)->abi_DeprovisionAsync(put_abi(operation))); + return operation; +} + +inline Windows::Foundation::IAsyncOperation SocialInfoProviderManager::CreateSocialFeedUpdaterAsync(Windows::ApplicationModel::SocialInfo::SocialFeedKind kind, Windows::ApplicationModel::SocialInfo::SocialFeedUpdateMode mode, hstring_view ownerRemoteId) +{ + return get_activation_factory().CreateSocialFeedUpdaterAsync(kind, mode, ownerRemoteId); +} + +inline Windows::Foundation::IAsyncOperation SocialInfoProviderManager::CreateDashboardItemUpdaterAsync(hstring_view ownerRemoteId) +{ + return get_activation_factory().CreateDashboardItemUpdaterAsync(ownerRemoteId); +} + +inline void SocialInfoProviderManager::UpdateBadgeCountValue(hstring_view itemRemoteId, int32_t newCount) +{ + get_activation_factory().UpdateBadgeCountValue(itemRemoteId, newCount); +} + +inline void SocialInfoProviderManager::ReportNewContentAvailable(hstring_view contactRemoteId, Windows::ApplicationModel::SocialInfo::SocialFeedKind kind) +{ + get_activation_factory().ReportNewContentAvailable(contactRemoteId, kind); +} + +inline Windows::Foundation::IAsyncOperation SocialInfoProviderManager::ProvisionAsync() +{ + return get_activation_factory().ProvisionAsync(); +} + +inline Windows::Foundation::IAsyncAction SocialInfoProviderManager::DeprovisionAsync() +{ + return get_activation_factory().DeprovisionAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::Provider::ISocialDashboardItemUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::Provider::ISocialFeedUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::Provider::ISocialInfoProviderManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::Provider::SocialDashboardItemUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::Provider::SocialFeedUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.SocialInfo.h b/10.0.15042.0/winrt/Windows.ApplicationModel.SocialInfo.h new file mode 100644 index 000000000..8373351ba --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.SocialInfo.h @@ -0,0 +1,1414 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.SocialInfo.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Author(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Author()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Timestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Timestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnails(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SharedItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SharedItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Message(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Message(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Author(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Author()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Timestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Timestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnails(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SharedItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SharedItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BadgeStyle(Windows::ApplicationModel::SocialInfo::SocialItemBadgeStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BadgeStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BadgeStyle(Windows::ApplicationModel::SocialInfo::SocialItemBadgeStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BadgeStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BadgeCountValue(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BadgeCountValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BadgeCountValue(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BadgeCountValue(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChildItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChildItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Style(Windows::ApplicationModel::SocialInfo::SocialFeedItemStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Style()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Style(Windows::ApplicationModel::SocialInfo::SocialFeedItemStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Style(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OriginalSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OriginalSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OriginalSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Timestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Timestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ImageUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ImageUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BitmapSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BitmapSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetImageAsync(impl::abi_arg_in image, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetImageAsync(*reinterpret_cast(&image))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::SocialInfo { + +template Windows::Foundation::Uri impl_ISocialItemThumbnail::TargetUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialItemThumbnail)->get_TargetUri(put_abi(value))); + return value; +} + +template void impl_ISocialItemThumbnail::TargetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialItemThumbnail)->put_TargetUri(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISocialItemThumbnail::ImageUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialItemThumbnail)->get_ImageUri(put_abi(value))); + return value; +} + +template void impl_ISocialItemThumbnail::ImageUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialItemThumbnail)->put_ImageUri(get_abi(value))); +} + +template Windows::Graphics::Imaging::BitmapSize impl_ISocialItemThumbnail::BitmapSize() const +{ + Windows::Graphics::Imaging::BitmapSize value {}; + check_hresult(WINRT_SHIM(ISocialItemThumbnail)->get_BitmapSize(put_abi(value))); + return value; +} + +template void impl_ISocialItemThumbnail::BitmapSize(const Windows::Graphics::Imaging::BitmapSize & value) const +{ + check_hresult(WINRT_SHIM(ISocialItemThumbnail)->put_BitmapSize(get_abi(value))); +} + +template Windows::Foundation::IAsyncAction impl_ISocialItemThumbnail::SetImageAsync(const Windows::Storage::Streams::IInputStream & image) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ISocialItemThumbnail)->abi_SetImageAsync(get_abi(image), put_abi(operation))); + return operation; +} + +template hstring impl_ISocialFeedContent::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialFeedContent)->get_Title(put_abi(value))); + return value; +} + +template void impl_ISocialFeedContent::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedContent)->put_Title(get_abi(value))); +} + +template hstring impl_ISocialFeedContent::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialFeedContent)->get_Message(put_abi(value))); + return value; +} + +template void impl_ISocialFeedContent::Message(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedContent)->put_Message(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISocialFeedContent::TargetUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedContent)->get_TargetUri(put_abi(value))); + return value; +} + +template void impl_ISocialFeedContent::TargetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedContent)->put_TargetUri(get_abi(value))); +} + +template hstring impl_ISocialUserInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialUserInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_ISocialUserInfo::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISocialUserInfo)->put_DisplayName(get_abi(value))); +} + +template hstring impl_ISocialUserInfo::UserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialUserInfo)->get_UserName(put_abi(value))); + return value; +} + +template void impl_ISocialUserInfo::UserName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISocialUserInfo)->put_UserName(get_abi(value))); +} + +template hstring impl_ISocialUserInfo::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialUserInfo)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_ISocialUserInfo::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISocialUserInfo)->put_RemoteId(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISocialUserInfo::TargetUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialUserInfo)->get_TargetUri(put_abi(value))); + return value; +} + +template void impl_ISocialUserInfo::TargetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialUserInfo)->put_TargetUri(get_abi(value))); +} + +template Windows::ApplicationModel::SocialInfo::SocialUserInfo impl_ISocialFeedItem::Author() const +{ + Windows::ApplicationModel::SocialInfo::SocialUserInfo value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_Author(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedContent impl_ISocialFeedItem::PrimaryContent() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedContent value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_PrimaryContent(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedContent impl_ISocialFeedItem::SecondaryContent() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedContent value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_SecondaryContent(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISocialFeedItem::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_Timestamp(put_abi(value))); + return value; +} + +template void impl_ISocialFeedItem::Timestamp(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_Timestamp(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISocialFeedItem::TargetUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_TargetUri(put_abi(value))); + return value; +} + +template void impl_ISocialFeedItem::TargetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_TargetUri(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_ISocialFeedItem::Thumbnails() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_Thumbnails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedSharedItem impl_ISocialFeedItem::SharedItem() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedSharedItem value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_SharedItem(put_abi(value))); + return value; +} + +template void impl_ISocialFeedItem::SharedItem(const Windows::ApplicationModel::SocialInfo::SocialFeedSharedItem & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_SharedItem(get_abi(value))); +} + +template Windows::ApplicationModel::SocialInfo::SocialItemBadgeStyle impl_ISocialFeedItem::BadgeStyle() const +{ + Windows::ApplicationModel::SocialInfo::SocialItemBadgeStyle value {}; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_BadgeStyle(&value)); + return value; +} + +template void impl_ISocialFeedItem::BadgeStyle(Windows::ApplicationModel::SocialInfo::SocialItemBadgeStyle value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_BadgeStyle(value)); +} + +template int32_t impl_ISocialFeedItem::BadgeCountValue() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_BadgeCountValue(&value)); + return value; +} + +template void impl_ISocialFeedItem::BadgeCountValue(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_BadgeCountValue(value)); +} + +template hstring impl_ISocialFeedItem::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_ISocialFeedItem::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_RemoteId(get_abi(value))); +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedChildItem impl_ISocialFeedItem::ChildItem() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedChildItem value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_ChildItem(put_abi(value))); + return value; +} + +template void impl_ISocialFeedItem::ChildItem(const Windows::ApplicationModel::SocialInfo::SocialFeedChildItem & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_ChildItem(get_abi(value))); +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedItemStyle impl_ISocialFeedItem::Style() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedItemStyle value {}; + check_hresult(WINRT_SHIM(ISocialFeedItem)->get_Style(&value)); + return value; +} + +template void impl_ISocialFeedItem::Style(Windows::ApplicationModel::SocialInfo::SocialFeedItemStyle value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedItem)->put_Style(value)); +} + +template Windows::ApplicationModel::SocialInfo::SocialUserInfo impl_ISocialFeedChildItem::Author() const +{ + Windows::ApplicationModel::SocialInfo::SocialUserInfo value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->get_Author(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedContent impl_ISocialFeedChildItem::PrimaryContent() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedContent value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->get_PrimaryContent(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedContent impl_ISocialFeedChildItem::SecondaryContent() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedContent value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->get_SecondaryContent(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISocialFeedChildItem::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->get_Timestamp(put_abi(value))); + return value; +} + +template void impl_ISocialFeedChildItem::Timestamp(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->put_Timestamp(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISocialFeedChildItem::TargetUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->get_TargetUri(put_abi(value))); + return value; +} + +template void impl_ISocialFeedChildItem::TargetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->put_TargetUri(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_ISocialFeedChildItem::Thumbnails() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->get_Thumbnails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedSharedItem impl_ISocialFeedChildItem::SharedItem() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedSharedItem value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->get_SharedItem(put_abi(value))); + return value; +} + +template void impl_ISocialFeedChildItem::SharedItem(const Windows::ApplicationModel::SocialInfo::SocialFeedSharedItem & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedChildItem)->put_SharedItem(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISocialFeedSharedItem::OriginalSource() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->get_OriginalSource(put_abi(value))); + return value; +} + +template void impl_ISocialFeedSharedItem::OriginalSource(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->put_OriginalSource(get_abi(value))); +} + +template Windows::ApplicationModel::SocialInfo::SocialFeedContent impl_ISocialFeedSharedItem::Content() const +{ + Windows::ApplicationModel::SocialInfo::SocialFeedContent value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->get_Content(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISocialFeedSharedItem::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->get_Timestamp(put_abi(value))); + return value; +} + +template void impl_ISocialFeedSharedItem::Timestamp(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->put_Timestamp(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISocialFeedSharedItem::TargetUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->get_TargetUri(put_abi(value))); + return value; +} + +template void impl_ISocialFeedSharedItem::TargetUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->put_TargetUri(get_abi(value))); +} + +template void impl_ISocialFeedSharedItem::Thumbnail(const Windows::ApplicationModel::SocialInfo::SocialItemThumbnail & value) const +{ + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->put_Thumbnail(get_abi(value))); +} + +template Windows::ApplicationModel::SocialInfo::SocialItemThumbnail impl_ISocialFeedSharedItem::Thumbnail() const +{ + Windows::ApplicationModel::SocialInfo::SocialItemThumbnail value { nullptr }; + check_hresult(WINRT_SHIM(ISocialFeedSharedItem)->get_Thumbnail(put_abi(value))); + return value; +} + +inline SocialFeedChildItem::SocialFeedChildItem() : + SocialFeedChildItem(activate_instance()) +{} + +inline SocialFeedItem::SocialFeedItem() : + SocialFeedItem(activate_instance()) +{} + +inline SocialFeedSharedItem::SocialFeedSharedItem() : + SocialFeedSharedItem(activate_instance()) +{} + +inline SocialItemThumbnail::SocialItemThumbnail() : + SocialItemThumbnail(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::ISocialFeedChildItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::ISocialFeedContent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::ISocialFeedItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::ISocialFeedSharedItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::ISocialItemThumbnail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::ISocialUserInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::SocialFeedChildItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::SocialFeedContent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::SocialFeedItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::SocialFeedSharedItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::SocialItemThumbnail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SocialInfo::SocialUserInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Store.LicenseManagement.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.LicenseManagement.h new file mode 100644 index 000000000..846b3bb61 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.LicenseManagement.h @@ -0,0 +1,368 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Store.LicenseManagement.3.h" +#include "Windows.ApplicationModel.Store.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddLicenseAsync(impl::abi_arg_in license, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().AddLicenseAsync(*reinterpret_cast(&license))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSatisfactionInfosAsync(impl::abi_arg_in> contentIds, impl::abi_arg_in> keyIds, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetSatisfactionInfosAsync(*reinterpret_cast *>(&contentIds), *reinterpret_cast *>(&keyIds))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RefreshLicensesAsync(Windows::ApplicationModel::Store::LicenseManagement::LicenseRefreshOption refreshOption, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().RefreshLicensesAsync(refreshOption)); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SatisfiedByDevice(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SatisfiedByDevice()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SatisfiedByOpenLicense(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SatisfiedByOpenLicense()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SatisfiedByTrial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SatisfiedByTrial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SatisfiedByPass(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SatisfiedByPass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SatisfiedByInstallMedia(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SatisfiedByInstallMedia()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SatisfiedBySignedInUser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SatisfiedBySignedInUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSatisfied(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSatisfied()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LicenseSatisfactionInfos(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseSatisfactionInfos()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Store::LicenseManagement { + +template Windows::Foundation::Collections::IMapView impl_ILicenseSatisfactionResult::LicenseSatisfactionInfos() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ILicenseSatisfactionResult)->get_LicenseSatisfactionInfos(put_abi(value))); + return value; +} + +template HRESULT impl_ILicenseSatisfactionResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionResult)->get_ExtendedError(&value)); + return value; +} + +template bool impl_ILicenseSatisfactionInfo::SatisfiedByDevice() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionInfo)->get_SatisfiedByDevice(&value)); + return value; +} + +template bool impl_ILicenseSatisfactionInfo::SatisfiedByOpenLicense() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionInfo)->get_SatisfiedByOpenLicense(&value)); + return value; +} + +template bool impl_ILicenseSatisfactionInfo::SatisfiedByTrial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionInfo)->get_SatisfiedByTrial(&value)); + return value; +} + +template bool impl_ILicenseSatisfactionInfo::SatisfiedByPass() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionInfo)->get_SatisfiedByPass(&value)); + return value; +} + +template bool impl_ILicenseSatisfactionInfo::SatisfiedByInstallMedia() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionInfo)->get_SatisfiedByInstallMedia(&value)); + return value; +} + +template bool impl_ILicenseSatisfactionInfo::SatisfiedBySignedInUser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionInfo)->get_SatisfiedBySignedInUser(&value)); + return value; +} + +template bool impl_ILicenseSatisfactionInfo::IsSatisfied() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseSatisfactionInfo)->get_IsSatisfied(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ILicenseManagerStatics::AddLicenseAsync(const Windows::Storage::Streams::IBuffer & license) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(ILicenseManagerStatics)->abi_AddLicenseAsync(get_abi(license), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncOperation impl_ILicenseManagerStatics::GetSatisfactionInfosAsync(iterable contentIds, iterable keyIds) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILicenseManagerStatics)->abi_GetSatisfactionInfosAsync(get_abi(contentIds), get_abi(keyIds), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILicenseManagerStatics2::RefreshLicensesAsync(Windows::ApplicationModel::Store::LicenseManagement::LicenseRefreshOption refreshOption) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(ILicenseManagerStatics2)->abi_RefreshLicensesAsync(refreshOption, put_abi(action))); + return action; +} + +inline Windows::Foundation::IAsyncAction LicenseManager::AddLicenseAsync(const Windows::Storage::Streams::IBuffer & license) +{ + return get_activation_factory().AddLicenseAsync(license); +} + +inline Windows::Foundation::IAsyncOperation LicenseManager::GetSatisfactionInfosAsync(iterable contentIds, iterable keyIds) +{ + return get_activation_factory().GetSatisfactionInfosAsync(contentIds, keyIds); +} + +inline Windows::Foundation::IAsyncAction LicenseManager::RefreshLicensesAsync(Windows::ApplicationModel::Store::LicenseManagement::LicenseRefreshOption refreshOption) +{ + return get_activation_factory().RefreshLicensesAsync(refreshOption); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::LicenseManagement::ILicenseManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::LicenseManagement::ILicenseManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::LicenseManagement::ILicenseSatisfactionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::LicenseManagement::ILicenseSatisfactionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::LicenseManagement::LicenseSatisfactionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::LicenseManagement::LicenseSatisfactionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Store.Preview.InstallControl.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.Preview.InstallControl.h new file mode 100644 index 000000000..cd41073e8 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.Preview.InstallControl.h @@ -0,0 +1,1611 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Management.Deployment.3.h" +#include "internal/Windows.ApplicationModel.Store.Preview.InstallControl.3.h" +#include "Windows.ApplicationModel.Store.Preview.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstallType(Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsUserInitiated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUserInitiated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentStatus(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCurrentStatus()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Cancel() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Restart() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Restart(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Completed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CancelWithTelemetry(impl::abi_arg_in correlationVector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(*reinterpret_cast(&correlationVector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PauseWithTelemetry(impl::abi_arg_in correlationVector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(*reinterpret_cast(&correlationVector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RestartWithTelemetry(impl::abi_arg_in correlationVector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Restart(*reinterpret_cast(&correlationVector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Children(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Children()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemOperationsMightAffectOtherItems(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemOperationsMightAffectOtherItems()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppInstallItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppInstallItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Cancel(impl::abi_arg_in productId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(*reinterpret_cast(&productId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause(impl::abi_arg_in productId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(*reinterpret_cast(&productId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Restart(impl::abi_arg_in productId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Restart(*reinterpret_cast(&productId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoUpdateSetting(Windows::ApplicationModel::Store::Preview::InstallControl::AutoUpdateSetting * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoUpdateSetting()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoUpdateSetting(Windows::ApplicationModel::Store::Preview::InstallControl::AutoUpdateSetting value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoUpdateSetting(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AcquisitionIdentity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcquisitionIdentity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AcquisitionIdentity(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcquisitionIdentity(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsApplicableAsync(impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIsApplicableAsync(*reinterpret_cast(&productId), *reinterpret_cast(&skuId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAppInstallAsync(impl::abi_arg_in productId, impl::abi_arg_in skuId, bool repair, bool forceUseOfNonRemovableStorage, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAppInstallAsync(*reinterpret_cast(&productId), *reinterpret_cast(&skuId), repair, forceUseOfNonRemovableStorage)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAppByPackageFamilyNameAsync(impl::abi_arg_in packageFamilyName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateAppByPackageFamilyNameAsync(*reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SearchForUpdatesAsync(impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SearchForUpdatesAsync(*reinterpret_cast(&productId), *reinterpret_cast(&skuId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SearchForAllUpdatesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SearchForAllUpdatesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsStoreBlockedByPolicyAsync(impl::abi_arg_in storeClientName, impl::abi_arg_in storeClientPublisher, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().IsStoreBlockedByPolicyAsync(*reinterpret_cast(&storeClientName), *reinterpret_cast(&storeClientPublisher))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsAppAllowedToInstallAsync(impl::abi_arg_in productId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIsAppAllowedToInstallAsync(*reinterpret_cast(&productId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartAppInstallWithTelemetryAsync(impl::abi_arg_in productId, impl::abi_arg_in skuId, bool repair, bool forceUseOfNonRemovableStorage, impl::abi_arg_in catalogId, impl::abi_arg_in bundleId, impl::abi_arg_in correlationVector, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAppInstallAsync(*reinterpret_cast(&productId), *reinterpret_cast(&skuId), repair, forceUseOfNonRemovableStorage, *reinterpret_cast(&catalogId), *reinterpret_cast(&bundleId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAppByPackageFamilyNameWithTelemetryAsync(impl::abi_arg_in packageFamilyName, impl::abi_arg_in correlationVector, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateAppByPackageFamilyNameAsync(*reinterpret_cast(&packageFamilyName), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SearchForUpdatesWithTelemetryAsync(impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_in catalogId, impl::abi_arg_in correlationVector, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SearchForUpdatesAsync(*reinterpret_cast(&productId), *reinterpret_cast(&skuId), *reinterpret_cast(&catalogId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SearchForAllUpdatesWithTelemetryAsync(impl::abi_arg_in correlationVector, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SearchForAllUpdatesAsync(*reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsAppAllowedToInstallWithTelemetryAsync(impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_in catalogId, impl::abi_arg_in correlationVector, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIsAppAllowedToInstallAsync(*reinterpret_cast(&productId), *reinterpret_cast(&skuId), *reinterpret_cast(&catalogId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CancelWithTelemetry(impl::abi_arg_in productId, impl::abi_arg_in correlationVector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(*reinterpret_cast(&productId), *reinterpret_cast(&correlationVector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PauseWithTelemetry(impl::abi_arg_in productId, impl::abi_arg_in correlationVector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(*reinterpret_cast(&productId), *reinterpret_cast(&correlationVector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RestartWithTelemetry(impl::abi_arg_in productId, impl::abi_arg_in correlationVector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Restart(*reinterpret_cast(&productId), *reinterpret_cast(&correlationVector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartProductInstallAsync(impl::abi_arg_in productId, impl::abi_arg_in catalogId, impl::abi_arg_in flightId, impl::abi_arg_in clientId, bool repair, bool forceUseOfNonRemovableStorage, impl::abi_arg_in correlationVector, impl::abi_arg_in targetVolume, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartProductInstallAsync(*reinterpret_cast(&productId), *reinterpret_cast(&catalogId), *reinterpret_cast(&flightId), *reinterpret_cast(&clientId), repair, forceUseOfNonRemovableStorage, *reinterpret_cast(&correlationVector), *reinterpret_cast(&targetVolume))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartProductInstallForUserAsync(impl::abi_arg_in user, impl::abi_arg_in productId, impl::abi_arg_in catalogId, impl::abi_arg_in flightId, impl::abi_arg_in clientId, bool repair, bool forceUseOfNonRemovableStorage, impl::abi_arg_in correlationVector, impl::abi_arg_in targetVolume, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartProductInstallForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&productId), *reinterpret_cast(&catalogId), *reinterpret_cast(&flightId), *reinterpret_cast(&clientId), repair, forceUseOfNonRemovableStorage, *reinterpret_cast(&correlationVector), *reinterpret_cast(&targetVolume))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAppByPackageFamilyNameForUserAsync(impl::abi_arg_in user, impl::abi_arg_in packageFamilyName, impl::abi_arg_in correlationVector, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateAppByPackageFamilyNameForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&packageFamilyName), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SearchForUpdatesForUserAsync(impl::abi_arg_in user, impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_in catalogId, impl::abi_arg_in correlationVector, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SearchForUpdatesForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&productId), *reinterpret_cast(&skuId), *reinterpret_cast(&catalogId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SearchForAllUpdatesForUserAsync(impl::abi_arg_in user, impl::abi_arg_in correlationVector, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SearchForAllUpdatesForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsAppAllowedToInstallForUserAsync(impl::abi_arg_in user, impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_in catalogId, impl::abi_arg_in correlationVector, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIsAppAllowedToInstallForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&productId), *reinterpret_cast(&skuId), *reinterpret_cast(&catalogId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsApplicableForUserAsync(impl::abi_arg_in user, impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIsApplicableForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&productId), *reinterpret_cast(&skuId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveToFrontOfDownloadQueue(impl::abi_arg_in productId, impl::abi_arg_in correlationVector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MoveToFrontOfDownloadQueue(*reinterpret_cast(&productId), *reinterpret_cast(&correlationVector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFreeUserEntitlementAsync(impl::abi_arg_in storeId, impl::abi_arg_in campaignId, impl::abi_arg_in correlationVector, impl::abi_arg_out> ppAsyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppAsyncOperation = detach_abi(this->shim().GetFreeUserEntitlementAsync(*reinterpret_cast(&storeId), *reinterpret_cast(&campaignId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *ppAsyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFreeUserEntitlementForUserAsync(impl::abi_arg_in user, impl::abi_arg_in storeId, impl::abi_arg_in campaignId, impl::abi_arg_in correlationVector, impl::abi_arg_out> ppAsyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppAsyncOperation = detach_abi(this->shim().GetFreeUserEntitlementForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&storeId), *reinterpret_cast(&campaignId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *ppAsyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFreeDeviceEntitlementAsync(impl::abi_arg_in storeId, impl::abi_arg_in campaignId, impl::abi_arg_in correlationVector, impl::abi_arg_out> ppAsyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppAsyncOperation = detach_abi(this->shim().GetFreeDeviceEntitlementAsync(*reinterpret_cast(&storeId), *reinterpret_cast(&campaignId), *reinterpret_cast(&correlationVector))); + return S_OK; + } + catch (...) + { + *ppAsyncOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppInstallItemsWithGroupSupport(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppInstallItemsWithGroupSupport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstallState(Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytesDownloaded(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesDownloaded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PercentComplete(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PercentComplete()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadyForLaunch(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadyForLaunch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Store::Preview::InstallControl::GetEntitlementStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Store::Preview::InstallControl { + +template Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallState impl_IAppInstallStatus::InstallState() const +{ + Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallState value {}; + check_hresult(WINRT_SHIM(IAppInstallStatus)->get_InstallState(&value)); + return value; +} + +template uint64_t impl_IAppInstallStatus::DownloadSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppInstallStatus)->get_DownloadSizeInBytes(&value)); + return value; +} + +template uint64_t impl_IAppInstallStatus::BytesDownloaded() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppInstallStatus)->get_BytesDownloaded(&value)); + return value; +} + +template double impl_IAppInstallStatus::PercentComplete() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppInstallStatus)->get_PercentComplete(&value)); + return value; +} + +template HRESULT impl_IAppInstallStatus::ErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IAppInstallStatus)->get_ErrorCode(&value)); + return value; +} + +template Windows::System::User impl_IAppInstallStatus2::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IAppInstallStatus2)->get_User(put_abi(value))); + return value; +} + +template bool impl_IAppInstallStatus2::ReadyForLaunch() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppInstallStatus2)->get_ReadyForLaunch(&value)); + return value; +} + +template hstring impl_IAppInstallItem::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppInstallItem)->get_ProductId(put_abi(value))); + return value; +} + +template hstring impl_IAppInstallItem::PackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppInstallItem)->get_PackageFamilyName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallType impl_IAppInstallItem::InstallType() const +{ + Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallType value {}; + check_hresult(WINRT_SHIM(IAppInstallItem)->get_InstallType(&value)); + return value; +} + +template bool impl_IAppInstallItem::IsUserInitiated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppInstallItem)->get_IsUserInitiated(&value)); + return value; +} + +template Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallStatus impl_IAppInstallItem::GetCurrentStatus() const +{ + Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallStatus result { nullptr }; + check_hresult(WINRT_SHIM(IAppInstallItem)->abi_GetCurrentStatus(put_abi(result))); + return result; +} + +template void impl_IAppInstallItem::Cancel() const +{ + check_hresult(WINRT_SHIM(IAppInstallItem)->abi_Cancel()); +} + +template void impl_IAppInstallItem::Pause() const +{ + check_hresult(WINRT_SHIM(IAppInstallItem)->abi_Pause()); +} + +template void impl_IAppInstallItem::Restart() const +{ + check_hresult(WINRT_SHIM(IAppInstallItem)->abi_Restart()); +} + +template event_token impl_IAppInstallItem::Completed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppInstallItem)->add_Completed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppInstallItem::Completed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallItem::remove_Completed, Completed(handler)); +} + +template void impl_IAppInstallItem::Completed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppInstallItem)->remove_Completed(token)); +} + +template event_token impl_IAppInstallItem::StatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppInstallItem)->add_StatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppInstallItem::StatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallItem::remove_StatusChanged, StatusChanged(handler)); +} + +template void impl_IAppInstallItem::StatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppInstallItem)->remove_StatusChanged(token)); +} + +template void impl_IAppInstallItem2::Cancel(hstring_view correlationVector) const +{ + check_hresult(WINRT_SHIM(IAppInstallItem2)->abi_CancelWithTelemetry(get_abi(correlationVector))); +} + +template void impl_IAppInstallItem2::Pause(hstring_view correlationVector) const +{ + check_hresult(WINRT_SHIM(IAppInstallItem2)->abi_PauseWithTelemetry(get_abi(correlationVector))); +} + +template void impl_IAppInstallItem2::Restart(hstring_view correlationVector) const +{ + check_hresult(WINRT_SHIM(IAppInstallItem2)->abi_RestartWithTelemetry(get_abi(correlationVector))); +} + +template Windows::Foundation::Collections::IVectorView impl_IAppInstallItem3::Children() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAppInstallItem3)->get_Children(put_abi(value))); + return value; +} + +template bool impl_IAppInstallItem3::ItemOperationsMightAffectOtherItems() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppInstallItem3)->get_ItemOperationsMightAffectOtherItems(&value)); + return value; +} + +template Windows::ApplicationModel::Store::Preview::InstallControl::GetEntitlementStatus impl_IGetEntitlementResult::Status() const +{ + Windows::ApplicationModel::Store::Preview::InstallControl::GetEntitlementStatus value {}; + check_hresult(WINRT_SHIM(IGetEntitlementResult)->get_Status(&value)); + return value; +} + +template Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallItem impl_IAppInstallManagerItemEventArgs::Item() const +{ + Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallItem value { nullptr }; + check_hresult(WINRT_SHIM(IAppInstallManagerItemEventArgs)->get_Item(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppInstallManager::AppInstallItems() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAppInstallManager)->get_AppInstallItems(put_abi(value))); + return value; +} + +template void impl_IAppInstallManager::Cancel(hstring_view productId) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_Cancel(get_abi(productId))); +} + +template void impl_IAppInstallManager::Pause(hstring_view productId) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_Pause(get_abi(productId))); +} + +template void impl_IAppInstallManager::Restart(hstring_view productId) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_Restart(get_abi(productId))); +} + +template event_token impl_IAppInstallManager::ItemCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppInstallManager)->add_ItemCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppInstallManager::ItemCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManager::remove_ItemCompleted, ItemCompleted(handler)); +} + +template void impl_IAppInstallManager::ItemCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager)->remove_ItemCompleted(token)); +} + +template event_token impl_IAppInstallManager::ItemStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppInstallManager)->add_ItemStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppInstallManager::ItemStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManager::remove_ItemStatusChanged, ItemStatusChanged(handler)); +} + +template void impl_IAppInstallManager::ItemStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager)->remove_ItemStatusChanged(token)); +} + +template Windows::ApplicationModel::Store::Preview::InstallControl::AutoUpdateSetting impl_IAppInstallManager::AutoUpdateSetting() const +{ + Windows::ApplicationModel::Store::Preview::InstallControl::AutoUpdateSetting value {}; + check_hresult(WINRT_SHIM(IAppInstallManager)->get_AutoUpdateSetting(&value)); + return value; +} + +template void impl_IAppInstallManager::AutoUpdateSetting(Windows::ApplicationModel::Store::Preview::InstallControl::AutoUpdateSetting value) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager)->put_AutoUpdateSetting(value)); +} + +template hstring impl_IAppInstallManager::AcquisitionIdentity() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppInstallManager)->get_AcquisitionIdentity(put_abi(value))); + return value; +} + +template void impl_IAppInstallManager::AcquisitionIdentity(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager)->put_AcquisitionIdentity(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager::GetIsApplicableAsync(hstring_view productId, hstring_view skuId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_GetIsApplicableAsync(get_abi(productId), get_abi(skuId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager::StartAppInstallAsync(hstring_view productId, hstring_view skuId, bool repair, bool forceUseOfNonRemovableStorage) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_StartAppInstallAsync(get_abi(productId), get_abi(skuId), repair, forceUseOfNonRemovableStorage, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager::UpdateAppByPackageFamilyNameAsync(hstring_view packageFamilyName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_UpdateAppByPackageFamilyNameAsync(get_abi(packageFamilyName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager::SearchForUpdatesAsync(hstring_view productId, hstring_view skuId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_SearchForUpdatesAsync(get_abi(productId), get_abi(skuId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppInstallManager::SearchForAllUpdatesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_SearchForAllUpdatesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager::IsStoreBlockedByPolicyAsync(hstring_view storeClientName, hstring_view storeClientPublisher) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_IsStoreBlockedByPolicyAsync(get_abi(storeClientName), get_abi(storeClientPublisher), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager::GetIsAppAllowedToInstallAsync(hstring_view productId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager)->abi_GetIsAppAllowedToInstallAsync(get_abi(productId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager2::StartAppInstallAsync(hstring_view productId, hstring_view skuId, bool repair, bool forceUseOfNonRemovableStorage, hstring_view catalogId, hstring_view bundleId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_StartAppInstallWithTelemetryAsync(get_abi(productId), get_abi(skuId), repair, forceUseOfNonRemovableStorage, get_abi(catalogId), get_abi(bundleId), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager2::UpdateAppByPackageFamilyNameAsync(hstring_view packageFamilyName, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_UpdateAppByPackageFamilyNameWithTelemetryAsync(get_abi(packageFamilyName), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager2::SearchForUpdatesAsync(hstring_view productId, hstring_view skuId, hstring_view catalogId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_SearchForUpdatesWithTelemetryAsync(get_abi(productId), get_abi(skuId), get_abi(catalogId), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppInstallManager2::SearchForAllUpdatesAsync(hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_SearchForAllUpdatesWithTelemetryAsync(get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager2::GetIsAppAllowedToInstallAsync(hstring_view productId, hstring_view skuId, hstring_view catalogId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_GetIsAppAllowedToInstallWithTelemetryAsync(get_abi(productId), get_abi(skuId), get_abi(catalogId), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template void impl_IAppInstallManager2::Cancel(hstring_view productId, hstring_view correlationVector) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_CancelWithTelemetry(get_abi(productId), get_abi(correlationVector))); +} + +template void impl_IAppInstallManager2::Pause(hstring_view productId, hstring_view correlationVector) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_PauseWithTelemetry(get_abi(productId), get_abi(correlationVector))); +} + +template void impl_IAppInstallManager2::Restart(hstring_view productId, hstring_view correlationVector) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager2)->abi_RestartWithTelemetry(get_abi(productId), get_abi(correlationVector))); +} + +template Windows::Foundation::IAsyncOperation> impl_IAppInstallManager3::StartProductInstallAsync(hstring_view productId, hstring_view catalogId, hstring_view flightId, hstring_view clientId, bool repair, bool forceUseOfNonRemovableStorage, hstring_view correlationVector, const Windows::Management::Deployment::PackageVolume & targetVolume) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_StartProductInstallAsync(get_abi(productId), get_abi(catalogId), get_abi(flightId), get_abi(clientId), repair, forceUseOfNonRemovableStorage, get_abi(correlationVector), get_abi(targetVolume), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppInstallManager3::StartProductInstallForUserAsync(const Windows::System::User & user, hstring_view productId, hstring_view catalogId, hstring_view flightId, hstring_view clientId, bool repair, bool forceUseOfNonRemovableStorage, hstring_view correlationVector, const Windows::Management::Deployment::PackageVolume & targetVolume) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_StartProductInstallForUserAsync(get_abi(user), get_abi(productId), get_abi(catalogId), get_abi(flightId), get_abi(clientId), repair, forceUseOfNonRemovableStorage, get_abi(correlationVector), get_abi(targetVolume), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager3::UpdateAppByPackageFamilyNameForUserAsync(const Windows::System::User & user, hstring_view packageFamilyName, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_UpdateAppByPackageFamilyNameForUserAsync(get_abi(user), get_abi(packageFamilyName), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager3::SearchForUpdatesForUserAsync(const Windows::System::User & user, hstring_view productId, hstring_view skuId, hstring_view catalogId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_SearchForUpdatesForUserAsync(get_abi(user), get_abi(productId), get_abi(skuId), get_abi(catalogId), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IAppInstallManager3::SearchForAllUpdatesForUserAsync(const Windows::System::User & user, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_SearchForAllUpdatesForUserAsync(get_abi(user), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager3::GetIsAppAllowedToInstallForUserAsync(const Windows::System::User & user, hstring_view productId, hstring_view skuId, hstring_view catalogId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_GetIsAppAllowedToInstallForUserAsync(get_abi(user), get_abi(productId), get_abi(skuId), get_abi(catalogId), get_abi(correlationVector), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager3::GetIsApplicableForUserAsync(const Windows::System::User & user, hstring_view productId, hstring_view skuId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_GetIsApplicableForUserAsync(get_abi(user), get_abi(productId), get_abi(skuId), put_abi(operation))); + return operation; +} + +template void impl_IAppInstallManager3::MoveToFrontOfDownloadQueue(hstring_view productId, hstring_view correlationVector) const +{ + check_hresult(WINRT_SHIM(IAppInstallManager3)->abi_MoveToFrontOfDownloadQueue(get_abi(productId), get_abi(correlationVector))); +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager4::GetFreeUserEntitlementAsync(hstring_view storeId, hstring_view campaignId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation ppAsyncOperation; + check_hresult(WINRT_SHIM(IAppInstallManager4)->abi_GetFreeUserEntitlementAsync(get_abi(storeId), get_abi(campaignId), get_abi(correlationVector), put_abi(ppAsyncOperation))); + return ppAsyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager4::GetFreeUserEntitlementForUserAsync(const Windows::System::User & user, hstring_view storeId, hstring_view campaignId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation ppAsyncOperation; + check_hresult(WINRT_SHIM(IAppInstallManager4)->abi_GetFreeUserEntitlementForUserAsync(get_abi(user), get_abi(storeId), get_abi(campaignId), get_abi(correlationVector), put_abi(ppAsyncOperation))); + return ppAsyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IAppInstallManager4::GetFreeDeviceEntitlementAsync(hstring_view storeId, hstring_view campaignId, hstring_view correlationVector) const +{ + Windows::Foundation::IAsyncOperation ppAsyncOperation; + check_hresult(WINRT_SHIM(IAppInstallManager4)->abi_GetFreeDeviceEntitlementAsync(get_abi(storeId), get_abi(campaignId), get_abi(correlationVector), put_abi(ppAsyncOperation))); + return ppAsyncOperation; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppInstallManager5::AppInstallItemsWithGroupSupport() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAppInstallManager5)->get_AppInstallItemsWithGroupSupport(put_abi(value))); + return value; +} + +inline AppInstallManager::AppInstallManager() : + AppInstallManager(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallItem2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallItem3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManager3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManager4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManager5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallManagerItemEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IAppInstallStatus2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::IGetEntitlementResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallManagerItemEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::AppInstallStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::InstallControl::GetEntitlementResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Store.Preview.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.Preview.h new file mode 100644 index 000000000..958e86e93 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.Preview.h @@ -0,0 +1,1312 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Security.Authentication.Web.Core.3.h" +#include "internal/Windows.UI.Xaml.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.ApplicationModel.Store.Preview.3.h" +#include "Windows.ApplicationModel.Store.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetSystemConfiguration(impl::abi_arg_in catalogHardwareManufacturerId, impl::abi_arg_in catalogStoreContentModifierId, impl::abi_arg_in systemConfigurationExpiration, impl::abi_arg_in catalogHardwareDescriptor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSystemConfiguration(*reinterpret_cast(&catalogHardwareManufacturerId), *reinterpret_cast(&catalogStoreContentModifierId), *reinterpret_cast(&systemConfigurationExpiration), *reinterpret_cast(&catalogHardwareDescriptor)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMobileOperatorConfiguration(impl::abi_arg_in mobileOperatorId, uint32_t appDownloadLimitInMegabytes, uint32_t updateDownloadLimitInMegabytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetMobileOperatorConfiguration(*reinterpret_cast(&mobileOperatorId), appDownloadLimitInMegabytes, updateDownloadLimitInMegabytes); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStoreWebAccountId(impl::abi_arg_in webAccountId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStoreWebAccountId(*reinterpret_cast(&webAccountId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsStoreWebAccountId(impl::abi_arg_in webAccountId, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStoreWebAccountId(*reinterpret_cast(&webAccountId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareManufacturerInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareManufacturerInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FilterUnsupportedSystemFeaturesAsync(impl::abi_arg_in> systemFeatures, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FilterUnsupportedSystemFeaturesAsync(*reinterpret_cast *>(&systemFeatures))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PurchasePromptingPolicy(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PurchasePromptingPolicy()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PurchasePromptingPolicy(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PurchasePromptingPolicy(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_HasStoreWebAccount(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasStoreWebAccount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HasStoreWebAccountForUser(impl::abi_arg_in user, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasStoreWebAccountForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStoreLogDataAsync(Windows::ApplicationModel::Store::Preview::StoreLogOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetStoreLogDataAsync(options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStoreWebAccountIdForUser(impl::abi_arg_in user, impl::abi_arg_in webAccountId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStoreWebAccountIdForUser(*reinterpret_cast(&user), *reinterpret_cast(&webAccountId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsStoreWebAccountIdForUser(impl::abi_arg_in user, impl::abi_arg_in webAccountId, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStoreWebAccountIdForUser(*reinterpret_cast(&user), *reinterpret_cast(&webAccountId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPurchasePromptingPolicyForUser(impl::abi_arg_in user, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPurchasePromptingPolicyForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPurchasePromptingPolicyForUser(impl::abi_arg_in user, impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPurchasePromptingPolicyForUser(*reinterpret_cast(&user), *reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetStoreWebAccountId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetStoreWebAccountId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStoreWebAccountIdForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetStoreWebAccountIdForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetEnterpriseStoreWebAccountId(impl::abi_arg_in webAccountId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetEnterpriseStoreWebAccountId(*reinterpret_cast(&webAccountId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetEnterpriseStoreWebAccountIdForUser(impl::abi_arg_in user, impl::abi_arg_in webAccountId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetEnterpriseStoreWebAccountIdForUser(*reinterpret_cast(&user), *reinterpret_cast(&webAccountId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEnterpriseStoreWebAccountId(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetEnterpriseStoreWebAccountId()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEnterpriseStoreWebAccountIdForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetEnterpriseStoreWebAccountIdForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShouldRestrictToEnterpriseStoreOnly(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShouldRestrictToEnterpriseStoreOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShouldRestrictToEnterpriseStoreOnlyForUser(impl::abi_arg_in user, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShouldRestrictToEnterpriseStoreOnlyForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HardwareManufacturerId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareManufacturerId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StoreContentModifierId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StoreContentModifierId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModelName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManufacturerName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManufacturerName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestProductPurchaseByProductIdAndSkuIdAsync(impl::abi_arg_in productId, impl::abi_arg_in skuId, impl::abi_arg_out> requestPurchaseBySkuIdOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestPurchaseBySkuIdOperation = detach_abi(this->shim().RequestProductPurchaseByProductIdAndSkuIdAsync(*reinterpret_cast(&productId), *reinterpret_cast(&skuId))); + return S_OK; + } + catch (...) + { + *requestPurchaseBySkuIdOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadAddOnProductInfosAsync(impl::abi_arg_out>> loadAddOnProductInfosOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadAddOnProductInfosOperation = detach_abi(this->shim().LoadAddOnProductInfosAsync()); + return S_OK; + } + catch (...) + { + *loadAddOnProductInfosOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProductType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SkuInfoList(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SkuInfoList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductPurchaseStatus(Windows::ApplicationModel::Store::Preview::StorePreviewProductPurchaseStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductPurchaseStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SkuId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SkuId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SkuType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SkuType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomDeveloperData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomDeveloperData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrencyCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrencyCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FormattedListPrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedListPrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestTokenWithUIElementHostingAsync(impl::abi_arg_in request, impl::abi_arg_in uiElement, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RequestTokenWithUIElementHostingAsync(*reinterpret_cast(&request), *reinterpret_cast(&uiElement))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestTokenWithUIElementHostingAndWebAccountAsync(impl::abi_arg_in request, impl::abi_arg_in webAccount, impl::abi_arg_in uiElement, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RequestTokenWithUIElementHostingAsync(*reinterpret_cast(&request), *reinterpret_cast(&webAccount), *reinterpret_cast(&uiElement))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Store::Preview { + +template hstring impl_IStorePreviewProductInfo::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewProductInfo)->get_ProductId(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewProductInfo::ProductType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewProductInfo)->get_ProductType(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewProductInfo::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewProductInfo)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewProductInfo::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewProductInfo)->get_Description(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStorePreviewProductInfo::SkuInfoList() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStorePreviewProductInfo)->get_SkuInfoList(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_ProductId(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::SkuId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_SkuId(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::SkuType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_SkuType(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::CustomDeveloperData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_CustomDeveloperData(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::CurrencyCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_CurrencyCode(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::FormattedListPrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_FormattedListPrice(put_abi(value))); + return value; +} + +template hstring impl_IStorePreviewSkuInfo::ExtendedData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePreviewSkuInfo)->get_ExtendedData(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Store::Preview::StorePreviewProductPurchaseStatus impl_IStorePreviewPurchaseResults::ProductPurchaseStatus() const +{ + Windows::ApplicationModel::Store::Preview::StorePreviewProductPurchaseStatus value {}; + check_hresult(WINRT_SHIM(IStorePreviewPurchaseResults)->get_ProductPurchaseStatus(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStorePreview::RequestProductPurchaseByProductIdAndSkuIdAsync(hstring_view productId, hstring_view skuId) const +{ + Windows::Foundation::IAsyncOperation requestPurchaseBySkuIdOperation; + check_hresult(WINRT_SHIM(IStorePreview)->abi_RequestProductPurchaseByProductIdAndSkuIdAsync(get_abi(productId), get_abi(skuId), put_abi(requestPurchaseBySkuIdOperation))); + return requestPurchaseBySkuIdOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorePreview::LoadAddOnProductInfosAsync() const +{ + Windows::Foundation::IAsyncOperation> loadAddOnProductInfosOperation; + check_hresult(WINRT_SHIM(IStorePreview)->abi_LoadAddOnProductInfosAsync(put_abi(loadAddOnProductInfosOperation))); + return loadAddOnProductInfosOperation; +} + +template hstring impl_IStoreHardwareManufacturerInfo::HardwareManufacturerId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreHardwareManufacturerInfo)->get_HardwareManufacturerId(put_abi(value))); + return value; +} + +template hstring impl_IStoreHardwareManufacturerInfo::StoreContentModifierId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreHardwareManufacturerInfo)->get_StoreContentModifierId(put_abi(value))); + return value; +} + +template hstring impl_IStoreHardwareManufacturerInfo::ModelName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreHardwareManufacturerInfo)->get_ModelName(put_abi(value))); + return value; +} + +template hstring impl_IStoreHardwareManufacturerInfo::ManufacturerName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreHardwareManufacturerInfo)->get_ManufacturerName(put_abi(value))); + return value; +} + +template void impl_IStoreConfigurationStatics::SetSystemConfiguration(hstring_view catalogHardwareManufacturerId, hstring_view catalogStoreContentModifierId, const Windows::Foundation::DateTime & systemConfigurationExpiration, hstring_view catalogHardwareDescriptor) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics)->abi_SetSystemConfiguration(get_abi(catalogHardwareManufacturerId), get_abi(catalogStoreContentModifierId), get_abi(systemConfigurationExpiration), get_abi(catalogHardwareDescriptor))); +} + +template void impl_IStoreConfigurationStatics::SetMobileOperatorConfiguration(hstring_view mobileOperatorId, uint32_t appDownloadLimitInMegabytes, uint32_t updateDownloadLimitInMegabytes) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics)->abi_SetMobileOperatorConfiguration(get_abi(mobileOperatorId), appDownloadLimitInMegabytes, updateDownloadLimitInMegabytes)); +} + +template void impl_IStoreConfigurationStatics::SetStoreWebAccountId(hstring_view webAccountId) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics)->abi_SetStoreWebAccountId(get_abi(webAccountId))); +} + +template bool impl_IStoreConfigurationStatics::IsStoreWebAccountId(hstring_view webAccountId) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics)->abi_IsStoreWebAccountId(get_abi(webAccountId), &value)); + return value; +} + +template Windows::ApplicationModel::Store::Preview::StoreHardwareManufacturerInfo impl_IStoreConfigurationStatics::HardwareManufacturerInfo() const +{ + Windows::ApplicationModel::Store::Preview::StoreHardwareManufacturerInfo value { nullptr }; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics)->get_HardwareManufacturerInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IStoreConfigurationStatics::FilterUnsupportedSystemFeaturesAsync(iterable systemFeatures) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics)->abi_FilterUnsupportedSystemFeaturesAsync(get_abi(systemFeatures), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IReference impl_IStoreConfigurationStatics2::PurchasePromptingPolicy() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics2)->get_PurchasePromptingPolicy(put_abi(value))); + return value; +} + +template void impl_IStoreConfigurationStatics2::PurchasePromptingPolicy(const optional & value) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics2)->put_PurchasePromptingPolicy(get_abi(value))); +} + +template bool impl_IStoreConfigurationStatics3::HasStoreWebAccount() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics3)->abi_HasStoreWebAccount(&value)); + return value; +} + +template bool impl_IStoreConfigurationStatics3::HasStoreWebAccountForUser(const Windows::System::User & user) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics3)->abi_HasStoreWebAccountForUser(get_abi(user), &value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreConfigurationStatics3::GetStoreLogDataAsync(Windows::ApplicationModel::Store::Preview::StoreLogOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics3)->abi_GetStoreLogDataAsync(options, put_abi(operation))); + return operation; +} + +template void impl_IStoreConfigurationStatics3::SetStoreWebAccountIdForUser(const Windows::System::User & user, hstring_view webAccountId) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics3)->abi_SetStoreWebAccountIdForUser(get_abi(user), get_abi(webAccountId))); +} + +template bool impl_IStoreConfigurationStatics3::IsStoreWebAccountIdForUser(const Windows::System::User & user, hstring_view webAccountId) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics3)->abi_IsStoreWebAccountIdForUser(get_abi(user), get_abi(webAccountId), &value)); + return value; +} + +template Windows::Foundation::IReference impl_IStoreConfigurationStatics3::GetPurchasePromptingPolicyForUser(const Windows::System::User & user) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics3)->abi_GetPurchasePromptingPolicyForUser(get_abi(user), put_abi(value))); + return value; +} + +template void impl_IStoreConfigurationStatics3::SetPurchasePromptingPolicyForUser(const Windows::System::User & user, const optional & value) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics3)->abi_SetPurchasePromptingPolicyForUser(get_abi(user), get_abi(value))); +} + +template hstring impl_IStoreConfigurationStatics4::GetStoreWebAccountId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_GetStoreWebAccountId(put_abi(result))); + return result; +} + +template hstring impl_IStoreConfigurationStatics4::GetStoreWebAccountIdForUser(const Windows::System::User & user) const +{ + hstring result; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_GetStoreWebAccountIdForUser(get_abi(user), put_abi(result))); + return result; +} + +template void impl_IStoreConfigurationStatics4::SetEnterpriseStoreWebAccountId(hstring_view webAccountId) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_SetEnterpriseStoreWebAccountId(get_abi(webAccountId))); +} + +template void impl_IStoreConfigurationStatics4::SetEnterpriseStoreWebAccountIdForUser(const Windows::System::User & user, hstring_view webAccountId) const +{ + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_SetEnterpriseStoreWebAccountIdForUser(get_abi(user), get_abi(webAccountId))); +} + +template hstring impl_IStoreConfigurationStatics4::GetEnterpriseStoreWebAccountId() const +{ + hstring result; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_GetEnterpriseStoreWebAccountId(put_abi(result))); + return result; +} + +template hstring impl_IStoreConfigurationStatics4::GetEnterpriseStoreWebAccountIdForUser(const Windows::System::User & user) const +{ + hstring result; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_GetEnterpriseStoreWebAccountIdForUser(get_abi(user), put_abi(result))); + return result; +} + +template bool impl_IStoreConfigurationStatics4::ShouldRestrictToEnterpriseStoreOnly() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_ShouldRestrictToEnterpriseStoreOnly(&result)); + return result; +} + +template bool impl_IStoreConfigurationStatics4::ShouldRestrictToEnterpriseStoreOnlyForUser(const Windows::System::User & user) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IStoreConfigurationStatics4)->abi_ShouldRestrictToEnterpriseStoreOnlyForUser(get_abi(user), &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerHelper::RequestTokenWithUIElementHostingAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::UI::Xaml::UIElement & uiElement) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerHelper)->abi_RequestTokenWithUIElementHostingAsync(get_abi(request), get_abi(uiElement), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerHelper::RequestTokenWithUIElementHostingAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::Security::Credentials::WebAccount & webAccount, const Windows::UI::Xaml::UIElement & uiElement) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerHelper)->abi_RequestTokenWithUIElementHostingAndWebAccountAsync(get_abi(request), get_abi(webAccount), get_abi(uiElement), put_abi(asyncInfo))); + return asyncInfo; +} + +inline void StoreConfiguration::SetSystemConfiguration(hstring_view catalogHardwareManufacturerId, hstring_view catalogStoreContentModifierId, const Windows::Foundation::DateTime & systemConfigurationExpiration, hstring_view catalogHardwareDescriptor) +{ + get_activation_factory().SetSystemConfiguration(catalogHardwareManufacturerId, catalogStoreContentModifierId, systemConfigurationExpiration, catalogHardwareDescriptor); +} + +inline void StoreConfiguration::SetMobileOperatorConfiguration(hstring_view mobileOperatorId, uint32_t appDownloadLimitInMegabytes, uint32_t updateDownloadLimitInMegabytes) +{ + get_activation_factory().SetMobileOperatorConfiguration(mobileOperatorId, appDownloadLimitInMegabytes, updateDownloadLimitInMegabytes); +} + +inline void StoreConfiguration::SetStoreWebAccountId(hstring_view webAccountId) +{ + get_activation_factory().SetStoreWebAccountId(webAccountId); +} + +inline bool StoreConfiguration::IsStoreWebAccountId(hstring_view webAccountId) +{ + return get_activation_factory().IsStoreWebAccountId(webAccountId); +} + +inline Windows::ApplicationModel::Store::Preview::StoreHardwareManufacturerInfo StoreConfiguration::HardwareManufacturerInfo() +{ + return get_activation_factory().HardwareManufacturerInfo(); +} + +inline Windows::Foundation::IAsyncOperation> StoreConfiguration::FilterUnsupportedSystemFeaturesAsync(iterable systemFeatures) +{ + return get_activation_factory().FilterUnsupportedSystemFeaturesAsync(systemFeatures); +} + +inline Windows::Foundation::IReference StoreConfiguration::PurchasePromptingPolicy() +{ + return get_activation_factory().PurchasePromptingPolicy(); +} + +inline void StoreConfiguration::PurchasePromptingPolicy(const optional & value) +{ + get_activation_factory().PurchasePromptingPolicy(value); +} + +inline bool StoreConfiguration::HasStoreWebAccount() +{ + return get_activation_factory().HasStoreWebAccount(); +} + +inline bool StoreConfiguration::HasStoreWebAccountForUser(const Windows::System::User & user) +{ + return get_activation_factory().HasStoreWebAccountForUser(user); +} + +inline Windows::Foundation::IAsyncOperation StoreConfiguration::GetStoreLogDataAsync(Windows::ApplicationModel::Store::Preview::StoreLogOptions options) +{ + return get_activation_factory().GetStoreLogDataAsync(options); +} + +inline void StoreConfiguration::SetStoreWebAccountIdForUser(const Windows::System::User & user, hstring_view webAccountId) +{ + get_activation_factory().SetStoreWebAccountIdForUser(user, webAccountId); +} + +inline bool StoreConfiguration::IsStoreWebAccountIdForUser(const Windows::System::User & user, hstring_view webAccountId) +{ + return get_activation_factory().IsStoreWebAccountIdForUser(user, webAccountId); +} + +inline Windows::Foundation::IReference StoreConfiguration::GetPurchasePromptingPolicyForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetPurchasePromptingPolicyForUser(user); +} + +inline void StoreConfiguration::SetPurchasePromptingPolicyForUser(const Windows::System::User & user, const optional & value) +{ + get_activation_factory().SetPurchasePromptingPolicyForUser(user, value); +} + +inline hstring StoreConfiguration::GetStoreWebAccountId() +{ + return get_activation_factory().GetStoreWebAccountId(); +} + +inline hstring StoreConfiguration::GetStoreWebAccountIdForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetStoreWebAccountIdForUser(user); +} + +inline void StoreConfiguration::SetEnterpriseStoreWebAccountId(hstring_view webAccountId) +{ + get_activation_factory().SetEnterpriseStoreWebAccountId(webAccountId); +} + +inline void StoreConfiguration::SetEnterpriseStoreWebAccountIdForUser(const Windows::System::User & user, hstring_view webAccountId) +{ + get_activation_factory().SetEnterpriseStoreWebAccountIdForUser(user, webAccountId); +} + +inline hstring StoreConfiguration::GetEnterpriseStoreWebAccountId() +{ + return get_activation_factory().GetEnterpriseStoreWebAccountId(); +} + +inline hstring StoreConfiguration::GetEnterpriseStoreWebAccountIdForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetEnterpriseStoreWebAccountIdForUser(user); +} + +inline bool StoreConfiguration::ShouldRestrictToEnterpriseStoreOnly() +{ + return get_activation_factory().ShouldRestrictToEnterpriseStoreOnly(); +} + +inline bool StoreConfiguration::ShouldRestrictToEnterpriseStoreOnlyForUser(const Windows::System::User & user) +{ + return get_activation_factory().ShouldRestrictToEnterpriseStoreOnlyForUser(user); +} + +inline Windows::Foundation::IAsyncOperation StorePreview::RequestProductPurchaseByProductIdAndSkuIdAsync(hstring_view productId, hstring_view skuId) +{ + return get_activation_factory().RequestProductPurchaseByProductIdAndSkuIdAsync(productId, skuId); +} + +inline Windows::Foundation::IAsyncOperation> StorePreview::LoadAddOnProductInfosAsync() +{ + return get_activation_factory().LoadAddOnProductInfosAsync(); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManagerHelper::RequestTokenWithUIElementHostingAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::UI::Xaml::UIElement & uiElement) +{ + return get_activation_factory().RequestTokenWithUIElementHostingAsync(request, uiElement); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManagerHelper::RequestTokenWithUIElementHostingAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::Security::Credentials::WebAccount & webAccount, const Windows::UI::Xaml::UIElement & uiElement) +{ + return get_activation_factory().RequestTokenWithUIElementHostingAsync(request, webAccount, uiElement); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStoreConfigurationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStoreConfigurationStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStoreConfigurationStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStoreConfigurationStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStoreHardwareManufacturerInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStorePreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStorePreviewProductInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStorePreviewPurchaseResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IStorePreviewSkuInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::IWebAuthenticationCoreManagerHelper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::StoreHardwareManufacturerInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::StorePreviewProductInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::StorePreviewPurchaseResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::Preview::StorePreviewSkuInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Store.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.h new file mode 100644 index 000000000..c0ec5a53e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Store.h @@ -0,0 +1,2328 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.Store.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::ApplicationModel::Store { + +template LicenseChangedEventHandler::LicenseChangedEventHandler(L lambda) : + LicenseChangedEventHandler(impl::make_delegate, LicenseChangedEventHandler>(std::forward(lambda))) +{} + +template LicenseChangedEventHandler::LicenseChangedEventHandler(F * function) : + LicenseChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template LicenseChangedEventHandler::LicenseChangedEventHandler(O * object, M method) : + LicenseChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void LicenseChangedEventHandler::operator()() const +{ + check_hresult((*(abi **)this)->abi_Invoke()); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LicenseInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinkUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinkUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAppPurchaseAsync(bool includeReceipt, impl::abi_arg_out> requestAppPurchaseOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestAppPurchaseOperation = detach_abi(this->shim().RequestAppPurchaseAsync(includeReceipt)); + return S_OK; + } + catch (...) + { + *requestAppPurchaseOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestProductPurchaseAsync(impl::abi_arg_in productId, bool includeReceipt, impl::abi_arg_out> requestProductPurchaseOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProductPurchaseOperation = detach_abi(this->shim().RequestProductPurchaseAsync(*reinterpret_cast(&productId), includeReceipt)); + return S_OK; + } + catch (...) + { + *requestProductPurchaseOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadListingInformationAsync(impl::abi_arg_out> loadListingOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadListingOperation = detach_abi(this->shim().LoadListingInformationAsync()); + return S_OK; + } + catch (...) + { + *loadListingOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppReceiptAsync(impl::abi_arg_out> appReceiptOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *appReceiptOperation = detach_abi(this->shim().GetAppReceiptAsync()); + return S_OK; + } + catch (...) + { + *appReceiptOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProductReceiptAsync(impl::abi_arg_in productId, impl::abi_arg_out> getProductReceiptOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *getProductReceiptOperation = detach_abi(this->shim().GetProductReceiptAsync(*reinterpret_cast(&productId))); + return S_OK; + } + catch (...) + { + *getProductReceiptOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCustomerPurchaseIdAsync(impl::abi_arg_in serviceTicket, impl::abi_arg_in publisherUserId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCustomerPurchaseIdAsync(*reinterpret_cast(&serviceTicket), *reinterpret_cast(&publisherUserId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCustomerCollectionsIdAsync(impl::abi_arg_in serviceTicket, impl::abi_arg_in publisherUserId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCustomerCollectionsIdAsync(*reinterpret_cast(&serviceTicket), *reinterpret_cast(&publisherUserId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LicenseInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinkUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinkUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAppPurchaseAsync(bool includeReceipt, impl::abi_arg_out> requestAppPurchaseOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestAppPurchaseOperation = detach_abi(this->shim().RequestAppPurchaseAsync(includeReceipt)); + return S_OK; + } + catch (...) + { + *requestAppPurchaseOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestProductPurchaseAsync(impl::abi_arg_in productId, bool includeReceipt, impl::abi_arg_out> requestProductPurchaseOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProductPurchaseOperation = detach_abi(this->shim().RequestProductPurchaseAsync(*reinterpret_cast(&productId), includeReceipt)); + return S_OK; + } + catch (...) + { + *requestProductPurchaseOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadListingInformationAsync(impl::abi_arg_out> loadListingOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadListingOperation = detach_abi(this->shim().LoadListingInformationAsync()); + return S_OK; + } + catch (...) + { + *loadListingOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppReceiptAsync(impl::abi_arg_out> appReceiptOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *appReceiptOperation = detach_abi(this->shim().GetAppReceiptAsync()); + return S_OK; + } + catch (...) + { + *appReceiptOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProductReceiptAsync(impl::abi_arg_in productId, impl::abi_arg_out> getProductReceiptOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *getProductReceiptOperation = detach_abi(this->shim().GetProductReceiptAsync(*reinterpret_cast(&productId))); + return S_OK; + } + catch (...) + { + *getProductReceiptOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReloadSimulatorAsync(impl::abi_arg_in simulatorSettingsFile, impl::abi_arg_out reloadSimulatorOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *reloadSimulatorOperation = detach_abi(this->shim().ReloadSimulatorAsync(*reinterpret_cast(&simulatorSettingsFile))); + return S_OK; + } + catch (...) + { + *reloadSimulatorOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadListingInformationByProductIdsAsync(impl::abi_arg_in> productIds, impl::abi_arg_out> loadListingOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadListingOperation = detach_abi(this->shim().LoadListingInformationByProductIdsAsync(*reinterpret_cast *>(&productIds))); + return S_OK; + } + catch (...) + { + *loadListingOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadListingInformationByKeywordsAsync(impl::abi_arg_in> keywords, impl::abi_arg_out> loadListingOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadListingOperation = detach_abi(this->shim().LoadListingInformationByKeywordsAsync(*reinterpret_cast *>(&keywords))); + return S_OK; + } + catch (...) + { + *loadListingOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAppPurchaseCampaignIdAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAppPurchaseCampaignIdAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReportConsumableFulfillmentAsync(impl::abi_arg_in productId, GUID transactionId, impl::abi_arg_out> reportConsumableFulfillmentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *reportConsumableFulfillmentOperation = detach_abi(this->shim().ReportConsumableFulfillmentAsync(*reinterpret_cast(&productId), transactionId)); + return S_OK; + } + catch (...) + { + *reportConsumableFulfillmentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestProductPurchaseWithResultsAsync(impl::abi_arg_in productId, impl::abi_arg_out> requestProductPurchaseWithResultsOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProductPurchaseWithResultsOperation = detach_abi(this->shim().RequestProductPurchaseAsync(*reinterpret_cast(&productId))); + return S_OK; + } + catch (...) + { + *requestProductPurchaseWithResultsOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestProductPurchaseWithDisplayPropertiesAsync(impl::abi_arg_in productId, impl::abi_arg_in offerId, impl::abi_arg_in displayProperties, impl::abi_arg_out> requestProductPurchaseWithDisplayPropertiesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProductPurchaseWithDisplayPropertiesOperation = detach_abi(this->shim().RequestProductPurchaseAsync(*reinterpret_cast(&productId), *reinterpret_cast(&offerId), *reinterpret_cast(&displayProperties))); + return S_OK; + } + catch (...) + { + *requestProductPurchaseWithDisplayPropertiesOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUnfulfilledConsumablesAsync(impl::abi_arg_out>> getUnfulfilledConsumablesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *getUnfulfilledConsumablesOperation = detach_abi(this->shim().GetUnfulfilledConsumablesAsync()); + return S_OK; + } + catch (...) + { + *getUnfulfilledConsumablesOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadListingInformationByProductIdsAsync(impl::abi_arg_in> productIds, impl::abi_arg_out> loadListingOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadListingOperation = detach_abi(this->shim().LoadListingInformationByProductIdsAsync(*reinterpret_cast *>(&productIds))); + return S_OK; + } + catch (...) + { + *loadListingOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadListingInformationByKeywordsAsync(impl::abi_arg_in> keywords, impl::abi_arg_out> loadListingOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadListingOperation = detach_abi(this->shim().LoadListingInformationByKeywordsAsync(*reinterpret_cast *>(&keywords))); + return S_OK; + } + catch (...) + { + *loadListingOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportProductFulfillment(impl::abi_arg_in productId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportProductFulfillment(*reinterpret_cast(&productId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAppPurchaseCampaignIdAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAppPurchaseCampaignIdAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReportConsumableFulfillmentAsync(impl::abi_arg_in productId, GUID transactionId, impl::abi_arg_out> reportConsumableFulfillmentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *reportConsumableFulfillmentOperation = detach_abi(this->shim().ReportConsumableFulfillmentAsync(*reinterpret_cast(&productId), transactionId)); + return S_OK; + } + catch (...) + { + *reportConsumableFulfillmentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestProductPurchaseWithResultsAsync(impl::abi_arg_in productId, impl::abi_arg_out> requestProductPurchaseWithResultsOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProductPurchaseWithResultsOperation = detach_abi(this->shim().RequestProductPurchaseAsync(*reinterpret_cast(&productId))); + return S_OK; + } + catch (...) + { + *requestProductPurchaseWithResultsOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestProductPurchaseWithDisplayPropertiesAsync(impl::abi_arg_in productId, impl::abi_arg_in offerId, impl::abi_arg_in displayProperties, impl::abi_arg_out> requestProductPurchaseWithDisplayPropertiesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProductPurchaseWithDisplayPropertiesOperation = detach_abi(this->shim().RequestProductPurchaseAsync(*reinterpret_cast(&productId), *reinterpret_cast(&offerId), *reinterpret_cast(&displayProperties))); + return S_OK; + } + catch (...) + { + *requestProductPurchaseWithDisplayPropertiesOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUnfulfilledConsumablesAsync(impl::abi_arg_out>> getUnfulfilledConsumablesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *getUnfulfilledConsumablesOperation = detach_abi(this->shim().GetUnfulfilledConsumablesAsync()); + return S_OK; + } + catch (...) + { + *getUnfulfilledConsumablesOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductLicenses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductLicenses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTrial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LicenseChanged(impl::abi_arg_in handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().LicenseChanged(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LicenseChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LicenseChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentMarket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentMarket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProductListings(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductListings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FormattedPrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedPrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AgeRating(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AgeRating()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FormattedBasePrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedBasePrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SaleEndDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaleEndDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOnSale(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOnSale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrencyCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrencyCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsConsumable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsConsumable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FormattedPrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedPrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FormattedBasePrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedBasePrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SaleEndDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaleEndDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOnSale(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOnSale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrencyCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrencyCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductType(Windows::ApplicationModel::Store::ProductType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keywords(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keywords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProductType(Windows::ApplicationModel::Store::ProductType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Image(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Image()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Image(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Image(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateProductPurchaseDisplayProperties(impl::abi_arg_in name, impl::abi_arg_out displayProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *displayProperties = detach_abi(this->shim().CreateProductPurchaseDisplayProperties(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *displayProperties = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::ApplicationModel::Store::ProductPurchaseStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransactionId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransactionId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReceiptXml(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReceiptXml()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OfferId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OfferId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransactionId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransactionId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OfferId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OfferId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Store { + +template Windows::ApplicationModel::Store::LicenseInformation impl_ICurrentApp::LicenseInformation() const +{ + Windows::ApplicationModel::Store::LicenseInformation value { nullptr }; + check_hresult(WINRT_SHIM(ICurrentApp)->get_LicenseInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_ICurrentApp::LinkUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ICurrentApp)->get_LinkUri(put_abi(value))); + return value; +} + +template GUID impl_ICurrentApp::AppId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ICurrentApp)->get_AppId(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentApp::RequestAppPurchaseAsync(bool includeReceipt) const +{ + Windows::Foundation::IAsyncOperation requestAppPurchaseOperation; + check_hresult(WINRT_SHIM(ICurrentApp)->abi_RequestAppPurchaseAsync(includeReceipt, put_abi(requestAppPurchaseOperation))); + return requestAppPurchaseOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentApp::RequestProductPurchaseAsync(hstring_view productId, bool includeReceipt) const +{ + Windows::Foundation::IAsyncOperation requestProductPurchaseOperation; + check_hresult(WINRT_SHIM(ICurrentApp)->abi_RequestProductPurchaseAsync(get_abi(productId), includeReceipt, put_abi(requestProductPurchaseOperation))); + return requestProductPurchaseOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentApp::LoadListingInformationAsync() const +{ + Windows::Foundation::IAsyncOperation loadListingOperation; + check_hresult(WINRT_SHIM(ICurrentApp)->abi_LoadListingInformationAsync(put_abi(loadListingOperation))); + return loadListingOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentApp::GetAppReceiptAsync() const +{ + Windows::Foundation::IAsyncOperation appReceiptOperation; + check_hresult(WINRT_SHIM(ICurrentApp)->abi_GetAppReceiptAsync(put_abi(appReceiptOperation))); + return appReceiptOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentApp::GetProductReceiptAsync(hstring_view productId) const +{ + Windows::Foundation::IAsyncOperation getProductReceiptOperation; + check_hresult(WINRT_SHIM(ICurrentApp)->abi_GetProductReceiptAsync(get_abi(productId), put_abi(getProductReceiptOperation))); + return getProductReceiptOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppWithConsumables::ReportConsumableFulfillmentAsync(hstring_view productId, GUID transactionId) const +{ + Windows::Foundation::IAsyncOperation reportConsumableFulfillmentOperation; + check_hresult(WINRT_SHIM(ICurrentAppWithConsumables)->abi_ReportConsumableFulfillmentAsync(get_abi(productId), transactionId, put_abi(reportConsumableFulfillmentOperation))); + return reportConsumableFulfillmentOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppWithConsumables::RequestProductPurchaseAsync(hstring_view productId) const +{ + Windows::Foundation::IAsyncOperation requestProductPurchaseWithResultsOperation; + check_hresult(WINRT_SHIM(ICurrentAppWithConsumables)->abi_RequestProductPurchaseWithResultsAsync(get_abi(productId), put_abi(requestProductPurchaseWithResultsOperation))); + return requestProductPurchaseWithResultsOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppWithConsumables::RequestProductPurchaseAsync(hstring_view productId, hstring_view offerId, const Windows::ApplicationModel::Store::ProductPurchaseDisplayProperties & displayProperties) const +{ + Windows::Foundation::IAsyncOperation requestProductPurchaseWithDisplayPropertiesOperation; + check_hresult(WINRT_SHIM(ICurrentAppWithConsumables)->abi_RequestProductPurchaseWithDisplayPropertiesAsync(get_abi(productId), get_abi(offerId), get_abi(displayProperties), put_abi(requestProductPurchaseWithDisplayPropertiesOperation))); + return requestProductPurchaseWithDisplayPropertiesOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_ICurrentAppWithConsumables::GetUnfulfilledConsumablesAsync() const +{ + Windows::Foundation::IAsyncOperation> getUnfulfilledConsumablesOperation; + check_hresult(WINRT_SHIM(ICurrentAppWithConsumables)->abi_GetUnfulfilledConsumablesAsync(put_abi(getUnfulfilledConsumablesOperation))); + return getUnfulfilledConsumablesOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppWithCampaignId::GetAppPurchaseCampaignIdAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICurrentAppWithCampaignId)->abi_GetAppPurchaseCampaignIdAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentApp2Statics::GetCustomerPurchaseIdAsync(hstring_view serviceTicket, hstring_view publisherUserId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICurrentApp2Statics)->abi_GetCustomerPurchaseIdAsync(get_abi(serviceTicket), get_abi(publisherUserId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentApp2Statics::GetCustomerCollectionsIdAsync(hstring_view serviceTicket, hstring_view publisherUserId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICurrentApp2Statics)->abi_GetCustomerCollectionsIdAsync(get_abi(serviceTicket), get_abi(publisherUserId), put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Store::LicenseInformation impl_ICurrentAppSimulator::LicenseInformation() const +{ + Windows::ApplicationModel::Store::LicenseInformation value { nullptr }; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->get_LicenseInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_ICurrentAppSimulator::LinkUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->get_LinkUri(put_abi(value))); + return value; +} + +template GUID impl_ICurrentAppSimulator::AppId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->get_AppId(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulator::RequestAppPurchaseAsync(bool includeReceipt) const +{ + Windows::Foundation::IAsyncOperation requestAppPurchaseOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->abi_RequestAppPurchaseAsync(includeReceipt, put_abi(requestAppPurchaseOperation))); + return requestAppPurchaseOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulator::RequestProductPurchaseAsync(hstring_view productId, bool includeReceipt) const +{ + Windows::Foundation::IAsyncOperation requestProductPurchaseOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->abi_RequestProductPurchaseAsync(get_abi(productId), includeReceipt, put_abi(requestProductPurchaseOperation))); + return requestProductPurchaseOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulator::LoadListingInformationAsync() const +{ + Windows::Foundation::IAsyncOperation loadListingOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->abi_LoadListingInformationAsync(put_abi(loadListingOperation))); + return loadListingOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulator::GetAppReceiptAsync() const +{ + Windows::Foundation::IAsyncOperation appReceiptOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->abi_GetAppReceiptAsync(put_abi(appReceiptOperation))); + return appReceiptOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulator::GetProductReceiptAsync(hstring_view productId) const +{ + Windows::Foundation::IAsyncOperation getProductReceiptOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->abi_GetProductReceiptAsync(get_abi(productId), put_abi(getProductReceiptOperation))); + return getProductReceiptOperation; +} + +template Windows::Foundation::IAsyncAction impl_ICurrentAppSimulator::ReloadSimulatorAsync(const Windows::Storage::StorageFile & simulatorSettingsFile) const +{ + Windows::Foundation::IAsyncAction reloadSimulatorOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulator)->abi_ReloadSimulatorAsync(get_abi(simulatorSettingsFile), put_abi(reloadSimulatorOperation))); + return reloadSimulatorOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulatorWithCampaignId::GetAppPurchaseCampaignIdAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICurrentAppSimulatorWithCampaignId)->abi_GetAppPurchaseCampaignIdAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulatorWithConsumables::ReportConsumableFulfillmentAsync(hstring_view productId, GUID transactionId) const +{ + Windows::Foundation::IAsyncOperation reportConsumableFulfillmentOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulatorWithConsumables)->abi_ReportConsumableFulfillmentAsync(get_abi(productId), transactionId, put_abi(reportConsumableFulfillmentOperation))); + return reportConsumableFulfillmentOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulatorWithConsumables::RequestProductPurchaseAsync(hstring_view productId) const +{ + Windows::Foundation::IAsyncOperation requestProductPurchaseWithResultsOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulatorWithConsumables)->abi_RequestProductPurchaseWithResultsAsync(get_abi(productId), put_abi(requestProductPurchaseWithResultsOperation))); + return requestProductPurchaseWithResultsOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulatorWithConsumables::RequestProductPurchaseAsync(hstring_view productId, hstring_view offerId, const Windows::ApplicationModel::Store::ProductPurchaseDisplayProperties & displayProperties) const +{ + Windows::Foundation::IAsyncOperation requestProductPurchaseWithDisplayPropertiesOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulatorWithConsumables)->abi_RequestProductPurchaseWithDisplayPropertiesAsync(get_abi(productId), get_abi(offerId), get_abi(displayProperties), put_abi(requestProductPurchaseWithDisplayPropertiesOperation))); + return requestProductPurchaseWithDisplayPropertiesOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_ICurrentAppSimulatorWithConsumables::GetUnfulfilledConsumablesAsync() const +{ + Windows::Foundation::IAsyncOperation> getUnfulfilledConsumablesOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulatorWithConsumables)->abi_GetUnfulfilledConsumablesAsync(put_abi(getUnfulfilledConsumablesOperation))); + return getUnfulfilledConsumablesOperation; +} + +template Windows::ApplicationModel::Store::ProductPurchaseStatus impl_IPurchaseResults::Status() const +{ + Windows::ApplicationModel::Store::ProductPurchaseStatus value {}; + check_hresult(WINRT_SHIM(IPurchaseResults)->get_Status(&value)); + return value; +} + +template GUID impl_IPurchaseResults::TransactionId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPurchaseResults)->get_TransactionId(&value)); + return value; +} + +template hstring impl_IPurchaseResults::ReceiptXml() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPurchaseResults)->get_ReceiptXml(put_abi(value))); + return value; +} + +template hstring impl_IPurchaseResults::OfferId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPurchaseResults)->get_OfferId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ILicenseInformation::ProductLicenses() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ILicenseInformation)->get_ProductLicenses(put_abi(value))); + return value; +} + +template bool impl_ILicenseInformation::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseInformation)->get_IsActive(&value)); + return value; +} + +template bool impl_ILicenseInformation::IsTrial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILicenseInformation)->get_IsTrial(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ILicenseInformation::ExpirationDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ILicenseInformation)->get_ExpirationDate(put_abi(value))); + return value; +} + +template event_token impl_ILicenseInformation::LicenseChanged(const Windows::ApplicationModel::Store::LicenseChangedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ILicenseInformation)->add_LicenseChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ILicenseInformation::LicenseChanged(auto_revoke_t, const Windows::ApplicationModel::Store::LicenseChangedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Store::ILicenseInformation::remove_LicenseChanged, LicenseChanged(handler)); +} + +template void impl_ILicenseInformation::LicenseChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ILicenseInformation)->remove_LicenseChanged(cookie)); +} + +template hstring impl_IProductLicense::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductLicense)->get_ProductId(put_abi(value))); + return value; +} + +template bool impl_IProductLicense::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProductLicense)->get_IsActive(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IProductLicense::ExpirationDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IProductLicense)->get_ExpirationDate(put_abi(value))); + return value; +} + +template hstring impl_IListingInformation::CurrentMarket() const +{ + hstring value; + check_hresult(WINRT_SHIM(IListingInformation)->get_CurrentMarket(put_abi(value))); + return value; +} + +template hstring impl_IListingInformation::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IListingInformation)->get_Description(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IListingInformation::ProductListings() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IListingInformation)->get_ProductListings(put_abi(value))); + return value; +} + +template hstring impl_IListingInformation::FormattedPrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IListingInformation)->get_FormattedPrice(put_abi(value))); + return value; +} + +template hstring impl_IListingInformation::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IListingInformation)->get_Name(put_abi(value))); + return value; +} + +template uint32_t impl_IListingInformation::AgeRating() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IListingInformation)->get_AgeRating(&value)); + return value; +} + +template hstring impl_IListingInformation2::FormattedBasePrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IListingInformation2)->get_FormattedBasePrice(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IListingInformation2::SaleEndDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IListingInformation2)->get_SaleEndDate(put_abi(value))); + return value; +} + +template bool impl_IListingInformation2::IsOnSale() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListingInformation2)->get_IsOnSale(&value)); + return value; +} + +template hstring impl_IListingInformation2::CurrencyCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IListingInformation2)->get_CurrencyCode(put_abi(value))); + return value; +} + +template hstring impl_IProductListing::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductListing)->get_ProductId(put_abi(value))); + return value; +} + +template hstring impl_IProductListing::FormattedPrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductListing)->get_FormattedPrice(put_abi(value))); + return value; +} + +template hstring impl_IProductListing::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductListing)->get_Name(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Store::ProductType impl_IProductListingWithConsumables::ProductType() const +{ + Windows::ApplicationModel::Store::ProductType value {}; + check_hresult(WINRT_SHIM(IProductListingWithConsumables)->get_ProductType(&value)); + return value; +} + +template hstring impl_IProductListing2::FormattedBasePrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductListing2)->get_FormattedBasePrice(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IProductListing2::SaleEndDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IProductListing2)->get_SaleEndDate(put_abi(value))); + return value; +} + +template bool impl_IProductListing2::IsOnSale() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProductListing2)->get_IsOnSale(&value)); + return value; +} + +template hstring impl_IProductListing2::CurrencyCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductListing2)->get_CurrencyCode(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppStaticsWithFiltering::LoadListingInformationByProductIdsAsync(iterable productIds) const +{ + Windows::Foundation::IAsyncOperation loadListingOperation; + check_hresult(WINRT_SHIM(ICurrentAppStaticsWithFiltering)->abi_LoadListingInformationByProductIdsAsync(get_abi(productIds), put_abi(loadListingOperation))); + return loadListingOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppStaticsWithFiltering::LoadListingInformationByKeywordsAsync(iterable keywords) const +{ + Windows::Foundation::IAsyncOperation loadListingOperation; + check_hresult(WINRT_SHIM(ICurrentAppStaticsWithFiltering)->abi_LoadListingInformationByKeywordsAsync(get_abi(keywords), put_abi(loadListingOperation))); + return loadListingOperation; +} + +template void impl_ICurrentAppStaticsWithFiltering::ReportProductFulfillment(hstring_view productId) const +{ + check_hresult(WINRT_SHIM(ICurrentAppStaticsWithFiltering)->abi_ReportProductFulfillment(get_abi(productId))); +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulatorStaticsWithFiltering::LoadListingInformationByProductIdsAsync(iterable productIds) const +{ + Windows::Foundation::IAsyncOperation loadListingOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulatorStaticsWithFiltering)->abi_LoadListingInformationByProductIdsAsync(get_abi(productIds), put_abi(loadListingOperation))); + return loadListingOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICurrentAppSimulatorStaticsWithFiltering::LoadListingInformationByKeywordsAsync(iterable keywords) const +{ + Windows::Foundation::IAsyncOperation loadListingOperation; + check_hresult(WINRT_SHIM(ICurrentAppSimulatorStaticsWithFiltering)->abi_LoadListingInformationByKeywordsAsync(get_abi(keywords), put_abi(loadListingOperation))); + return loadListingOperation; +} + +template bool impl_IProductLicenseWithFulfillment::IsConsumable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProductLicenseWithFulfillment)->get_IsConsumable(&value)); + return value; +} + +template hstring impl_IProductListingWithMetadata::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductListingWithMetadata)->get_Description(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IIterable impl_IProductListingWithMetadata::Keywords() const +{ + Windows::Foundation::Collections::IIterable value; + check_hresult(WINRT_SHIM(IProductListingWithMetadata)->get_Keywords(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Store::ProductType impl_IProductListingWithMetadata::ProductType() const +{ + Windows::ApplicationModel::Store::ProductType value {}; + check_hresult(WINRT_SHIM(IProductListingWithMetadata)->get_ProductType(&value)); + return value; +} + +template hstring impl_IProductListingWithMetadata::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductListingWithMetadata)->get_Tag(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IProductListingWithMetadata::ImageUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IProductListingWithMetadata)->get_ImageUri(put_abi(value))); + return value; +} + +template hstring impl_IUnfulfilledConsumable::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUnfulfilledConsumable)->get_ProductId(put_abi(value))); + return value; +} + +template GUID impl_IUnfulfilledConsumable::TransactionId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IUnfulfilledConsumable)->get_TransactionId(&value)); + return value; +} + +template hstring impl_IUnfulfilledConsumable::OfferId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUnfulfilledConsumable)->get_OfferId(put_abi(value))); + return value; +} + +template hstring impl_IProductPurchaseDisplayProperties::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductPurchaseDisplayProperties)->get_Name(put_abi(value))); + return value; +} + +template void impl_IProductPurchaseDisplayProperties::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IProductPurchaseDisplayProperties)->put_Name(get_abi(value))); +} + +template hstring impl_IProductPurchaseDisplayProperties::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProductPurchaseDisplayProperties)->get_Description(put_abi(value))); + return value; +} + +template void impl_IProductPurchaseDisplayProperties::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IProductPurchaseDisplayProperties)->put_Description(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IProductPurchaseDisplayProperties::Image() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IProductPurchaseDisplayProperties)->get_Image(put_abi(value))); + return value; +} + +template void impl_IProductPurchaseDisplayProperties::Image(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IProductPurchaseDisplayProperties)->put_Image(get_abi(value))); +} + +template Windows::ApplicationModel::Store::ProductPurchaseDisplayProperties impl_IProductPurchaseDisplayPropertiesFactory::CreateProductPurchaseDisplayProperties(hstring_view name) const +{ + Windows::ApplicationModel::Store::ProductPurchaseDisplayProperties displayProperties { nullptr }; + check_hresult(WINRT_SHIM(IProductPurchaseDisplayPropertiesFactory)->abi_CreateProductPurchaseDisplayProperties(get_abi(name), put_abi(displayProperties))); + return displayProperties; +} + +inline Windows::ApplicationModel::Store::LicenseInformation CurrentApp::LicenseInformation() +{ + return get_activation_factory().LicenseInformation(); +} + +inline Windows::Foundation::Uri CurrentApp::LinkUri() +{ + return get_activation_factory().LinkUri(); +} + +inline GUID CurrentApp::AppId() +{ + return get_activation_factory().AppId(); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::RequestAppPurchaseAsync(bool includeReceipt) +{ + return get_activation_factory().RequestAppPurchaseAsync(includeReceipt); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::RequestProductPurchaseAsync(hstring_view productId, bool includeReceipt) +{ + return get_activation_factory().RequestProductPurchaseAsync(productId, includeReceipt); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::LoadListingInformationAsync() +{ + return get_activation_factory().LoadListingInformationAsync(); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::GetAppReceiptAsync() +{ + return get_activation_factory().GetAppReceiptAsync(); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::GetProductReceiptAsync(hstring_view productId) +{ + return get_activation_factory().GetProductReceiptAsync(productId); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::GetCustomerPurchaseIdAsync(hstring_view serviceTicket, hstring_view publisherUserId) +{ + return get_activation_factory().GetCustomerPurchaseIdAsync(serviceTicket, publisherUserId); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::GetCustomerCollectionsIdAsync(hstring_view serviceTicket, hstring_view publisherUserId) +{ + return get_activation_factory().GetCustomerCollectionsIdAsync(serviceTicket, publisherUserId); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::LoadListingInformationByProductIdsAsync(iterable productIds) +{ + return get_activation_factory().LoadListingInformationByProductIdsAsync(productIds); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::LoadListingInformationByKeywordsAsync(iterable keywords) +{ + return get_activation_factory().LoadListingInformationByKeywordsAsync(keywords); +} + +inline void CurrentApp::ReportProductFulfillment(hstring_view productId) +{ + get_activation_factory().ReportProductFulfillment(productId); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::GetAppPurchaseCampaignIdAsync() +{ + return get_activation_factory().GetAppPurchaseCampaignIdAsync(); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::ReportConsumableFulfillmentAsync(hstring_view productId, GUID transactionId) +{ + return get_activation_factory().ReportConsumableFulfillmentAsync(productId, transactionId); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::RequestProductPurchaseAsync(hstring_view productId) +{ + return get_activation_factory().RequestProductPurchaseAsync(productId); +} + +inline Windows::Foundation::IAsyncOperation CurrentApp::RequestProductPurchaseAsync(hstring_view productId, hstring_view offerId, const Windows::ApplicationModel::Store::ProductPurchaseDisplayProperties & displayProperties) +{ + return get_activation_factory().RequestProductPurchaseAsync(productId, offerId, displayProperties); +} + +inline Windows::Foundation::IAsyncOperation> CurrentApp::GetUnfulfilledConsumablesAsync() +{ + return get_activation_factory().GetUnfulfilledConsumablesAsync(); +} + +inline Windows::ApplicationModel::Store::LicenseInformation CurrentAppSimulator::LicenseInformation() +{ + return get_activation_factory().LicenseInformation(); +} + +inline Windows::Foundation::Uri CurrentAppSimulator::LinkUri() +{ + return get_activation_factory().LinkUri(); +} + +inline GUID CurrentAppSimulator::AppId() +{ + return get_activation_factory().AppId(); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::RequestAppPurchaseAsync(bool includeReceipt) +{ + return get_activation_factory().RequestAppPurchaseAsync(includeReceipt); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::RequestProductPurchaseAsync(hstring_view productId, bool includeReceipt) +{ + return get_activation_factory().RequestProductPurchaseAsync(productId, includeReceipt); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::LoadListingInformationAsync() +{ + return get_activation_factory().LoadListingInformationAsync(); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::GetAppReceiptAsync() +{ + return get_activation_factory().GetAppReceiptAsync(); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::GetProductReceiptAsync(hstring_view productId) +{ + return get_activation_factory().GetProductReceiptAsync(productId); +} + +inline Windows::Foundation::IAsyncAction CurrentAppSimulator::ReloadSimulatorAsync(const Windows::Storage::StorageFile & simulatorSettingsFile) +{ + return get_activation_factory().ReloadSimulatorAsync(simulatorSettingsFile); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::LoadListingInformationByProductIdsAsync(iterable productIds) +{ + return get_activation_factory().LoadListingInformationByProductIdsAsync(productIds); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::LoadListingInformationByKeywordsAsync(iterable keywords) +{ + return get_activation_factory().LoadListingInformationByKeywordsAsync(keywords); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::GetAppPurchaseCampaignIdAsync() +{ + return get_activation_factory().GetAppPurchaseCampaignIdAsync(); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::ReportConsumableFulfillmentAsync(hstring_view productId, GUID transactionId) +{ + return get_activation_factory().ReportConsumableFulfillmentAsync(productId, transactionId); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::RequestProductPurchaseAsync(hstring_view productId) +{ + return get_activation_factory().RequestProductPurchaseAsync(productId); +} + +inline Windows::Foundation::IAsyncOperation CurrentAppSimulator::RequestProductPurchaseAsync(hstring_view productId, hstring_view offerId, const Windows::ApplicationModel::Store::ProductPurchaseDisplayProperties & displayProperties) +{ + return get_activation_factory().RequestProductPurchaseAsync(productId, offerId, displayProperties); +} + +inline Windows::Foundation::IAsyncOperation> CurrentAppSimulator::GetUnfulfilledConsumablesAsync() +{ + return get_activation_factory().GetUnfulfilledConsumablesAsync(); +} + +inline ProductPurchaseDisplayProperties::ProductPurchaseDisplayProperties() : + ProductPurchaseDisplayProperties(activate_instance()) +{} + +inline ProductPurchaseDisplayProperties::ProductPurchaseDisplayProperties(hstring_view name) : + ProductPurchaseDisplayProperties(get_activation_factory().CreateProductPurchaseDisplayProperties(name)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentApp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentApp2Statics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentAppSimulator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentAppSimulatorStaticsWithFiltering & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentAppSimulatorWithCampaignId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentAppSimulatorWithConsumables & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentAppStaticsWithFiltering & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentAppWithCampaignId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ICurrentAppWithConsumables & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ILicenseInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IListingInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IListingInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductLicenseWithFulfillment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductListing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductListing2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductListingWithConsumables & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductListingWithMetadata & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductPurchaseDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IProductPurchaseDisplayPropertiesFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IPurchaseResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::IUnfulfilledConsumable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::LicenseInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ListingInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ProductLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ProductListing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::ProductPurchaseDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::PurchaseResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Store::UnfulfilledConsumable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.Provider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.Provider.h new file mode 100644 index 000000000..8b3d9555c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.Provider.h @@ -0,0 +1,356 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.UserDataAccounts.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.UserDataAccounts.Provider.3.h" +#include "Windows.ApplicationModel.UserDataAccounts.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Priority(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Priority()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccountKind(Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderPartnerAccountKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentKinds(Windows::ApplicationModel::UserDataAccounts::UserDataAccountContentKinds * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentKinds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PartnerAccountInfos(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartnerAccountInfos()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted(impl::abi_arg_in userDataAccountId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(*reinterpret_cast(&userDataAccountId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderOperationKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserDataAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDataAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserDataAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDataAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::UserDataAccounts::Provider { + +template Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderOperationKind impl_IUserDataAccountProviderOperation::Kind() const +{ + Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderOperationKind value {}; + check_hresult(WINRT_SHIM(IUserDataAccountProviderOperation)->get_Kind(&value)); + return value; +} + +template Windows::ApplicationModel::UserDataAccounts::UserDataAccountContentKinds impl_IUserDataAccountProviderAddAccountOperation::ContentKinds() const +{ + Windows::ApplicationModel::UserDataAccounts::UserDataAccountContentKinds value {}; + check_hresult(WINRT_SHIM(IUserDataAccountProviderAddAccountOperation)->get_ContentKinds(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUserDataAccountProviderAddAccountOperation::PartnerAccountInfos() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUserDataAccountProviderAddAccountOperation)->get_PartnerAccountInfos(put_abi(value))); + return value; +} + +template void impl_IUserDataAccountProviderAddAccountOperation::ReportCompleted(hstring_view userDataAccountId) const +{ + check_hresult(WINRT_SHIM(IUserDataAccountProviderAddAccountOperation)->abi_ReportCompleted(get_abi(userDataAccountId))); +} + +template hstring impl_IUserDataAccountPartnerAccountInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccountPartnerAccountInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template uint32_t impl_IUserDataAccountPartnerAccountInfo::Priority() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUserDataAccountPartnerAccountInfo)->get_Priority(&value)); + return value; +} + +template Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderPartnerAccountKind impl_IUserDataAccountPartnerAccountInfo::AccountKind() const +{ + Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderPartnerAccountKind value {}; + check_hresult(WINRT_SHIM(IUserDataAccountPartnerAccountInfo)->get_AccountKind(&value)); + return value; +} + +template hstring impl_IUserDataAccountProviderSettingsOperation::UserDataAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccountProviderSettingsOperation)->get_UserDataAccountId(put_abi(value))); + return value; +} + +template void impl_IUserDataAccountProviderSettingsOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IUserDataAccountProviderSettingsOperation)->abi_ReportCompleted()); +} + +template hstring impl_IUserDataAccountProviderResolveErrorsOperation::UserDataAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccountProviderResolveErrorsOperation)->get_UserDataAccountId(put_abi(value))); + return value; +} + +template void impl_IUserDataAccountProviderResolveErrorsOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IUserDataAccountProviderResolveErrorsOperation)->abi_ReportCompleted()); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::IUserDataAccountPartnerAccountInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::IUserDataAccountProviderAddAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::IUserDataAccountProviderOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::IUserDataAccountProviderResolveErrorsOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::IUserDataAccountProviderSettingsOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountPartnerAccountInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderAddAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderResolveErrorsOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::Provider::UserDataAccountProviderSettingsOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.SystemAccess.h b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.SystemAccess.h new file mode 100644 index 000000000..b7efc590e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.SystemAccess.h @@ -0,0 +1,2006 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.UserDataAccounts.SystemAccess.3.h" +#include "Windows.ApplicationModel.UserDataAccounts.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccountName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AccountName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccountName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceAccountTypeId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceAccountTypeId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeviceAccountTypeId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeviceAccountTypeId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerType(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountServerType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServerType(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountServerType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EmailAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EmailAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Domain(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Domain()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Domain(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Domain(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailSyncEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailSyncEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EmailSyncEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EmailSyncEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactsSyncEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactsSyncEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContactsSyncEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContactsSyncEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarSyncEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarSyncEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarSyncEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarSyncEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncomingServerAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncomingServerAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncomingServerAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncomingServerAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncomingServerPort(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncomingServerPort()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncomingServerPort(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncomingServerPort(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncomingServerRequiresSsl(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncomingServerRequiresSsl()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncomingServerRequiresSsl(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncomingServerRequiresSsl(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncomingServerUsername(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncomingServerUsername()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncomingServerUsername(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncomingServerUsername(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutgoingServerAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingServerAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutgoingServerAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutgoingServerAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutgoingServerPort(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingServerPort()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutgoingServerPort(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutgoingServerPort(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutgoingServerRequiresSsl(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingServerRequiresSsl()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutgoingServerRequiresSsl(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutgoingServerRequiresSsl(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutgoingServerUsername(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingServerUsername()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutgoingServerUsername(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutgoingServerUsername(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IncomingServerCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncomingServerCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncomingServerCredential(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncomingServerCredential(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutgoingServerCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingServerCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutgoingServerCredential(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutgoingServerCredential(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OAuthRefreshToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OAuthRefreshToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OAuthRefreshToken(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OAuthRefreshToken(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsExternallyManaged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsExternallyManaged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsExternallyManaged(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsExternallyManaged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccountIconId(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountIconId * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountIconId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AccountIconId(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountIconId value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccountIconId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationType(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountAuthenticationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AuthenticationType(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountAuthenticationType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSsoAuthenticationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSsoAuthenticationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SsoAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SsoAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SsoAccountId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SsoAccountId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlwaysDownloadFullMessage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlwaysDownloadFullMessage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlwaysDownloadFullMessage(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlwaysDownloadFullMessage(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DoesPolicyAllowMailSync(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DoesPolicyAllowMailSync()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SyncScheduleKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncScheduleKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MailAgeFilter(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountMailAgeFilter * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MailAgeFilter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MailAgeFilter(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountMailAgeFilter value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MailAgeFilter(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsClientAuthenticationCertificateRequired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsClientAuthenticationCertificateRequired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsClientAuthenticationCertificateRequired(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsClientAuthenticationCertificateRequired(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoSelectAuthenticationCertificate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoSelectAuthenticationCertificate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoSelectAuthenticationCertificate(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoSelectAuthenticationCertificate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationCertificateId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationCertificateId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AuthenticationCertificateId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationCertificateId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CardDavSyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardDavSyncScheduleKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CardDavSyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CardDavSyncScheduleKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalDavSyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalDavSyncScheduleKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalDavSyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalDavSyncScheduleKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CardDavServerUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardDavServerUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CardDavServerUrl(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CardDavServerUrl(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CardDavRequiresSsl(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardDavRequiresSsl()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CardDavRequiresSsl(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CardDavRequiresSsl(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalDavServerUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalDavServerUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalDavServerUrl(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalDavServerUrl(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalDavRequiresSsl(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalDavRequiresSsl()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalDavRequiresSsl(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalDavRequiresSsl(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WasModifiedByUser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WasModifiedByUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WasModifiedByUser(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WasModifiedByUser(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WasIncomingServerCertificateHashConfirmed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WasIncomingServerCertificateHashConfirmed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WasIncomingServerCertificateHashConfirmed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WasIncomingServerCertificateHashConfirmed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncomingServerCertificateHash(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncomingServerCertificateHash()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncomingServerCertificateHash(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncomingServerCertificateHash(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOutgoingServerAuthenticationRequired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOutgoingServerAuthenticationRequired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOutgoingServerAuthenticationRequired(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOutgoingServerAuthenticationRequired(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOutgoingServerAuthenticationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOutgoingServerAuthenticationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOutgoingServerAuthenticationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOutgoingServerAuthenticationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WasOutgoingServerCertificateHashConfirmed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WasOutgoingServerCertificateHashConfirmed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WasOutgoingServerCertificateHashConfirmed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WasOutgoingServerCertificateHashConfirmed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutgoingServerCertificateHash(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingServerCertificateHash()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutgoingServerCertificateHash(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutgoingServerCertificateHash(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSyncScheduleManagedBySystem(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSyncScheduleManagedBySystem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSyncScheduleManagedBySystem(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSyncScheduleManagedBySystem(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddAndShowDeviceAccountsAsync(impl::abi_arg_in> accounts, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AddAndShowDeviceAccountsAsync(*reinterpret_cast *>(&accounts))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SuppressLocalAccountWithAccountAsync(impl::abi_arg_in userDataAccountId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SuppressLocalAccountWithAccountAsync(*reinterpret_cast(&userDataAccountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDeviceAccountAsync(impl::abi_arg_in account, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDeviceAccountAsync(*reinterpret_cast(&account))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteDeviceAccountAsync(impl::abi_arg_in accountId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteDeviceAccountAsync(*reinterpret_cast(&accountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceAccountConfigurationAsync(impl::abi_arg_in accountId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceAccountConfigurationAsync(*reinterpret_cast(&accountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::UserDataAccounts::SystemAccess { + +template hstring impl_IDeviceAccountConfiguration::AccountName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_AccountName(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::AccountName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_AccountName(get_abi(value))); +} + +template hstring impl_IDeviceAccountConfiguration::DeviceAccountTypeId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_DeviceAccountTypeId(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::DeviceAccountTypeId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_DeviceAccountTypeId(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountServerType impl_IDeviceAccountConfiguration::ServerType() const +{ + Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountServerType value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_ServerType(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::ServerType(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountServerType value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_ServerType(value)); +} + +template hstring impl_IDeviceAccountConfiguration::EmailAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_EmailAddress(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::EmailAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_EmailAddress(get_abi(value))); +} + +template hstring impl_IDeviceAccountConfiguration::Domain() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_Domain(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::Domain(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_Domain(get_abi(value))); +} + +template bool impl_IDeviceAccountConfiguration::EmailSyncEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_EmailSyncEnabled(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::EmailSyncEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_EmailSyncEnabled(value)); +} + +template bool impl_IDeviceAccountConfiguration::ContactsSyncEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_ContactsSyncEnabled(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::ContactsSyncEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_ContactsSyncEnabled(value)); +} + +template bool impl_IDeviceAccountConfiguration::CalendarSyncEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_CalendarSyncEnabled(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::CalendarSyncEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_CalendarSyncEnabled(value)); +} + +template hstring impl_IDeviceAccountConfiguration::IncomingServerAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_IncomingServerAddress(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::IncomingServerAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_IncomingServerAddress(get_abi(value))); +} + +template int32_t impl_IDeviceAccountConfiguration::IncomingServerPort() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_IncomingServerPort(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::IncomingServerPort(int32_t value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_IncomingServerPort(value)); +} + +template bool impl_IDeviceAccountConfiguration::IncomingServerRequiresSsl() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_IncomingServerRequiresSsl(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::IncomingServerRequiresSsl(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_IncomingServerRequiresSsl(value)); +} + +template hstring impl_IDeviceAccountConfiguration::IncomingServerUsername() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_IncomingServerUsername(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::IncomingServerUsername(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_IncomingServerUsername(get_abi(value))); +} + +template hstring impl_IDeviceAccountConfiguration::OutgoingServerAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_OutgoingServerAddress(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::OutgoingServerAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_OutgoingServerAddress(get_abi(value))); +} + +template int32_t impl_IDeviceAccountConfiguration::OutgoingServerPort() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_OutgoingServerPort(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::OutgoingServerPort(int32_t value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_OutgoingServerPort(value)); +} + +template bool impl_IDeviceAccountConfiguration::OutgoingServerRequiresSsl() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_OutgoingServerRequiresSsl(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration::OutgoingServerRequiresSsl(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_OutgoingServerRequiresSsl(value)); +} + +template hstring impl_IDeviceAccountConfiguration::OutgoingServerUsername() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->get_OutgoingServerUsername(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration::OutgoingServerUsername(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration)->put_OutgoingServerUsername(get_abi(value))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IDeviceAccountConfiguration2::IncomingServerCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IncomingServerCredential(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::IncomingServerCredential(const Windows::Security::Credentials::PasswordCredential & value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_IncomingServerCredential(get_abi(value))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IDeviceAccountConfiguration2::OutgoingServerCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_OutgoingServerCredential(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::OutgoingServerCredential(const Windows::Security::Credentials::PasswordCredential & value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_OutgoingServerCredential(get_abi(value))); +} + +template hstring impl_IDeviceAccountConfiguration2::OAuthRefreshToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_OAuthRefreshToken(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::OAuthRefreshToken(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_OAuthRefreshToken(get_abi(value))); +} + +template bool impl_IDeviceAccountConfiguration2::IsExternallyManaged() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IsExternallyManaged(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::IsExternallyManaged(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_IsExternallyManaged(value)); +} + +template Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountIconId impl_IDeviceAccountConfiguration2::AccountIconId() const +{ + Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountIconId value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_AccountIconId(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::AccountIconId(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountIconId value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_AccountIconId(value)); +} + +template Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountAuthenticationType impl_IDeviceAccountConfiguration2::AuthenticationType() const +{ + Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountAuthenticationType value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_AuthenticationType(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::AuthenticationType(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountAuthenticationType value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_AuthenticationType(value)); +} + +template bool impl_IDeviceAccountConfiguration2::IsSsoAuthenticationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IsSsoAuthenticationSupported(&value)); + return value; +} + +template hstring impl_IDeviceAccountConfiguration2::SsoAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_SsoAccountId(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::SsoAccountId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_SsoAccountId(get_abi(value))); +} + +template bool impl_IDeviceAccountConfiguration2::AlwaysDownloadFullMessage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_AlwaysDownloadFullMessage(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::AlwaysDownloadFullMessage(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_AlwaysDownloadFullMessage(value)); +} + +template bool impl_IDeviceAccountConfiguration2::DoesPolicyAllowMailSync() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_DoesPolicyAllowMailSync(&value)); + return value; +} + +template Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind impl_IDeviceAccountConfiguration2::SyncScheduleKind() const +{ + Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_SyncScheduleKind(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::SyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_SyncScheduleKind(value)); +} + +template Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountMailAgeFilter impl_IDeviceAccountConfiguration2::MailAgeFilter() const +{ + Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountMailAgeFilter value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_MailAgeFilter(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::MailAgeFilter(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountMailAgeFilter value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_MailAgeFilter(value)); +} + +template bool impl_IDeviceAccountConfiguration2::IsClientAuthenticationCertificateRequired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IsClientAuthenticationCertificateRequired(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::IsClientAuthenticationCertificateRequired(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_IsClientAuthenticationCertificateRequired(value)); +} + +template bool impl_IDeviceAccountConfiguration2::AutoSelectAuthenticationCertificate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_AutoSelectAuthenticationCertificate(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::AutoSelectAuthenticationCertificate(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_AutoSelectAuthenticationCertificate(value)); +} + +template hstring impl_IDeviceAccountConfiguration2::AuthenticationCertificateId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_AuthenticationCertificateId(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::AuthenticationCertificateId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_AuthenticationCertificateId(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind impl_IDeviceAccountConfiguration2::CardDavSyncScheduleKind() const +{ + Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_CardDavSyncScheduleKind(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::CardDavSyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_CardDavSyncScheduleKind(value)); +} + +template Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind impl_IDeviceAccountConfiguration2::CalDavSyncScheduleKind() const +{ + Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_CalDavSyncScheduleKind(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::CalDavSyncScheduleKind(Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountSyncScheduleKind value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_CalDavSyncScheduleKind(value)); +} + +template Windows::Foundation::Uri impl_IDeviceAccountConfiguration2::CardDavServerUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_CardDavServerUrl(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::CardDavServerUrl(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_CardDavServerUrl(get_abi(value))); +} + +template bool impl_IDeviceAccountConfiguration2::CardDavRequiresSsl() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_CardDavRequiresSsl(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::CardDavRequiresSsl(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_CardDavRequiresSsl(value)); +} + +template Windows::Foundation::Uri impl_IDeviceAccountConfiguration2::CalDavServerUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_CalDavServerUrl(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::CalDavServerUrl(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_CalDavServerUrl(get_abi(value))); +} + +template bool impl_IDeviceAccountConfiguration2::CalDavRequiresSsl() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_CalDavRequiresSsl(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::CalDavRequiresSsl(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_CalDavRequiresSsl(value)); +} + +template bool impl_IDeviceAccountConfiguration2::WasModifiedByUser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_WasModifiedByUser(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::WasModifiedByUser(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_WasModifiedByUser(value)); +} + +template bool impl_IDeviceAccountConfiguration2::WasIncomingServerCertificateHashConfirmed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_WasIncomingServerCertificateHashConfirmed(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::WasIncomingServerCertificateHashConfirmed(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_WasIncomingServerCertificateHashConfirmed(value)); +} + +template hstring impl_IDeviceAccountConfiguration2::IncomingServerCertificateHash() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IncomingServerCertificateHash(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::IncomingServerCertificateHash(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_IncomingServerCertificateHash(get_abi(value))); +} + +template bool impl_IDeviceAccountConfiguration2::IsOutgoingServerAuthenticationRequired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IsOutgoingServerAuthenticationRequired(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::IsOutgoingServerAuthenticationRequired(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_IsOutgoingServerAuthenticationRequired(value)); +} + +template bool impl_IDeviceAccountConfiguration2::IsOutgoingServerAuthenticationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IsOutgoingServerAuthenticationEnabled(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::IsOutgoingServerAuthenticationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_IsOutgoingServerAuthenticationEnabled(value)); +} + +template bool impl_IDeviceAccountConfiguration2::WasOutgoingServerCertificateHashConfirmed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_WasOutgoingServerCertificateHashConfirmed(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::WasOutgoingServerCertificateHashConfirmed(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_WasOutgoingServerCertificateHashConfirmed(value)); +} + +template hstring impl_IDeviceAccountConfiguration2::OutgoingServerCertificateHash() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_OutgoingServerCertificateHash(put_abi(value))); + return value; +} + +template void impl_IDeviceAccountConfiguration2::OutgoingServerCertificateHash(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_OutgoingServerCertificateHash(get_abi(value))); +} + +template bool impl_IDeviceAccountConfiguration2::IsSyncScheduleManagedBySystem() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->get_IsSyncScheduleManagedBySystem(&value)); + return value; +} + +template void impl_IDeviceAccountConfiguration2::IsSyncScheduleManagedBySystem(bool value) const +{ + check_hresult(WINRT_SHIM(IDeviceAccountConfiguration2)->put_IsSyncScheduleManagedBySystem(value)); +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccountSystemAccessManagerStatics::AddAndShowDeviceAccountsAsync(iterable accounts) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IUserDataAccountSystemAccessManagerStatics)->abi_AddAndShowDeviceAccountsAsync(get_abi(accounts), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataAccountSystemAccessManagerStatics2::SuppressLocalAccountWithAccountAsync(hstring_view userDataAccountId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataAccountSystemAccessManagerStatics2)->abi_SuppressLocalAccountWithAccountAsync(get_abi(userDataAccountId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountSystemAccessManagerStatics2::CreateDeviceAccountAsync(const Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountConfiguration & account) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountSystemAccessManagerStatics2)->abi_CreateDeviceAccountAsync(get_abi(account), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataAccountSystemAccessManagerStatics2::DeleteDeviceAccountAsync(hstring_view accountId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataAccountSystemAccessManagerStatics2)->abi_DeleteDeviceAccountAsync(get_abi(accountId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountSystemAccessManagerStatics2::GetDeviceAccountConfigurationAsync(hstring_view accountId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountSystemAccessManagerStatics2)->abi_GetDeviceAccountConfigurationAsync(get_abi(accountId), put_abi(result))); + return result; +} + +inline DeviceAccountConfiguration::DeviceAccountConfiguration() : + DeviceAccountConfiguration(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation> UserDataAccountSystemAccessManager::AddAndShowDeviceAccountsAsync(iterable accounts) +{ + return get_activation_factory().AddAndShowDeviceAccountsAsync(accounts); +} + +inline Windows::Foundation::IAsyncAction UserDataAccountSystemAccessManager::SuppressLocalAccountWithAccountAsync(hstring_view userDataAccountId) +{ + return get_activation_factory().SuppressLocalAccountWithAccountAsync(userDataAccountId); +} + +inline Windows::Foundation::IAsyncOperation UserDataAccountSystemAccessManager::CreateDeviceAccountAsync(const Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountConfiguration & account) +{ + return get_activation_factory().CreateDeviceAccountAsync(account); +} + +inline Windows::Foundation::IAsyncAction UserDataAccountSystemAccessManager::DeleteDeviceAccountAsync(hstring_view accountId) +{ + return get_activation_factory().DeleteDeviceAccountAsync(accountId); +} + +inline Windows::Foundation::IAsyncOperation UserDataAccountSystemAccessManager::GetDeviceAccountConfigurationAsync(hstring_view accountId) +{ + return get_activation_factory().GetDeviceAccountConfigurationAsync(accountId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::SystemAccess::IDeviceAccountConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::SystemAccess::IDeviceAccountConfiguration2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::SystemAccess::IUserDataAccountSystemAccessManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::SystemAccess::IUserDataAccountSystemAccessManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::SystemAccess::DeviceAccountConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.h b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.h new file mode 100644 index 000000000..6196e9db0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataAccounts.h @@ -0,0 +1,1136 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.ApplicationModel.UserDataAccounts.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserDisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserDisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppReadAccess(Windows::ApplicationModel::UserDataAccounts::UserDataAccountOtherAppReadAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppReadAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppReadAccess(Windows::ApplicationModel::UserDataAccounts::UserDataAccountOtherAppReadAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppReadAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceAccountTypeId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceAccountTypeId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppointmentCalendarsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAppointmentCalendarsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindEmailMailboxesAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindEmailMailboxesAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindContactListsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindContactListsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindContactAnnotationListsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindContactAnnotationListsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnterpriseId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnterpriseId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsProtectedUnderLock(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProtectedUnderLock()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExplictReadAccessPackageFamilyNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExplictReadAccessPackageFamilyNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanShowCreateContactGroup(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanShowCreateContactGroup()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanShowCreateContactGroup(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanShowCreateContactGroup(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindUserDataTaskListsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindUserDataTaskListsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindContactGroupsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindContactGroupsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryShowCreateContactGroupAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryShowCreateContactGroupAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsProtectedUnderLock(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsProtectedUnderLock(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Icon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Icon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountStoreAccessType storeAccessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(storeAccessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountStoreAccessType storeAccessType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestStoreAsync(storeAccessType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAddAccountAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountContentKinds contentKinds, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowAddAccountAsync(contentKinds)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAccountSettingsAsync(impl::abi_arg_in id, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowAccountSettingsAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAccountErrorResolverAsync(impl::abi_arg_in id, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowAccountErrorResolverAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAccountsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAccountsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccountAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAccountAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAccountAsync(impl::abi_arg_in userDisplayName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateAccountAsync(*reinterpret_cast(&userDisplayName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAccountWithPackageRelativeAppIdAsync(impl::abi_arg_in userDisplayName, impl::abi_arg_in packageRelativeAppId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateAccountAsync(*reinterpret_cast(&userDisplayName), *reinterpret_cast(&packageRelativeAppId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StoreChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StoreChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StoreChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StoreChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAccountWithPackageRelativeAppIdAndEnterpriseIdAsync(impl::abi_arg_in userDisplayName, impl::abi_arg_in packageRelativeAppId, impl::abi_arg_in enterpriseId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateAccountAsync(*reinterpret_cast(&userDisplayName), *reinterpret_cast(&packageRelativeAppId), *reinterpret_cast(&enterpriseId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::UserDataAccounts { + +template hstring impl_IUserDataAccount::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccount)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IUserDataAccount::UserDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccount)->get_UserDisplayName(put_abi(value))); + return value; +} + +template void impl_IUserDataAccount::UserDisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUserDataAccount)->put_UserDisplayName(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataAccounts::UserDataAccountOtherAppReadAccess impl_IUserDataAccount::OtherAppReadAccess() const +{ + Windows::ApplicationModel::UserDataAccounts::UserDataAccountOtherAppReadAccess value {}; + check_hresult(WINRT_SHIM(IUserDataAccount)->get_OtherAppReadAccess(&value)); + return value; +} + +template void impl_IUserDataAccount::OtherAppReadAccess(Windows::ApplicationModel::UserDataAccounts::UserDataAccountOtherAppReadAccess value) const +{ + check_hresult(WINRT_SHIM(IUserDataAccount)->put_OtherAppReadAccess(value)); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IUserDataAccount::Icon() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IUserDataAccount)->get_Icon(put_abi(value))); + return value; +} + +template hstring impl_IUserDataAccount::DeviceAccountTypeId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccount)->get_DeviceAccountTypeId(put_abi(value))); + return value; +} + +template hstring impl_IUserDataAccount::PackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccount)->get_PackageFamilyName(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataAccount::SaveAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataAccount)->abi_SaveAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataAccount::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataAccount)->abi_DeleteAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccount::FindAppointmentCalendarsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IUserDataAccount)->abi_FindAppointmentCalendarsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccount::FindEmailMailboxesAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IUserDataAccount)->abi_FindEmailMailboxesAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccount::FindContactListsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IUserDataAccount)->abi_FindContactListsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccount::FindContactAnnotationListsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IUserDataAccount)->abi_FindContactAnnotationListsAsync(put_abi(result))); + return result; +} + +template hstring impl_IUserDataAccount2::EnterpriseId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccount2)->get_EnterpriseId(put_abi(value))); + return value; +} + +template bool impl_IUserDataAccount2::IsProtectedUnderLock() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserDataAccount2)->get_IsProtectedUnderLock(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IUserDataAccount3::ExplictReadAccessPackageFamilyNames() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IUserDataAccount3)->get_ExplictReadAccessPackageFamilyNames(put_abi(value))); + return value; +} + +template hstring impl_IUserDataAccount3::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataAccount3)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IUserDataAccount3::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUserDataAccount3)->put_DisplayName(get_abi(value))); +} + +template bool impl_IUserDataAccount4::CanShowCreateContactGroup() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserDataAccount4)->get_CanShowCreateContactGroup(&value)); + return value; +} + +template void impl_IUserDataAccount4::CanShowCreateContactGroup(bool value) const +{ + check_hresult(WINRT_SHIM(IUserDataAccount4)->put_CanShowCreateContactGroup(value)); +} + +template Windows::Foundation::Collections::IPropertySet impl_IUserDataAccount4::ProviderProperties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IUserDataAccount4)->get_ProviderProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccount4::FindUserDataTaskListsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IUserDataAccount4)->abi_FindUserDataTaskListsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccount4::FindContactGroupsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IUserDataAccount4)->abi_FindContactGroupsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccount4::TryShowCreateContactGroupAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataAccount4)->abi_TryShowCreateContactGroupAsync(put_abi(operation))); + return operation; +} + +template void impl_IUserDataAccount4::IsProtectedUnderLock(bool value) const +{ + check_hresult(WINRT_SHIM(IUserDataAccount4)->put_IsProtectedUnderLock(value)); +} + +template void impl_IUserDataAccount4::Icon(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IUserDataAccount4)->put_Icon(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataAccountStore::FindAccountsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IUserDataAccountStore)->abi_FindAccountsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountStore::GetAccountAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountStore)->abi_GetAccountAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountStore::CreateAccountAsync(hstring_view userDisplayName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountStore)->abi_CreateAccountAsync(get_abi(userDisplayName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountStore2::CreateAccountAsync(hstring_view userDisplayName, hstring_view packageRelativeAppId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountStore2)->abi_CreateAccountWithPackageRelativeAppIdAsync(get_abi(userDisplayName), get_abi(packageRelativeAppId), put_abi(result))); + return result; +} + +template event_token impl_IUserDataAccountStore2::StoreChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDataAccountStore2)->add_StoreChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDataAccountStore2::StoreChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountStore2::remove_StoreChanged, StoreChanged(handler)); +} + +template void impl_IUserDataAccountStore2::StoreChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDataAccountStore2)->remove_StoreChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountStore3::CreateAccountAsync(hstring_view userDisplayName, hstring_view packageRelativeAppId, hstring_view enterpriseId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountStore3)->abi_CreateAccountWithPackageRelativeAppIdAndEnterpriseIdAsync(get_abi(userDisplayName), get_abi(packageRelativeAppId), get_abi(enterpriseId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountManagerStatics::RequestStoreAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountStoreAccessType storeAccessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountManagerStatics)->abi_RequestStoreAsync(storeAccessType, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountManagerStatics::ShowAddAccountAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountContentKinds contentKinds) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountManagerStatics)->abi_ShowAddAccountAsync(contentKinds, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataAccountManagerStatics::ShowAccountSettingsAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataAccountManagerStatics)->abi_ShowAccountSettingsAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataAccountManagerStatics::ShowAccountErrorResolverAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataAccountManagerStatics)->abi_ShowAccountErrorResolverAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::ApplicationModel::UserDataAccounts::UserDataAccountManagerForUser impl_IUserDataAccountManagerStatics2::GetForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::UserDataAccounts::UserDataAccountManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IUserDataAccountManagerStatics2)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataAccountManagerForUser::RequestStoreAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountStoreAccessType storeAccessType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataAccountManagerForUser)->abi_RequestStoreAsync(storeAccessType, put_abi(result))); + return result; +} + +template Windows::System::User impl_IUserDataAccountManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataAccountManagerForUser)->get_User(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IUserDataAccountStoreChangedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IUserDataAccountStoreChangedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +inline Windows::Foundation::IAsyncOperation UserDataAccountManager::RequestStoreAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountStoreAccessType storeAccessType) +{ + return get_activation_factory().RequestStoreAsync(storeAccessType); +} + +inline Windows::Foundation::IAsyncOperation UserDataAccountManager::ShowAddAccountAsync(Windows::ApplicationModel::UserDataAccounts::UserDataAccountContentKinds contentKinds) +{ + return get_activation_factory().ShowAddAccountAsync(contentKinds); +} + +inline Windows::Foundation::IAsyncAction UserDataAccountManager::ShowAccountSettingsAsync(hstring_view id) +{ + return get_activation_factory().ShowAccountSettingsAsync(id); +} + +inline Windows::Foundation::IAsyncAction UserDataAccountManager::ShowAccountErrorResolverAsync(hstring_view id) +{ + return get_activation_factory().ShowAccountErrorResolverAsync(id); +} + +inline Windows::ApplicationModel::UserDataAccounts::UserDataAccountManagerForUser UserDataAccountManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccount2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccount3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccount4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountStore3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::IUserDataAccountStoreChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::UserDataAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::UserDataAccountManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::UserDataAccountStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataAccounts::UserDataAccountStoreChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataTasks.DataProvider.h b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataTasks.DataProvider.h new file mode 100644 index 000000000..7a7588905 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataTasks.DataProvider.h @@ -0,0 +1,1194 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.UserDataTasks.3.h" +#include "internal/Windows.ApplicationModel.UserDataTasks.DataProvider.3.h" +#include "Windows.ApplicationModel.UserDataTasks.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CreateOrUpdateTaskRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CreateOrUpdateTaskRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CreateOrUpdateTaskRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CreateOrUpdateTaskRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SyncRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SyncRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SyncRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SkipOccurrenceRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SkipOccurrenceRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SkipOccurrenceRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SkipOccurrenceRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CompleteTaskRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CompleteTaskRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CompleteTaskRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompleteTaskRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DeleteTaskRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DeleteTaskRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DeleteTaskRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeleteTaskRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Connection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Connection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TaskId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_in completedTaskId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync(*reinterpret_cast(&completedTaskId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Task(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Task()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_in createdOrUpdatedUserDataTask, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync(*reinterpret_cast(&createdOrUpdatedUserDataTask))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TaskId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TaskId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompletedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportCompletedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailedAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReportFailedAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::UserDataTasks::DataProvider { + +template Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskDataProviderConnection impl_IUserDataTaskDataProviderTriggerDetails::Connection() const +{ + Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskDataProviderConnection value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderTriggerDetails)->get_Connection(put_abi(value))); + return value; +} + +template event_token impl_IUserDataTaskDataProviderConnection::CreateOrUpdateTaskRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->add_CreateOrUpdateTaskRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDataTaskDataProviderConnection::CreateOrUpdateTaskRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskDataProviderConnection::remove_CreateOrUpdateTaskRequested, CreateOrUpdateTaskRequested(handler)); +} + +template void impl_IUserDataTaskDataProviderConnection::CreateOrUpdateTaskRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->remove_CreateOrUpdateTaskRequested(token)); +} + +template event_token impl_IUserDataTaskDataProviderConnection::SyncRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->add_SyncRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDataTaskDataProviderConnection::SyncRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskDataProviderConnection::remove_SyncRequested, SyncRequested(handler)); +} + +template void impl_IUserDataTaskDataProviderConnection::SyncRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->remove_SyncRequested(token)); +} + +template event_token impl_IUserDataTaskDataProviderConnection::SkipOccurrenceRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->add_SkipOccurrenceRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDataTaskDataProviderConnection::SkipOccurrenceRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskDataProviderConnection::remove_SkipOccurrenceRequested, SkipOccurrenceRequested(handler)); +} + +template void impl_IUserDataTaskDataProviderConnection::SkipOccurrenceRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->remove_SkipOccurrenceRequested(token)); +} + +template event_token impl_IUserDataTaskDataProviderConnection::CompleteTaskRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->add_CompleteTaskRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDataTaskDataProviderConnection::CompleteTaskRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskDataProviderConnection::remove_CompleteTaskRequested, CompleteTaskRequested(handler)); +} + +template void impl_IUserDataTaskDataProviderConnection::CompleteTaskRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->remove_CompleteTaskRequested(token)); +} + +template event_token impl_IUserDataTaskDataProviderConnection::DeleteTaskRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->add_DeleteTaskRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDataTaskDataProviderConnection::DeleteTaskRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskDataProviderConnection::remove_DeleteTaskRequested, DeleteTaskRequested(handler)); +} + +template void impl_IUserDataTaskDataProviderConnection::DeleteTaskRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->remove_DeleteTaskRequested(token)); +} + +template void impl_IUserDataTaskDataProviderConnection::Start() const +{ + check_hresult(WINRT_SHIM(IUserDataTaskDataProviderConnection)->abi_Start()); +} + +template hstring impl_IUserDataTaskListCreateOrUpdateTaskRequest::TaskListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListCreateOrUpdateTaskRequest)->get_TaskListId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTask impl_IUserDataTaskListCreateOrUpdateTaskRequest::Task() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTask value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListCreateOrUpdateTaskRequest)->get_Task(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListCreateOrUpdateTaskRequest::ReportCompletedAsync(const Windows::ApplicationModel::UserDataTasks::UserDataTask & createdOrUpdatedUserDataTask) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListCreateOrUpdateTaskRequest)->abi_ReportCompletedAsync(get_abi(createdOrUpdatedUserDataTask), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListCreateOrUpdateTaskRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListCreateOrUpdateTaskRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IUserDataTaskListSyncManagerSyncRequest::TaskListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManagerSyncRequest)->get_TaskListId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListSyncManagerSyncRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManagerSyncRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListSyncManagerSyncRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManagerSyncRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IUserDataTaskListSkipOccurrenceRequest::TaskListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListSkipOccurrenceRequest)->get_TaskListId(put_abi(value))); + return value; +} + +template hstring impl_IUserDataTaskListSkipOccurrenceRequest::TaskId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListSkipOccurrenceRequest)->get_TaskId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListSkipOccurrenceRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListSkipOccurrenceRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListSkipOccurrenceRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListSkipOccurrenceRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IUserDataTaskListCompleteTaskRequest::TaskListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListCompleteTaskRequest)->get_TaskListId(put_abi(value))); + return value; +} + +template hstring impl_IUserDataTaskListCompleteTaskRequest::TaskId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListCompleteTaskRequest)->get_TaskId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListCompleteTaskRequest::ReportCompletedAsync(hstring_view completedTaskId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListCompleteTaskRequest)->abi_ReportCompletedAsync(get_abi(completedTaskId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListCompleteTaskRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListCompleteTaskRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template hstring impl_IUserDataTaskListDeleteTaskRequest::TaskListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListDeleteTaskRequest)->get_TaskListId(put_abi(value))); + return value; +} + +template hstring impl_IUserDataTaskListDeleteTaskRequest::TaskId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskListDeleteTaskRequest)->get_TaskId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListDeleteTaskRequest::ReportCompletedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListDeleteTaskRequest)->abi_ReportCompletedAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskListDeleteTaskRequest::ReportFailedAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskListDeleteTaskRequest)->abi_ReportFailedAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCreateOrUpdateTaskRequest impl_IUserDataTaskListCreateOrUpdateTaskRequestEventArgs::Request() const +{ + Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCreateOrUpdateTaskRequest value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListCreateOrUpdateTaskRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IUserDataTaskListCreateOrUpdateTaskRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListCreateOrUpdateTaskRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSyncManagerSyncRequest impl_IUserDataTaskListSyncManagerSyncRequestEventArgs::Request() const +{ + Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSyncManagerSyncRequest value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManagerSyncRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IUserDataTaskListSyncManagerSyncRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManagerSyncRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSkipOccurrenceRequest impl_IUserDataTaskListSkipOccurrenceRequestEventArgs::Request() const +{ + Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSkipOccurrenceRequest value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListSkipOccurrenceRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IUserDataTaskListSkipOccurrenceRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListSkipOccurrenceRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCompleteTaskRequest impl_IUserDataTaskListCompleteTaskRequestEventArgs::Request() const +{ + Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCompleteTaskRequest value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListCompleteTaskRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IUserDataTaskListCompleteTaskRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListCompleteTaskRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListDeleteTaskRequest impl_IUserDataTaskListDeleteTaskRequestEventArgs::Request() const +{ + Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListDeleteTaskRequest value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListDeleteTaskRequestEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IUserDataTaskListDeleteTaskRequestEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskListDeleteTaskRequestEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListCompleteTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListCompleteTaskRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListCreateOrUpdateTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListCreateOrUpdateTaskRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListDeleteTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListDeleteTaskRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListSkipOccurrenceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListSkipOccurrenceRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::IUserDataTaskListSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskDataProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskDataProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCompleteTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCompleteTaskRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCreateOrUpdateTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListCreateOrUpdateTaskRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListDeleteTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListDeleteTaskRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSkipOccurrenceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSkipOccurrenceRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSyncManagerSyncRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::DataProvider::UserDataTaskListSyncManagerSyncRequestEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataTasks.h b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataTasks.h new file mode 100644 index 000000000..e0b7e94d9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.UserDataTasks.h @@ -0,0 +1,2332 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.UserDataTasks.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompletedDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompletedDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CompletedDate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompletedDate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Details(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Details()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Details(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Details(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DetailsKind(Windows::ApplicationModel::UserDataTasks::UserDataTaskDetailsKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetailsKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DetailsKind(Windows::ApplicationModel::UserDataTasks::UserDataTaskDetailsKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DetailsKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DueDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DueDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DueDate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DueDate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::UserDataTasks::UserDataTaskKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Priority(Windows::ApplicationModel::UserDataTasks::UserDataTaskPriority * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Priority()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Priority(Windows::ApplicationModel::UserDataTasks::UserDataTaskPriority value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Priority(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecurrenceProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecurrenceProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RecurrenceProperties(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecurrenceProperties(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegenerationProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegenerationProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RegenerationProperties(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegenerationProperties(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reminder(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reminder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Reminder(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reminder(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sensitivity(Windows::ApplicationModel::UserDataTasks::UserDataTaskSensitivity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sensitivity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Sensitivity(Windows::ApplicationModel::UserDataTasks::UserDataTaskSensitivity value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Sensitivity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subject(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subject(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartDate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartDate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Tasks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tasks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDataAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDataAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppReadAccess(Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppReadAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppReadAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppReadAccess(Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppReadAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppReadAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAppWriteAccess(Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppWriteAccess * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAppWriteAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OtherAppWriteAccess(Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppWriteAccess value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OtherAppWriteAccess(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LimitedWriteOperations(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LimitedWriteOperations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SyncManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SyncManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterSyncManagerAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterSyncManagerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTaskReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTaskReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTaskReaderWithOptions(impl::abi_arg_in options, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTaskReader(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTaskAsync(impl::abi_arg_in userDataTask, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetTaskAsync(*reinterpret_cast(&userDataTask))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveTaskAsync(impl::abi_arg_in userDataTask, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SaveTaskAsync(*reinterpret_cast(&userDataTask))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteTaskAsync(impl::abi_arg_in userDataTaskId, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().DeleteTaskAsync(*reinterpret_cast(&userDataTaskId))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryCompleteTaskAsync(impl::abi_arg_in userDataTaskId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryCompleteTaskAsync(*reinterpret_cast(&userDataTaskId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateOrUpdateTaskAsync(impl::abi_arg_in userDataTask, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryCreateOrUpdateTaskAsync(*reinterpret_cast(&userDataTask))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryDeleteTaskAsync(impl::abi_arg_in userDataTaskId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryDeleteTaskAsync(*reinterpret_cast(&userDataTaskId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySkipOccurrenceAsync(impl::abi_arg_in userDataTaskId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TrySkipOccurrenceAsync(*reinterpret_cast(&userDataTaskId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LastAttemptedSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastAttemptedSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastAttemptedSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastAttemptedSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastSuccessfulSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSuccessfulSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastSuccessfulSyncTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastSuccessfulSyncTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Status(Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SyncAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SyncAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SyncStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SyncStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SyncStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SyncStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(Windows::ApplicationModel::UserDataTasks::UserDataTaskStoreAccessType accessType, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStoreAsync(accessType)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SortProperty(Windows::ApplicationModel::UserDataTasks::UserDataTaskQuerySortProperty * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SortProperty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SortProperty(Windows::ApplicationModel::UserDataTasks::UserDataTaskQuerySortProperty value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SortProperty(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::UserDataTasks::UserDataTaskQueryKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::ApplicationModel::UserDataTasks::UserDataTaskQueryKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Unit(Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceUnit * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Unit(Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceUnit value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Occurrences(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Occurrences()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Occurrences(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Occurrences(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Until(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Until()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Until(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Until(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Interval(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Interval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Interval(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Interval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DaysOfWeek(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DaysOfWeek()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DaysOfWeek(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DaysOfWeek(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekOfMonth(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekOfMonth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WeekOfMonth(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WeekOfMonth(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Month(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Month()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Month(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Month(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Day(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Day()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Day(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Day(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Unit(Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationUnit * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Unit(Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationUnit value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Occurrences(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Occurrences()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Occurrences(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Occurrences(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Until(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Until()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Until(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Until(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Interval(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Interval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Interval(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Interval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateListAsync(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateListAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateListInAccountAsync(impl::abi_arg_in name, impl::abi_arg_in userDataAccountId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateListAsync(*reinterpret_cast(&name), *reinterpret_cast(&userDataAccountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindListsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindListsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetListAsync(impl::abi_arg_in taskListId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetListAsync(*reinterpret_cast(&taskListId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::UserDataTasks { + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskManager impl_IUserDataTaskManagerStatics::GetDefault() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskManager result { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskManagerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskManager impl_IUserDataTaskManagerStatics::GetForUser(const Windows::System::User & user) const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskManager result { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskManagerStatics)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskManager::RequestStoreAsync(Windows::ApplicationModel::UserDataTasks::UserDataTaskStoreAccessType accessType) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskManager)->abi_RequestStoreAsync(accessType, put_abi(operation))); + return operation; +} + +template Windows::System::User impl_IUserDataTaskManager::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskManager)->get_User(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskStore::CreateListAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskStore)->abi_CreateListAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskStore::CreateListAsync(hstring_view name, hstring_view userDataAccountId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataTaskStore)->abi_CreateListInAccountAsync(get_abi(name), get_abi(userDataAccountId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserDataTaskStore::FindListsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IUserDataTaskStore)->abi_FindListsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskStore::GetListAsync(hstring_view taskListId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskStore)->abi_GetListAsync(get_abi(taskListId), put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskQuerySortProperty impl_IUserDataTaskQueryOptions::SortProperty() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskQuerySortProperty value {}; + check_hresult(WINRT_SHIM(IUserDataTaskQueryOptions)->get_SortProperty(&value)); + return value; +} + +template void impl_IUserDataTaskQueryOptions::SortProperty(Windows::ApplicationModel::UserDataTasks::UserDataTaskQuerySortProperty value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskQueryOptions)->put_SortProperty(value)); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskQueryKind impl_IUserDataTaskQueryOptions::Kind() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskQueryKind value {}; + check_hresult(WINRT_SHIM(IUserDataTaskQueryOptions)->get_Kind(&value)); + return value; +} + +template void impl_IUserDataTaskQueryOptions::Kind(Windows::ApplicationModel::UserDataTasks::UserDataTaskQueryKind value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskQueryOptions)->put_Kind(value)); +} + +template hstring impl_IUserDataTaskList::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IUserDataTaskList::UserDataAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_UserDataAccountId(put_abi(value))); + return value; +} + +template hstring impl_IUserDataTaskList::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskList::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskList)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IUserDataTaskList::SourceDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_SourceDisplayName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppReadAccess impl_IUserDataTaskList::OtherAppReadAccess() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppReadAccess value {}; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_OtherAppReadAccess(&value)); + return value; +} + +template void impl_IUserDataTaskList::OtherAppReadAccess(Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppReadAccess value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskList)->put_OtherAppReadAccess(value)); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppWriteAccess impl_IUserDataTaskList::OtherAppWriteAccess() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppWriteAccess value {}; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_OtherAppWriteAccess(&value)); + return value; +} + +template void impl_IUserDataTaskList::OtherAppWriteAccess(Windows::ApplicationModel::UserDataTasks::UserDataTaskListOtherAppWriteAccess value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskList)->put_OtherAppWriteAccess(value)); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskListLimitedWriteOperations impl_IUserDataTaskList::LimitedWriteOperations() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskListLimitedWriteOperations value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_LimitedWriteOperations(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncManager impl_IUserDataTaskList::SyncManager() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncManager value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskList)->get_SyncManager(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskList::RegisterSyncManagerAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_RegisterSyncManagerAsync(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskReader impl_IUserDataTaskList::GetTaskReader() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskReader result { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_GetTaskReader(put_abi(result))); + return result; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskReader impl_IUserDataTaskList::GetTaskReader(const Windows::ApplicationModel::UserDataTasks::UserDataTaskQueryOptions & options) const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskReader value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_GetTaskReaderWithOptions(get_abi(options), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskList::GetTaskAsync(hstring_view userDataTask) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_GetTaskAsync(get_abi(userDataTask), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskList::SaveTaskAsync(const Windows::ApplicationModel::UserDataTasks::UserDataTask & userDataTask) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_SaveTaskAsync(get_abi(userDataTask), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskList::DeleteTaskAsync(hstring_view userDataTaskId) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_DeleteTaskAsync(get_abi(userDataTaskId), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskList::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_DeleteAsync(put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IUserDataTaskList::SaveAsync() const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IUserDataTaskList)->abi_SaveAsync(put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskListLimitedWriteOperations::TryCompleteTaskAsync(hstring_view userDataTaskId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskListLimitedWriteOperations)->abi_TryCompleteTaskAsync(get_abi(userDataTaskId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskListLimitedWriteOperations::TryCreateOrUpdateTaskAsync(const Windows::ApplicationModel::UserDataTasks::UserDataTask & userDataTask) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskListLimitedWriteOperations)->abi_TryCreateOrUpdateTaskAsync(get_abi(userDataTask), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskListLimitedWriteOperations::TryDeleteTaskAsync(hstring_view userDataTaskId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskListLimitedWriteOperations)->abi_TryDeleteTaskAsync(get_abi(userDataTaskId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskListLimitedWriteOperations::TrySkipOccurrenceAsync(hstring_view userDataTaskId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserDataTaskListLimitedWriteOperations)->abi_TrySkipOccurrenceAsync(get_abi(userDataTaskId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IUserDataTaskBatch::Tasks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUserDataTaskBatch)->get_Tasks(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataTaskReader)->abi_ReadBatchAsync(put_abi(result))); + return result; +} + +template hstring impl_IUserDataTask::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IUserDataTask::ListId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_ListId(put_abi(value))); + return value; +} + +template hstring impl_IUserDataTask::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_RemoteId(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTask::CompletedDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_CompletedDate(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::CompletedDate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_CompletedDate(get_abi(value))); +} + +template hstring impl_IUserDataTask::Details() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_Details(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::Details(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_Details(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskDetailsKind impl_IUserDataTask::DetailsKind() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskDetailsKind value {}; + check_hresult(WINRT_SHIM(IUserDataTask)->get_DetailsKind(&value)); + return value; +} + +template void impl_IUserDataTask::DetailsKind(Windows::ApplicationModel::UserDataTasks::UserDataTaskDetailsKind value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_DetailsKind(value)); +} + +template Windows::Foundation::IReference impl_IUserDataTask::DueDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_DueDate(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::DueDate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_DueDate(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskKind impl_IUserDataTask::Kind() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskKind value {}; + check_hresult(WINRT_SHIM(IUserDataTask)->get_Kind(&value)); + return value; +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskPriority impl_IUserDataTask::Priority() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskPriority value {}; + check_hresult(WINRT_SHIM(IUserDataTask)->get_Priority(&value)); + return value; +} + +template void impl_IUserDataTask::Priority(Windows::ApplicationModel::UserDataTasks::UserDataTaskPriority value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_Priority(value)); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceProperties impl_IUserDataTask::RecurrenceProperties() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceProperties value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTask)->get_RecurrenceProperties(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::RecurrenceProperties(const Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceProperties & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_RecurrenceProperties(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationProperties impl_IUserDataTask::RegenerationProperties() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationProperties value { nullptr }; + check_hresult(WINRT_SHIM(IUserDataTask)->get_RegenerationProperties(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::RegenerationProperties(const Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationProperties & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_RegenerationProperties(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTask::Reminder() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_Reminder(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::Reminder(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_Reminder(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskSensitivity impl_IUserDataTask::Sensitivity() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskSensitivity value {}; + check_hresult(WINRT_SHIM(IUserDataTask)->get_Sensitivity(&value)); + return value; +} + +template void impl_IUserDataTask::Sensitivity(Windows::ApplicationModel::UserDataTasks::UserDataTaskSensitivity value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_Sensitivity(value)); +} + +template hstring impl_IUserDataTask::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_Subject(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::Subject(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_Subject(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTask::StartDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTask)->get_StartDate(put_abi(value))); + return value; +} + +template void impl_IUserDataTask::StartDate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTask)->put_StartDate(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceUnit impl_IUserDataTaskRecurrenceProperties::Unit() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceUnit value {}; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_Unit(&value)); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::Unit(Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceUnit value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_Unit(value)); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRecurrenceProperties::Occurrences() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_Occurrences(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::Occurrences(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_Occurrences(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRecurrenceProperties::Until() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_Until(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::Until(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_Until(get_abi(value))); +} + +template int32_t impl_IUserDataTaskRecurrenceProperties::Interval() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_Interval(&value)); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::Interval(int32_t value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_Interval(value)); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRecurrenceProperties::DaysOfWeek() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_DaysOfWeek(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::DaysOfWeek(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_DaysOfWeek(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRecurrenceProperties::WeekOfMonth() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_WeekOfMonth(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::WeekOfMonth(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_WeekOfMonth(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRecurrenceProperties::Month() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_Month(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::Month(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_Month(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRecurrenceProperties::Day() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->get_Day(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRecurrenceProperties::Day(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRecurrenceProperties)->put_Day(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationUnit impl_IUserDataTaskRegenerationProperties::Unit() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationUnit value {}; + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->get_Unit(&value)); + return value; +} + +template void impl_IUserDataTaskRegenerationProperties::Unit(Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationUnit value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->put_Unit(value)); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRegenerationProperties::Occurrences() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->get_Occurrences(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRegenerationProperties::Occurrences(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->put_Occurrences(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUserDataTaskRegenerationProperties::Until() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->get_Until(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskRegenerationProperties::Until(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->put_Until(get_abi(value))); +} + +template int32_t impl_IUserDataTaskRegenerationProperties::Interval() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->get_Interval(&value)); + return value; +} + +template void impl_IUserDataTaskRegenerationProperties::Interval(int32_t value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskRegenerationProperties)->put_Interval(value)); +} + +template Windows::Foundation::DateTime impl_IUserDataTaskListSyncManager::LastAttemptedSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->get_LastAttemptedSyncTime(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskListSyncManager::LastAttemptedSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->put_LastAttemptedSyncTime(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_IUserDataTaskListSyncManager::LastSuccessfulSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->get_LastSuccessfulSyncTime(put_abi(value))); + return value; +} + +template void impl_IUserDataTaskListSyncManager::LastSuccessfulSyncTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->put_LastSuccessfulSyncTime(get_abi(value))); +} + +template Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncStatus impl_IUserDataTaskListSyncManager::Status() const +{ + Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncStatus value {}; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->get_Status(&value)); + return value; +} + +template void impl_IUserDataTaskListSyncManager::Status(Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncStatus value) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->put_Status(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IUserDataTaskListSyncManager::SyncAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->abi_SyncAsync(put_abi(result))); + return result; +} + +template event_token impl_IUserDataTaskListSyncManager::SyncStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->add_SyncStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDataTaskListSyncManager::SyncStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::UserDataTasks::IUserDataTaskListSyncManager::remove_SyncStatusChanged, SyncStatusChanged(handler)); +} + +template void impl_IUserDataTaskListSyncManager::SyncStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDataTaskListSyncManager)->remove_SyncStatusChanged(token)); +} + +inline UserDataTask::UserDataTask() : + UserDataTask(activate_instance()) +{} + +inline Windows::ApplicationModel::UserDataTasks::UserDataTaskManager UserDataTaskManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::ApplicationModel::UserDataTasks::UserDataTaskManager UserDataTaskManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline UserDataTaskQueryOptions::UserDataTaskQueryOptions() : + UserDataTaskQueryOptions(activate_instance()) +{} + +inline UserDataTaskRecurrenceProperties::UserDataTaskRecurrenceProperties() : + UserDataTaskRecurrenceProperties(activate_instance()) +{} + +inline UserDataTaskRegenerationProperties::UserDataTaskRegenerationProperties() : + UserDataTaskRegenerationProperties(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskListLimitedWriteOperations & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskListSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskRecurrenceProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskRegenerationProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::IUserDataTaskStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskListLimitedWriteOperations & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskListSyncManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskRecurrenceProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskRegenerationProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::UserDataTasks::UserDataTaskStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.VoiceCommands.h b/10.0.15042.0/winrt/Windows.ApplicationModel.VoiceCommands.h new file mode 100644 index 000000000..a68c0660d --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.VoiceCommands.h @@ -0,0 +1,1461 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.SpeechRecognition.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.ApplicationModel.AppService.3.h" +#include "internal/Windows.ApplicationModel.VoiceCommands.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CommandName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpeechRecognitionResult(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpeechRecognitionResult()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::ApplicationModel::VoiceCommands::VoiceCommandCompletionReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Confirmed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Confirmed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLine1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLine1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextLine1(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextLine1(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLine2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLine2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextLine2(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextLine2(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLine3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLine3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextLine3(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextLine3(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Image(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Image()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Image(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Image(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppContext(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppContext(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppLaunchArgument(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppLaunchArgument()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppLaunchArgument(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppLaunchArgument(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTileType(Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTileType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTileType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTileType(Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTileType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTileType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPhraseListAsync(impl::abi_arg_in phraseListName, impl::abi_arg_in> phraseList, impl::abi_arg_out updateAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updateAction = detach_abi(this->shim().SetPhraseListAsync(*reinterpret_cast(&phraseListName), *reinterpret_cast *>(&phraseList))); + return S_OK; + } + catch (...) + { + *updateAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InstallCommandDefinitionsFromStorageFileAsync(impl::abi_arg_in file, impl::abi_arg_out installAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *installAction = detach_abi(this->shim().InstallCommandDefinitionsFromStorageFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *installAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstalledCommandDefinitions(impl::abi_arg_out> voiceCommandDefinitions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *voiceCommandDefinitions = detach_abi(this->shim().InstalledCommandDefinitions()); + return S_OK; + } + catch (...) + { + *voiceCommandDefinitions = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Message(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Message(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RepeatMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RepeatMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RepeatMessage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RepeatMessage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppLaunchArgument(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppLaunchArgument()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppLaunchArgument(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppLaunchArgument(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VoiceCommandContentTiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VoiceCommandContentTiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxSupportedVoiceCommandContentTiles(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSupportedVoiceCommandContentTiles()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateResponse(impl::abi_arg_in userMessage, impl::abi_arg_out response) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *response = detach_abi(this->shim().CreateResponse(*reinterpret_cast(&userMessage))); + return S_OK; + } + catch (...) + { + *response = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateResponseWithTiles(impl::abi_arg_in message, impl::abi_arg_in> contentTiles, impl::abi_arg_out response) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *response = detach_abi(this->shim().CreateResponse(*reinterpret_cast(&message), *reinterpret_cast *>(&contentTiles))); + return S_OK; + } + catch (...) + { + *response = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateResponseForPrompt(impl::abi_arg_in message, impl::abi_arg_in repeatMessage, impl::abi_arg_out response) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *response = detach_abi(this->shim().CreateResponseForPrompt(*reinterpret_cast(&message), *reinterpret_cast(&repeatMessage))); + return S_OK; + } + catch (...) + { + *response = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateResponseForPromptWithTiles(impl::abi_arg_in message, impl::abi_arg_in repeatMessage, impl::abi_arg_in> contentTiles, impl::abi_arg_out response) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *response = detach_abi(this->shim().CreateResponseForPrompt(*reinterpret_cast(&message), *reinterpret_cast(&repeatMessage), *reinterpret_cast *>(&contentTiles))); + return S_OK; + } + catch (...) + { + *response = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetVoiceCommandAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetVoiceCommandAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestConfirmationAsync(impl::abi_arg_in response, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestConfirmationAsync(*reinterpret_cast(&response))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDisambiguationAsync(impl::abi_arg_in response, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDisambiguationAsync(*reinterpret_cast(&response))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportProgressAsync(impl::abi_arg_in response, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().ReportProgressAsync(*reinterpret_cast(&response))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportSuccessAsync(impl::abi_arg_in response, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().ReportSuccessAsync(*reinterpret_cast(&response))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportFailureAsync(impl::abi_arg_in response, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().ReportFailureAsync(*reinterpret_cast(&response))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAppLaunchAsync(impl::abi_arg_in response, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().RequestAppLaunchAsync(*reinterpret_cast(&response))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out language) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *language = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *language = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VoiceCommandCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VoiceCommandCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VoiceCommandCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VoiceCommandCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromAppServiceTriggerDetails(impl::abi_arg_in triggerDetails, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromAppServiceTriggerDetails(*reinterpret_cast(&triggerDetails))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMessage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMessage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpokenMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpokenMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpokenMessage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpokenMessage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::VoiceCommands { + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandDefinitionManagerStatics::InstallCommandDefinitionsFromStorageFileAsync(const Windows::Storage::StorageFile & file) const +{ + Windows::Foundation::IAsyncAction installAction; + check_hresult(WINRT_SHIM(IVoiceCommandDefinitionManagerStatics)->abi_InstallCommandDefinitionsFromStorageFileAsync(get_abi(file), put_abi(installAction))); + return installAction; +} + +template Windows::Foundation::Collections::IMapView impl_IVoiceCommandDefinitionManagerStatics::InstalledCommandDefinitions() const +{ + Windows::Foundation::Collections::IMapView voiceCommandDefinitions; + check_hresult(WINRT_SHIM(IVoiceCommandDefinitionManagerStatics)->get_InstalledCommandDefinitions(put_abi(voiceCommandDefinitions))); + return voiceCommandDefinitions; +} + +template hstring impl_IVoiceCommandDefinition::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandDefinition)->get_Language(put_abi(value))); + return value; +} + +template hstring impl_IVoiceCommandDefinition::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandDefinition)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandDefinition::SetPhraseListAsync(hstring_view phraseListName, iterable phraseList) const +{ + Windows::Foundation::IAsyncAction updateAction; + check_hresult(WINRT_SHIM(IVoiceCommandDefinition)->abi_SetPhraseListAsync(get_abi(phraseListName), get_abi(phraseList), put_abi(updateAction))); + return updateAction; +} + +template hstring impl_IVoiceCommandContentTile::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_Title(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandContentTile::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_Title(get_abi(value))); +} + +template hstring impl_IVoiceCommandContentTile::TextLine1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_TextLine1(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandContentTile::TextLine1(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_TextLine1(get_abi(value))); +} + +template hstring impl_IVoiceCommandContentTile::TextLine2() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_TextLine2(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandContentTile::TextLine2(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_TextLine2(get_abi(value))); +} + +template hstring impl_IVoiceCommandContentTile::TextLine3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_TextLine3(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandContentTile::TextLine3(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_TextLine3(get_abi(value))); +} + +template Windows::Storage::IStorageFile impl_IVoiceCommandContentTile::Image() const +{ + Windows::Storage::IStorageFile value; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_Image(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandContentTile::Image(const Windows::Storage::IStorageFile & value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_Image(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IVoiceCommandContentTile::AppContext() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_AppContext(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandContentTile::AppContext(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_AppContext(get_abi(value))); +} + +template hstring impl_IVoiceCommandContentTile::AppLaunchArgument() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_AppLaunchArgument(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandContentTile::AppLaunchArgument(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_AppLaunchArgument(get_abi(value))); +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTileType impl_IVoiceCommandContentTile::ContentTileType() const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTileType value {}; + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->get_ContentTileType(&value)); + return value; +} + +template void impl_IVoiceCommandContentTile::ContentTileType(Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTileType value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandContentTile)->put_ContentTileType(value)); +} + +template hstring impl_IVoiceCommandUserMessage::DisplayMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandUserMessage)->get_DisplayMessage(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandUserMessage::DisplayMessage(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandUserMessage)->put_DisplayMessage(get_abi(value))); +} + +template hstring impl_IVoiceCommandUserMessage::SpokenMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandUserMessage)->get_SpokenMessage(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandUserMessage::SpokenMessage(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandUserMessage)->put_SpokenMessage(get_abi(value))); +} + +template hstring impl_IVoiceCommand::CommandName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommand)->get_CommandName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView> impl_IVoiceCommand::Properties() const +{ + Windows::Foundation::Collections::IMapView> value; + check_hresult(WINRT_SHIM(IVoiceCommand)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionResult impl_IVoiceCommand::SpeechRecognitionResult() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionResult value { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommand)->get_SpeechRecognitionResult(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandCompletionReason impl_IVoiceCommandCompletedEventArgs::Reason() const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandCompletionReason value {}; + check_hresult(WINRT_SHIM(IVoiceCommandCompletedEventArgs)->get_Reason(&value)); + return value; +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTile impl_IVoiceCommandDisambiguationResult::SelectedItem() const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTile value { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandDisambiguationResult)->get_SelectedItem(put_abi(value))); + return value; +} + +template bool impl_IVoiceCommandConfirmationResult::Confirmed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVoiceCommandConfirmationResult)->get_Confirmed(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IVoiceCommandServiceConnection::GetVoiceCommandAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->abi_GetVoiceCommandAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVoiceCommandServiceConnection::RequestConfirmationAsync(const Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse & response) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->abi_RequestConfirmationAsync(get_abi(response), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVoiceCommandServiceConnection::RequestDisambiguationAsync(const Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse & response) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->abi_RequestDisambiguationAsync(get_abi(response), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandServiceConnection::ReportProgressAsync(const Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse & response) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->abi_ReportProgressAsync(get_abi(response), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandServiceConnection::ReportSuccessAsync(const Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse & response) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->abi_ReportSuccessAsync(get_abi(response), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandServiceConnection::ReportFailureAsync(const Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse & response) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->abi_ReportFailureAsync(get_abi(response), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandServiceConnection::RequestAppLaunchAsync(const Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse & response) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->abi_RequestAppLaunchAsync(get_abi(response), put_abi(action))); + return action; +} + +template Windows::Globalization::Language impl_IVoiceCommandServiceConnection::Language() const +{ + Windows::Globalization::Language language { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->get_Language(put_abi(language))); + return language; +} + +template event_token impl_IVoiceCommandServiceConnection::VoiceCommandCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->add_VoiceCommandCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVoiceCommandServiceConnection::VoiceCommandCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::VoiceCommands::IVoiceCommandServiceConnection::remove_VoiceCommandCompleted, VoiceCommandCompleted(handler)); +} + +template void impl_IVoiceCommandServiceConnection::VoiceCommandCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnection)->remove_VoiceCommandCompleted(token)); +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandServiceConnection impl_IVoiceCommandServiceConnectionStatics::FromAppServiceTriggerDetails(const Windows::ApplicationModel::AppService::AppServiceTriggerDetails & triggerDetails) const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandServiceConnection value { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandServiceConnectionStatics)->abi_FromAppServiceTriggerDetails(get_abi(triggerDetails), put_abi(value))); + return value; +} + +template uint32_t impl_IVoiceCommandResponseStatics::MaxSupportedVoiceCommandContentTiles() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVoiceCommandResponseStatics)->get_MaxSupportedVoiceCommandContentTiles(&value)); + return value; +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse impl_IVoiceCommandResponseStatics::CreateResponse(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & userMessage) const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse response { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandResponseStatics)->abi_CreateResponse(get_abi(userMessage), put_abi(response))); + return response; +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse impl_IVoiceCommandResponseStatics::CreateResponse(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & message, iterable contentTiles) const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse response { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandResponseStatics)->abi_CreateResponseWithTiles(get_abi(message), get_abi(contentTiles), put_abi(response))); + return response; +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse impl_IVoiceCommandResponseStatics::CreateResponseForPrompt(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & message, const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & repeatMessage) const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse response { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandResponseStatics)->abi_CreateResponseForPrompt(get_abi(message), get_abi(repeatMessage), put_abi(response))); + return response; +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse impl_IVoiceCommandResponseStatics::CreateResponseForPrompt(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & message, const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & repeatMessage, iterable contentTiles) const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse response { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandResponseStatics)->abi_CreateResponseForPromptWithTiles(get_abi(message), get_abi(repeatMessage), get_abi(contentTiles), put_abi(response))); + return response; +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage impl_IVoiceCommandResponse::Message() const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage value { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandResponse)->get_Message(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandResponse::Message(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandResponse)->put_Message(get_abi(value))); +} + +template Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage impl_IVoiceCommandResponse::RepeatMessage() const +{ + Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage value { nullptr }; + check_hresult(WINRT_SHIM(IVoiceCommandResponse)->get_RepeatMessage(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandResponse::RepeatMessage(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandResponse)->put_RepeatMessage(get_abi(value))); +} + +template hstring impl_IVoiceCommandResponse::AppLaunchArgument() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandResponse)->get_AppLaunchArgument(put_abi(value))); + return value; +} + +template void impl_IVoiceCommandResponse::AppLaunchArgument(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVoiceCommandResponse)->put_AppLaunchArgument(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVoiceCommandResponse::VoiceCommandContentTiles() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVoiceCommandResponse)->get_VoiceCommandContentTiles(put_abi(value))); + return value; +} + +inline VoiceCommandContentTile::VoiceCommandContentTile() : + VoiceCommandContentTile(activate_instance()) +{} + +inline Windows::Foundation::IAsyncAction VoiceCommandDefinitionManager::InstallCommandDefinitionsFromStorageFileAsync(const Windows::Storage::StorageFile & file) +{ + return get_activation_factory().InstallCommandDefinitionsFromStorageFileAsync(file); +} + +inline Windows::Foundation::Collections::IMapView VoiceCommandDefinitionManager::InstalledCommandDefinitions() +{ + return get_activation_factory().InstalledCommandDefinitions(); +} + +inline uint32_t VoiceCommandResponse::MaxSupportedVoiceCommandContentTiles() +{ + return get_activation_factory().MaxSupportedVoiceCommandContentTiles(); +} + +inline Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse VoiceCommandResponse::CreateResponse(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & userMessage) +{ + return get_activation_factory().CreateResponse(userMessage); +} + +inline Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse VoiceCommandResponse::CreateResponse(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & message, iterable contentTiles) +{ + return get_activation_factory().CreateResponse(message, contentTiles); +} + +inline Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse VoiceCommandResponse::CreateResponseForPrompt(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & message, const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & repeatMessage) +{ + return get_activation_factory().CreateResponseForPrompt(message, repeatMessage); +} + +inline Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse VoiceCommandResponse::CreateResponseForPrompt(const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & message, const Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & repeatMessage, iterable contentTiles) +{ + return get_activation_factory().CreateResponseForPrompt(message, repeatMessage, contentTiles); +} + +inline Windows::ApplicationModel::VoiceCommands::VoiceCommandServiceConnection VoiceCommandServiceConnection::FromAppServiceTriggerDetails(const Windows::ApplicationModel::AppService::AppServiceTriggerDetails & triggerDetails) +{ + return get_activation_factory().FromAppServiceTriggerDetails(triggerDetails); +} + +inline VoiceCommandUserMessage::VoiceCommandUserMessage() : + VoiceCommandUserMessage(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandConfirmationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandContentTile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandDefinitionManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandDisambiguationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandResponseStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandServiceConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandServiceConnectionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::IVoiceCommandUserMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandConfirmationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandContentTile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandDisambiguationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandServiceConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::VoiceCommands::VoiceCommandUserMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Wallet.System.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Wallet.System.h new file mode 100644 index 000000000..866e7e4fb --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Wallet.System.h @@ -0,0 +1,256 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Wallet.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.ApplicationModel.Wallet.System.3.h" +#include "Windows.ApplicationModel.Wallet.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetItemsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_in item, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAsync(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportItemAsync(impl::abi_arg_in stream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ImportItemAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppStatusForItem(impl::abi_arg_in item, Windows::ApplicationModel::Wallet::System::WalletItemAppAssociation * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAppStatusForItem(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchAppForItemAsync(impl::abi_arg_in item, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchAppForItemAsync(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ItemsChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ItemsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemsChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStoreAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Wallet::System { + +template Windows::Foundation::IAsyncOperation> impl_IWalletItemSystemStore::GetItemsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IWalletItemSystemStore)->abi_GetItemsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IWalletItemSystemStore::DeleteAsync(const Windows::ApplicationModel::Wallet::WalletItem & item) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWalletItemSystemStore)->abi_DeleteAsync(get_abi(item), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IWalletItemSystemStore::ImportItemAsync(const Windows::Storage::Streams::IRandomAccessStreamReference & stream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWalletItemSystemStore)->abi_ImportItemAsync(get_abi(stream), put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Wallet::System::WalletItemAppAssociation impl_IWalletItemSystemStore::GetAppStatusForItem(const Windows::ApplicationModel::Wallet::WalletItem & item) const +{ + Windows::ApplicationModel::Wallet::System::WalletItemAppAssociation result {}; + check_hresult(WINRT_SHIM(IWalletItemSystemStore)->abi_GetAppStatusForItem(get_abi(item), &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IWalletItemSystemStore::LaunchAppForItemAsync(const Windows::ApplicationModel::Wallet::WalletItem & item) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWalletItemSystemStore)->abi_LaunchAppForItemAsync(get_abi(item), put_abi(operation))); + return operation; +} + +template event_token impl_IWalletItemSystemStore2::ItemsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IWalletItemSystemStore2)->add_ItemsChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IWalletItemSystemStore2::ItemsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Wallet::System::IWalletItemSystemStore2::remove_ItemsChanged, ItemsChanged(handler)); +} + +template void impl_IWalletItemSystemStore2::ItemsChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IWalletItemSystemStore2)->remove_ItemsChanged(cookie)); +} + +template Windows::Foundation::IAsyncOperation impl_IWalletManagerSystemStatics::RequestStoreAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWalletManagerSystemStatics)->abi_RequestStoreAsync(put_abi(operation))); + return operation; +} + +inline Windows::Foundation::IAsyncOperation WalletManagerSystem::RequestStoreAsync() +{ + return get_activation_factory().RequestStoreAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::System::IWalletItemSystemStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::System::IWalletItemSystemStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::System::IWalletManagerSystemStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::System::WalletItemSystemStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.Wallet.h b/10.0.15042.0/winrt/Windows.ApplicationModel.Wallet.h new file mode 100644 index 000000000..eff5b95aa --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.Wallet.h @@ -0,0 +1,2391 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.ApplicationModel.Wallet.3.h" +#include "Windows.ApplicationModel.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Symbology(Windows::ApplicationModel::Wallet::WalletBarcodeSymbology * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Symbology()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetImageAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetImageAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWalletBarcode(Windows::ApplicationModel::Wallet::WalletBarcodeSymbology symbology, impl::abi_arg_in value, impl::abi_arg_out barcode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *barcode = detach_abi(this->shim().CreateWalletBarcode(symbology, *reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *barcode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCustomWalletBarcode(impl::abi_arg_in streamToBarcodeImage, impl::abi_arg_out barcode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *barcode = detach_abi(this->shim().CreateCustomWalletBarcode(*reinterpret_cast(&streamToBarcodeImage))); + return S_OK; + } + catch (...) + { + *barcode = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAcknowledged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAcknowledged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAcknowledged(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAcknowledged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IssuerDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IssuerDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IssuerDisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IssuerDisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastUpdated(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastUpdated()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LastUpdated(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LastUpdated(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::ApplicationModel::Wallet::WalletItemKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Barcode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Barcode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Barcode(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Barcode(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationDate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationDate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Logo159x159(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo159x159()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Logo159x159(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Logo159x159(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Logo336x336(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo336x336()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Logo336x336(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Logo336x336(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Logo99x99(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo99x99()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Logo99x99(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Logo99x99(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMessage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMessage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDisplayMessageLaunchable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisplayMessageLaunchable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDisplayMessageLaunchable(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDisplayMessageLaunchable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogoText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogoText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LogoText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogoText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BodyColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BodyColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BodyColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BodyColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderFontColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderFontColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderFontColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderFontColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BodyFontColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BodyFontColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BodyFontColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BodyFontColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderBackgroundImage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderBackgroundImage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderBackgroundImage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderBackgroundImage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BodyBackgroundImage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BodyBackgroundImage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BodyBackgroundImage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BodyBackgroundImage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogoImage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogoImage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LogoImage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogoImage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PromotionalImage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PromotionalImage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PromotionalImage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PromotionalImage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelevantDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelevantDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelevantDate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelevantDate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelevantDateDisplayMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelevantDateDisplayMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelevantDateDisplayMessage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelevantDateDisplayMessage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransactionHistory(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransactionHistory()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelevantLocations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelevantLocations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMoreTransactionHistoryLaunchable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMoreTransactionHistoryLaunchable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMoreTransactionHistoryLaunchable(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMoreTransactionHistoryLaunchable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Verbs(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Verbs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoDetectLinks(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoDetectLinks()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoDetectLinks(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoDetectLinks(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DetailViewPosition(Windows::ApplicationModel::Wallet::WalletDetailViewPosition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetailViewPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DetailViewPosition(Windows::ApplicationModel::Wallet::WalletDetailViewPosition value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DetailViewPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SummaryViewPosition(Windows::ApplicationModel::Wallet::WalletSummaryViewPosition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SummaryViewPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SummaryViewPosition(Windows::ApplicationModel::Wallet::WalletSummaryViewPosition value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SummaryViewPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWalletItemCustomProperty(impl::abi_arg_in name, impl::abi_arg_in value, impl::abi_arg_out walletItemCustomProperty) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *walletItemCustomProperty = detach_abi(this->shim().CreateWalletItemCustomProperty(*reinterpret_cast(&name), *reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *walletItemCustomProperty = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWalletItem(Windows::ApplicationModel::Wallet::WalletItemKind kind, impl::abi_arg_in displayName, impl::abi_arg_out walletItem) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *walletItem = detach_abi(this->shim().CreateWalletItem(kind, *reinterpret_cast(&displayName))); + return S_OK; + } + catch (...) + { + *walletItem = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddAsync(impl::abi_arg_in id, impl::abi_arg_in item, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddAsync(*reinterpret_cast(&id), *reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClearAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetWalletItemAsync(impl::abi_arg_in id, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetWalletItemAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemsWithKindAsync(Windows::ApplicationModel::Wallet::WalletItemKind kind, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync(kind)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportItemAsync(impl::abi_arg_in stream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ImportItemAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_in id, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowItemAsync(impl::abi_arg_in id, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAsync(impl::abi_arg_in item, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateAsync(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ItemsChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ItemsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemsChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStoreAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMessage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMessage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayAmount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayAmount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayAmount(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayAmount(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IgnoreTimeOfDay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IgnoreTimeOfDay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IgnoreTimeOfDay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IgnoreTimeOfDay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayLocation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayLocation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransactionDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransactionDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransactionDate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransactionDate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLaunchable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLaunchable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLaunchable(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLaunchable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWalletVerb(impl::abi_arg_in name, impl::abi_arg_out WalletVerb) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *WalletVerb = detach_abi(this->shim().CreateWalletVerb(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *WalletVerb = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel::Wallet { + +template Windows::ApplicationModel::Wallet::WalletBarcodeSymbology impl_IWalletBarcode::Symbology() const +{ + Windows::ApplicationModel::Wallet::WalletBarcodeSymbology value {}; + check_hresult(WINRT_SHIM(IWalletBarcode)->get_Symbology(&value)); + return value; +} + +template hstring impl_IWalletBarcode::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletBarcode)->get_Value(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IWalletBarcode::GetImageAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWalletBarcode)->abi_GetImageAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IWalletItemCustomProperty::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->get_Name(put_abi(value))); + return value; +} + +template void impl_IWalletItemCustomProperty::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->put_Name(get_abi(value))); +} + +template hstring impl_IWalletItemCustomProperty::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->get_Value(put_abi(value))); + return value; +} + +template void impl_IWalletItemCustomProperty::Value(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->put_Value(get_abi(value))); +} + +template bool impl_IWalletItemCustomProperty::AutoDetectLinks() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->get_AutoDetectLinks(&value)); + return value; +} + +template void impl_IWalletItemCustomProperty::AutoDetectLinks(bool value) const +{ + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->put_AutoDetectLinks(value)); +} + +template Windows::ApplicationModel::Wallet::WalletDetailViewPosition impl_IWalletItemCustomProperty::DetailViewPosition() const +{ + Windows::ApplicationModel::Wallet::WalletDetailViewPosition value {}; + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->get_DetailViewPosition(&value)); + return value; +} + +template void impl_IWalletItemCustomProperty::DetailViewPosition(Windows::ApplicationModel::Wallet::WalletDetailViewPosition value) const +{ + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->put_DetailViewPosition(value)); +} + +template Windows::ApplicationModel::Wallet::WalletSummaryViewPosition impl_IWalletItemCustomProperty::SummaryViewPosition() const +{ + Windows::ApplicationModel::Wallet::WalletSummaryViewPosition value {}; + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->get_SummaryViewPosition(&value)); + return value; +} + +template void impl_IWalletItemCustomProperty::SummaryViewPosition(Windows::ApplicationModel::Wallet::WalletSummaryViewPosition value) const +{ + check_hresult(WINRT_SHIM(IWalletItemCustomProperty)->put_SummaryViewPosition(value)); +} + +template hstring impl_IWalletVerb::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletVerb)->get_Name(put_abi(value))); + return value; +} + +template void impl_IWalletVerb::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletVerb)->put_Name(get_abi(value))); +} + +template hstring impl_IWalletItem::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItem)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IWalletItem::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IWalletItem::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItem)->get_Id(put_abi(value))); + return value; +} + +template bool impl_IWalletItem::IsAcknowledged() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_IsAcknowledged(&value)); + return value; +} + +template void impl_IWalletItem::IsAcknowledged(bool value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_IsAcknowledged(value)); +} + +template hstring impl_IWalletItem::IssuerDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItem)->get_IssuerDisplayName(put_abi(value))); + return value; +} + +template void impl_IWalletItem::IssuerDisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_IssuerDisplayName(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IWalletItem::LastUpdated() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_LastUpdated(put_abi(value))); + return value; +} + +template void impl_IWalletItem::LastUpdated(const optional & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_LastUpdated(get_abi(value))); +} + +template Windows::ApplicationModel::Wallet::WalletItemKind impl_IWalletItem::Kind() const +{ + Windows::ApplicationModel::Wallet::WalletItemKind value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_Kind(&value)); + return value; +} + +template Windows::ApplicationModel::Wallet::WalletBarcode impl_IWalletItem::Barcode() const +{ + Windows::ApplicationModel::Wallet::WalletBarcode value { nullptr }; + check_hresult(WINRT_SHIM(IWalletItem)->get_Barcode(put_abi(value))); + return value; +} + +template void impl_IWalletItem::Barcode(const Windows::ApplicationModel::Wallet::WalletBarcode & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_Barcode(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IWalletItem::ExpirationDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_ExpirationDate(put_abi(value))); + return value; +} + +template void impl_IWalletItem::ExpirationDate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_ExpirationDate(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IWalletItem::Logo159x159() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_Logo159x159(put_abi(value))); + return value; +} + +template void impl_IWalletItem::Logo159x159(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_Logo159x159(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IWalletItem::Logo336x336() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_Logo336x336(put_abi(value))); + return value; +} + +template void impl_IWalletItem::Logo336x336(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_Logo336x336(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IWalletItem::Logo99x99() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_Logo99x99(put_abi(value))); + return value; +} + +template void impl_IWalletItem::Logo99x99(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_Logo99x99(get_abi(value))); +} + +template hstring impl_IWalletItem::DisplayMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItem)->get_DisplayMessage(put_abi(value))); + return value; +} + +template void impl_IWalletItem::DisplayMessage(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_DisplayMessage(get_abi(value))); +} + +template bool impl_IWalletItem::IsDisplayMessageLaunchable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_IsDisplayMessageLaunchable(&value)); + return value; +} + +template void impl_IWalletItem::IsDisplayMessageLaunchable(bool value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_IsDisplayMessageLaunchable(value)); +} + +template hstring impl_IWalletItem::LogoText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItem)->get_LogoText(put_abi(value))); + return value; +} + +template void impl_IWalletItem::LogoText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_LogoText(get_abi(value))); +} + +template Windows::UI::Color impl_IWalletItem::HeaderColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_HeaderColor(put_abi(value))); + return value; +} + +template void impl_IWalletItem::HeaderColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_HeaderColor(get_abi(value))); +} + +template Windows::UI::Color impl_IWalletItem::BodyColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_BodyColor(put_abi(value))); + return value; +} + +template void impl_IWalletItem::BodyColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_BodyColor(get_abi(value))); +} + +template Windows::UI::Color impl_IWalletItem::HeaderFontColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_HeaderFontColor(put_abi(value))); + return value; +} + +template void impl_IWalletItem::HeaderFontColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_HeaderFontColor(get_abi(value))); +} + +template Windows::UI::Color impl_IWalletItem::BodyFontColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_BodyFontColor(put_abi(value))); + return value; +} + +template void impl_IWalletItem::BodyFontColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_BodyFontColor(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IWalletItem::HeaderBackgroundImage() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_HeaderBackgroundImage(put_abi(value))); + return value; +} + +template void impl_IWalletItem::HeaderBackgroundImage(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_HeaderBackgroundImage(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IWalletItem::BodyBackgroundImage() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_BodyBackgroundImage(put_abi(value))); + return value; +} + +template void impl_IWalletItem::BodyBackgroundImage(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_BodyBackgroundImage(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IWalletItem::LogoImage() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_LogoImage(put_abi(value))); + return value; +} + +template void impl_IWalletItem::LogoImage(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_LogoImage(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IWalletItem::PromotionalImage() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_PromotionalImage(put_abi(value))); + return value; +} + +template void impl_IWalletItem::PromotionalImage(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_PromotionalImage(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IWalletItem::RelevantDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IWalletItem)->get_RelevantDate(put_abi(value))); + return value; +} + +template void impl_IWalletItem::RelevantDate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_RelevantDate(get_abi(value))); +} + +template hstring impl_IWalletItem::RelevantDateDisplayMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletItem)->get_RelevantDateDisplayMessage(put_abi(value))); + return value; +} + +template void impl_IWalletItem::RelevantDateDisplayMessage(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_RelevantDateDisplayMessage(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_IWalletItem::TransactionHistory() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IWalletItem)->get_TransactionHistory(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IWalletItem::RelevantLocations() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IWalletItem)->get_RelevantLocations(put_abi(value))); + return value; +} + +template bool impl_IWalletItem::IsMoreTransactionHistoryLaunchable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWalletItem)->get_IsMoreTransactionHistoryLaunchable(&value)); + return value; +} + +template void impl_IWalletItem::IsMoreTransactionHistoryLaunchable(bool value) const +{ + check_hresult(WINRT_SHIM(IWalletItem)->put_IsMoreTransactionHistoryLaunchable(value)); +} + +template Windows::Foundation::Collections::IMap impl_IWalletItem::DisplayProperties() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IWalletItem)->get_DisplayProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IWalletItem::Verbs() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IWalletItem)->get_Verbs(put_abi(value))); + return value; +} + +template hstring impl_IWalletTransaction::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletTransaction)->get_Description(put_abi(value))); + return value; +} + +template void impl_IWalletTransaction::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletTransaction)->put_Description(get_abi(value))); +} + +template hstring impl_IWalletTransaction::DisplayAmount() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletTransaction)->get_DisplayAmount(put_abi(value))); + return value; +} + +template void impl_IWalletTransaction::DisplayAmount(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletTransaction)->put_DisplayAmount(get_abi(value))); +} + +template bool impl_IWalletTransaction::IgnoreTimeOfDay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWalletTransaction)->get_IgnoreTimeOfDay(&value)); + return value; +} + +template void impl_IWalletTransaction::IgnoreTimeOfDay(bool value) const +{ + check_hresult(WINRT_SHIM(IWalletTransaction)->put_IgnoreTimeOfDay(value)); +} + +template hstring impl_IWalletTransaction::DisplayLocation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletTransaction)->get_DisplayLocation(put_abi(value))); + return value; +} + +template void impl_IWalletTransaction::DisplayLocation(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletTransaction)->put_DisplayLocation(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IWalletTransaction::TransactionDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IWalletTransaction)->get_TransactionDate(put_abi(value))); + return value; +} + +template void impl_IWalletTransaction::TransactionDate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IWalletTransaction)->put_TransactionDate(get_abi(value))); +} + +template bool impl_IWalletTransaction::IsLaunchable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWalletTransaction)->get_IsLaunchable(&value)); + return value; +} + +template void impl_IWalletTransaction::IsLaunchable(bool value) const +{ + check_hresult(WINRT_SHIM(IWalletTransaction)->put_IsLaunchable(value)); +} + +template Windows::Devices::Geolocation::BasicGeoposition impl_IWalletRelevantLocation::Position() const +{ + Windows::Devices::Geolocation::BasicGeoposition value {}; + check_hresult(WINRT_SHIM(IWalletRelevantLocation)->get_Position(put_abi(value))); + return value; +} + +template void impl_IWalletRelevantLocation::Position(const Windows::Devices::Geolocation::BasicGeoposition & value) const +{ + check_hresult(WINRT_SHIM(IWalletRelevantLocation)->put_Position(get_abi(value))); +} + +template hstring impl_IWalletRelevantLocation::DisplayMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWalletRelevantLocation)->get_DisplayMessage(put_abi(value))); + return value; +} + +template void impl_IWalletRelevantLocation::DisplayMessage(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWalletRelevantLocation)->put_DisplayMessage(get_abi(value))); +} + +template Windows::Foundation::IAsyncAction impl_IWalletItemStore::AddAsync(hstring_view id, const Windows::ApplicationModel::Wallet::WalletItem & item) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_AddAsync(get_abi(id), get_abi(item), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IWalletItemStore::ClearAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_ClearAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IWalletItemStore::GetWalletItemAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_GetWalletItemAsync(get_abi(id), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IWalletItemStore::GetItemsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_GetItemsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IWalletItemStore::GetItemsAsync(Windows::ApplicationModel::Wallet::WalletItemKind kind) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_GetItemsWithKindAsync(kind, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IWalletItemStore::ImportItemAsync(const Windows::Storage::Streams::IRandomAccessStreamReference & stream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_ImportItemAsync(get_abi(stream), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IWalletItemStore::DeleteAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_DeleteAsync(get_abi(id), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IWalletItemStore::ShowAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_ShowAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IWalletItemStore::ShowAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_ShowItemAsync(get_abi(id), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IWalletItemStore::UpdateAsync(const Windows::ApplicationModel::Wallet::WalletItem & item) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWalletItemStore)->abi_UpdateAsync(get_abi(item), put_abi(operation))); + return operation; +} + +template event_token impl_IWalletItemStore2::ItemsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IWalletItemStore2)->add_ItemsChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IWalletItemStore2::ItemsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::Wallet::IWalletItemStore2::remove_ItemsChanged, ItemsChanged(handler)); +} + +template void impl_IWalletItemStore2::ItemsChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IWalletItemStore2)->remove_ItemsChanged(cookie)); +} + +template Windows::Foundation::IAsyncOperation impl_IWalletManagerStatics::RequestStoreAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWalletManagerStatics)->abi_RequestStoreAsync(put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Wallet::WalletItemCustomProperty impl_IWalletItemCustomPropertyFactory::CreateWalletItemCustomProperty(hstring_view name, hstring_view value) const +{ + Windows::ApplicationModel::Wallet::WalletItemCustomProperty walletItemCustomProperty { nullptr }; + check_hresult(WINRT_SHIM(IWalletItemCustomPropertyFactory)->abi_CreateWalletItemCustomProperty(get_abi(name), get_abi(value), put_abi(walletItemCustomProperty))); + return walletItemCustomProperty; +} + +template Windows::ApplicationModel::Wallet::WalletVerb impl_IWalletVerbFactory::CreateWalletVerb(hstring_view name) const +{ + Windows::ApplicationModel::Wallet::WalletVerb WalletVerb { nullptr }; + check_hresult(WINRT_SHIM(IWalletVerbFactory)->abi_CreateWalletVerb(get_abi(name), put_abi(WalletVerb))); + return WalletVerb; +} + +template Windows::ApplicationModel::Wallet::WalletItem impl_IWalletItemFactory::CreateWalletItem(Windows::ApplicationModel::Wallet::WalletItemKind kind, hstring_view displayName) const +{ + Windows::ApplicationModel::Wallet::WalletItem walletItem { nullptr }; + check_hresult(WINRT_SHIM(IWalletItemFactory)->abi_CreateWalletItem(kind, get_abi(displayName), put_abi(walletItem))); + return walletItem; +} + +template Windows::ApplicationModel::Wallet::WalletBarcode impl_IWalletBarcodeFactory::CreateWalletBarcode(Windows::ApplicationModel::Wallet::WalletBarcodeSymbology symbology, hstring_view value) const +{ + Windows::ApplicationModel::Wallet::WalletBarcode barcode { nullptr }; + check_hresult(WINRT_SHIM(IWalletBarcodeFactory)->abi_CreateWalletBarcode(symbology, get_abi(value), put_abi(barcode))); + return barcode; +} + +template Windows::ApplicationModel::Wallet::WalletBarcode impl_IWalletBarcodeFactory::CreateCustomWalletBarcode(const Windows::Storage::Streams::IRandomAccessStreamReference & streamToBarcodeImage) const +{ + Windows::ApplicationModel::Wallet::WalletBarcode barcode { nullptr }; + check_hresult(WINRT_SHIM(IWalletBarcodeFactory)->abi_CreateCustomWalletBarcode(get_abi(streamToBarcodeImage), put_abi(barcode))); + return barcode; +} + +inline WalletBarcode::WalletBarcode(Windows::ApplicationModel::Wallet::WalletBarcodeSymbology symbology, hstring_view value) : + WalletBarcode(get_activation_factory().CreateWalletBarcode(symbology, value)) +{} + +inline WalletBarcode::WalletBarcode(const Windows::Storage::Streams::IRandomAccessStreamReference & streamToBarcodeImage) : + WalletBarcode(get_activation_factory().CreateCustomWalletBarcode(streamToBarcodeImage)) +{} + +inline WalletItem::WalletItem(Windows::ApplicationModel::Wallet::WalletItemKind kind, hstring_view displayName) : + WalletItem(get_activation_factory().CreateWalletItem(kind, displayName)) +{} + +inline WalletItemCustomProperty::WalletItemCustomProperty(hstring_view name, hstring_view value) : + WalletItemCustomProperty(get_activation_factory().CreateWalletItemCustomProperty(name, value)) +{} + +inline Windows::Foundation::IAsyncOperation WalletManager::RequestStoreAsync() +{ + return get_activation_factory().RequestStoreAsync(); +} + +inline WalletRelevantLocation::WalletRelevantLocation() : + WalletRelevantLocation(activate_instance()) +{} + +inline WalletTransaction::WalletTransaction() : + WalletTransaction(activate_instance()) +{} + +inline WalletVerb::WalletVerb(hstring_view name) : + WalletVerb(get_activation_factory().CreateWalletVerb(name)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletBarcode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletBarcodeFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletItemCustomProperty & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletItemCustomPropertyFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletItemFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletItemStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletItemStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletRelevantLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletVerb & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::IWalletVerbFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::WalletBarcode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::WalletItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::WalletItemCustomProperty & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::WalletItemStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::WalletRelevantLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::WalletTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Wallet::WalletVerb & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.ApplicationModel.h b/10.0.15042.0/winrt/Windows.ApplicationModel.h new file mode 100644 index 000000000..69ca76333 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.ApplicationModel.h @@ -0,0 +1,3417 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLogo(impl::abi_arg_in size, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLogo(*reinterpret_cast(&size))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppUserModelId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppUserModelId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowInstalledApplicationsUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowInstalledApplicationsUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesignModeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesignModeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LaunchFullTrustProcessForCurrentAppAsync(impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().LaunchFullTrustProcessForCurrentAppAsync()); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchFullTrustProcessForCurrentAppWithParametersAsync(impl::abi_arg_in parameterGroupId, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().LaunchFullTrustProcessForCurrentAppAsync(*reinterpret_cast(¶meterGroupId))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchFullTrustProcessForAppAsync(impl::abi_arg_in fullTrustPackageRelativeAppId, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().LaunchFullTrustProcessForAppAsync(*reinterpret_cast(&fullTrustPackageRelativeAppId))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchFullTrustProcessForAppWithParametersAsync(impl::abi_arg_in fullTrustPackageRelativeAppId, impl::abi_arg_in parameterGroupId, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().LaunchFullTrustProcessForAppAsync(*reinterpret_cast(&fullTrustPackageRelativeAppId), *reinterpret_cast(¶meterGroupId))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstalledLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstalledLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFramework(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFramework()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Dependencies(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dependencies()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublisherDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublisherDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsResourcePackage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsResourcePackage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBundle(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBundle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDevelopmentMode(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDevelopmentMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstalledDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstalledDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppListEntriesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAppListEntriesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SignatureKind(Windows::ApplicationModel::PackageSignatureKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignatureKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOptional(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOptional()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_VerifyContentIntegrityAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().VerifyContentIntegrityAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetContentGroupsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetContentGroupsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContentGroupAsync(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetContentGroupAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StageContentGroupsAsync(impl::abi_arg_in> names, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StageContentGroupsAsync(*reinterpret_cast *>(&names))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StageContentGroupsWithPriorityAsync(impl::abi_arg_in> names, bool moveToHeadOfQueue, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StageContentGroupsAsync(*reinterpret_cast *>(&names), moveToHeadOfQueue)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetInUseAsync(bool inUse, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetInUseAsync(inUse)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PackageStaging(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageStaging(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageStaging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageStaging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageInstalling(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageInstalling(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageInstalling(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageInstalling(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageUpdating(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageUpdating(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageUpdating(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageUpdating(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageUninstalling(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageUninstalling(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageUninstalling(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageUninstalling(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PackageStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PackageContentGroupStaging(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PackageContentGroupStaging(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PackageContentGroupStaging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PackageContentGroupStaging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddOptionalPackageAsync(impl::abi_arg_in optionalPackageFamilyName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddOptionalPackageAsync(*reinterpret_cast(&optionalPackageFamilyName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenForCurrentPackage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenForCurrentPackage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenForCurrentUser(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenForCurrentUser()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::ApplicationModel::PackageContentGroupState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRequired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRequired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsComplete(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsComplete()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentGroupName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentGroupName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsContentGroupRequired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContentGroupRequired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequiredGroupName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequiredGroupName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Version(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Version()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Architecture(Windows::System::ProcessorArchitecture * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Architecture()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Publisher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Publisher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublisherId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublisherId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Author(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Author()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsComplete(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsComplete()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsComplete(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsComplete()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_VerifyIsOK(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerifyIsOK()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NotAvailable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageOffline(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageOffline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataOffline(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataOffline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Disabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Disabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NeedsRemediation(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NeedsRemediation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LicenseIssue(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseIssue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Modified(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Modified()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tampered(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tampered()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DependencyIssue(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DependencyIssue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Servicing(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Servicing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeploymentInProgress(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeploymentInProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPartiallyStaged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPartiallyStaged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsComplete(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsComplete()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourcePackage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourcePackage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetPackage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetPackage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsComplete(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsComplete()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstallDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetThumbnailToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetThumbnailToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Launch(impl::abi_arg_in parameters) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Launch(*reinterpret_cast(¶meters)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestEnableAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestEnableAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Disable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::ApplicationModel::StartupTaskState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TaskId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentPackageAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetForCurrentPackageAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAsync(impl::abi_arg_in taskId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAsync(*reinterpret_cast(&taskId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SuspendingOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuspendingOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::ApplicationModel { + +template hstring impl_IAppDisplayInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppDisplayInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IAppDisplayInfo::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppDisplayInfo)->get_Description(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IAppDisplayInfo::GetLogo(const Windows::Foundation::Size & size) const +{ + Windows::Storage::Streams::RandomAccessStreamReference value { nullptr }; + check_hresult(WINRT_SHIM(IAppDisplayInfo)->abi_GetLogo(get_abi(size), put_abi(value))); + return value; +} + +template hstring impl_IAppInfo::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppInfo)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IAppInfo::AppUserModelId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppInfo)->get_AppUserModelId(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::AppDisplayInfo impl_IAppInfo::DisplayInfo() const +{ + Windows::ApplicationModel::AppDisplayInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAppInfo)->get_DisplayInfo(put_abi(value))); + return value; +} + +template hstring impl_IAppInfo::PackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppInfo)->get_PackageFamilyName(put_abi(value))); + return value; +} + +template hstring impl_IPackageIdWithMetadata::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageIdWithMetadata)->get_ProductId(put_abi(value))); + return value; +} + +template hstring impl_IPackageIdWithMetadata::Author() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageIdWithMetadata)->get_Author(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IPackageWithMetadata::InstallDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPackageWithMetadata)->get_InstallDate(put_abi(value))); + return value; +} + +template hstring impl_IPackageWithMetadata::GetThumbnailToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageWithMetadata)->abi_GetThumbnailToken(put_abi(value))); + return value; +} + +template void impl_IPackageWithMetadata::Launch(hstring_view parameters) const +{ + check_hresult(WINRT_SHIM(IPackageWithMetadata)->abi_Launch(get_abi(parameters))); +} + +template bool impl_IPackageStatus::VerifyIsOK() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->abi_VerifyIsOK(&value)); + return value; +} + +template bool impl_IPackageStatus::NotAvailable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_NotAvailable(&value)); + return value; +} + +template bool impl_IPackageStatus::PackageOffline() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_PackageOffline(&value)); + return value; +} + +template bool impl_IPackageStatus::DataOffline() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_DataOffline(&value)); + return value; +} + +template bool impl_IPackageStatus::Disabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_Disabled(&value)); + return value; +} + +template bool impl_IPackageStatus::NeedsRemediation() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_NeedsRemediation(&value)); + return value; +} + +template bool impl_IPackageStatus::LicenseIssue() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_LicenseIssue(&value)); + return value; +} + +template bool impl_IPackageStatus::Modified() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_Modified(&value)); + return value; +} + +template bool impl_IPackageStatus::Tampered() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_Tampered(&value)); + return value; +} + +template bool impl_IPackageStatus::DependencyIssue() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_DependencyIssue(&value)); + return value; +} + +template bool impl_IPackageStatus::Servicing() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_Servicing(&value)); + return value; +} + +template bool impl_IPackageStatus::DeploymentInProgress() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus)->get_DeploymentInProgress(&value)); + return value; +} + +template bool impl_IPackageStatus2::IsPartiallyStaged() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStatus2)->get_IsPartiallyStaged(&value)); + return value; +} + +template hstring impl_IPackageId::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageId)->get_Name(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::PackageVersion impl_IPackageId::Version() const +{ + Windows::ApplicationModel::PackageVersion value {}; + check_hresult(WINRT_SHIM(IPackageId)->get_Version(put_abi(value))); + return value; +} + +template Windows::System::ProcessorArchitecture impl_IPackageId::Architecture() const +{ + Windows::System::ProcessorArchitecture value {}; + check_hresult(WINRT_SHIM(IPackageId)->get_Architecture(&value)); + return value; +} + +template hstring impl_IPackageId::ResourceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageId)->get_ResourceId(put_abi(value))); + return value; +} + +template hstring impl_IPackageId::Publisher() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageId)->get_Publisher(put_abi(value))); + return value; +} + +template hstring impl_IPackageId::PublisherId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageId)->get_PublisherId(put_abi(value))); + return value; +} + +template hstring impl_IPackageId::FullName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageId)->get_FullName(put_abi(value))); + return value; +} + +template hstring impl_IPackageId::FamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageId)->get_FamilyName(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::PackageId impl_IPackage::Id() const +{ + Windows::ApplicationModel::PackageId value { nullptr }; + check_hresult(WINRT_SHIM(IPackage)->get_Id(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IPackage::InstalledLocation() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IPackage)->get_InstalledLocation(put_abi(value))); + return value; +} + +template bool impl_IPackage::IsFramework() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackage)->get_IsFramework(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPackage::Dependencies() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPackage)->get_Dependencies(put_abi(value))); + return value; +} + +template hstring impl_IPackage2::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackage2)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPackage2::PublisherDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackage2)->get_PublisherDisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPackage2::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackage2)->get_Description(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IPackage2::Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IPackage2)->get_Logo(put_abi(value))); + return value; +} + +template bool impl_IPackage2::IsResourcePackage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackage2)->get_IsResourcePackage(&value)); + return value; +} + +template bool impl_IPackage2::IsBundle() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackage2)->get_IsBundle(&value)); + return value; +} + +template bool impl_IPackage2::IsDevelopmentMode() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackage2)->get_IsDevelopmentMode(&value)); + return value; +} + +template Windows::ApplicationModel::PackageStatus impl_IPackage3::Status() const +{ + Windows::ApplicationModel::PackageStatus value { nullptr }; + check_hresult(WINRT_SHIM(IPackage3)->get_Status(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IPackage3::InstalledDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPackage3)->get_InstalledDate(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IPackage3::GetAppListEntriesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPackage3)->abi_GetAppListEntriesAsync(put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::PackageSignatureKind impl_IPackage4::SignatureKind() const +{ + Windows::ApplicationModel::PackageSignatureKind value {}; + check_hresult(WINRT_SHIM(IPackage4)->get_SignatureKind(&value)); + return value; +} + +template bool impl_IPackage4::IsOptional() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackage4)->get_IsOptional(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPackage4::VerifyContentIntegrityAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPackage4)->abi_VerifyContentIntegrityAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPackage5::GetContentGroupsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPackage5)->abi_GetContentGroupsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPackage5::GetContentGroupAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPackage5)->abi_GetContentGroupAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPackage5::StageContentGroupsAsync(iterable names) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPackage5)->abi_StageContentGroupsAsync(get_abi(names), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPackage5::StageContentGroupsAsync(iterable names, bool moveToHeadOfQueue) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPackage5)->abi_StageContentGroupsWithPriorityAsync(get_abi(names), moveToHeadOfQueue, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPackage5::SetInUseAsync(bool inUse) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPackage5)->abi_SetInUseAsync(inUse, put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Package impl_IPackageStatics::Current() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageStatics)->get_Current(put_abi(value))); + return value; +} + +template GUID impl_IPackageStagingEventArgs::ActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPackageStagingEventArgs)->get_ActivityId(&value)); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageStagingEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageStagingEventArgs)->get_Package(put_abi(value))); + return value; +} + +template double impl_IPackageStagingEventArgs::Progress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPackageStagingEventArgs)->get_Progress(&value)); + return value; +} + +template bool impl_IPackageStagingEventArgs::IsComplete() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageStagingEventArgs)->get_IsComplete(&value)); + return value; +} + +template HRESULT impl_IPackageStagingEventArgs::ErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IPackageStagingEventArgs)->get_ErrorCode(&value)); + return value; +} + +template GUID impl_IPackageInstallingEventArgs::ActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPackageInstallingEventArgs)->get_ActivityId(&value)); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageInstallingEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageInstallingEventArgs)->get_Package(put_abi(value))); + return value; +} + +template double impl_IPackageInstallingEventArgs::Progress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPackageInstallingEventArgs)->get_Progress(&value)); + return value; +} + +template bool impl_IPackageInstallingEventArgs::IsComplete() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageInstallingEventArgs)->get_IsComplete(&value)); + return value; +} + +template HRESULT impl_IPackageInstallingEventArgs::ErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IPackageInstallingEventArgs)->get_ErrorCode(&value)); + return value; +} + +template GUID impl_IPackageUpdatingEventArgs::ActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPackageUpdatingEventArgs)->get_ActivityId(&value)); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageUpdatingEventArgs::SourcePackage() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageUpdatingEventArgs)->get_SourcePackage(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageUpdatingEventArgs::TargetPackage() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageUpdatingEventArgs)->get_TargetPackage(put_abi(value))); + return value; +} + +template double impl_IPackageUpdatingEventArgs::Progress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPackageUpdatingEventArgs)->get_Progress(&value)); + return value; +} + +template bool impl_IPackageUpdatingEventArgs::IsComplete() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageUpdatingEventArgs)->get_IsComplete(&value)); + return value; +} + +template HRESULT impl_IPackageUpdatingEventArgs::ErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IPackageUpdatingEventArgs)->get_ErrorCode(&value)); + return value; +} + +template GUID impl_IPackageUninstallingEventArgs::ActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPackageUninstallingEventArgs)->get_ActivityId(&value)); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageUninstallingEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageUninstallingEventArgs)->get_Package(put_abi(value))); + return value; +} + +template double impl_IPackageUninstallingEventArgs::Progress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPackageUninstallingEventArgs)->get_Progress(&value)); + return value; +} + +template bool impl_IPackageUninstallingEventArgs::IsComplete() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageUninstallingEventArgs)->get_IsComplete(&value)); + return value; +} + +template HRESULT impl_IPackageUninstallingEventArgs::ErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IPackageUninstallingEventArgs)->get_ErrorCode(&value)); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageStatusChangedEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageStatusChangedEventArgs)->get_Package(put_abi(value))); + return value; +} + +template GUID impl_IPackageContentGroupStagingEventArgs::ActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPackageContentGroupStagingEventArgs)->get_ActivityId(&value)); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageContentGroupStagingEventArgs::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageContentGroupStagingEventArgs)->get_Package(put_abi(value))); + return value; +} + +template double impl_IPackageContentGroupStagingEventArgs::Progress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPackageContentGroupStagingEventArgs)->get_Progress(&value)); + return value; +} + +template bool impl_IPackageContentGroupStagingEventArgs::IsComplete() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageContentGroupStagingEventArgs)->get_IsComplete(&value)); + return value; +} + +template HRESULT impl_IPackageContentGroupStagingEventArgs::ErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IPackageContentGroupStagingEventArgs)->get_ErrorCode(&value)); + return value; +} + +template hstring impl_IPackageContentGroupStagingEventArgs::ContentGroupName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageContentGroupStagingEventArgs)->get_ContentGroupName(put_abi(value))); + return value; +} + +template bool impl_IPackageContentGroupStagingEventArgs::IsContentGroupRequired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageContentGroupStagingEventArgs)->get_IsContentGroupRequired(&value)); + return value; +} + +template event_token impl_IPackageCatalog::PackageStaging(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPackageCatalog)->add_PackageStaging(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPackageCatalog::PackageStaging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::IPackageCatalog::remove_PackageStaging, PackageStaging(handler)); +} + +template void impl_IPackageCatalog::PackageStaging(event_token token) const +{ + check_hresult(WINRT_SHIM(IPackageCatalog)->remove_PackageStaging(token)); +} + +template event_token impl_IPackageCatalog::PackageInstalling(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPackageCatalog)->add_PackageInstalling(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPackageCatalog::PackageInstalling(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::IPackageCatalog::remove_PackageInstalling, PackageInstalling(handler)); +} + +template void impl_IPackageCatalog::PackageInstalling(event_token token) const +{ + check_hresult(WINRT_SHIM(IPackageCatalog)->remove_PackageInstalling(token)); +} + +template event_token impl_IPackageCatalog::PackageUpdating(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPackageCatalog)->add_PackageUpdating(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPackageCatalog::PackageUpdating(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::IPackageCatalog::remove_PackageUpdating, PackageUpdating(handler)); +} + +template void impl_IPackageCatalog::PackageUpdating(event_token token) const +{ + check_hresult(WINRT_SHIM(IPackageCatalog)->remove_PackageUpdating(token)); +} + +template event_token impl_IPackageCatalog::PackageUninstalling(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPackageCatalog)->add_PackageUninstalling(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPackageCatalog::PackageUninstalling(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::IPackageCatalog::remove_PackageUninstalling, PackageUninstalling(handler)); +} + +template void impl_IPackageCatalog::PackageUninstalling(event_token token) const +{ + check_hresult(WINRT_SHIM(IPackageCatalog)->remove_PackageUninstalling(token)); +} + +template event_token impl_IPackageCatalog::PackageStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPackageCatalog)->add_PackageStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPackageCatalog::PackageStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::IPackageCatalog::remove_PackageStatusChanged, PackageStatusChanged(handler)); +} + +template void impl_IPackageCatalog::PackageStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPackageCatalog)->remove_PackageStatusChanged(token)); +} + +template Windows::ApplicationModel::Package impl_IPackageCatalogAddOptionalPackageResult::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageCatalogAddOptionalPackageResult)->get_Package(put_abi(value))); + return value; +} + +template HRESULT impl_IPackageCatalogAddOptionalPackageResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IPackageCatalogAddOptionalPackageResult)->get_ExtendedError(&value)); + return value; +} + +template event_token impl_IPackageCatalog2::PackageContentGroupStaging(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPackageCatalog2)->add_PackageContentGroupStaging(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPackageCatalog2::PackageContentGroupStaging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::ApplicationModel::IPackageCatalog2::remove_PackageContentGroupStaging, PackageContentGroupStaging(handler)); +} + +template void impl_IPackageCatalog2::PackageContentGroupStaging(event_token token) const +{ + check_hresult(WINRT_SHIM(IPackageCatalog2)->remove_PackageContentGroupStaging(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IPackageCatalog2::AddOptionalPackageAsync(hstring_view optionalPackageFamilyName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPackageCatalog2)->abi_AddOptionalPackageAsync(get_abi(optionalPackageFamilyName), put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::PackageCatalog impl_IPackageCatalogStatics::OpenForCurrentPackage() const +{ + Windows::ApplicationModel::PackageCatalog value { nullptr }; + check_hresult(WINRT_SHIM(IPackageCatalogStatics)->abi_OpenForCurrentPackage(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::PackageCatalog impl_IPackageCatalogStatics::OpenForCurrentUser() const +{ + Windows::ApplicationModel::PackageCatalog value { nullptr }; + check_hresult(WINRT_SHIM(IPackageCatalogStatics)->abi_OpenForCurrentUser(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Package impl_IPackageContentGroup::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IPackageContentGroup)->get_Package(put_abi(value))); + return value; +} + +template hstring impl_IPackageContentGroup::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageContentGroup)->get_Name(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::PackageContentGroupState impl_IPackageContentGroup::State() const +{ + Windows::ApplicationModel::PackageContentGroupState value {}; + check_hresult(WINRT_SHIM(IPackageContentGroup)->get_State(&value)); + return value; +} + +template bool impl_IPackageContentGroup::IsRequired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageContentGroup)->get_IsRequired(&value)); + return value; +} + +template hstring impl_IPackageContentGroupStatics::RequiredGroupName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageContentGroupStatics)->get_RequiredGroupName(put_abi(value))); + return value; +} + +template bool impl_IDesignModeStatics::DesignModeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDesignModeStatics)->get_DesignModeEnabled(&value)); + return value; +} + +template void impl_ISuspendingDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ISuspendingDeferral)->abi_Complete()); +} + +template Windows::ApplicationModel::SuspendingDeferral impl_ISuspendingOperation::GetDeferral() const +{ + Windows::ApplicationModel::SuspendingDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(ISuspendingOperation)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::Foundation::DateTime impl_ISuspendingOperation::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISuspendingOperation)->get_Deadline(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::SuspendingOperation impl_ISuspendingEventArgs::SuspendingOperation() const +{ + Windows::ApplicationModel::SuspendingOperation value { nullptr }; + check_hresult(WINRT_SHIM(ISuspendingEventArgs)->get_SuspendingOperation(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_ILeavingBackgroundEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ILeavingBackgroundEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IEnteredBackgroundEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IEnteredBackgroundEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template void impl_ICameraApplicationManagerStatics::ShowInstalledApplicationsUI() const +{ + check_hresult(WINRT_SHIM(ICameraApplicationManagerStatics)->abi_ShowInstalledApplicationsUI()); +} + +template Windows::Foundation::IAsyncAction impl_IFullTrustProcessLauncherStatics::LaunchFullTrustProcessForCurrentAppAsync() const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IFullTrustProcessLauncherStatics)->abi_LaunchFullTrustProcessForCurrentAppAsync(put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IFullTrustProcessLauncherStatics::LaunchFullTrustProcessForCurrentAppAsync(hstring_view parameterGroupId) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IFullTrustProcessLauncherStatics)->abi_LaunchFullTrustProcessForCurrentAppWithParametersAsync(get_abi(parameterGroupId), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IFullTrustProcessLauncherStatics::LaunchFullTrustProcessForAppAsync(hstring_view fullTrustPackageRelativeAppId) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IFullTrustProcessLauncherStatics)->abi_LaunchFullTrustProcessForAppAsync(get_abi(fullTrustPackageRelativeAppId), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_IFullTrustProcessLauncherStatics::LaunchFullTrustProcessForAppAsync(hstring_view fullTrustPackageRelativeAppId, hstring_view parameterGroupId) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(IFullTrustProcessLauncherStatics)->abi_LaunchFullTrustProcessForAppWithParametersAsync(get_abi(fullTrustPackageRelativeAppId), get_abi(parameterGroupId), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_IStartupTask::RequestEnableAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStartupTask)->abi_RequestEnableAsync(put_abi(operation))); + return operation; +} + +template void impl_IStartupTask::Disable() const +{ + check_hresult(WINRT_SHIM(IStartupTask)->abi_Disable()); +} + +template Windows::ApplicationModel::StartupTaskState impl_IStartupTask::State() const +{ + Windows::ApplicationModel::StartupTaskState value {}; + check_hresult(WINRT_SHIM(IStartupTask)->get_State(&value)); + return value; +} + +template hstring impl_IStartupTask::TaskId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStartupTask)->get_TaskId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IStartupTaskStatics::GetForCurrentPackageAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStartupTaskStatics)->abi_GetForCurrentPackageAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStartupTaskStatics::GetAsync(hstring_view taskId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStartupTaskStatics)->abi_GetAsync(get_abi(taskId), put_abi(operation))); + return operation; +} + +inline void CameraApplicationManager::ShowInstalledApplicationsUI() +{ + get_activation_factory().ShowInstalledApplicationsUI(); +} + +inline bool DesignMode::DesignModeEnabled() +{ + return get_activation_factory().DesignModeEnabled(); +} + +inline Windows::Foundation::IAsyncAction FullTrustProcessLauncher::LaunchFullTrustProcessForCurrentAppAsync() +{ + return get_activation_factory().LaunchFullTrustProcessForCurrentAppAsync(); +} + +inline Windows::Foundation::IAsyncAction FullTrustProcessLauncher::LaunchFullTrustProcessForCurrentAppAsync(hstring_view parameterGroupId) +{ + return get_activation_factory().LaunchFullTrustProcessForCurrentAppAsync(parameterGroupId); +} + +inline Windows::Foundation::IAsyncAction FullTrustProcessLauncher::LaunchFullTrustProcessForAppAsync(hstring_view fullTrustPackageRelativeAppId) +{ + return get_activation_factory().LaunchFullTrustProcessForAppAsync(fullTrustPackageRelativeAppId); +} + +inline Windows::Foundation::IAsyncAction FullTrustProcessLauncher::LaunchFullTrustProcessForAppAsync(hstring_view fullTrustPackageRelativeAppId, hstring_view parameterGroupId) +{ + return get_activation_factory().LaunchFullTrustProcessForAppAsync(fullTrustPackageRelativeAppId, parameterGroupId); +} + +inline Windows::ApplicationModel::Package Package::Current() +{ + return get_activation_factory().Current(); +} + +inline Windows::ApplicationModel::PackageCatalog PackageCatalog::OpenForCurrentPackage() +{ + return get_activation_factory().OpenForCurrentPackage(); +} + +inline Windows::ApplicationModel::PackageCatalog PackageCatalog::OpenForCurrentUser() +{ + return get_activation_factory().OpenForCurrentUser(); +} + +inline hstring PackageContentGroup::RequiredGroupName() +{ + return get_activation_factory().RequiredGroupName(); +} + +inline Windows::Foundation::IAsyncOperation> StartupTask::GetForCurrentPackageAsync() +{ + return get_activation_factory().GetForCurrentPackageAsync(); +} + +inline Windows::Foundation::IAsyncOperation StartupTask::GetAsync(hstring_view taskId) +{ + return get_activation_factory().GetAsync(taskId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IAppDisplayInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IAppInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ICameraApplicationManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IDesignModeStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IEnteredBackgroundEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IFullTrustProcessLauncherStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ILeavingBackgroundEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackage2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackage3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackage4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackage5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageCatalog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageCatalog2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageCatalogAddOptionalPackageResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageCatalogStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageContentGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageContentGroupStagingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageContentGroupStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageIdWithMetadata & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageInstallingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageStagingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageStatus2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageUninstallingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IPackageWithMetadata & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IStartupTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::IStartupTaskStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ISuspendingDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ISuspendingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::ISuspendingOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppDisplayInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::AppInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::EnteredBackgroundEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::LeavingBackgroundEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::Package & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageCatalog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageCatalogAddOptionalPackageResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageContentGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageContentGroupStagingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageInstallingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageStagingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageUninstallingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::PackageUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::StartupTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SuspendingDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SuspendingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::ApplicationModel::SuspendingOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Data.Html.h b/10.0.15042.0/winrt/Windows.Data.Html.h new file mode 100644 index 000000000..28b8d2b26 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Data.Html.h @@ -0,0 +1,63 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Data.Html.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConvertToText(impl::abi_arg_in html, impl::abi_arg_out text) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *text = detach_abi(this->shim().ConvertToText(*reinterpret_cast(&html))); + return S_OK; + } + catch (...) + { + *text = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Data::Html { + +template hstring impl_IHtmlUtilities::ConvertToText(hstring_view html) const +{ + hstring text; + check_hresult(WINRT_SHIM(IHtmlUtilities)->abi_ConvertToText(get_abi(html), put_abi(text))); + return text; +} + +inline hstring HtmlUtilities::ConvertToText(hstring_view html) +{ + return get_activation_factory().ConvertToText(html); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Html::IHtmlUtilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Data.Json.h b/10.0.15042.0/winrt/Windows.Data.Json.h new file mode 100644 index 000000000..59ee8fafd --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Data.Json.h @@ -0,0 +1,1011 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Data.Json.3.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetObjectAt(uint32_t index, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetObjectAt(index)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetArrayAt(uint32_t index, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetArrayAt(index)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStringAt(uint32_t index, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetStringAt(index)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumberAt(uint32_t index, double * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNumberAt(index)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanAt(uint32_t index, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetBooleanAt(index)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Parse(impl::abi_arg_in input, impl::abi_arg_out jsonArray) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *jsonArray = detach_abi(this->shim().Parse(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *jsonArray = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryParse(impl::abi_arg_in input, impl::abi_arg_out result, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TryParse(*reinterpret_cast(&input), *result)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetJsonStatus(int32_t hresult, Windows::Data::Json::JsonErrorStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetJsonStatus(hresult)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetNamedValue(impl::abi_arg_in name, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedValue(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetNamedValue(impl::abi_arg_in name, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetNamedValue(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedObject(impl::abi_arg_in name, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedObject(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedArray(impl::abi_arg_in name, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedArray(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedString(impl::abi_arg_in name, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedString(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedNumber(impl::abi_arg_in name, double * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedNumber(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedBoolean(impl::abi_arg_in name, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedBoolean(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Parse(impl::abi_arg_in input, impl::abi_arg_out jsonObject) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *jsonObject = detach_abi(this->shim().Parse(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *jsonObject = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryParse(impl::abi_arg_in input, impl::abi_arg_out result, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TryParse(*reinterpret_cast(&input), *result)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetNamedValueOrDefault(impl::abi_arg_in name, impl::abi_arg_in defaultValue, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedValue(*reinterpret_cast(&name), *reinterpret_cast(&defaultValue))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedObjectOrDefault(impl::abi_arg_in name, impl::abi_arg_in defaultValue, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedObject(*reinterpret_cast(&name), *reinterpret_cast(&defaultValue))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedStringOrDefault(impl::abi_arg_in name, impl::abi_arg_in defaultValue, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedString(*reinterpret_cast(&name), *reinterpret_cast(&defaultValue))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedArrayOrDefault(impl::abi_arg_in name, impl::abi_arg_in defaultValue, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedArray(*reinterpret_cast(&name), *reinterpret_cast(&defaultValue))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedNumberOrDefault(impl::abi_arg_in name, double defaultValue, double * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedNumber(*reinterpret_cast(&name), defaultValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedBooleanOrDefault(impl::abi_arg_in name, bool defaultValue, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNamedBoolean(*reinterpret_cast(&name), defaultValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ValueType(Windows::Data::Json::JsonValueType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValueType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stringify(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Stringify()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetString(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetString()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumber(double * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBoolean(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetBoolean()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetArray(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetArray()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetObject(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetObject()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Parse(impl::abi_arg_in input, impl::abi_arg_out jsonValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *jsonValue = detach_abi(this->shim().Parse(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *jsonValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryParse(impl::abi_arg_in input, impl::abi_arg_out result, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TryParse(*reinterpret_cast(&input), *result)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBooleanValue(bool input, impl::abi_arg_out jsonValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *jsonValue = detach_abi(this->shim().CreateBooleanValue(input)); + return S_OK; + } + catch (...) + { + *jsonValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateNumberValue(double input, impl::abi_arg_out jsonValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *jsonValue = detach_abi(this->shim().CreateNumberValue(input)); + return S_OK; + } + catch (...) + { + *jsonValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStringValue(impl::abi_arg_in input, impl::abi_arg_out jsonValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *jsonValue = detach_abi(this->shim().CreateStringValue(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *jsonValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateNullValue(impl::abi_arg_out jsonValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *jsonValue = detach_abi(this->shim().CreateNullValue()); + return S_OK; + } + catch (...) + { + *jsonValue = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Data::Json { + +template Windows::Data::Json::JsonValueType impl_IJsonValue::ValueType() const +{ + Windows::Data::Json::JsonValueType value {}; + check_hresult(WINRT_SHIM(IJsonValue)->get_ValueType(&value)); + return value; +} + +template hstring impl_IJsonValue::Stringify() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IJsonValue)->abi_Stringify(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IJsonValue::GetString() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IJsonValue)->abi_GetString(put_abi(returnValue))); + return returnValue; +} + +template double impl_IJsonValue::GetNumber() const +{ + double returnValue {}; + check_hresult(WINRT_SHIM(IJsonValue)->abi_GetNumber(&returnValue)); + return returnValue; +} + +template bool impl_IJsonValue::GetBoolean() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IJsonValue)->abi_GetBoolean(&returnValue)); + return returnValue; +} + +template Windows::Data::Json::JsonArray impl_IJsonValue::GetArray() const +{ + Windows::Data::Json::JsonArray returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonValue)->abi_GetArray(put_abi(returnValue))); + return returnValue; +} + +template Windows::Data::Json::JsonObject impl_IJsonValue::GetObject() const +{ + Windows::Data::Json::JsonObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonValue)->abi_GetObject(put_abi(returnValue))); + return returnValue; +} + +template Windows::Data::Json::JsonValue impl_IJsonValueStatics::Parse(hstring_view input) const +{ + Windows::Data::Json::JsonValue jsonValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonValueStatics)->abi_Parse(get_abi(input), put_abi(jsonValue))); + return jsonValue; +} + +template bool impl_IJsonValueStatics::TryParse(hstring_view input, Windows::Data::Json::JsonValue & result) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IJsonValueStatics)->abi_TryParse(get_abi(input), put_abi(result), &succeeded)); + return succeeded; +} + +template Windows::Data::Json::JsonValue impl_IJsonValueStatics::CreateBooleanValue(bool input) const +{ + Windows::Data::Json::JsonValue jsonValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonValueStatics)->abi_CreateBooleanValue(input, put_abi(jsonValue))); + return jsonValue; +} + +template Windows::Data::Json::JsonValue impl_IJsonValueStatics::CreateNumberValue(double input) const +{ + Windows::Data::Json::JsonValue jsonValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonValueStatics)->abi_CreateNumberValue(input, put_abi(jsonValue))); + return jsonValue; +} + +template Windows::Data::Json::JsonValue impl_IJsonValueStatics::CreateStringValue(hstring_view input) const +{ + Windows::Data::Json::JsonValue jsonValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonValueStatics)->abi_CreateStringValue(get_abi(input), put_abi(jsonValue))); + return jsonValue; +} + +template Windows::Data::Json::JsonValue impl_IJsonValueStatics2::CreateNullValue() const +{ + Windows::Data::Json::JsonValue jsonValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonValueStatics2)->abi_CreateNullValue(put_abi(jsonValue))); + return jsonValue; +} + +template Windows::Data::Json::JsonValue impl_IJsonObject::GetNamedValue(hstring_view name) const +{ + Windows::Data::Json::JsonValue returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonObject)->abi_GetNamedValue(get_abi(name), put_abi(returnValue))); + return returnValue; +} + +template void impl_IJsonObject::SetNamedValue(hstring_view name, const Windows::Data::Json::IJsonValue & value) const +{ + check_hresult(WINRT_SHIM(IJsonObject)->abi_SetNamedValue(get_abi(name), get_abi(value))); +} + +template Windows::Data::Json::JsonObject impl_IJsonObject::GetNamedObject(hstring_view name) const +{ + Windows::Data::Json::JsonObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonObject)->abi_GetNamedObject(get_abi(name), put_abi(returnValue))); + return returnValue; +} + +template Windows::Data::Json::JsonArray impl_IJsonObject::GetNamedArray(hstring_view name) const +{ + Windows::Data::Json::JsonArray returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonObject)->abi_GetNamedArray(get_abi(name), put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IJsonObject::GetNamedString(hstring_view name) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IJsonObject)->abi_GetNamedString(get_abi(name), put_abi(returnValue))); + return returnValue; +} + +template double impl_IJsonObject::GetNamedNumber(hstring_view name) const +{ + double returnValue {}; + check_hresult(WINRT_SHIM(IJsonObject)->abi_GetNamedNumber(get_abi(name), &returnValue)); + return returnValue; +} + +template bool impl_IJsonObject::GetNamedBoolean(hstring_view name) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IJsonObject)->abi_GetNamedBoolean(get_abi(name), &returnValue)); + return returnValue; +} + +template Windows::Data::Json::JsonValue impl_IJsonObjectWithDefaultValues::GetNamedValue(hstring_view name, const Windows::Data::Json::JsonValue & defaultValue) const +{ + Windows::Data::Json::JsonValue returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonObjectWithDefaultValues)->abi_GetNamedValueOrDefault(get_abi(name), get_abi(defaultValue), put_abi(returnValue))); + return returnValue; +} + +template Windows::Data::Json::JsonObject impl_IJsonObjectWithDefaultValues::GetNamedObject(hstring_view name, const Windows::Data::Json::JsonObject & defaultValue) const +{ + Windows::Data::Json::JsonObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonObjectWithDefaultValues)->abi_GetNamedObjectOrDefault(get_abi(name), get_abi(defaultValue), put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IJsonObjectWithDefaultValues::GetNamedString(hstring_view name, hstring_view defaultValue) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IJsonObjectWithDefaultValues)->abi_GetNamedStringOrDefault(get_abi(name), get_abi(defaultValue), put_abi(returnValue))); + return returnValue; +} + +template Windows::Data::Json::JsonArray impl_IJsonObjectWithDefaultValues::GetNamedArray(hstring_view name, const Windows::Data::Json::JsonArray & defaultValue) const +{ + Windows::Data::Json::JsonArray returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonObjectWithDefaultValues)->abi_GetNamedArrayOrDefault(get_abi(name), get_abi(defaultValue), put_abi(returnValue))); + return returnValue; +} + +template double impl_IJsonObjectWithDefaultValues::GetNamedNumber(hstring_view name, double defaultValue) const +{ + double returnValue {}; + check_hresult(WINRT_SHIM(IJsonObjectWithDefaultValues)->abi_GetNamedNumberOrDefault(get_abi(name), defaultValue, &returnValue)); + return returnValue; +} + +template bool impl_IJsonObjectWithDefaultValues::GetNamedBoolean(hstring_view name, bool defaultValue) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IJsonObjectWithDefaultValues)->abi_GetNamedBooleanOrDefault(get_abi(name), defaultValue, &returnValue)); + return returnValue; +} + +template Windows::Data::Json::JsonObject impl_IJsonObjectStatics::Parse(hstring_view input) const +{ + Windows::Data::Json::JsonObject jsonObject { nullptr }; + check_hresult(WINRT_SHIM(IJsonObjectStatics)->abi_Parse(get_abi(input), put_abi(jsonObject))); + return jsonObject; +} + +template bool impl_IJsonObjectStatics::TryParse(hstring_view input, Windows::Data::Json::JsonObject & result) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IJsonObjectStatics)->abi_TryParse(get_abi(input), put_abi(result), &succeeded)); + return succeeded; +} + +template Windows::Data::Json::JsonObject impl_IJsonArray::GetObjectAt(uint32_t index) const +{ + Windows::Data::Json::JsonObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonArray)->abi_GetObjectAt(index, put_abi(returnValue))); + return returnValue; +} + +template Windows::Data::Json::JsonArray impl_IJsonArray::GetArrayAt(uint32_t index) const +{ + Windows::Data::Json::JsonArray returnValue { nullptr }; + check_hresult(WINRT_SHIM(IJsonArray)->abi_GetArrayAt(index, put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IJsonArray::GetStringAt(uint32_t index) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IJsonArray)->abi_GetStringAt(index, put_abi(returnValue))); + return returnValue; +} + +template double impl_IJsonArray::GetNumberAt(uint32_t index) const +{ + double returnValue {}; + check_hresult(WINRT_SHIM(IJsonArray)->abi_GetNumberAt(index, &returnValue)); + return returnValue; +} + +template bool impl_IJsonArray::GetBooleanAt(uint32_t index) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IJsonArray)->abi_GetBooleanAt(index, &returnValue)); + return returnValue; +} + +template Windows::Data::Json::JsonArray impl_IJsonArrayStatics::Parse(hstring_view input) const +{ + Windows::Data::Json::JsonArray jsonArray { nullptr }; + check_hresult(WINRT_SHIM(IJsonArrayStatics)->abi_Parse(get_abi(input), put_abi(jsonArray))); + return jsonArray; +} + +template bool impl_IJsonArrayStatics::TryParse(hstring_view input, Windows::Data::Json::JsonArray & result) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IJsonArrayStatics)->abi_TryParse(get_abi(input), put_abi(result), &succeeded)); + return succeeded; +} + +template Windows::Data::Json::JsonErrorStatus impl_IJsonErrorStatics2::GetJsonStatus(int32_t hresult) const +{ + Windows::Data::Json::JsonErrorStatus status {}; + check_hresult(WINRT_SHIM(IJsonErrorStatics2)->abi_GetJsonStatus(hresult, &status)); + return status; +} + +inline JsonArray::JsonArray() : + JsonArray(activate_instance()) +{} + +inline Windows::Data::Json::JsonArray JsonArray::Parse(hstring_view input) +{ + return get_activation_factory().Parse(input); +} + +inline bool JsonArray::TryParse(hstring_view input, Windows::Data::Json::JsonArray & result) +{ + return get_activation_factory().TryParse(input, result); +} + +inline Windows::Data::Json::JsonErrorStatus JsonError::GetJsonStatus(int32_t hresult) +{ + return get_activation_factory().GetJsonStatus(hresult); +} + +inline JsonObject::JsonObject() : + JsonObject(activate_instance()) +{} + +inline Windows::Data::Json::JsonObject JsonObject::Parse(hstring_view input) +{ + return get_activation_factory().Parse(input); +} + +inline bool JsonObject::TryParse(hstring_view input, Windows::Data::Json::JsonObject & result) +{ + return get_activation_factory().TryParse(input, result); +} + +inline Windows::Data::Json::JsonValue JsonValue::Parse(hstring_view input) +{ + return get_activation_factory().Parse(input); +} + +inline bool JsonValue::TryParse(hstring_view input, Windows::Data::Json::JsonValue & result) +{ + return get_activation_factory().TryParse(input, result); +} + +inline Windows::Data::Json::JsonValue JsonValue::CreateBooleanValue(bool input) +{ + return get_activation_factory().CreateBooleanValue(input); +} + +inline Windows::Data::Json::JsonValue JsonValue::CreateNumberValue(double input) +{ + return get_activation_factory().CreateNumberValue(input); +} + +inline Windows::Data::Json::JsonValue JsonValue::CreateStringValue(hstring_view input) +{ + return get_activation_factory().CreateStringValue(input); +} + +inline Windows::Data::Json::JsonValue JsonValue::CreateNullValue() +{ + return get_activation_factory().CreateNullValue(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonArray & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonArrayStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonErrorStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonObjectStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonObjectWithDefaultValues & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonValueStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::IJsonValueStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::JsonArray & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::JsonObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Json::JsonValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Data.Pdf.h b/10.0.15042.0/winrt/Windows.Data.Pdf.h new file mode 100644 index 000000000..0a482a48c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Data.Pdf.h @@ -0,0 +1,822 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Data.Pdf.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPage(uint32_t pageIndex, impl::abi_arg_out pdfPage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pdfPage = detach_abi(this->shim().GetPage(pageIndex)); + return S_OK; + } + catch (...) + { + *pdfPage = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPasswordProtected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPasswordProtected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadFromFileAsync(impl::abi_arg_in file, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromFileWithPasswordAsync(impl::abi_arg_in file, impl::abi_arg_in password, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromFileAsync(*reinterpret_cast(&file), *reinterpret_cast(&password))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromStreamAsync(impl::abi_arg_in inputStream, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromStreamAsync(*reinterpret_cast(&inputStream))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromStreamWithPasswordAsync(impl::abi_arg_in inputStream, impl::abi_arg_in password, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromStreamAsync(*reinterpret_cast(&inputStream), *reinterpret_cast(&password))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RenderToStreamAsync(impl::abi_arg_in outputStream, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RenderToStreamAsync(*reinterpret_cast(&outputStream))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RenderWithOptionsToStreamAsync(impl::abi_arg_in outputStream, impl::abi_arg_in options, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RenderToStreamAsync(*reinterpret_cast(&outputStream), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PreparePageAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().PreparePageAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Index(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Index()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Size(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Dimensions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dimensions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rotation(Windows::Data::Pdf::PdfPageRotation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rotation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredZoom(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredZoom()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaBox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CropBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CropBox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BleedBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BleedBox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrimBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimBox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ArtBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ArtBox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceRect(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceRect(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DestinationWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DestinationWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DestinationWidth(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DestinationWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DestinationHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DestinationHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DestinationHeight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DestinationHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIgnoringHighContrast(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIgnoringHighContrast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsIgnoringHighContrast(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsIgnoringHighContrast(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapEncoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapEncoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BitmapEncoderId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BitmapEncoderId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Data::Pdf { + +template Windows::Foundation::Rect impl_IPdfPageDimensions::MediaBox() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPdfPageDimensions)->get_MediaBox(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IPdfPageDimensions::CropBox() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPdfPageDimensions)->get_CropBox(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IPdfPageDimensions::BleedBox() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPdfPageDimensions)->get_BleedBox(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IPdfPageDimensions::TrimBox() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPdfPageDimensions)->get_TrimBox(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IPdfPageDimensions::ArtBox() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPdfPageDimensions)->get_ArtBox(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IPdfPageRenderOptions::SourceRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->get_SourceRect(put_abi(value))); + return value; +} + +template void impl_IPdfPageRenderOptions::SourceRect(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->put_SourceRect(get_abi(value))); +} + +template uint32_t impl_IPdfPageRenderOptions::DestinationWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->get_DestinationWidth(&value)); + return value; +} + +template void impl_IPdfPageRenderOptions::DestinationWidth(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->put_DestinationWidth(value)); +} + +template uint32_t impl_IPdfPageRenderOptions::DestinationHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->get_DestinationHeight(&value)); + return value; +} + +template void impl_IPdfPageRenderOptions::DestinationHeight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->put_DestinationHeight(value)); +} + +template Windows::UI::Color impl_IPdfPageRenderOptions::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_IPdfPageRenderOptions::BackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->put_BackgroundColor(get_abi(value))); +} + +template bool impl_IPdfPageRenderOptions::IsIgnoringHighContrast() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->get_IsIgnoringHighContrast(&value)); + return value; +} + +template void impl_IPdfPageRenderOptions::IsIgnoringHighContrast(bool value) const +{ + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->put_IsIgnoringHighContrast(value)); +} + +template GUID impl_IPdfPageRenderOptions::BitmapEncoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->get_BitmapEncoderId(&value)); + return value; +} + +template void impl_IPdfPageRenderOptions::BitmapEncoderId(GUID value) const +{ + check_hresult(WINRT_SHIM(IPdfPageRenderOptions)->put_BitmapEncoderId(value)); +} + +template Windows::Foundation::IAsyncAction impl_IPdfPage::RenderToStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & outputStream) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IPdfPage)->abi_RenderToStreamAsync(get_abi(outputStream), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IPdfPage::RenderToStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & outputStream, const Windows::Data::Pdf::PdfPageRenderOptions & options) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IPdfPage)->abi_RenderWithOptionsToStreamAsync(get_abi(outputStream), get_abi(options), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IPdfPage::PreparePageAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IPdfPage)->abi_PreparePageAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template uint32_t impl_IPdfPage::Index() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPdfPage)->get_Index(&value)); + return value; +} + +template Windows::Foundation::Size impl_IPdfPage::Size() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IPdfPage)->get_Size(put_abi(value))); + return value; +} + +template Windows::Data::Pdf::PdfPageDimensions impl_IPdfPage::Dimensions() const +{ + Windows::Data::Pdf::PdfPageDimensions value { nullptr }; + check_hresult(WINRT_SHIM(IPdfPage)->get_Dimensions(put_abi(value))); + return value; +} + +template Windows::Data::Pdf::PdfPageRotation impl_IPdfPage::Rotation() const +{ + Windows::Data::Pdf::PdfPageRotation value {}; + check_hresult(WINRT_SHIM(IPdfPage)->get_Rotation(&value)); + return value; +} + +template float impl_IPdfPage::PreferredZoom() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPdfPage)->get_PreferredZoom(&value)); + return value; +} + +template Windows::Data::Pdf::PdfPage impl_IPdfDocument::GetPage(uint32_t pageIndex) const +{ + Windows::Data::Pdf::PdfPage pdfPage { nullptr }; + check_hresult(WINRT_SHIM(IPdfDocument)->abi_GetPage(pageIndex, put_abi(pdfPage))); + return pdfPage; +} + +template uint32_t impl_IPdfDocument::PageCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPdfDocument)->get_PageCount(&value)); + return value; +} + +template bool impl_IPdfDocument::IsPasswordProtected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPdfDocument)->get_IsPasswordProtected(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPdfDocumentStatics::LoadFromFileAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IPdfDocumentStatics)->abi_LoadFromFileAsync(get_abi(file), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IPdfDocumentStatics::LoadFromFileAsync(const Windows::Storage::IStorageFile & file, hstring_view password) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IPdfDocumentStatics)->abi_LoadFromFileWithPasswordAsync(get_abi(file), get_abi(password), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IPdfDocumentStatics::LoadFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & inputStream) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IPdfDocumentStatics)->abi_LoadFromStreamAsync(get_abi(inputStream), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IPdfDocumentStatics::LoadFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & inputStream, hstring_view password) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IPdfDocumentStatics)->abi_LoadFromStreamWithPasswordAsync(get_abi(inputStream), get_abi(password), put_abi(asyncInfo))); + return asyncInfo; +} + +inline Windows::Foundation::IAsyncOperation PdfDocument::LoadFromFileAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().LoadFromFileAsync(file); +} + +inline Windows::Foundation::IAsyncOperation PdfDocument::LoadFromFileAsync(const Windows::Storage::IStorageFile & file, hstring_view password) +{ + return get_activation_factory().LoadFromFileAsync(file, password); +} + +inline Windows::Foundation::IAsyncOperation PdfDocument::LoadFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & inputStream) +{ + return get_activation_factory().LoadFromStreamAsync(inputStream); +} + +inline Windows::Foundation::IAsyncOperation PdfDocument::LoadFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & inputStream, hstring_view password) +{ + return get_activation_factory().LoadFromStreamAsync(inputStream, password); +} + +inline PdfPageRenderOptions::PdfPageRenderOptions() : + PdfPageRenderOptions(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::IPdfDocument & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::IPdfDocumentStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::IPdfPage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::IPdfPageDimensions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::IPdfPageRenderOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::PdfDocument & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::PdfPage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::PdfPageDimensions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Pdf::PdfPageRenderOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Data.Text.h b/10.0.15042.0/winrt/Windows.Data.Text.h new file mode 100644 index 000000000..4239cad35 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Data.Text.h @@ -0,0 +1,1700 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Data.Text.3.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Data::Text { + +template SelectableWordSegmentsTokenizingHandler::SelectableWordSegmentsTokenizingHandler(L lambda) : + SelectableWordSegmentsTokenizingHandler(impl::make_delegate, SelectableWordSegmentsTokenizingHandler>(std::forward(lambda))) +{} + +template SelectableWordSegmentsTokenizingHandler::SelectableWordSegmentsTokenizingHandler(F * function) : + SelectableWordSegmentsTokenizingHandler([=](auto && ... args) { function(args ...); }) +{} + +template SelectableWordSegmentsTokenizingHandler::SelectableWordSegmentsTokenizingHandler(O * object, M method) : + SelectableWordSegmentsTokenizingHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SelectableWordSegmentsTokenizingHandler::operator()(iterable precedingWords, iterable words) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(precedingWords), get_abi(words))); +} + +template WordSegmentsTokenizingHandler::WordSegmentsTokenizingHandler(L lambda) : + WordSegmentsTokenizingHandler(impl::make_delegate, WordSegmentsTokenizingHandler>(std::forward(lambda))) +{} + +template WordSegmentsTokenizingHandler::WordSegmentsTokenizingHandler(F * function) : + WordSegmentsTokenizingHandler([=](auto && ... args) { function(args ...); }) +{} + +template WordSegmentsTokenizingHandler::WordSegmentsTokenizingHandler(O * object, M method) : + WordSegmentsTokenizingHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void WordSegmentsTokenizingHandler::operator()(iterable precedingWords, iterable words) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(precedingWords), get_abi(words))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceTextSegment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceTextSegment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizationFormat(Windows::Data::Text::AlternateNormalizationFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizationFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceTextSegment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceTextSegment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTokenAt(impl::abi_arg_in text, uint32_t startIndex, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTokenAt(*reinterpret_cast(&text), startIndex)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTokens(impl::abi_arg_in text, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTokens(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Tokenize(impl::abi_arg_in text, uint32_t startIndex, impl::abi_arg_in handler) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tokenize(*reinterpret_cast(&text), startIndex, *reinterpret_cast(&handler)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithLanguage(impl::abi_arg_in language, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithLanguage(*reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Find(impl::abi_arg_in content, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Find(*reinterpret_cast(&content))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindInProperty(impl::abi_arg_in propertyContent, impl::abi_arg_in propertyName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindInProperty(*reinterpret_cast(&propertyContent), *reinterpret_cast(&propertyName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in aqsFilter, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&aqsFilter))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithLanguage(impl::abi_arg_in aqsFilter, impl::abi_arg_in filterLanguage, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithLanguage(*reinterpret_cast(&aqsFilter), *reinterpret_cast(&filterLanguage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LanguageAvailableButNotInstalled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LanguageAvailableButNotInstalled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCandidatesAsync(impl::abi_arg_in input, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCandidatesAsync(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCandidatesWithMaxCountAsync(impl::abi_arg_in input, uint32_t maxCandidates, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCandidatesAsync(*reinterpret_cast(&input), maxCandidates)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in languageTag, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&languageTag))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LanguageAvailableButNotInstalled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LanguageAvailableButNotInstalled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCandidatesAsync(impl::abi_arg_in input, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCandidatesAsync(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCandidatesWithMaxCountAsync(impl::abi_arg_in input, uint32_t maxCandidates, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCandidatesAsync(*reinterpret_cast(&input), maxCandidates)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in languageTag, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&languageTag))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LanguageAvailableButNotInstalled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LanguageAvailableButNotInstalled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertBackAsync(impl::abi_arg_in input, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConvertBackAsync(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPhonemesAsync(impl::abi_arg_in input, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetPhonemesAsync(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in languageTag, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&languageTag))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCodepointFromSurrogatePair(uint32_t highSurrogate, uint32_t lowSurrogate, uint32_t * codepoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *codepoint = detach_abi(this->shim().GetCodepointFromSurrogatePair(highSurrogate, lowSurrogate)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSurrogatePairFromCodepoint(uint32_t codepoint, wchar_t * highSurrogate, wchar_t * lowSurrogate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetSurrogatePairFromCodepoint(codepoint, *highSurrogate, *lowSurrogate); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsHighSurrogate(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHighSurrogate(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsLowSurrogate(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLowSurrogate(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSupplementary(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupplementary(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsNoncharacter(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNoncharacter(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsWhitespace(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWhitespace(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsAlphabetic(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAlphabetic(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsCased(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCased(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsUppercase(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUppercase(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsLowercase(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLowercase(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsIdStart(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIdStart(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsIdContinue(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIdContinue(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsGraphemeBase(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGraphemeBase(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsGraphemeExtend(uint32_t codepoint, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGraphemeExtend(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericType(uint32_t codepoint, Windows::Data::Text::UnicodeNumericType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericType(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGeneralCategory(uint32_t codepoint, Windows::Data::Text::UnicodeGeneralCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetGeneralCategory(codepoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceTextSegment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceTextSegment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateForms(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateForms()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTokenAt(impl::abi_arg_in text, uint32_t startIndex, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTokenAt(*reinterpret_cast(&text), startIndex)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTokens(impl::abi_arg_in text, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTokens(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Tokenize(impl::abi_arg_in text, uint32_t startIndex, impl::abi_arg_in handler) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tokenize(*reinterpret_cast(&text), startIndex, *reinterpret_cast(&handler)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithLanguage(impl::abi_arg_in language, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithLanguage(*reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Data::Text { + +template Windows::Data::Text::SemanticTextQuery impl_ISemanticTextQueryFactory::Create(hstring_view aqsFilter) const +{ + Windows::Data::Text::SemanticTextQuery result { nullptr }; + check_hresult(WINRT_SHIM(ISemanticTextQueryFactory)->abi_Create(get_abi(aqsFilter), put_abi(result))); + return result; +} + +template Windows::Data::Text::SemanticTextQuery impl_ISemanticTextQueryFactory::CreateWithLanguage(hstring_view aqsFilter, hstring_view filterLanguage) const +{ + Windows::Data::Text::SemanticTextQuery result { nullptr }; + check_hresult(WINRT_SHIM(ISemanticTextQueryFactory)->abi_CreateWithLanguage(get_abi(aqsFilter), get_abi(filterLanguage), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISemanticTextQuery::Find(hstring_view content) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISemanticTextQuery)->abi_Find(get_abi(content), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISemanticTextQuery::FindInProperty(hstring_view propertyContent, hstring_view propertyName) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISemanticTextQuery)->abi_FindInProperty(get_abi(propertyContent), get_abi(propertyName), put_abi(result))); + return result; +} + +template uint32_t impl_IUnicodeCharactersStatics::GetCodepointFromSurrogatePair(uint32_t highSurrogate, uint32_t lowSurrogate) const +{ + uint32_t codepoint {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_GetCodepointFromSurrogatePair(highSurrogate, lowSurrogate, &codepoint)); + return codepoint; +} + +template void impl_IUnicodeCharactersStatics::GetSurrogatePairFromCodepoint(uint32_t codepoint, wchar_t & highSurrogate, wchar_t & lowSurrogate) const +{ + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_GetSurrogatePairFromCodepoint(codepoint, &highSurrogate, &lowSurrogate)); +} + +template bool impl_IUnicodeCharactersStatics::IsHighSurrogate(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsHighSurrogate(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsLowSurrogate(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsLowSurrogate(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsSupplementary(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsSupplementary(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsNoncharacter(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsNoncharacter(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsWhitespace(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsWhitespace(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsAlphabetic(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsAlphabetic(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsCased(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsCased(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsUppercase(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsUppercase(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsLowercase(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsLowercase(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsIdStart(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsIdStart(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsIdContinue(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsIdContinue(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsGraphemeBase(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsGraphemeBase(codepoint, &value)); + return value; +} + +template bool impl_IUnicodeCharactersStatics::IsGraphemeExtend(uint32_t codepoint) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_IsGraphemeExtend(codepoint, &value)); + return value; +} + +template Windows::Data::Text::UnicodeNumericType impl_IUnicodeCharactersStatics::GetNumericType(uint32_t codepoint) const +{ + Windows::Data::Text::UnicodeNumericType value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_GetNumericType(codepoint, &value)); + return value; +} + +template Windows::Data::Text::UnicodeGeneralCategory impl_IUnicodeCharactersStatics::GetGeneralCategory(uint32_t codepoint) const +{ + Windows::Data::Text::UnicodeGeneralCategory value {}; + check_hresult(WINRT_SHIM(IUnicodeCharactersStatics)->abi_GetGeneralCategory(codepoint, &value)); + return value; +} + +template Windows::Data::Text::TextSegment impl_IAlternateWordForm::SourceTextSegment() const +{ + Windows::Data::Text::TextSegment value {}; + check_hresult(WINRT_SHIM(IAlternateWordForm)->get_SourceTextSegment(put_abi(value))); + return value; +} + +template hstring impl_IAlternateWordForm::AlternateText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAlternateWordForm)->get_AlternateText(put_abi(value))); + return value; +} + +template Windows::Data::Text::AlternateNormalizationFormat impl_IAlternateWordForm::NormalizationFormat() const +{ + Windows::Data::Text::AlternateNormalizationFormat value {}; + check_hresult(WINRT_SHIM(IAlternateWordForm)->get_NormalizationFormat(&value)); + return value; +} + +template hstring impl_ISelectableWordSegment::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISelectableWordSegment)->get_Text(put_abi(value))); + return value; +} + +template Windows::Data::Text::TextSegment impl_ISelectableWordSegment::SourceTextSegment() const +{ + Windows::Data::Text::TextSegment value {}; + check_hresult(WINRT_SHIM(ISelectableWordSegment)->get_SourceTextSegment(put_abi(value))); + return value; +} + +template hstring impl_IWordSegment::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWordSegment)->get_Text(put_abi(value))); + return value; +} + +template Windows::Data::Text::TextSegment impl_IWordSegment::SourceTextSegment() const +{ + Windows::Data::Text::TextSegment value {}; + check_hresult(WINRT_SHIM(IWordSegment)->get_SourceTextSegment(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWordSegment::AlternateForms() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWordSegment)->get_AlternateForms(put_abi(value))); + return value; +} + +template hstring impl_IWordsSegmenter::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWordsSegmenter)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template Windows::Data::Text::WordSegment impl_IWordsSegmenter::GetTokenAt(hstring_view text, uint32_t startIndex) const +{ + Windows::Data::Text::WordSegment result { nullptr }; + check_hresult(WINRT_SHIM(IWordsSegmenter)->abi_GetTokenAt(get_abi(text), startIndex, put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IWordsSegmenter::GetTokens(hstring_view text) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IWordsSegmenter)->abi_GetTokens(get_abi(text), put_abi(result))); + return result; +} + +template void impl_IWordsSegmenter::Tokenize(hstring_view text, uint32_t startIndex, const Windows::Data::Text::WordSegmentsTokenizingHandler & handler) const +{ + check_hresult(WINRT_SHIM(IWordsSegmenter)->abi_Tokenize(get_abi(text), startIndex, get_abi(handler))); +} + +template Windows::Data::Text::WordsSegmenter impl_IWordsSegmenterFactory::CreateWithLanguage(hstring_view language) const +{ + Windows::Data::Text::WordsSegmenter result { nullptr }; + check_hresult(WINRT_SHIM(IWordsSegmenterFactory)->abi_CreateWithLanguage(get_abi(language), put_abi(result))); + return result; +} + +template hstring impl_ISelectableWordsSegmenter::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISelectableWordsSegmenter)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template Windows::Data::Text::SelectableWordSegment impl_ISelectableWordsSegmenter::GetTokenAt(hstring_view text, uint32_t startIndex) const +{ + Windows::Data::Text::SelectableWordSegment result { nullptr }; + check_hresult(WINRT_SHIM(ISelectableWordsSegmenter)->abi_GetTokenAt(get_abi(text), startIndex, put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISelectableWordsSegmenter::GetTokens(hstring_view text) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISelectableWordsSegmenter)->abi_GetTokens(get_abi(text), put_abi(result))); + return result; +} + +template void impl_ISelectableWordsSegmenter::Tokenize(hstring_view text, uint32_t startIndex, const Windows::Data::Text::SelectableWordSegmentsTokenizingHandler & handler) const +{ + check_hresult(WINRT_SHIM(ISelectableWordsSegmenter)->abi_Tokenize(get_abi(text), startIndex, get_abi(handler))); +} + +template Windows::Data::Text::SelectableWordsSegmenter impl_ISelectableWordsSegmenterFactory::CreateWithLanguage(hstring_view language) const +{ + Windows::Data::Text::SelectableWordsSegmenter result { nullptr }; + check_hresult(WINRT_SHIM(ISelectableWordsSegmenterFactory)->abi_CreateWithLanguage(get_abi(language), put_abi(result))); + return result; +} + +template hstring impl_ITextPredictionGenerator::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextPredictionGenerator)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template bool impl_ITextPredictionGenerator::LanguageAvailableButNotInstalled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextPredictionGenerator)->get_LanguageAvailableButNotInstalled(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ITextPredictionGenerator::GetCandidatesAsync(hstring_view input) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ITextPredictionGenerator)->abi_GetCandidatesAsync(get_abi(input), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_ITextPredictionGenerator::GetCandidatesAsync(hstring_view input, uint32_t maxCandidates) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ITextPredictionGenerator)->abi_GetCandidatesWithMaxCountAsync(get_abi(input), maxCandidates, put_abi(result))); + return result; +} + +template Windows::Data::Text::TextPredictionGenerator impl_ITextPredictionGeneratorFactory::Create(hstring_view languageTag) const +{ + Windows::Data::Text::TextPredictionGenerator result { nullptr }; + check_hresult(WINRT_SHIM(ITextPredictionGeneratorFactory)->abi_Create(get_abi(languageTag), put_abi(result))); + return result; +} + +template hstring impl_ITextConversionGenerator::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextConversionGenerator)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template bool impl_ITextConversionGenerator::LanguageAvailableButNotInstalled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextConversionGenerator)->get_LanguageAvailableButNotInstalled(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ITextConversionGenerator::GetCandidatesAsync(hstring_view input) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ITextConversionGenerator)->abi_GetCandidatesAsync(get_abi(input), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_ITextConversionGenerator::GetCandidatesAsync(hstring_view input, uint32_t maxCandidates) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ITextConversionGenerator)->abi_GetCandidatesWithMaxCountAsync(get_abi(input), maxCandidates, put_abi(result))); + return result; +} + +template Windows::Data::Text::TextConversionGenerator impl_ITextConversionGeneratorFactory::Create(hstring_view languageTag) const +{ + Windows::Data::Text::TextConversionGenerator result { nullptr }; + check_hresult(WINRT_SHIM(ITextConversionGeneratorFactory)->abi_Create(get_abi(languageTag), put_abi(result))); + return result; +} + +template hstring impl_ITextReverseConversionGenerator::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextReverseConversionGenerator)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template bool impl_ITextReverseConversionGenerator::LanguageAvailableButNotInstalled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextReverseConversionGenerator)->get_LanguageAvailableButNotInstalled(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ITextReverseConversionGenerator::ConvertBackAsync(hstring_view input) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ITextReverseConversionGenerator)->abi_ConvertBackAsync(get_abi(input), put_abi(result))); + return result; +} + +template Windows::Data::Text::TextReverseConversionGenerator impl_ITextReverseConversionGeneratorFactory::Create(hstring_view languageTag) const +{ + Windows::Data::Text::TextReverseConversionGenerator result { nullptr }; + check_hresult(WINRT_SHIM(ITextReverseConversionGeneratorFactory)->abi_Create(get_abi(languageTag), put_abi(result))); + return result; +} + +template hstring impl_ITextPhoneme::DisplayText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextPhoneme)->get_DisplayText(put_abi(value))); + return value; +} + +template hstring impl_ITextPhoneme::ReadingText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextPhoneme)->get_ReadingText(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ITextReverseConversionGenerator2::GetPhonemesAsync(hstring_view input) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ITextReverseConversionGenerator2)->abi_GetPhonemesAsync(get_abi(input), put_abi(result))); + return result; +} + +inline SelectableWordsSegmenter::SelectableWordsSegmenter(hstring_view language) : + SelectableWordsSegmenter(get_activation_factory().CreateWithLanguage(language)) +{} + +inline SemanticTextQuery::SemanticTextQuery(hstring_view aqsFilter) : + SemanticTextQuery(get_activation_factory().Create(aqsFilter)) +{} + +inline SemanticTextQuery::SemanticTextQuery(hstring_view aqsFilter, hstring_view filterLanguage) : + SemanticTextQuery(get_activation_factory().CreateWithLanguage(aqsFilter, filterLanguage)) +{} + +inline TextConversionGenerator::TextConversionGenerator(hstring_view languageTag) : + TextConversionGenerator(get_activation_factory().Create(languageTag)) +{} + +inline TextPredictionGenerator::TextPredictionGenerator(hstring_view languageTag) : + TextPredictionGenerator(get_activation_factory().Create(languageTag)) +{} + +inline TextReverseConversionGenerator::TextReverseConversionGenerator(hstring_view languageTag) : + TextReverseConversionGenerator(get_activation_factory().Create(languageTag)) +{} + +inline uint32_t UnicodeCharacters::GetCodepointFromSurrogatePair(uint32_t highSurrogate, uint32_t lowSurrogate) +{ + return get_activation_factory().GetCodepointFromSurrogatePair(highSurrogate, lowSurrogate); +} + +inline void UnicodeCharacters::GetSurrogatePairFromCodepoint(uint32_t codepoint, wchar_t & highSurrogate, wchar_t & lowSurrogate) +{ + get_activation_factory().GetSurrogatePairFromCodepoint(codepoint, highSurrogate, lowSurrogate); +} + +inline bool UnicodeCharacters::IsHighSurrogate(uint32_t codepoint) +{ + return get_activation_factory().IsHighSurrogate(codepoint); +} + +inline bool UnicodeCharacters::IsLowSurrogate(uint32_t codepoint) +{ + return get_activation_factory().IsLowSurrogate(codepoint); +} + +inline bool UnicodeCharacters::IsSupplementary(uint32_t codepoint) +{ + return get_activation_factory().IsSupplementary(codepoint); +} + +inline bool UnicodeCharacters::IsNoncharacter(uint32_t codepoint) +{ + return get_activation_factory().IsNoncharacter(codepoint); +} + +inline bool UnicodeCharacters::IsWhitespace(uint32_t codepoint) +{ + return get_activation_factory().IsWhitespace(codepoint); +} + +inline bool UnicodeCharacters::IsAlphabetic(uint32_t codepoint) +{ + return get_activation_factory().IsAlphabetic(codepoint); +} + +inline bool UnicodeCharacters::IsCased(uint32_t codepoint) +{ + return get_activation_factory().IsCased(codepoint); +} + +inline bool UnicodeCharacters::IsUppercase(uint32_t codepoint) +{ + return get_activation_factory().IsUppercase(codepoint); +} + +inline bool UnicodeCharacters::IsLowercase(uint32_t codepoint) +{ + return get_activation_factory().IsLowercase(codepoint); +} + +inline bool UnicodeCharacters::IsIdStart(uint32_t codepoint) +{ + return get_activation_factory().IsIdStart(codepoint); +} + +inline bool UnicodeCharacters::IsIdContinue(uint32_t codepoint) +{ + return get_activation_factory().IsIdContinue(codepoint); +} + +inline bool UnicodeCharacters::IsGraphemeBase(uint32_t codepoint) +{ + return get_activation_factory().IsGraphemeBase(codepoint); +} + +inline bool UnicodeCharacters::IsGraphemeExtend(uint32_t codepoint) +{ + return get_activation_factory().IsGraphemeExtend(codepoint); +} + +inline Windows::Data::Text::UnicodeNumericType UnicodeCharacters::GetNumericType(uint32_t codepoint) +{ + return get_activation_factory().GetNumericType(codepoint); +} + +inline Windows::Data::Text::UnicodeGeneralCategory UnicodeCharacters::GetGeneralCategory(uint32_t codepoint) +{ + return get_activation_factory().GetGeneralCategory(codepoint); +} + +inline WordsSegmenter::WordsSegmenter(hstring_view language) : + WordsSegmenter(get_activation_factory().CreateWithLanguage(language)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::IAlternateWordForm & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ISelectableWordSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ISelectableWordsSegmenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ISelectableWordsSegmenterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ISemanticTextQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ISemanticTextQueryFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextConversionGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextConversionGeneratorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextPhoneme & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextPredictionGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextPredictionGeneratorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextReverseConversionGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextReverseConversionGenerator2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::ITextReverseConversionGeneratorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::IUnicodeCharactersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::IWordSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::IWordsSegmenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::IWordsSegmenterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::AlternateWordForm & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::SelectableWordSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::SelectableWordsSegmenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::SemanticTextQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::TextConversionGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::TextPhoneme & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::TextPredictionGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::TextReverseConversionGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::WordSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Text::WordsSegmenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Data.Xml.Dom.h b/10.0.15042.0/winrt/Windows.Data.Xml.Dom.h new file mode 100644 index 000000000..5a15e42e0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Data.Xml.Dom.h @@ -0,0 +1,2922 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Data.Xml.Dom.3.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PublicId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublicId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NotationName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotationName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PublicId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublicId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Specified(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Specified()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SubstringData(uint32_t offset, uint32_t count, impl::abi_arg_out data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *data = detach_abi(this->shim().SubstringData(offset, count)); + return S_OK; + } + catch (...) + { + *data = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendData(impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendData(*reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertData(uint32_t offset, impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertData(offset, *reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteData(uint32_t offset, uint32_t count) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeleteData(offset, count); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReplaceData(uint32_t offset, uint32_t count, impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReplaceData(offset, count, *reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Doctype(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Doctype()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Implementation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Implementation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentElement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentElement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateElement(impl::abi_arg_in tagName, impl::abi_arg_out newElement) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newElement = detach_abi(this->shim().CreateElement(*reinterpret_cast(&tagName))); + return S_OK; + } + catch (...) + { + *newElement = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDocumentFragment(impl::abi_arg_out newDocumentFragment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newDocumentFragment = detach_abi(this->shim().CreateDocumentFragment()); + return S_OK; + } + catch (...) + { + *newDocumentFragment = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTextNode(impl::abi_arg_in data, impl::abi_arg_out newTextNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newTextNode = detach_abi(this->shim().CreateTextNode(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *newTextNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateComment(impl::abi_arg_in data, impl::abi_arg_out newComment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newComment = detach_abi(this->shim().CreateComment(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *newComment = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateProcessingInstruction(impl::abi_arg_in target, impl::abi_arg_in data, impl::abi_arg_out newProcessingInstruction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newProcessingInstruction = detach_abi(this->shim().CreateProcessingInstruction(*reinterpret_cast(&target), *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *newProcessingInstruction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAttribute(impl::abi_arg_in name, impl::abi_arg_out newAttribute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newAttribute = detach_abi(this->shim().CreateAttribute(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *newAttribute = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateEntityReference(impl::abi_arg_in name, impl::abi_arg_out newEntityReference) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newEntityReference = detach_abi(this->shim().CreateEntityReference(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *newEntityReference = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetElementsByTagName(impl::abi_arg_in tagName, impl::abi_arg_out elements) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *elements = detach_abi(this->shim().GetElementsByTagName(*reinterpret_cast(&tagName))); + return S_OK; + } + catch (...) + { + *elements = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCDataSection(impl::abi_arg_in data, impl::abi_arg_out newCDataSection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newCDataSection = detach_abi(this->shim().CreateCDataSection(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *newCDataSection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAttributeNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in qualifiedName, impl::abi_arg_out newAttribute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newAttribute = detach_abi(this->shim().CreateAttributeNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&qualifiedName))); + return S_OK; + } + catch (...) + { + *newAttribute = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateElementNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in qualifiedName, impl::abi_arg_out newElement) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newElement = detach_abi(this->shim().CreateElementNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&qualifiedName))); + return S_OK; + } + catch (...) + { + *newElement = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetElementById(impl::abi_arg_in elementId, impl::abi_arg_out element) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *element = detach_abi(this->shim().GetElementById(*reinterpret_cast(&elementId))); + return S_OK; + } + catch (...) + { + *element = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportNode(impl::abi_arg_in node, bool deep, impl::abi_arg_out newNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newNode = detach_abi(this->shim().ImportNode(*reinterpret_cast(&node), deep)); + return S_OK; + } + catch (...) + { + *newNode = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadXml(impl::abi_arg_in xml) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadXml(*reinterpret_cast(&xml)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadXmlWithSettings(impl::abi_arg_in xml, impl::abi_arg_in loadSettings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadXml(*reinterpret_cast(&xml), *reinterpret_cast(&loadSettings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveToFileAsync(impl::abi_arg_in file, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SaveToFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadXmlFromBuffer(impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadXmlFromBuffer(*reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadXmlFromBufferWithSettings(impl::abi_arg_in buffer, impl::abi_arg_in loadSettings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadXmlFromBuffer(*reinterpret_cast(&buffer), *reinterpret_cast(&loadSettings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadFromUriAsync(impl::abi_arg_in uri, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromUriAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromUriWithSettingsAsync(impl::abi_arg_in uri, impl::abi_arg_in loadSettings, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromUriAsync(*reinterpret_cast(&uri), *reinterpret_cast(&loadSettings))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromFileAsync(impl::abi_arg_in file, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromFileWithSettingsAsync(impl::abi_arg_in file, impl::abi_arg_in loadSettings, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LoadFromFileAsync(*reinterpret_cast(&file), *reinterpret_cast(&loadSettings))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Entities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Entities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Notations(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Notations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_HasFeature(impl::abi_arg_in feature, impl::abi_arg_in version, bool * featureSupported) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *featureSupported = detach_abi(this->shim().HasFeature(*reinterpret_cast(&feature), *reinterpret_cast(&version))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TagName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TagName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAttribute(impl::abi_arg_in attributeName, impl::abi_arg_out attributeValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *attributeValue = detach_abi(this->shim().GetAttribute(*reinterpret_cast(&attributeName))); + return S_OK; + } + catch (...) + { + *attributeValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAttribute(impl::abi_arg_in attributeName, impl::abi_arg_in attributeValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAttribute(*reinterpret_cast(&attributeName), *reinterpret_cast(&attributeValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAttribute(impl::abi_arg_in attributeName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAttribute(*reinterpret_cast(&attributeName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAttributeNode(impl::abi_arg_in attributeName, impl::abi_arg_out attributeNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *attributeNode = detach_abi(this->shim().GetAttributeNode(*reinterpret_cast(&attributeName))); + return S_OK; + } + catch (...) + { + *attributeNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAttributeNode(impl::abi_arg_in newAttribute, impl::abi_arg_out previousAttribute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousAttribute = detach_abi(this->shim().SetAttributeNode(*reinterpret_cast(&newAttribute))); + return S_OK; + } + catch (...) + { + *previousAttribute = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAttributeNode(impl::abi_arg_in attributeNode, impl::abi_arg_out removedAttribute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *removedAttribute = detach_abi(this->shim().RemoveAttributeNode(*reinterpret_cast(&attributeNode))); + return S_OK; + } + catch (...) + { + *removedAttribute = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetElementsByTagName(impl::abi_arg_in tagName, impl::abi_arg_out elements) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *elements = detach_abi(this->shim().GetElementsByTagName(*reinterpret_cast(&tagName))); + return S_OK; + } + catch (...) + { + *elements = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAttributeNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in qualifiedName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAttributeNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&qualifiedName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAttributeNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in localName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAttributeNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&localName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAttributeNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in localName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAttributeNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&localName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAttributeNodeNS(impl::abi_arg_in newAttribute, impl::abi_arg_out previousAttribute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousAttribute = detach_abi(this->shim().SetAttributeNodeNS(*reinterpret_cast(&newAttribute))); + return S_OK; + } + catch (...) + { + *previousAttribute = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAttributeNodeNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in localName, impl::abi_arg_out previousAttribute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousAttribute = detach_abi(this->shim().GetAttributeNodeNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&localName))); + return S_OK; + } + catch (...) + { + *previousAttribute = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxElementDepth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxElementDepth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxElementDepth(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxElementDepth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProhibitDtd(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProhibitDtd()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProhibitDtd(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProhibitDtd(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolveExternals(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolveExternals()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ResolveExternals(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResolveExternals(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValidateOnParse(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValidateOnParse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ValidateOnParse(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValidateOnParse(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElementContentWhiteSpace(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElementContentWhiteSpace()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ElementContentWhiteSpace(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ElementContentWhiteSpace(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Item(uint32_t index, impl::abi_arg_out node) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *node = detach_abi(this->shim().Item(index)); + return S_OK; + } + catch (...) + { + *node = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedItem(impl::abi_arg_in name, impl::abi_arg_out node) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *node = detach_abi(this->shim().GetNamedItem(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *node = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetNamedItem(impl::abi_arg_in node, impl::abi_arg_out previousNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousNode = detach_abi(this->shim().SetNamedItem(*reinterpret_cast(&node))); + return S_OK; + } + catch (...) + { + *previousNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveNamedItem(impl::abi_arg_in name, impl::abi_arg_out previousNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousNode = detach_abi(this->shim().RemoveNamedItem(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *previousNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNamedItemNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in name, impl::abi_arg_out node) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *node = detach_abi(this->shim().GetNamedItemNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *node = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveNamedItemNS(impl::abi_arg_in namespaceUri, impl::abi_arg_in name, impl::abi_arg_out previousNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousNode = detach_abi(this->shim().RemoveNamedItemNS(*reinterpret_cast(&namespaceUri), *reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *previousNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetNamedItemNS(impl::abi_arg_in node, impl::abi_arg_out previousNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousNode = detach_abi(this->shim().SetNamedItemNS(*reinterpret_cast(&node))); + return S_OK; + } + catch (...) + { + *previousNode = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NodeValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NodeValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NodeValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NodeValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NodeType(Windows::Data::Xml::Dom::NodeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NodeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NodeName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NodeName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentNode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentNode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildNodes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildNodes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstChild(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstChild()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastChild(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastChild()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviousSibling(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviousSibling()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextSibling(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextSibling()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Attributes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Attributes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HasChildNodes(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasChildNodes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OwnerDocument(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OwnerDocument()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertBefore(impl::abi_arg_in newChild, impl::abi_arg_in referenceChild, impl::abi_arg_out insertedChild) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *insertedChild = detach_abi(this->shim().InsertBefore(*reinterpret_cast(&newChild), *reinterpret_cast(&referenceChild))); + return S_OK; + } + catch (...) + { + *insertedChild = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReplaceChild(impl::abi_arg_in newChild, impl::abi_arg_in referenceChild, impl::abi_arg_out previousChild) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousChild = detach_abi(this->shim().ReplaceChild(*reinterpret_cast(&newChild), *reinterpret_cast(&referenceChild))); + return S_OK; + } + catch (...) + { + *previousChild = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveChild(impl::abi_arg_in childNode, impl::abi_arg_out removedChild) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *removedChild = detach_abi(this->shim().RemoveChild(*reinterpret_cast(&childNode))); + return S_OK; + } + catch (...) + { + *removedChild = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendChild(impl::abi_arg_in newChild, impl::abi_arg_out appendedChild) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *appendedChild = detach_abi(this->shim().AppendChild(*reinterpret_cast(&newChild))); + return S_OK; + } + catch (...) + { + *appendedChild = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CloneNode(bool deep, impl::abi_arg_out newNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *newNode = detach_abi(this->shim().CloneNode(deep)); + return S_OK; + } + catch (...) + { + *newNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NamespaceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NamespaceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Prefix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Prefix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Normalize() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Normalize(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Prefix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Prefix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Item(uint32_t index, impl::abi_arg_out node) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *node = detach_abi(this->shim().Item(index)); + return S_OK; + } + catch (...) + { + *node = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectSingleNode(impl::abi_arg_in xpath, impl::abi_arg_out node) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *node = detach_abi(this->shim().SelectSingleNode(*reinterpret_cast(&xpath))); + return S_OK; + } + catch (...) + { + *node = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectNodes(impl::abi_arg_in xpath, impl::abi_arg_out nodelist) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *nodelist = detach_abi(this->shim().SelectNodes(*reinterpret_cast(&xpath))); + return S_OK; + } + catch (...) + { + *nodelist = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectSingleNodeNS(impl::abi_arg_in xpath, impl::abi_arg_in namespaces, impl::abi_arg_out node) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *node = detach_abi(this->shim().SelectSingleNodeNS(*reinterpret_cast(&xpath), *reinterpret_cast(&namespaces))); + return S_OK; + } + catch (...) + { + *node = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectNodesNS(impl::abi_arg_in xpath, impl::abi_arg_in namespaces, impl::abi_arg_out nodelist) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *nodelist = detach_abi(this->shim().SelectNodesNS(*reinterpret_cast(&xpath), *reinterpret_cast(&namespaces))); + return S_OK; + } + catch (...) + { + *nodelist = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetXml(impl::abi_arg_out outerXml) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outerXml = detach_abi(this->shim().GetXml()); + return S_OK; + } + catch (...) + { + *outerXml = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InnerText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InnerText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InnerText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InnerText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Target(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Target()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SplitText(uint32_t offset, impl::abi_arg_out secondPart) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *secondPart = detach_abi(this->shim().SplitText(offset)); + return S_OK; + } + catch (...) + { + *secondPart = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Data::Xml::Dom { + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNodeSelector::SelectSingleNode(hstring_view xpath) const +{ + Windows::Data::Xml::Dom::IXmlNode node; + check_hresult(WINRT_SHIM(IXmlNodeSelector)->abi_SelectSingleNode(get_abi(xpath), put_abi(node))); + return node; +} + +template Windows::Data::Xml::Dom::XmlNodeList impl_IXmlNodeSelector::SelectNodes(hstring_view xpath) const +{ + Windows::Data::Xml::Dom::XmlNodeList nodelist { nullptr }; + check_hresult(WINRT_SHIM(IXmlNodeSelector)->abi_SelectNodes(get_abi(xpath), put_abi(nodelist))); + return nodelist; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNodeSelector::SelectSingleNodeNS(hstring_view xpath, const Windows::Foundation::IInspectable & namespaces) const +{ + Windows::Data::Xml::Dom::IXmlNode node; + check_hresult(WINRT_SHIM(IXmlNodeSelector)->abi_SelectSingleNodeNS(get_abi(xpath), get_abi(namespaces), put_abi(node))); + return node; +} + +template Windows::Data::Xml::Dom::XmlNodeList impl_IXmlNodeSelector::SelectNodesNS(hstring_view xpath, const Windows::Foundation::IInspectable & namespaces) const +{ + Windows::Data::Xml::Dom::XmlNodeList nodelist { nullptr }; + check_hresult(WINRT_SHIM(IXmlNodeSelector)->abi_SelectNodesNS(get_abi(xpath), get_abi(namespaces), put_abi(nodelist))); + return nodelist; +} + +template hstring impl_IXmlNodeSerializer::GetXml() const +{ + hstring outerXml; + check_hresult(WINRT_SHIM(IXmlNodeSerializer)->abi_GetXml(put_abi(outerXml))); + return outerXml; +} + +template hstring impl_IXmlNodeSerializer::InnerText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlNodeSerializer)->get_InnerText(put_abi(value))); + return value; +} + +template void impl_IXmlNodeSerializer::InnerText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IXmlNodeSerializer)->put_InnerText(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IXmlNode::NodeValue() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IXmlNode)->get_NodeValue(put_abi(value))); + return value; +} + +template void impl_IXmlNode::NodeValue(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IXmlNode)->put_NodeValue(get_abi(value))); +} + +template Windows::Data::Xml::Dom::NodeType impl_IXmlNode::NodeType() const +{ + Windows::Data::Xml::Dom::NodeType value {}; + check_hresult(WINRT_SHIM(IXmlNode)->get_NodeType(&value)); + return value; +} + +template hstring impl_IXmlNode::NodeName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlNode)->get_NodeName(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::ParentNode() const +{ + Windows::Data::Xml::Dom::IXmlNode value; + check_hresult(WINRT_SHIM(IXmlNode)->get_ParentNode(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlNodeList impl_IXmlNode::ChildNodes() const +{ + Windows::Data::Xml::Dom::XmlNodeList value { nullptr }; + check_hresult(WINRT_SHIM(IXmlNode)->get_ChildNodes(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::FirstChild() const +{ + Windows::Data::Xml::Dom::IXmlNode value; + check_hresult(WINRT_SHIM(IXmlNode)->get_FirstChild(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::LastChild() const +{ + Windows::Data::Xml::Dom::IXmlNode value; + check_hresult(WINRT_SHIM(IXmlNode)->get_LastChild(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::PreviousSibling() const +{ + Windows::Data::Xml::Dom::IXmlNode value; + check_hresult(WINRT_SHIM(IXmlNode)->get_PreviousSibling(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::NextSibling() const +{ + Windows::Data::Xml::Dom::IXmlNode value; + check_hresult(WINRT_SHIM(IXmlNode)->get_NextSibling(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlNamedNodeMap impl_IXmlNode::Attributes() const +{ + Windows::Data::Xml::Dom::XmlNamedNodeMap value { nullptr }; + check_hresult(WINRT_SHIM(IXmlNode)->get_Attributes(put_abi(value))); + return value; +} + +template bool impl_IXmlNode::HasChildNodes() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IXmlNode)->abi_HasChildNodes(&value)); + return value; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IXmlNode::OwnerDocument() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(IXmlNode)->get_OwnerDocument(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::InsertBefore(const Windows::Data::Xml::Dom::IXmlNode & newChild, const Windows::Data::Xml::Dom::IXmlNode & referenceChild) const +{ + Windows::Data::Xml::Dom::IXmlNode insertedChild; + check_hresult(WINRT_SHIM(IXmlNode)->abi_InsertBefore(get_abi(newChild), get_abi(referenceChild), put_abi(insertedChild))); + return insertedChild; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::ReplaceChild(const Windows::Data::Xml::Dom::IXmlNode & newChild, const Windows::Data::Xml::Dom::IXmlNode & referenceChild) const +{ + Windows::Data::Xml::Dom::IXmlNode previousChild; + check_hresult(WINRT_SHIM(IXmlNode)->abi_ReplaceChild(get_abi(newChild), get_abi(referenceChild), put_abi(previousChild))); + return previousChild; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::RemoveChild(const Windows::Data::Xml::Dom::IXmlNode & childNode) const +{ + Windows::Data::Xml::Dom::IXmlNode removedChild; + check_hresult(WINRT_SHIM(IXmlNode)->abi_RemoveChild(get_abi(childNode), put_abi(removedChild))); + return removedChild; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::AppendChild(const Windows::Data::Xml::Dom::IXmlNode & newChild) const +{ + Windows::Data::Xml::Dom::IXmlNode appendedChild; + check_hresult(WINRT_SHIM(IXmlNode)->abi_AppendChild(get_abi(newChild), put_abi(appendedChild))); + return appendedChild; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNode::CloneNode(bool deep) const +{ + Windows::Data::Xml::Dom::IXmlNode newNode; + check_hresult(WINRT_SHIM(IXmlNode)->abi_CloneNode(deep, put_abi(newNode))); + return newNode; +} + +template Windows::Foundation::IInspectable impl_IXmlNode::NamespaceUri() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IXmlNode)->get_NamespaceUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IXmlNode::LocalName() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IXmlNode)->get_LocalName(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IXmlNode::Prefix() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IXmlNode)->get_Prefix(put_abi(value))); + return value; +} + +template void impl_IXmlNode::Normalize() const +{ + check_hresult(WINRT_SHIM(IXmlNode)->abi_Normalize()); +} + +template void impl_IXmlNode::Prefix(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IXmlNode)->put_Prefix(get_abi(value))); +} + +template bool impl_IXmlDomImplementation::HasFeature(hstring_view feature, const Windows::Foundation::IInspectable & version) const +{ + bool featureSupported {}; + check_hresult(WINRT_SHIM(IXmlDomImplementation)->abi_HasFeature(get_abi(feature), get_abi(version), &featureSupported)); + return featureSupported; +} + +template hstring impl_IXmlDocumentType::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlDocumentType)->get_Name(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlNamedNodeMap impl_IXmlDocumentType::Entities() const +{ + Windows::Data::Xml::Dom::XmlNamedNodeMap value { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocumentType)->get_Entities(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlNamedNodeMap impl_IXmlDocumentType::Notations() const +{ + Windows::Data::Xml::Dom::XmlNamedNodeMap value { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocumentType)->get_Notations(put_abi(value))); + return value; +} + +template hstring impl_IXmlAttribute::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlAttribute)->get_Name(put_abi(value))); + return value; +} + +template bool impl_IXmlAttribute::Specified() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IXmlAttribute)->get_Specified(&value)); + return value; +} + +template hstring impl_IXmlAttribute::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlAttribute)->get_Value(put_abi(value))); + return value; +} + +template void impl_IXmlAttribute::Value(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IXmlAttribute)->put_Value(get_abi(value))); +} + +template hstring impl_IXmlElement::TagName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlElement)->get_TagName(put_abi(value))); + return value; +} + +template hstring impl_IXmlElement::GetAttribute(hstring_view attributeName) const +{ + hstring attributeValue; + check_hresult(WINRT_SHIM(IXmlElement)->abi_GetAttribute(get_abi(attributeName), put_abi(attributeValue))); + return attributeValue; +} + +template void impl_IXmlElement::SetAttribute(hstring_view attributeName, hstring_view attributeValue) const +{ + check_hresult(WINRT_SHIM(IXmlElement)->abi_SetAttribute(get_abi(attributeName), get_abi(attributeValue))); +} + +template void impl_IXmlElement::RemoveAttribute(hstring_view attributeName) const +{ + check_hresult(WINRT_SHIM(IXmlElement)->abi_RemoveAttribute(get_abi(attributeName))); +} + +template Windows::Data::Xml::Dom::XmlAttribute impl_IXmlElement::GetAttributeNode(hstring_view attributeName) const +{ + Windows::Data::Xml::Dom::XmlAttribute attributeNode { nullptr }; + check_hresult(WINRT_SHIM(IXmlElement)->abi_GetAttributeNode(get_abi(attributeName), put_abi(attributeNode))); + return attributeNode; +} + +template Windows::Data::Xml::Dom::XmlAttribute impl_IXmlElement::SetAttributeNode(const Windows::Data::Xml::Dom::XmlAttribute & newAttribute) const +{ + Windows::Data::Xml::Dom::XmlAttribute previousAttribute { nullptr }; + check_hresult(WINRT_SHIM(IXmlElement)->abi_SetAttributeNode(get_abi(newAttribute), put_abi(previousAttribute))); + return previousAttribute; +} + +template Windows::Data::Xml::Dom::XmlAttribute impl_IXmlElement::RemoveAttributeNode(const Windows::Data::Xml::Dom::XmlAttribute & attributeNode) const +{ + Windows::Data::Xml::Dom::XmlAttribute removedAttribute { nullptr }; + check_hresult(WINRT_SHIM(IXmlElement)->abi_RemoveAttributeNode(get_abi(attributeNode), put_abi(removedAttribute))); + return removedAttribute; +} + +template Windows::Data::Xml::Dom::XmlNodeList impl_IXmlElement::GetElementsByTagName(hstring_view tagName) const +{ + Windows::Data::Xml::Dom::XmlNodeList elements { nullptr }; + check_hresult(WINRT_SHIM(IXmlElement)->abi_GetElementsByTagName(get_abi(tagName), put_abi(elements))); + return elements; +} + +template void impl_IXmlElement::SetAttributeNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view qualifiedName, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IXmlElement)->abi_SetAttributeNS(get_abi(namespaceUri), get_abi(qualifiedName), get_abi(value))); +} + +template hstring impl_IXmlElement::GetAttributeNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view localName) const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlElement)->abi_GetAttributeNS(get_abi(namespaceUri), get_abi(localName), put_abi(value))); + return value; +} + +template void impl_IXmlElement::RemoveAttributeNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view localName) const +{ + check_hresult(WINRT_SHIM(IXmlElement)->abi_RemoveAttributeNS(get_abi(namespaceUri), get_abi(localName))); +} + +template Windows::Data::Xml::Dom::XmlAttribute impl_IXmlElement::SetAttributeNodeNS(const Windows::Data::Xml::Dom::XmlAttribute & newAttribute) const +{ + Windows::Data::Xml::Dom::XmlAttribute previousAttribute { nullptr }; + check_hresult(WINRT_SHIM(IXmlElement)->abi_SetAttributeNodeNS(get_abi(newAttribute), put_abi(previousAttribute))); + return previousAttribute; +} + +template Windows::Data::Xml::Dom::XmlAttribute impl_IXmlElement::GetAttributeNodeNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view localName) const +{ + Windows::Data::Xml::Dom::XmlAttribute previousAttribute { nullptr }; + check_hresult(WINRT_SHIM(IXmlElement)->abi_GetAttributeNodeNS(get_abi(namespaceUri), get_abi(localName), put_abi(previousAttribute))); + return previousAttribute; +} + +template Windows::Foundation::IInspectable impl_IDtdNotation::PublicId() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IDtdNotation)->get_PublicId(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IDtdNotation::SystemId() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IDtdNotation)->get_SystemId(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IDtdEntity::PublicId() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IDtdEntity)->get_PublicId(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IDtdEntity::SystemId() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IDtdEntity)->get_SystemId(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IDtdEntity::NotationName() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IDtdEntity)->get_NotationName(put_abi(value))); + return value; +} + +template hstring impl_IXmlProcessingInstruction::Target() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlProcessingInstruction)->get_Target(put_abi(value))); + return value; +} + +template hstring impl_IXmlProcessingInstruction::Data() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlProcessingInstruction)->get_Data(put_abi(value))); + return value; +} + +template void impl_IXmlProcessingInstruction::Data(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IXmlProcessingInstruction)->put_Data(get_abi(value))); +} + +template hstring impl_IXmlCharacterData::Data() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlCharacterData)->get_Data(put_abi(value))); + return value; +} + +template void impl_IXmlCharacterData::Data(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IXmlCharacterData)->put_Data(get_abi(value))); +} + +template uint32_t impl_IXmlCharacterData::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IXmlCharacterData)->get_Length(&value)); + return value; +} + +template hstring impl_IXmlCharacterData::SubstringData(uint32_t offset, uint32_t count) const +{ + hstring data; + check_hresult(WINRT_SHIM(IXmlCharacterData)->abi_SubstringData(offset, count, put_abi(data))); + return data; +} + +template void impl_IXmlCharacterData::AppendData(hstring_view data) const +{ + check_hresult(WINRT_SHIM(IXmlCharacterData)->abi_AppendData(get_abi(data))); +} + +template void impl_IXmlCharacterData::InsertData(uint32_t offset, hstring_view data) const +{ + check_hresult(WINRT_SHIM(IXmlCharacterData)->abi_InsertData(offset, get_abi(data))); +} + +template void impl_IXmlCharacterData::DeleteData(uint32_t offset, uint32_t count) const +{ + check_hresult(WINRT_SHIM(IXmlCharacterData)->abi_DeleteData(offset, count)); +} + +template void impl_IXmlCharacterData::ReplaceData(uint32_t offset, uint32_t count, hstring_view data) const +{ + check_hresult(WINRT_SHIM(IXmlCharacterData)->abi_ReplaceData(offset, count, get_abi(data))); +} + +template Windows::Data::Xml::Dom::IXmlText impl_IXmlText::SplitText(uint32_t offset) const +{ + Windows::Data::Xml::Dom::IXmlText secondPart; + check_hresult(WINRT_SHIM(IXmlText)->abi_SplitText(offset, put_abi(secondPart))); + return secondPart; +} + +template Windows::Data::Xml::Dom::XmlDocumentType impl_IXmlDocument::Doctype() const +{ + Windows::Data::Xml::Dom::XmlDocumentType value { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->get_Doctype(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlDomImplementation impl_IXmlDocument::Implementation() const +{ + Windows::Data::Xml::Dom::XmlDomImplementation value { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->get_Implementation(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlElement impl_IXmlDocument::DocumentElement() const +{ + Windows::Data::Xml::Dom::XmlElement value { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->get_DocumentElement(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlElement impl_IXmlDocument::CreateElement(hstring_view tagName) const +{ + Windows::Data::Xml::Dom::XmlElement newElement { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateElement(get_abi(tagName), put_abi(newElement))); + return newElement; +} + +template Windows::Data::Xml::Dom::XmlDocumentFragment impl_IXmlDocument::CreateDocumentFragment() const +{ + Windows::Data::Xml::Dom::XmlDocumentFragment newDocumentFragment { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateDocumentFragment(put_abi(newDocumentFragment))); + return newDocumentFragment; +} + +template Windows::Data::Xml::Dom::XmlText impl_IXmlDocument::CreateTextNode(hstring_view data) const +{ + Windows::Data::Xml::Dom::XmlText newTextNode { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateTextNode(get_abi(data), put_abi(newTextNode))); + return newTextNode; +} + +template Windows::Data::Xml::Dom::XmlComment impl_IXmlDocument::CreateComment(hstring_view data) const +{ + Windows::Data::Xml::Dom::XmlComment newComment { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateComment(get_abi(data), put_abi(newComment))); + return newComment; +} + +template Windows::Data::Xml::Dom::XmlProcessingInstruction impl_IXmlDocument::CreateProcessingInstruction(hstring_view target, hstring_view data) const +{ + Windows::Data::Xml::Dom::XmlProcessingInstruction newProcessingInstruction { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateProcessingInstruction(get_abi(target), get_abi(data), put_abi(newProcessingInstruction))); + return newProcessingInstruction; +} + +template Windows::Data::Xml::Dom::XmlAttribute impl_IXmlDocument::CreateAttribute(hstring_view name) const +{ + Windows::Data::Xml::Dom::XmlAttribute newAttribute { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateAttribute(get_abi(name), put_abi(newAttribute))); + return newAttribute; +} + +template Windows::Data::Xml::Dom::XmlEntityReference impl_IXmlDocument::CreateEntityReference(hstring_view name) const +{ + Windows::Data::Xml::Dom::XmlEntityReference newEntityReference { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateEntityReference(get_abi(name), put_abi(newEntityReference))); + return newEntityReference; +} + +template Windows::Data::Xml::Dom::XmlNodeList impl_IXmlDocument::GetElementsByTagName(hstring_view tagName) const +{ + Windows::Data::Xml::Dom::XmlNodeList elements { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_GetElementsByTagName(get_abi(tagName), put_abi(elements))); + return elements; +} + +template Windows::Data::Xml::Dom::XmlCDataSection impl_IXmlDocument::CreateCDataSection(hstring_view data) const +{ + Windows::Data::Xml::Dom::XmlCDataSection newCDataSection { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateCDataSection(get_abi(data), put_abi(newCDataSection))); + return newCDataSection; +} + +template hstring impl_IXmlDocument::DocumentUri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IXmlDocument)->get_DocumentUri(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlAttribute impl_IXmlDocument::CreateAttributeNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view qualifiedName) const +{ + Windows::Data::Xml::Dom::XmlAttribute newAttribute { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateAttributeNS(get_abi(namespaceUri), get_abi(qualifiedName), put_abi(newAttribute))); + return newAttribute; +} + +template Windows::Data::Xml::Dom::XmlElement impl_IXmlDocument::CreateElementNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view qualifiedName) const +{ + Windows::Data::Xml::Dom::XmlElement newElement { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_CreateElementNS(get_abi(namespaceUri), get_abi(qualifiedName), put_abi(newElement))); + return newElement; +} + +template Windows::Data::Xml::Dom::XmlElement impl_IXmlDocument::GetElementById(hstring_view elementId) const +{ + Windows::Data::Xml::Dom::XmlElement element { nullptr }; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_GetElementById(get_abi(elementId), put_abi(element))); + return element; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlDocument::ImportNode(const Windows::Data::Xml::Dom::IXmlNode & node, bool deep) const +{ + Windows::Data::Xml::Dom::IXmlNode newNode; + check_hresult(WINRT_SHIM(IXmlDocument)->abi_ImportNode(get_abi(node), deep, put_abi(newNode))); + return newNode; +} + +template uint32_t impl_IXmlNamedNodeMap::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->get_Length(&value)); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNamedNodeMap::Item(uint32_t index) const +{ + Windows::Data::Xml::Dom::IXmlNode node; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->abi_Item(index, put_abi(node))); + return node; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNamedNodeMap::GetNamedItem(hstring_view name) const +{ + Windows::Data::Xml::Dom::IXmlNode node; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->abi_GetNamedItem(get_abi(name), put_abi(node))); + return node; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNamedNodeMap::SetNamedItem(const Windows::Data::Xml::Dom::IXmlNode & node) const +{ + Windows::Data::Xml::Dom::IXmlNode previousNode; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->abi_SetNamedItem(get_abi(node), put_abi(previousNode))); + return previousNode; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNamedNodeMap::RemoveNamedItem(hstring_view name) const +{ + Windows::Data::Xml::Dom::IXmlNode previousNode; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->abi_RemoveNamedItem(get_abi(name), put_abi(previousNode))); + return previousNode; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNamedNodeMap::GetNamedItemNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view name) const +{ + Windows::Data::Xml::Dom::IXmlNode node; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->abi_GetNamedItemNS(get_abi(namespaceUri), get_abi(name), put_abi(node))); + return node; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNamedNodeMap::RemoveNamedItemNS(const Windows::Foundation::IInspectable & namespaceUri, hstring_view name) const +{ + Windows::Data::Xml::Dom::IXmlNode previousNode; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->abi_RemoveNamedItemNS(get_abi(namespaceUri), get_abi(name), put_abi(previousNode))); + return previousNode; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNamedNodeMap::SetNamedItemNS(const Windows::Data::Xml::Dom::IXmlNode & node) const +{ + Windows::Data::Xml::Dom::IXmlNode previousNode; + check_hresult(WINRT_SHIM(IXmlNamedNodeMap)->abi_SetNamedItemNS(get_abi(node), put_abi(previousNode))); + return previousNode; +} + +template uint32_t impl_IXmlNodeList::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IXmlNodeList)->get_Length(&value)); + return value; +} + +template Windows::Data::Xml::Dom::IXmlNode impl_IXmlNodeList::Item(uint32_t index) const +{ + Windows::Data::Xml::Dom::IXmlNode node; + check_hresult(WINRT_SHIM(IXmlNodeList)->abi_Item(index, put_abi(node))); + return node; +} + +template uint32_t impl_IXmlLoadSettings::MaxElementDepth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IXmlLoadSettings)->get_MaxElementDepth(&value)); + return value; +} + +template void impl_IXmlLoadSettings::MaxElementDepth(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IXmlLoadSettings)->put_MaxElementDepth(value)); +} + +template bool impl_IXmlLoadSettings::ProhibitDtd() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IXmlLoadSettings)->get_ProhibitDtd(&value)); + return value; +} + +template void impl_IXmlLoadSettings::ProhibitDtd(bool value) const +{ + check_hresult(WINRT_SHIM(IXmlLoadSettings)->put_ProhibitDtd(value)); +} + +template bool impl_IXmlLoadSettings::ResolveExternals() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IXmlLoadSettings)->get_ResolveExternals(&value)); + return value; +} + +template void impl_IXmlLoadSettings::ResolveExternals(bool value) const +{ + check_hresult(WINRT_SHIM(IXmlLoadSettings)->put_ResolveExternals(value)); +} + +template bool impl_IXmlLoadSettings::ValidateOnParse() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IXmlLoadSettings)->get_ValidateOnParse(&value)); + return value; +} + +template void impl_IXmlLoadSettings::ValidateOnParse(bool value) const +{ + check_hresult(WINRT_SHIM(IXmlLoadSettings)->put_ValidateOnParse(value)); +} + +template bool impl_IXmlLoadSettings::ElementContentWhiteSpace() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IXmlLoadSettings)->get_ElementContentWhiteSpace(&value)); + return value; +} + +template void impl_IXmlLoadSettings::ElementContentWhiteSpace(bool value) const +{ + check_hresult(WINRT_SHIM(IXmlLoadSettings)->put_ElementContentWhiteSpace(value)); +} + +template void impl_IXmlDocumentIO::LoadXml(hstring_view xml) const +{ + check_hresult(WINRT_SHIM(IXmlDocumentIO)->abi_LoadXml(get_abi(xml))); +} + +template void impl_IXmlDocumentIO::LoadXml(hstring_view xml, const Windows::Data::Xml::Dom::XmlLoadSettings & loadSettings) const +{ + check_hresult(WINRT_SHIM(IXmlDocumentIO)->abi_LoadXmlWithSettings(get_abi(xml), get_abi(loadSettings))); +} + +template Windows::Foundation::IAsyncAction impl_IXmlDocumentIO::SaveToFileAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IXmlDocumentIO)->abi_SaveToFileAsync(get_abi(file), put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IXmlDocumentIO2::LoadXmlFromBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(IXmlDocumentIO2)->abi_LoadXmlFromBuffer(get_abi(buffer))); +} + +template void impl_IXmlDocumentIO2::LoadXmlFromBuffer(const Windows::Storage::Streams::IBuffer & buffer, const Windows::Data::Xml::Dom::XmlLoadSettings & loadSettings) const +{ + check_hresult(WINRT_SHIM(IXmlDocumentIO2)->abi_LoadXmlFromBufferWithSettings(get_abi(buffer), get_abi(loadSettings))); +} + +template Windows::Foundation::IAsyncOperation impl_IXmlDocumentStatics::LoadFromUriAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IXmlDocumentStatics)->abi_LoadFromUriAsync(get_abi(uri), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IXmlDocumentStatics::LoadFromUriAsync(const Windows::Foundation::Uri & uri, const Windows::Data::Xml::Dom::XmlLoadSettings & loadSettings) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IXmlDocumentStatics)->abi_LoadFromUriWithSettingsAsync(get_abi(uri), get_abi(loadSettings), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IXmlDocumentStatics::LoadFromFileAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IXmlDocumentStatics)->abi_LoadFromFileAsync(get_abi(file), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IXmlDocumentStatics::LoadFromFileAsync(const Windows::Storage::IStorageFile & file, const Windows::Data::Xml::Dom::XmlLoadSettings & loadSettings) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IXmlDocumentStatics)->abi_LoadFromFileWithSettingsAsync(get_abi(file), get_abi(loadSettings), put_abi(asyncInfo))); + return asyncInfo; +} + +inline XmlDocument::XmlDocument() : + XmlDocument(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation XmlDocument::LoadFromUriAsync(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().LoadFromUriAsync(uri); +} + +inline Windows::Foundation::IAsyncOperation XmlDocument::LoadFromUriAsync(const Windows::Foundation::Uri & uri, const Windows::Data::Xml::Dom::XmlLoadSettings & loadSettings) +{ + return get_activation_factory().LoadFromUriAsync(uri, loadSettings); +} + +inline Windows::Foundation::IAsyncOperation XmlDocument::LoadFromFileAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().LoadFromFileAsync(file); +} + +inline Windows::Foundation::IAsyncOperation XmlDocument::LoadFromFileAsync(const Windows::Storage::IStorageFile & file, const Windows::Data::Xml::Dom::XmlLoadSettings & loadSettings) +{ + return get_activation_factory().LoadFromFileAsync(file, loadSettings); +} + +inline XmlLoadSettings::XmlLoadSettings() : + XmlLoadSettings(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IDtdEntity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IDtdNotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlAttribute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlCDataSection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlCharacterData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlComment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlDocument & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlDocumentFragment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlDocumentIO & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlDocumentIO2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlDocumentStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlDocumentType & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlDomImplementation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlEntityReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlLoadSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlNamedNodeMap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlNodeList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlNodeSelector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlNodeSerializer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlProcessingInstruction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::IXmlText & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::DtdEntity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::DtdNotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlAttribute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlCDataSection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlComment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlDocument & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlDocumentFragment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlDocumentType & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlDomImplementation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlEntityReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlLoadSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlNamedNodeMap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlNodeList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlProcessingInstruction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Dom::XmlText & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Data.Xml.Xsl.h b/10.0.15042.0/winrt/Windows.Data.Xml.Xsl.h new file mode 100644 index 000000000..7e8a2f43a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Data.Xml.Xsl.h @@ -0,0 +1,142 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Data.Xml.Dom.3.h" +#include "internal/Windows.Data.Xml.Xsl.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TransformToString(impl::abi_arg_in inputNode, impl::abi_arg_out output) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *output = detach_abi(this->shim().TransformToString(*reinterpret_cast(&inputNode))); + return S_OK; + } + catch (...) + { + *output = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TransformToDocument(impl::abi_arg_in inputNode, impl::abi_arg_out output) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *output = detach_abi(this->shim().TransformToDocument(*reinterpret_cast(&inputNode))); + return S_OK; + } + catch (...) + { + *output = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in document, impl::abi_arg_out xsltProcessor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *xsltProcessor = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&document))); + return S_OK; + } + catch (...) + { + *xsltProcessor = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Data::Xml::Xsl { + +template hstring impl_IXsltProcessor::TransformToString(const Windows::Data::Xml::Dom::IXmlNode & inputNode) const +{ + hstring output; + check_hresult(WINRT_SHIM(IXsltProcessor)->abi_TransformToString(get_abi(inputNode), put_abi(output))); + return output; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IXsltProcessor2::TransformToDocument(const Windows::Data::Xml::Dom::IXmlNode & inputNode) const +{ + Windows::Data::Xml::Dom::XmlDocument output { nullptr }; + check_hresult(WINRT_SHIM(IXsltProcessor2)->abi_TransformToDocument(get_abi(inputNode), put_abi(output))); + return output; +} + +template Windows::Data::Xml::Xsl::XsltProcessor impl_IXsltProcessorFactory::CreateInstance(const Windows::Data::Xml::Dom::XmlDocument & document) const +{ + Windows::Data::Xml::Xsl::XsltProcessor xsltProcessor { nullptr }; + check_hresult(WINRT_SHIM(IXsltProcessorFactory)->abi_CreateInstance(get_abi(document), put_abi(xsltProcessor))); + return xsltProcessor; +} + +inline XsltProcessor::XsltProcessor(const Windows::Data::Xml::Dom::XmlDocument & document) : + XsltProcessor(get_activation_factory().CreateInstance(document)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Xsl::IXsltProcessor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Xsl::IXsltProcessor2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Xsl::IXsltProcessorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Data::Xml::Xsl::XsltProcessor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Adc.Provider.h b/10.0.15042.0/winrt/Windows.Devices.Adc.Provider.h new file mode 100644 index 000000000..476b9d612 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Adc.Provider.h @@ -0,0 +1,277 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Adc.Provider.3.h" +#include "Windows.Devices.Adc.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChannelCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChannelCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolutionInBits(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolutionInBits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinValue(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxValue(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChannelMode(Windows::Devices::Adc::Provider::ProviderAdcChannelMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChannelMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChannelMode(Windows::Devices::Adc::Provider::ProviderAdcChannelMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChannelMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsChannelModeSupported(Windows::Devices::Adc::Provider::ProviderAdcChannelMode channelMode, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsChannelModeSupported(channelMode)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcquireChannel(int32_t channel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcquireChannel(channel); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReleaseChannel(int32_t channel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleaseChannel(channel); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadValue(int32_t channelNumber, int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadValue(channelNumber)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllers(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetControllers()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Adc::Provider { + +template int32_t impl_IAdcControllerProvider::ChannelCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcControllerProvider)->get_ChannelCount(&value)); + return value; +} + +template int32_t impl_IAdcControllerProvider::ResolutionInBits() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcControllerProvider)->get_ResolutionInBits(&value)); + return value; +} + +template int32_t impl_IAdcControllerProvider::MinValue() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcControllerProvider)->get_MinValue(&value)); + return value; +} + +template int32_t impl_IAdcControllerProvider::MaxValue() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcControllerProvider)->get_MaxValue(&value)); + return value; +} + +template Windows::Devices::Adc::Provider::ProviderAdcChannelMode impl_IAdcControllerProvider::ChannelMode() const +{ + Windows::Devices::Adc::Provider::ProviderAdcChannelMode value {}; + check_hresult(WINRT_SHIM(IAdcControllerProvider)->get_ChannelMode(&value)); + return value; +} + +template void impl_IAdcControllerProvider::ChannelMode(Windows::Devices::Adc::Provider::ProviderAdcChannelMode value) const +{ + check_hresult(WINRT_SHIM(IAdcControllerProvider)->put_ChannelMode(value)); +} + +template bool impl_IAdcControllerProvider::IsChannelModeSupported(Windows::Devices::Adc::Provider::ProviderAdcChannelMode channelMode) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IAdcControllerProvider)->abi_IsChannelModeSupported(channelMode, &result)); + return result; +} + +template void impl_IAdcControllerProvider::AcquireChannel(int32_t channel) const +{ + check_hresult(WINRT_SHIM(IAdcControllerProvider)->abi_AcquireChannel(channel)); +} + +template void impl_IAdcControllerProvider::ReleaseChannel(int32_t channel) const +{ + check_hresult(WINRT_SHIM(IAdcControllerProvider)->abi_ReleaseChannel(channel)); +} + +template int32_t impl_IAdcControllerProvider::ReadValue(int32_t channelNumber) const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IAdcControllerProvider)->abi_ReadValue(channelNumber, &result)); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IAdcProvider::GetControllers() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IAdcProvider)->abi_GetControllers(put_abi(result))); + return result; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::Provider::IAdcControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::Provider::IAdcProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Adc.h b/10.0.15042.0/winrt/Windows.Devices.Adc.h new file mode 100644 index 000000000..5b1ed6d2b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Adc.h @@ -0,0 +1,382 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Devices.Adc.Provider.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Adc.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Controller(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Controller()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadValue(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadRatio(double * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadRatio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChannelCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChannelCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolutionInBits(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolutionInBits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinValue(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxValue(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChannelMode(Windows::Devices::Adc::AdcChannelMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChannelMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChannelMode(Windows::Devices::Adc::AdcChannelMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChannelMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsChannelModeSupported(Windows::Devices::Adc::AdcChannelMode channelMode, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsChannelModeSupported(channelMode)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenChannel(int32_t channelNumber, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().OpenChannel(channelNumber)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllersAsync(impl::abi_arg_in provider, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetControllersAsync(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Adc { + +template int32_t impl_IAdcController::ChannelCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcController)->get_ChannelCount(&value)); + return value; +} + +template int32_t impl_IAdcController::ResolutionInBits() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcController)->get_ResolutionInBits(&value)); + return value; +} + +template int32_t impl_IAdcController::MinValue() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcController)->get_MinValue(&value)); + return value; +} + +template int32_t impl_IAdcController::MaxValue() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdcController)->get_MaxValue(&value)); + return value; +} + +template Windows::Devices::Adc::AdcChannelMode impl_IAdcController::ChannelMode() const +{ + Windows::Devices::Adc::AdcChannelMode value {}; + check_hresult(WINRT_SHIM(IAdcController)->get_ChannelMode(&value)); + return value; +} + +template void impl_IAdcController::ChannelMode(Windows::Devices::Adc::AdcChannelMode value) const +{ + check_hresult(WINRT_SHIM(IAdcController)->put_ChannelMode(value)); +} + +template bool impl_IAdcController::IsChannelModeSupported(Windows::Devices::Adc::AdcChannelMode channelMode) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IAdcController)->abi_IsChannelModeSupported(channelMode, &result)); + return result; +} + +template Windows::Devices::Adc::AdcChannel impl_IAdcController::OpenChannel(int32_t channelNumber) const +{ + Windows::Devices::Adc::AdcChannel result { nullptr }; + check_hresult(WINRT_SHIM(IAdcController)->abi_OpenChannel(channelNumber, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IAdcControllerStatics::GetControllersAsync(const Windows::Devices::Adc::Provider::IAdcProvider & provider) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAdcControllerStatics)->abi_GetControllersAsync(get_abi(provider), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAdcControllerStatics2::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAdcControllerStatics2)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template Windows::Devices::Adc::AdcController impl_IAdcChannel::Controller() const +{ + Windows::Devices::Adc::AdcController value { nullptr }; + check_hresult(WINRT_SHIM(IAdcChannel)->get_Controller(put_abi(value))); + return value; +} + +template int32_t impl_IAdcChannel::ReadValue() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IAdcChannel)->abi_ReadValue(&result)); + return result; +} + +template double impl_IAdcChannel::ReadRatio() const +{ + double result {}; + check_hresult(WINRT_SHIM(IAdcChannel)->abi_ReadRatio(&result)); + return result; +} + +inline Windows::Foundation::IAsyncOperation> AdcController::GetControllersAsync(const Windows::Devices::Adc::Provider::IAdcProvider & provider) +{ + return get_activation_factory().GetControllersAsync(provider); +} + +inline Windows::Foundation::IAsyncOperation AdcController::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::IAdcChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::IAdcController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::IAdcControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::IAdcControllerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::AdcChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Adc::AdcController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.AllJoyn.h b/10.0.15042.0/winrt/Windows.Devices.AllJoyn.h new file mode 100644 index 000000000..f7ea0927f --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.AllJoyn.h @@ -0,0 +1,4357 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Security.Cryptography.Certificates.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "internal/Windows.Devices.AllJoyn.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultAppName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultAppName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultAppName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultAppName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateOfManufacture(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateOfManufacture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DateOfManufacture(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DateOfManufacture(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Descriptions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Descriptions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultManufacturer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultManufacturer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultManufacturer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultManufacturer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Manufacturers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Manufacturers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModelNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ModelNumber(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ModelNumber(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoftwareVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SoftwareVersion(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SoftwareVersion(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportUrl(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportUrl(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AJSoftwareVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AJSoftwareVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateOfManufacture(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateOfManufacture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModelNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoftwareVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedLanguages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedLanguages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Manufacturer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Manufacturer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDataBySessionPortAsync(impl::abi_arg_in uniqueName, impl::abi_arg_in busAttachment, uint16_t sessionPort, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDataBySessionPortAsync(*reinterpret_cast(&uniqueName), *reinterpret_cast(&busAttachment), sessionPort)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDataBySessionPortWithLanguageAsync(impl::abi_arg_in uniqueName, impl::abi_arg_in busAttachment, uint16_t sessionPort, impl::abi_arg_in language, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDataBySessionPortAsync(*reinterpret_cast(&uniqueName), *reinterpret_cast(&busAttachment), sessionPort, *reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Accept() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Accept(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionPort(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionPort()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrafficType(Windows::Devices::AllJoyn::AllJoynTrafficType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrafficType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SamePhysicalNode(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SamePhysicalNode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SameNetwork(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SameNetwork()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Accept() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Accept(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in uniqueName, uint16_t sessionPort, Windows::Devices::AllJoyn::AllJoynTrafficType trafficType, uint8_t proximity, impl::abi_arg_in acceptSessionJoiner, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&uniqueName), sessionPort, trafficType, proximity, *reinterpret_cast(&acceptSessionJoiner))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AuthenticationMechanism(Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationMechanism()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerUniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerUniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Succeeded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Succeeded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AboutData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AboutData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionSpecification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionSpecification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Devices::AllJoyn::AllJoynBusAttachmentState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PingAsync(impl::abi_arg_in uniqueName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PingAsync(*reinterpret_cast(&uniqueName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Connect() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Connect(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Disconnect() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disconnect(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationMechanisms(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationMechanisms()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CredentialsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CredentialsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CredentialsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CredentialsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CredentialsVerificationRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CredentialsVerificationRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CredentialsVerificationRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CredentialsVerificationRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AuthenticationComplete(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AuthenticationComplete(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AuthenticationComplete(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationComplete(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAboutDataAsync(impl::abi_arg_in serviceInfo, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAboutDataAsync(*reinterpret_cast(&serviceInfo))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAboutDataWithLanguageAsync(impl::abi_arg_in serviceInfo, impl::abi_arg_in language, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAboutDataAsync(*reinterpret_cast(&serviceInfo), *reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AcceptSessionJoinerRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AcceptSessionJoinerRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AcceptSessionJoinerRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptSessionJoinerRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SessionJoined(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SessionJoined(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SessionJoined(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SessionJoined(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in connectionSpecification, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&connectionSpecification))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Devices::AllJoyn::AllJoynBusAttachmentState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out defaultBusAttachment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *defaultBusAttachment = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *defaultBusAttachment = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetWatcher(impl::abi_arg_in> requiredInterfaces, impl::abi_arg_out deviceWatcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceWatcher = detach_abi(this->shim().GetWatcher(*reinterpret_cast *>(&requiredInterfaces))); + return S_OK; + } + catch (...) + { + *deviceWatcher = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddProducer(impl::abi_arg_in producer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddProducer(*reinterpret_cast(&producer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BusAttachment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusAttachment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in objectPath, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&objectPath))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithBusAttachment(impl::abi_arg_in objectPath, impl::abi_arg_in busAttachment, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithBusAttachment(*reinterpret_cast(&objectPath), *reinterpret_cast(&busAttachment))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(int32_t status, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(status)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AuthenticationMechanism(Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationMechanism()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Certificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Certificate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Certificate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PasswordCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PasswordCredential(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PasswordCredential(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Timeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Timeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AttemptCount(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttemptCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Credentials(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Credentials()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerUniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerUniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestedUserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedUserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AuthenticationMechanism(Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationMechanism()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerUniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerUniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerCertificateErrorSeverity(Windows::Networking::Sockets::SocketSslErrorSeverity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerCertificateErrorSeverity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerCertificateErrors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerCertificateErrors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerIntermediateCertificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerIntermediateCertificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Accept() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Accept(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SenderUniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SenderUniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in senderUniqueName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&senderUniqueName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetBusObject(impl::abi_arg_in busObject) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBusObject(*reinterpret_cast(&busObject)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(int32_t status, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(status)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ObjectPath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ObjectPath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionPort(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionPort()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in uniqueName, impl::abi_arg_in objectPath, uint16_t sessionPort, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&uniqueName), *reinterpret_cast(&objectPath), sessionPort)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in uniqueName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&uniqueName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveMemberAsync(impl::abi_arg_in uniqueName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RemoveMemberAsync(*reinterpret_cast(&uniqueName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MemberAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MemberAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MemberAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MemberAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MemberRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MemberRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MemberRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MemberRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Lost(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Lost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Lost(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Lost(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in session, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&session))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::Devices::AllJoyn::AllJoynSessionLostReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Devices::AllJoyn::AllJoynSessionLostReason reason, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(reason)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in uniqueName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&uniqueName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UniqueName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UniqueName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in uniqueName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&uniqueName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFromServiceInfoAsync(impl::abi_arg_in serviceInfo, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFromServiceInfoAsync(*reinterpret_cast(&serviceInfo))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFromServiceInfoAndBusAttachmentAsync(impl::abi_arg_in serviceInfo, impl::abi_arg_in busAttachment, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFromServiceInfoAsync(*reinterpret_cast(&serviceInfo), *reinterpret_cast(&busAttachment))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Ok(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ok()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Fail(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Fail()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OperationTimedOut(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperationTimedOut()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherEndClosed(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherEndClosed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionRefused(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionRefused()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationFailed(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationFailed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationRejectedByUser(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationRejectedByUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SslConnectFailed(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SslConnectFailed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SslIdentityVerificationFailed(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SslIdentityVerificationFailed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InsufficientSecurity(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InsufficientSecurity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument1(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument1()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument2(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument3(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument3()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument4(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument4()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument5(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument6(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument6()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument7(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument7()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidArgument8(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidArgument8()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(int32_t status, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(status)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::AllJoyn { + +template int32_t impl_IAllJoynStatusStatics::Ok() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_Ok(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::Fail() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_Fail(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::OperationTimedOut() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_OperationTimedOut(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::OtherEndClosed() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_OtherEndClosed(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::ConnectionRefused() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_ConnectionRefused(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::AuthenticationFailed() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_AuthenticationFailed(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::AuthenticationRejectedByUser() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_AuthenticationRejectedByUser(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::SslConnectFailed() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_SslConnectFailed(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::SslIdentityVerificationFailed() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_SslIdentityVerificationFailed(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InsufficientSecurity() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InsufficientSecurity(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument1() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument1(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument2() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument2(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument3() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument3(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument4() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument4(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument5() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument5(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument6() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument6(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument7() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument7(&value)); + return value; +} + +template int32_t impl_IAllJoynStatusStatics::InvalidArgument8() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynStatusStatics)->get_InvalidArgument8(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynAboutData impl_IAllJoynBusAttachment::AboutData() const +{ + Windows::Devices::AllJoyn::AllJoynAboutData value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->get_AboutData(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynBusAttachment::ConnectionSpecification() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->get_ConnectionSpecification(put_abi(value))); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynBusAttachmentState impl_IAllJoynBusAttachment::State() const +{ + Windows::Devices::AllJoyn::AllJoynBusAttachmentState value {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->get_State(&value)); + return value; +} + +template hstring impl_IAllJoynBusAttachment::UniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->get_UniqueName(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynBusAttachment::PingAsync(hstring_view uniqueName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->abi_PingAsync(get_abi(uniqueName), put_abi(operation))); + return operation; +} + +template void impl_IAllJoynBusAttachment::Connect() const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->abi_Connect()); +} + +template void impl_IAllJoynBusAttachment::Disconnect() const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->abi_Disconnect()); +} + +template event_token impl_IAllJoynBusAttachment::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->add_StateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynBusAttachment::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynBusAttachment::remove_StateChanged, StateChanged(handler)); +} + +template void impl_IAllJoynBusAttachment::StateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->remove_StateChanged(token)); +} + +template Windows::Foundation::Collections::IVector impl_IAllJoynBusAttachment::AuthenticationMechanisms() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->get_AuthenticationMechanisms(put_abi(value))); + return value; +} + +template event_token impl_IAllJoynBusAttachment::CredentialsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->add_CredentialsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynBusAttachment::CredentialsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynBusAttachment::remove_CredentialsRequested, CredentialsRequested(handler)); +} + +template void impl_IAllJoynBusAttachment::CredentialsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->remove_CredentialsRequested(token)); +} + +template event_token impl_IAllJoynBusAttachment::CredentialsVerificationRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->add_CredentialsVerificationRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynBusAttachment::CredentialsVerificationRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynBusAttachment::remove_CredentialsVerificationRequested, CredentialsVerificationRequested(handler)); +} + +template void impl_IAllJoynBusAttachment::CredentialsVerificationRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->remove_CredentialsVerificationRequested(token)); +} + +template event_token impl_IAllJoynBusAttachment::AuthenticationComplete(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->add_AuthenticationComplete(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynBusAttachment::AuthenticationComplete(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynBusAttachment::remove_AuthenticationComplete, AuthenticationComplete(handler)); +} + +template void impl_IAllJoynBusAttachment::AuthenticationComplete(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment)->remove_AuthenticationComplete(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynBusAttachment2::GetAboutDataAsync(const Windows::Devices::AllJoyn::AllJoynServiceInfo & serviceInfo) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment2)->abi_GetAboutDataAsync(get_abi(serviceInfo), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynBusAttachment2::GetAboutDataAsync(const Windows::Devices::AllJoyn::AllJoynServiceInfo & serviceInfo, const Windows::Globalization::Language & language) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment2)->abi_GetAboutDataWithLanguageAsync(get_abi(serviceInfo), get_abi(language), put_abi(operation))); + return operation; +} + +template event_token impl_IAllJoynBusAttachment2::AcceptSessionJoinerRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment2)->add_AcceptSessionJoinerRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynBusAttachment2::AcceptSessionJoinerRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynBusAttachment2::remove_AcceptSessionJoinerRequested, AcceptSessionJoinerRequested(handler)); +} + +template void impl_IAllJoynBusAttachment2::AcceptSessionJoinerRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment2)->remove_AcceptSessionJoinerRequested(token)); +} + +template event_token impl_IAllJoynBusAttachment2::SessionJoined(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachment2)->add_SessionJoined(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynBusAttachment2::SessionJoined(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynBusAttachment2::remove_SessionJoined, SessionJoined(handler)); +} + +template void impl_IAllJoynBusAttachment2::SessionJoined(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusAttachment2)->remove_SessionJoined(token)); +} + +template Windows::Devices::AllJoyn::AllJoynBusAttachment impl_IAllJoynBusAttachmentStatics::GetDefault() const +{ + Windows::Devices::AllJoyn::AllJoynBusAttachment defaultBusAttachment { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusAttachmentStatics)->abi_GetDefault(put_abi(defaultBusAttachment))); + return defaultBusAttachment; +} + +template Windows::Devices::Enumeration::DeviceWatcher impl_IAllJoynBusAttachmentStatics::GetWatcher(iterable requiredInterfaces) const +{ + Windows::Devices::Enumeration::DeviceWatcher deviceWatcher { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusAttachmentStatics)->abi_GetWatcher(get_abi(requiredInterfaces), put_abi(deviceWatcher))); + return deviceWatcher; +} + +template Windows::Devices::AllJoyn::AllJoynBusAttachmentState impl_IAllJoynBusAttachmentStateChangedEventArgs::State() const +{ + Windows::Devices::AllJoyn::AllJoynBusAttachmentState value {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachmentStateChangedEventArgs)->get_State(&value)); + return value; +} + +template int32_t impl_IAllJoynBusAttachmentStateChangedEventArgs::Status() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynBusAttachmentStateChangedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism impl_IAllJoynCredentials::AuthenticationMechanism() const +{ + Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism value {}; + check_hresult(WINRT_SHIM(IAllJoynCredentials)->get_AuthenticationMechanism(&value)); + return value; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_IAllJoynCredentials::Certificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynCredentials)->get_Certificate(put_abi(value))); + return value; +} + +template void impl_IAllJoynCredentials::Certificate(const Windows::Security::Cryptography::Certificates::Certificate & value) const +{ + check_hresult(WINRT_SHIM(IAllJoynCredentials)->put_Certificate(get_abi(value))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IAllJoynCredentials::PasswordCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynCredentials)->get_PasswordCredential(put_abi(value))); + return value; +} + +template void impl_IAllJoynCredentials::PasswordCredential(const Windows::Security::Credentials::PasswordCredential & value) const +{ + check_hresult(WINRT_SHIM(IAllJoynCredentials)->put_PasswordCredential(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IAllJoynCredentials::Timeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAllJoynCredentials)->get_Timeout(put_abi(value))); + return value; +} + +template void impl_IAllJoynCredentials::Timeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IAllJoynCredentials)->put_Timeout(get_abi(value))); +} + +template uint16_t impl_IAllJoynCredentialsRequestedEventArgs::AttemptCount() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IAllJoynCredentialsRequestedEventArgs)->get_AttemptCount(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynCredentials impl_IAllJoynCredentialsRequestedEventArgs::Credentials() const +{ + Windows::Devices::AllJoyn::AllJoynCredentials value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynCredentialsRequestedEventArgs)->get_Credentials(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynCredentialsRequestedEventArgs::PeerUniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynCredentialsRequestedEventArgs)->get_PeerUniqueName(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynCredentialsRequestedEventArgs::RequestedUserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynCredentialsRequestedEventArgs)->get_RequestedUserName(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IAllJoynCredentialsRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynCredentialsRequestedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism impl_IAllJoynCredentialsVerificationRequestedEventArgs::AuthenticationMechanism() const +{ + Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism value {}; + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->get_AuthenticationMechanism(&value)); + return value; +} + +template hstring impl_IAllJoynCredentialsVerificationRequestedEventArgs::PeerUniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->get_PeerUniqueName(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_IAllJoynCredentialsVerificationRequestedEventArgs::PeerCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->get_PeerCertificate(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketSslErrorSeverity impl_IAllJoynCredentialsVerificationRequestedEventArgs::PeerCertificateErrorSeverity() const +{ + Windows::Networking::Sockets::SocketSslErrorSeverity value {}; + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->get_PeerCertificateErrorSeverity(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAllJoynCredentialsVerificationRequestedEventArgs::PeerCertificateErrors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->get_PeerCertificateErrors(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAllJoynCredentialsVerificationRequestedEventArgs::PeerIntermediateCertificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->get_PeerIntermediateCertificates(put_abi(value))); + return value; +} + +template void impl_IAllJoynCredentialsVerificationRequestedEventArgs::Accept() const +{ + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->abi_Accept()); +} + +template Windows::Foundation::Deferral impl_IAllJoynCredentialsVerificationRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynCredentialsVerificationRequestedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism impl_IAllJoynAuthenticationCompleteEventArgs::AuthenticationMechanism() const +{ + Windows::Devices::AllJoyn::AllJoynAuthenticationMechanism value {}; + check_hresult(WINRT_SHIM(IAllJoynAuthenticationCompleteEventArgs)->get_AuthenticationMechanism(&value)); + return value; +} + +template hstring impl_IAllJoynAuthenticationCompleteEventArgs::PeerUniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAuthenticationCompleteEventArgs)->get_PeerUniqueName(put_abi(value))); + return value; +} + +template bool impl_IAllJoynAuthenticationCompleteEventArgs::Succeeded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAllJoynAuthenticationCompleteEventArgs)->get_Succeeded(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynBusAttachment impl_IAllJoynBusAttachmentFactory::Create(hstring_view connectionSpecification) const +{ + Windows::Devices::AllJoyn::AllJoynBusAttachment result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusAttachmentFactory)->abi_Create(get_abi(connectionSpecification), put_abi(result))); + return result; +} + +template int32_t impl_IAllJoynSession::Id() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynSession)->get_Id(&value)); + return value; +} + +template int32_t impl_IAllJoynSession::Status() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynSession)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynSession::RemoveMemberAsync(hstring_view uniqueName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynSession)->abi_RemoveMemberAsync(get_abi(uniqueName), put_abi(operation))); + return operation; +} + +template event_token impl_IAllJoynSession::MemberAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynSession)->add_MemberAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynSession::MemberAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynSession::remove_MemberAdded, MemberAdded(handler)); +} + +template void impl_IAllJoynSession::MemberAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynSession)->remove_MemberAdded(token)); +} + +template event_token impl_IAllJoynSession::MemberRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynSession)->add_MemberRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynSession::MemberRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynSession::remove_MemberRemoved, MemberRemoved(handler)); +} + +template void impl_IAllJoynSession::MemberRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynSession)->remove_MemberRemoved(token)); +} + +template event_token impl_IAllJoynSession::Lost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynSession)->add_Lost(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynSession::Lost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynSession::remove_Lost, Lost(handler)); +} + +template void impl_IAllJoynSession::Lost(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynSession)->remove_Lost(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynSessionStatics::GetFromServiceInfoAsync(const Windows::Devices::AllJoyn::AllJoynServiceInfo & serviceInfo) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynSessionStatics)->abi_GetFromServiceInfoAsync(get_abi(serviceInfo), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynSessionStatics::GetFromServiceInfoAsync(const Windows::Devices::AllJoyn::AllJoynServiceInfo & serviceInfo, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynSessionStatics)->abi_GetFromServiceInfoAndBusAttachmentAsync(get_abi(serviceInfo), get_abi(busAttachment), put_abi(operation))); + return operation; +} + +template void impl_IAllJoynProducer::SetBusObject(const Windows::Devices::AllJoyn::AllJoynBusObject & busObject) const +{ + check_hresult(WINRT_SHIM(IAllJoynProducer)->abi_SetBusObject(get_abi(busObject))); +} + +template void impl_IAllJoynBusObject::Start() const +{ + check_hresult(WINRT_SHIM(IAllJoynBusObject)->abi_Start()); +} + +template void impl_IAllJoynBusObject::Stop() const +{ + check_hresult(WINRT_SHIM(IAllJoynBusObject)->abi_Stop()); +} + +template void impl_IAllJoynBusObject::AddProducer(const Windows::Devices::AllJoyn::IAllJoynProducer & producer) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusObject)->abi_AddProducer(get_abi(producer))); +} + +template Windows::Devices::AllJoyn::AllJoynBusAttachment impl_IAllJoynBusObject::BusAttachment() const +{ + Windows::Devices::AllJoyn::AllJoynBusAttachment value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusObject)->get_BusAttachment(put_abi(value))); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynSession impl_IAllJoynBusObject::Session() const +{ + Windows::Devices::AllJoyn::AllJoynSession value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusObject)->get_Session(put_abi(value))); + return value; +} + +template event_token impl_IAllJoynBusObject::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAllJoynBusObject)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAllJoynBusObject::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::AllJoyn::IAllJoynBusObject::remove_Stopped, Stopped(handler)); +} + +template void impl_IAllJoynBusObject::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IAllJoynBusObject)->remove_Stopped(token)); +} + +template Windows::Devices::AllJoyn::AllJoynBusObject impl_IAllJoynBusObjectFactory::Create(hstring_view objectPath) const +{ + Windows::Devices::AllJoyn::AllJoynBusObject result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusObjectFactory)->abi_Create(get_abi(objectPath), put_abi(result))); + return result; +} + +template Windows::Devices::AllJoyn::AllJoynBusObject impl_IAllJoynBusObjectFactory::CreateWithBusAttachment(hstring_view objectPath, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment) const +{ + Windows::Devices::AllJoyn::AllJoynBusObject result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusObjectFactory)->abi_CreateWithBusAttachment(get_abi(objectPath), get_abi(busAttachment), put_abi(result))); + return result; +} + +template hstring impl_IAllJoynServiceInfo::UniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynServiceInfo)->get_UniqueName(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynServiceInfo::ObjectPath() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynServiceInfo)->get_ObjectPath(put_abi(value))); + return value; +} + +template uint16_t impl_IAllJoynServiceInfo::SessionPort() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IAllJoynServiceInfo)->get_SessionPort(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynServiceInfoStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynServiceInfoStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Devices::AllJoyn::AllJoynServiceInfo impl_IAllJoynServiceInfoFactory::Create(hstring_view uniqueName, hstring_view objectPath, uint16_t sessionPort) const +{ + Windows::Devices::AllJoyn::AllJoynServiceInfo result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynServiceInfoFactory)->abi_Create(get_abi(uniqueName), get_abi(objectPath), sessionPort, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynAboutDataViewStatics::GetDataBySessionPortAsync(hstring_view uniqueName, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment, uint16_t sessionPort) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynAboutDataViewStatics)->abi_GetDataBySessionPortAsync(get_abi(uniqueName), get_abi(busAttachment), sessionPort, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAllJoynAboutDataViewStatics::GetDataBySessionPortAsync(hstring_view uniqueName, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment, uint16_t sessionPort, const Windows::Globalization::Language & language) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAllJoynAboutDataViewStatics)->abi_GetDataBySessionPortWithLanguageAsync(get_abi(uniqueName), get_abi(busAttachment), sessionPort, get_abi(language), put_abi(operation))); + return operation; +} + +template int32_t impl_IAllJoynAboutDataView::Status() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IAllJoynAboutDataView::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_Properties(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::AJSoftwareVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_AJSoftwareVersion(put_abi(value))); + return value; +} + +template GUID impl_IAllJoynAboutDataView::AppId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_AppId(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IAllJoynAboutDataView::DateOfManufacture() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_DateOfManufacture(put_abi(value))); + return value; +} + +template Windows::Globalization::Language impl_IAllJoynAboutDataView::DefaultLanguage() const +{ + Windows::Globalization::Language value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_DefaultLanguage(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::HardwareVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_HardwareVersion(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::ModelNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_ModelNumber(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::SoftwareVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_SoftwareVersion(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAllJoynAboutDataView::SupportedLanguages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_SupportedLanguages(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IAllJoynAboutDataView::SupportUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_SupportUrl(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::AppName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_AppName(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::DeviceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_DeviceName(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutDataView::Manufacturer() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutDataView)->get_Manufacturer(put_abi(value))); + return value; +} + +template bool impl_IAllJoynAboutData::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_IsEnabled(&value)); + return value; +} + +template void impl_IAllJoynAboutData::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_IsEnabled(value)); +} + +template hstring impl_IAllJoynAboutData::DefaultAppName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_DefaultAppName(put_abi(value))); + return value; +} + +template void impl_IAllJoynAboutData::DefaultAppName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_DefaultAppName(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_IAllJoynAboutData::AppNames() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_AppNames(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAllJoynAboutData::DateOfManufacture() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_DateOfManufacture(put_abi(value))); + return value; +} + +template void impl_IAllJoynAboutData::DateOfManufacture(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_DateOfManufacture(get_abi(value))); +} + +template hstring impl_IAllJoynAboutData::DefaultDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_DefaultDescription(put_abi(value))); + return value; +} + +template void impl_IAllJoynAboutData::DefaultDescription(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_DefaultDescription(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_IAllJoynAboutData::Descriptions() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_Descriptions(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutData::DefaultManufacturer() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_DefaultManufacturer(put_abi(value))); + return value; +} + +template void impl_IAllJoynAboutData::DefaultManufacturer(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_DefaultManufacturer(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_IAllJoynAboutData::Manufacturers() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_Manufacturers(put_abi(value))); + return value; +} + +template hstring impl_IAllJoynAboutData::ModelNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_ModelNumber(put_abi(value))); + return value; +} + +template void impl_IAllJoynAboutData::ModelNumber(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_ModelNumber(get_abi(value))); +} + +template hstring impl_IAllJoynAboutData::SoftwareVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_SoftwareVersion(put_abi(value))); + return value; +} + +template void impl_IAllJoynAboutData::SoftwareVersion(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_SoftwareVersion(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IAllJoynAboutData::SupportUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_SupportUrl(put_abi(value))); + return value; +} + +template void impl_IAllJoynAboutData::SupportUrl(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_SupportUrl(get_abi(value))); +} + +template GUID impl_IAllJoynAboutData::AppId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IAllJoynAboutData)->get_AppId(&value)); + return value; +} + +template void impl_IAllJoynAboutData::AppId(GUID value) const +{ + check_hresult(WINRT_SHIM(IAllJoynAboutData)->put_AppId(value)); +} + +template hstring impl_IAllJoynAcceptSessionJoinerEventArgs::UniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoinerEventArgs)->get_UniqueName(put_abi(value))); + return value; +} + +template uint16_t impl_IAllJoynAcceptSessionJoinerEventArgs::SessionPort() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoinerEventArgs)->get_SessionPort(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynTrafficType impl_IAllJoynAcceptSessionJoinerEventArgs::TrafficType() const +{ + Windows::Devices::AllJoyn::AllJoynTrafficType value {}; + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoinerEventArgs)->get_TrafficType(&value)); + return value; +} + +template bool impl_IAllJoynAcceptSessionJoinerEventArgs::SamePhysicalNode() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoinerEventArgs)->get_SamePhysicalNode(&value)); + return value; +} + +template bool impl_IAllJoynAcceptSessionJoinerEventArgs::SameNetwork() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoinerEventArgs)->get_SameNetwork(&value)); + return value; +} + +template void impl_IAllJoynAcceptSessionJoinerEventArgs::Accept() const +{ + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoinerEventArgs)->abi_Accept()); +} + +template void impl_IAllJoynAcceptSessionJoiner::Accept() const +{ + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoiner)->abi_Accept()); +} + +template Windows::Devices::AllJoyn::AllJoynAcceptSessionJoinerEventArgs impl_IAllJoynAcceptSessionJoinerEventArgsFactory::Create(hstring_view uniqueName, uint16_t sessionPort, Windows::Devices::AllJoyn::AllJoynTrafficType trafficType, uint8_t proximity, const Windows::Devices::AllJoyn::IAllJoynAcceptSessionJoiner & acceptSessionJoiner) const +{ + Windows::Devices::AllJoyn::AllJoynAcceptSessionJoinerEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynAcceptSessionJoinerEventArgsFactory)->abi_Create(get_abi(uniqueName), sessionPort, trafficType, proximity, get_abi(acceptSessionJoiner), put_abi(result))); + return result; +} + +template hstring impl_IAllJoynSessionMemberAddedEventArgs::UniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynSessionMemberAddedEventArgs)->get_UniqueName(put_abi(value))); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynSessionMemberAddedEventArgs impl_IAllJoynSessionMemberAddedEventArgsFactory::Create(hstring_view uniqueName) const +{ + Windows::Devices::AllJoyn::AllJoynSessionMemberAddedEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynSessionMemberAddedEventArgsFactory)->abi_Create(get_abi(uniqueName), put_abi(result))); + return result; +} + +template hstring impl_IAllJoynSessionMemberRemovedEventArgs::UniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynSessionMemberRemovedEventArgs)->get_UniqueName(put_abi(value))); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynSessionMemberRemovedEventArgs impl_IAllJoynSessionMemberRemovedEventArgsFactory::Create(hstring_view uniqueName) const +{ + Windows::Devices::AllJoyn::AllJoynSessionMemberRemovedEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynSessionMemberRemovedEventArgsFactory)->abi_Create(get_abi(uniqueName), put_abi(result))); + return result; +} + +template Windows::Devices::AllJoyn::AllJoynSession impl_IAllJoynSessionJoinedEventArgs::Session() const +{ + Windows::Devices::AllJoyn::AllJoynSession value { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynSessionJoinedEventArgs)->get_Session(put_abi(value))); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynSessionJoinedEventArgs impl_IAllJoynSessionJoinedEventArgsFactory::Create(const Windows::Devices::AllJoyn::AllJoynSession & session) const +{ + Windows::Devices::AllJoyn::AllJoynSessionJoinedEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynSessionJoinedEventArgsFactory)->abi_Create(get_abi(session), put_abi(result))); + return result; +} + +template Windows::Devices::AllJoyn::AllJoynSessionLostReason impl_IAllJoynSessionLostEventArgs::Reason() const +{ + Windows::Devices::AllJoyn::AllJoynSessionLostReason value {}; + check_hresult(WINRT_SHIM(IAllJoynSessionLostEventArgs)->get_Reason(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynSessionLostEventArgs impl_IAllJoynSessionLostEventArgsFactory::Create(Windows::Devices::AllJoyn::AllJoynSessionLostReason reason) const +{ + Windows::Devices::AllJoyn::AllJoynSessionLostEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynSessionLostEventArgsFactory)->abi_Create(reason, put_abi(result))); + return result; +} + +template int32_t impl_IAllJoynProducerStoppedEventArgs::Status() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynProducerStoppedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynProducerStoppedEventArgs impl_IAllJoynProducerStoppedEventArgsFactory::Create(int32_t status) const +{ + Windows::Devices::AllJoyn::AllJoynProducerStoppedEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynProducerStoppedEventArgsFactory)->abi_Create(status, put_abi(result))); + return result; +} + +template int32_t impl_IAllJoynBusObjectStoppedEventArgs::Status() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynBusObjectStoppedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynBusObjectStoppedEventArgs impl_IAllJoynBusObjectStoppedEventArgsFactory::Create(int32_t status) const +{ + Windows::Devices::AllJoyn::AllJoynBusObjectStoppedEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynBusObjectStoppedEventArgsFactory)->abi_Create(status, put_abi(result))); + return result; +} + +template int32_t impl_IAllJoynWatcherStoppedEventArgs::Status() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAllJoynWatcherStoppedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynWatcherStoppedEventArgs impl_IAllJoynWatcherStoppedEventArgsFactory::Create(int32_t status) const +{ + Windows::Devices::AllJoyn::AllJoynWatcherStoppedEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynWatcherStoppedEventArgsFactory)->abi_Create(status, put_abi(result))); + return result; +} + +template hstring impl_IAllJoynServiceInfoRemovedEventArgs::UniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynServiceInfoRemovedEventArgs)->get_UniqueName(put_abi(value))); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynServiceInfoRemovedEventArgs impl_IAllJoynServiceInfoRemovedEventArgsFactory::Create(hstring_view uniqueName) const +{ + Windows::Devices::AllJoyn::AllJoynServiceInfoRemovedEventArgs result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynServiceInfoRemovedEventArgsFactory)->abi_Create(get_abi(uniqueName), put_abi(result))); + return result; +} + +template hstring impl_IAllJoynMessageInfo::SenderUniqueName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAllJoynMessageInfo)->get_SenderUniqueName(put_abi(value))); + return value; +} + +template Windows::Devices::AllJoyn::AllJoynMessageInfo impl_IAllJoynMessageInfoFactory::Create(hstring_view senderUniqueName) const +{ + Windows::Devices::AllJoyn::AllJoynMessageInfo result { nullptr }; + check_hresult(WINRT_SHIM(IAllJoynMessageInfoFactory)->abi_Create(get_abi(senderUniqueName), put_abi(result))); + return result; +} + +inline Windows::Foundation::IAsyncOperation AllJoynAboutDataView::GetDataBySessionPortAsync(hstring_view uniqueName, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment, uint16_t sessionPort) +{ + return get_activation_factory().GetDataBySessionPortAsync(uniqueName, busAttachment, sessionPort); +} + +inline Windows::Foundation::IAsyncOperation AllJoynAboutDataView::GetDataBySessionPortAsync(hstring_view uniqueName, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment, uint16_t sessionPort, const Windows::Globalization::Language & language) +{ + return get_activation_factory().GetDataBySessionPortAsync(uniqueName, busAttachment, sessionPort, language); +} + +inline AllJoynAcceptSessionJoinerEventArgs::AllJoynAcceptSessionJoinerEventArgs(hstring_view uniqueName, uint16_t sessionPort, Windows::Devices::AllJoyn::AllJoynTrafficType trafficType, uint8_t proximity, const Windows::Devices::AllJoyn::IAllJoynAcceptSessionJoiner & acceptSessionJoiner) : + AllJoynAcceptSessionJoinerEventArgs(get_activation_factory().Create(uniqueName, sessionPort, trafficType, proximity, acceptSessionJoiner)) +{} + +inline AllJoynBusAttachment::AllJoynBusAttachment() : + AllJoynBusAttachment(activate_instance()) +{} + +inline AllJoynBusAttachment::AllJoynBusAttachment(hstring_view connectionSpecification) : + AllJoynBusAttachment(get_activation_factory().Create(connectionSpecification)) +{} + +inline Windows::Devices::AllJoyn::AllJoynBusAttachment AllJoynBusAttachment::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Enumeration::DeviceWatcher AllJoynBusAttachment::GetWatcher(iterable requiredInterfaces) +{ + return get_activation_factory().GetWatcher(requiredInterfaces); +} + +inline AllJoynBusObject::AllJoynBusObject() : + AllJoynBusObject(activate_instance()) +{} + +inline AllJoynBusObject::AllJoynBusObject(hstring_view objectPath) : + AllJoynBusObject(get_activation_factory().Create(objectPath)) +{} + +inline AllJoynBusObject::AllJoynBusObject(hstring_view objectPath, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment) : + AllJoynBusObject(get_activation_factory().CreateWithBusAttachment(objectPath, busAttachment)) +{} + +inline AllJoynBusObjectStoppedEventArgs::AllJoynBusObjectStoppedEventArgs(int32_t status) : + AllJoynBusObjectStoppedEventArgs(get_activation_factory().Create(status)) +{} + +inline AllJoynMessageInfo::AllJoynMessageInfo(hstring_view senderUniqueName) : + AllJoynMessageInfo(get_activation_factory().Create(senderUniqueName)) +{} + +inline AllJoynProducerStoppedEventArgs::AllJoynProducerStoppedEventArgs(int32_t status) : + AllJoynProducerStoppedEventArgs(get_activation_factory().Create(status)) +{} + +inline AllJoynServiceInfo::AllJoynServiceInfo(hstring_view uniqueName, hstring_view objectPath, uint16_t sessionPort) : + AllJoynServiceInfo(get_activation_factory().Create(uniqueName, objectPath, sessionPort)) +{} + +inline Windows::Foundation::IAsyncOperation AllJoynServiceInfo::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline AllJoynServiceInfoRemovedEventArgs::AllJoynServiceInfoRemovedEventArgs(hstring_view uniqueName) : + AllJoynServiceInfoRemovedEventArgs(get_activation_factory().Create(uniqueName)) +{} + +inline Windows::Foundation::IAsyncOperation AllJoynSession::GetFromServiceInfoAsync(const Windows::Devices::AllJoyn::AllJoynServiceInfo & serviceInfo) +{ + return get_activation_factory().GetFromServiceInfoAsync(serviceInfo); +} + +inline Windows::Foundation::IAsyncOperation AllJoynSession::GetFromServiceInfoAsync(const Windows::Devices::AllJoyn::AllJoynServiceInfo & serviceInfo, const Windows::Devices::AllJoyn::AllJoynBusAttachment & busAttachment) +{ + return get_activation_factory().GetFromServiceInfoAsync(serviceInfo, busAttachment); +} + +inline AllJoynSessionJoinedEventArgs::AllJoynSessionJoinedEventArgs(const Windows::Devices::AllJoyn::AllJoynSession & session) : + AllJoynSessionJoinedEventArgs(get_activation_factory().Create(session)) +{} + +inline AllJoynSessionLostEventArgs::AllJoynSessionLostEventArgs(Windows::Devices::AllJoyn::AllJoynSessionLostReason reason) : + AllJoynSessionLostEventArgs(get_activation_factory().Create(reason)) +{} + +inline AllJoynSessionMemberAddedEventArgs::AllJoynSessionMemberAddedEventArgs(hstring_view uniqueName) : + AllJoynSessionMemberAddedEventArgs(get_activation_factory().Create(uniqueName)) +{} + +inline AllJoynSessionMemberRemovedEventArgs::AllJoynSessionMemberRemovedEventArgs(hstring_view uniqueName) : + AllJoynSessionMemberRemovedEventArgs(get_activation_factory().Create(uniqueName)) +{} + +inline int32_t AllJoynStatus::Ok() +{ + return get_activation_factory().Ok(); +} + +inline int32_t AllJoynStatus::Fail() +{ + return get_activation_factory().Fail(); +} + +inline int32_t AllJoynStatus::OperationTimedOut() +{ + return get_activation_factory().OperationTimedOut(); +} + +inline int32_t AllJoynStatus::OtherEndClosed() +{ + return get_activation_factory().OtherEndClosed(); +} + +inline int32_t AllJoynStatus::ConnectionRefused() +{ + return get_activation_factory().ConnectionRefused(); +} + +inline int32_t AllJoynStatus::AuthenticationFailed() +{ + return get_activation_factory().AuthenticationFailed(); +} + +inline int32_t AllJoynStatus::AuthenticationRejectedByUser() +{ + return get_activation_factory().AuthenticationRejectedByUser(); +} + +inline int32_t AllJoynStatus::SslConnectFailed() +{ + return get_activation_factory().SslConnectFailed(); +} + +inline int32_t AllJoynStatus::SslIdentityVerificationFailed() +{ + return get_activation_factory().SslIdentityVerificationFailed(); +} + +inline int32_t AllJoynStatus::InsufficientSecurity() +{ + return get_activation_factory().InsufficientSecurity(); +} + +inline int32_t AllJoynStatus::InvalidArgument1() +{ + return get_activation_factory().InvalidArgument1(); +} + +inline int32_t AllJoynStatus::InvalidArgument2() +{ + return get_activation_factory().InvalidArgument2(); +} + +inline int32_t AllJoynStatus::InvalidArgument3() +{ + return get_activation_factory().InvalidArgument3(); +} + +inline int32_t AllJoynStatus::InvalidArgument4() +{ + return get_activation_factory().InvalidArgument4(); +} + +inline int32_t AllJoynStatus::InvalidArgument5() +{ + return get_activation_factory().InvalidArgument5(); +} + +inline int32_t AllJoynStatus::InvalidArgument6() +{ + return get_activation_factory().InvalidArgument6(); +} + +inline int32_t AllJoynStatus::InvalidArgument7() +{ + return get_activation_factory().InvalidArgument7(); +} + +inline int32_t AllJoynStatus::InvalidArgument8() +{ + return get_activation_factory().InvalidArgument8(); +} + +inline AllJoynWatcherStoppedEventArgs::AllJoynWatcherStoppedEventArgs(int32_t status) : + AllJoynWatcherStoppedEventArgs(get_activation_factory().Create(status)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynAboutData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynAboutDataView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynAboutDataViewStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynAcceptSessionJoiner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynAcceptSessionJoinerEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynAcceptSessionJoinerEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynAuthenticationCompleteEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusAttachment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusAttachment2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusAttachmentFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusAttachmentStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusAttachmentStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusObjectFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusObjectStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynBusObjectStoppedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynCredentials & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynCredentialsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynCredentialsVerificationRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynMessageInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynMessageInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynProducer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynProducerStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynProducerStoppedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynServiceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynServiceInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynServiceInfoRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynServiceInfoRemovedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynServiceInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionJoinedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionJoinedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionLostEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionLostEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionMemberAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionMemberAddedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionMemberRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionMemberRemovedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynSessionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynStatusStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynWatcherStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::IAllJoynWatcherStoppedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynAboutData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynAboutDataView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynAcceptSessionJoinerEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynAuthenticationCompleteEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynBusAttachment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynBusAttachmentStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynBusObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynBusObjectStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynCredentials & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynCredentialsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynCredentialsVerificationRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynMessageInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynProducerStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynServiceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynServiceInfoRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynSessionJoinedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynSessionLostEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynSessionMemberAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynSessionMemberRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::AllJoyn::AllJoynWatcherStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Background.h b/10.0.15042.0/winrt/Windows.Devices.Background.h new file mode 100644 index 000000000..6015cc0ce --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Background.h @@ -0,0 +1,178 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Background.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpectedDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpectedDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Background { + +template hstring impl_IDeviceUseDetails::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceUseDetails)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_IDeviceUseDetails::Arguments() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceUseDetails)->get_Arguments(put_abi(value))); + return value; +} + +template hstring impl_IDeviceServicingDetails::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceServicingDetails)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_IDeviceServicingDetails::Arguments() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceServicingDetails)->get_Arguments(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IDeviceServicingDetails::ExpectedDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IDeviceServicingDetails)->get_ExpectedDuration(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Background::IDeviceServicingDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Background::IDeviceUseDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Background::DeviceServicingDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Background::DeviceUseDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Advertisement.h b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Advertisement.h new file mode 100644 index 000000000..ef72fc843 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Advertisement.h @@ -0,0 +1,2244 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Bluetooth.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Bluetooth.Advertisement.3.h" +#include "Windows.Devices.Bluetooth.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Flags(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flags()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Flags(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Flags(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LocalName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LocalName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceUuids(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceUuids()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManufacturerData(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManufacturerData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataSections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataSections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetManufacturerDataByCompanyId(uint16_t companyId, impl::abi_arg_out> dataList) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataList = detach_abi(this->shim().GetManufacturerDataByCompanyId(companyId)); + return S_OK; + } + catch (...) + { + *dataList = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSectionsByType(uint8_t type, impl::abi_arg_out> sectionList) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *sectionList = detach_abi(this->shim().GetSectionsByType(type)); + return S_OK; + } + catch (...) + { + *sectionList = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataType(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(int16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Offset(int16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Offset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint8_t dataType, int16_t offset, impl::abi_arg_in data, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(dataType, offset, *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataType(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint8_t dataType, impl::abi_arg_in data, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(dataType, *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Flags(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flags()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncompleteService16BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncompleteService16BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompleteService16BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompleteService16BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncompleteService32BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncompleteService32BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompleteService32BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompleteService32BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncompleteService128BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncompleteService128BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompleteService128BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompleteService128BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShortenedLocalName(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShortenedLocalName()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompleteLocalName(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompleteLocalName()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TxPowerLevel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TxPowerLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SlaveConnectionIntervalRange(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SlaveConnectionIntervalRange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceSolicitation16BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceSolicitation16BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceSolicitation32BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceSolicitation32BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceSolicitation128BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceSolicitation128BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceData16BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceData16BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceData32BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceData32BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceData128BitUuids(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceData128BitUuids()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublicTargetAddress(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublicTargetAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RandomTargetAddress(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RandomTargetAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Appearance(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appearance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisingInterval(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisingInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManufacturerSpecificData(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManufacturerSpecificData()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Advertisement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Advertisement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Advertisement(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Advertisement(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytePatterns(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytePatterns()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Advertisement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Advertisement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in advertisement, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&advertisement))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RawSignalStrengthInDBm(int16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawSignalStrengthInDBm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BluetoothAddress(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BluetoothAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisementType(Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisementType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Advertisement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Advertisement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinSamplingInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinSamplingInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSamplingInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSamplingInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinOutOfRangeTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinOutOfRangeTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxOutOfRangeTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxOutOfRangeTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanningMode(Windows::Devices::Bluetooth::Advertisement::BluetoothLEScanningMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanningMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScanningMode(Windows::Devices::Bluetooth::Advertisement::BluetoothLEScanningMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScanningMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignalStrengthFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignalStrengthFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SignalStrengthFilter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignalStrengthFilter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisementFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisementFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AdvertisementFilter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdvertisementFilter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Received(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Received(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Received(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Received(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in advertisementFilter, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&advertisementFilter))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CompanyId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompanyId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CompanyId(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompanyId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint16_t companyId, impl::abi_arg_in data, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(companyId, *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Bluetooth::Advertisement { + +template Windows::Foundation::IReference impl_IBluetoothLEAdvertisement::Flags() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->get_Flags(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisement::Flags(const optional & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->put_Flags(get_abi(value))); +} + +template hstring impl_IBluetoothLEAdvertisement::LocalName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->get_LocalName(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisement::LocalName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->put_LocalName(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IBluetoothLEAdvertisement::ServiceUuids() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->get_ServiceUuids(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IBluetoothLEAdvertisement::ManufacturerData() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->get_ManufacturerData(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IBluetoothLEAdvertisement::DataSections() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->get_DataSections(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBluetoothLEAdvertisement::GetManufacturerDataByCompanyId(uint16_t companyId) const +{ + Windows::Foundation::Collections::IVectorView dataList; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->abi_GetManufacturerDataByCompanyId(companyId, put_abi(dataList))); + return dataList; +} + +template Windows::Foundation::Collections::IVectorView impl_IBluetoothLEAdvertisement::GetSectionsByType(uint8_t type) const +{ + Windows::Foundation::Collections::IVectorView sectionList; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisement)->abi_GetSectionsByType(type, put_abi(sectionList))); + return sectionList; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement impl_IBluetoothLEAdvertisementFilter::Advertisement() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementFilter)->get_Advertisement(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementFilter::Advertisement(const Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementFilter)->put_Advertisement(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IBluetoothLEAdvertisementFilter::BytePatterns() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementFilter)->get_BytePatterns(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IBluetoothLEAdvertisementWatcherStoppedEventArgs::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherStoppedEventArgs)->get_Error(&value)); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementWatcher impl_IBluetoothLEAdvertisementWatcherFactory::Create(const Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter & advertisementFilter) const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementWatcher value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherFactory)->abi_Create(get_abi(advertisementFilter), put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcher::MinSamplingInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_MinSamplingInterval(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcher::MaxSamplingInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_MaxSamplingInterval(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcher::MinOutOfRangeTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_MinOutOfRangeTimeout(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBluetoothLEAdvertisementWatcher::MaxOutOfRangeTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_MaxOutOfRangeTimeout(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementWatcherStatus impl_IBluetoothLEAdvertisementWatcher::Status() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementWatcherStatus value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_Status(&value)); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEScanningMode impl_IBluetoothLEAdvertisementWatcher::ScanningMode() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEScanningMode value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_ScanningMode(&value)); + return value; +} + +template void impl_IBluetoothLEAdvertisementWatcher::ScanningMode(Windows::Devices::Bluetooth::Advertisement::BluetoothLEScanningMode value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->put_ScanningMode(value)); +} + +template Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter impl_IBluetoothLEAdvertisementWatcher::SignalStrengthFilter() const +{ + Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_SignalStrengthFilter(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementWatcher::SignalStrengthFilter(const Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->put_SignalStrengthFilter(get_abi(value))); +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter impl_IBluetoothLEAdvertisementWatcher::AdvertisementFilter() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->get_AdvertisementFilter(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementWatcher::AdvertisementFilter(const Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->put_AdvertisementFilter(get_abi(value))); +} + +template void impl_IBluetoothLEAdvertisementWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->abi_Start()); +} + +template void impl_IBluetoothLEAdvertisementWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->abi_Stop()); +} + +template event_token impl_IBluetoothLEAdvertisementWatcher::Received(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->add_Received(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothLEAdvertisementWatcher::Received(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementWatcher::remove_Received, Received(handler)); +} + +template void impl_IBluetoothLEAdvertisementWatcher::Received(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->remove_Received(token)); +} + +template event_token impl_IBluetoothLEAdvertisementWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothLEAdvertisementWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IBluetoothLEAdvertisementWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcher)->remove_Stopped(token)); +} + +template int16_t impl_IBluetoothLEAdvertisementReceivedEventArgs::RawSignalStrengthInDBm() const +{ + int16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementReceivedEventArgs)->get_RawSignalStrengthInDBm(&value)); + return value; +} + +template uint64_t impl_IBluetoothLEAdvertisementReceivedEventArgs::BluetoothAddress() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementReceivedEventArgs)->get_BluetoothAddress(&value)); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementType impl_IBluetoothLEAdvertisementReceivedEventArgs::AdvertisementType() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementType value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementReceivedEventArgs)->get_AdvertisementType(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IBluetoothLEAdvertisementReceivedEventArgs::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementReceivedEventArgs)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement impl_IBluetoothLEAdvertisementReceivedEventArgs::Advertisement() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementReceivedEventArgs)->get_Advertisement(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementDataSection impl_IBluetoothLEAdvertisementDataSectionFactory::Create(uint8_t dataType, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementDataSection value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataSectionFactory)->abi_Create(dataType, get_abi(data), put_abi(value))); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataSection::DataType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataSection)->get_DataType(&value)); + return value; +} + +template void impl_IBluetoothLEAdvertisementDataSection::DataType(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataSection)->put_DataType(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IBluetoothLEAdvertisementDataSection::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataSection)->get_Data(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementDataSection::Data(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataSection)->put_Data(get_abi(value))); +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEManufacturerData impl_IBluetoothLEManufacturerDataFactory::Create(uint16_t companyId, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEManufacturerData value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEManufacturerDataFactory)->abi_Create(companyId, get_abi(data), put_abi(value))); + return value; +} + +template uint16_t impl_IBluetoothLEManufacturerData::CompanyId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEManufacturerData)->get_CompanyId(&value)); + return value; +} + +template void impl_IBluetoothLEManufacturerData::CompanyId(uint16_t value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEManufacturerData)->put_CompanyId(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IBluetoothLEManufacturerData::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IBluetoothLEManufacturerData)->get_Data(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEManufacturerData::Data(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEManufacturerData)->put_Data(get_abi(value))); +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementBytePattern impl_IBluetoothLEAdvertisementBytePatternFactory::Create(uint8_t dataType, int16_t offset, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementBytePattern value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementBytePatternFactory)->abi_Create(dataType, offset, get_abi(data), put_abi(value))); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementBytePattern::DataType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementBytePattern)->get_DataType(&value)); + return value; +} + +template void impl_IBluetoothLEAdvertisementBytePattern::DataType(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementBytePattern)->put_DataType(value)); +} + +template int16_t impl_IBluetoothLEAdvertisementBytePattern::Offset() const +{ + int16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementBytePattern)->get_Offset(&value)); + return value; +} + +template void impl_IBluetoothLEAdvertisementBytePattern::Offset(int16_t value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementBytePattern)->put_Offset(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IBluetoothLEAdvertisementBytePattern::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementBytePattern)->get_Data(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementBytePattern::Data(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementBytePattern)->put_Data(get_abi(value))); +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::Flags() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_Flags(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::IncompleteService16BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_IncompleteService16BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::CompleteService16BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_CompleteService16BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::IncompleteService32BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_IncompleteService32BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::CompleteService32BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_CompleteService32BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::IncompleteService128BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_IncompleteService128BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::CompleteService128BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_CompleteService128BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ShortenedLocalName() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ShortenedLocalName(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::CompleteLocalName() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_CompleteLocalName(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::TxPowerLevel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_TxPowerLevel(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::SlaveConnectionIntervalRange() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_SlaveConnectionIntervalRange(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ServiceSolicitation16BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ServiceSolicitation16BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ServiceSolicitation32BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ServiceSolicitation32BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ServiceSolicitation128BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ServiceSolicitation128BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ServiceData16BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ServiceData16BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ServiceData32BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ServiceData32BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ServiceData128BitUuids() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ServiceData128BitUuids(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::PublicTargetAddress() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_PublicTargetAddress(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::RandomTargetAddress() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_RandomTargetAddress(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::Appearance() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_Appearance(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::AdvertisingInterval() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_AdvertisingInterval(&value)); + return value; +} + +template uint8_t impl_IBluetoothLEAdvertisementDataTypesStatics::ManufacturerSpecificData() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementDataTypesStatics)->get_ManufacturerSpecificData(&value)); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus impl_IBluetoothLEAdvertisementPublisherStatusChangedEventArgs::Status() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisherStatusChangedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IBluetoothLEAdvertisementPublisherStatusChangedEventArgs::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisherStatusChangedEventArgs)->get_Error(&value)); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisher impl_IBluetoothLEAdvertisementPublisherFactory::Create(const Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement & advertisement) const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisher value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisherFactory)->abi_Create(get_abi(advertisement), put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus impl_IBluetoothLEAdvertisementPublisher::Status() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisher)->get_Status(&value)); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement impl_IBluetoothLEAdvertisementPublisher::Advertisement() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisher)->get_Advertisement(put_abi(value))); + return value; +} + +template void impl_IBluetoothLEAdvertisementPublisher::Start() const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisher)->abi_Start()); +} + +template void impl_IBluetoothLEAdvertisementPublisher::Stop() const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisher)->abi_Stop()); +} + +template event_token impl_IBluetoothLEAdvertisementPublisher::StatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisher)->add_StatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothLEAdvertisementPublisher::StatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementPublisher::remove_StatusChanged, StatusChanged(handler)); +} + +template void impl_IBluetoothLEAdvertisementPublisher::StatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisher)->remove_StatusChanged(token)); +} + +inline BluetoothLEAdvertisement::BluetoothLEAdvertisement() : + BluetoothLEAdvertisement(activate_instance()) +{} + +inline BluetoothLEAdvertisementBytePattern::BluetoothLEAdvertisementBytePattern() : + BluetoothLEAdvertisementBytePattern(activate_instance()) +{} + +inline BluetoothLEAdvertisementBytePattern::BluetoothLEAdvertisementBytePattern(uint8_t dataType, int16_t offset, const Windows::Storage::Streams::IBuffer & data) : + BluetoothLEAdvertisementBytePattern(get_activation_factory().Create(dataType, offset, data)) +{} + +inline BluetoothLEAdvertisementDataSection::BluetoothLEAdvertisementDataSection() : + BluetoothLEAdvertisementDataSection(activate_instance()) +{} + +inline BluetoothLEAdvertisementDataSection::BluetoothLEAdvertisementDataSection(uint8_t dataType, const Windows::Storage::Streams::IBuffer & data) : + BluetoothLEAdvertisementDataSection(get_activation_factory().Create(dataType, data)) +{} + +inline uint8_t BluetoothLEAdvertisementDataTypes::Flags() +{ + return get_activation_factory().Flags(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::IncompleteService16BitUuids() +{ + return get_activation_factory().IncompleteService16BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::CompleteService16BitUuids() +{ + return get_activation_factory().CompleteService16BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::IncompleteService32BitUuids() +{ + return get_activation_factory().IncompleteService32BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::CompleteService32BitUuids() +{ + return get_activation_factory().CompleteService32BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::IncompleteService128BitUuids() +{ + return get_activation_factory().IncompleteService128BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::CompleteService128BitUuids() +{ + return get_activation_factory().CompleteService128BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ShortenedLocalName() +{ + return get_activation_factory().ShortenedLocalName(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::CompleteLocalName() +{ + return get_activation_factory().CompleteLocalName(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::TxPowerLevel() +{ + return get_activation_factory().TxPowerLevel(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::SlaveConnectionIntervalRange() +{ + return get_activation_factory().SlaveConnectionIntervalRange(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ServiceSolicitation16BitUuids() +{ + return get_activation_factory().ServiceSolicitation16BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ServiceSolicitation32BitUuids() +{ + return get_activation_factory().ServiceSolicitation32BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ServiceSolicitation128BitUuids() +{ + return get_activation_factory().ServiceSolicitation128BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ServiceData16BitUuids() +{ + return get_activation_factory().ServiceData16BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ServiceData32BitUuids() +{ + return get_activation_factory().ServiceData32BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ServiceData128BitUuids() +{ + return get_activation_factory().ServiceData128BitUuids(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::PublicTargetAddress() +{ + return get_activation_factory().PublicTargetAddress(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::RandomTargetAddress() +{ + return get_activation_factory().RandomTargetAddress(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::Appearance() +{ + return get_activation_factory().Appearance(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::AdvertisingInterval() +{ + return get_activation_factory().AdvertisingInterval(); +} + +inline uint8_t BluetoothLEAdvertisementDataTypes::ManufacturerSpecificData() +{ + return get_activation_factory().ManufacturerSpecificData(); +} + +inline BluetoothLEAdvertisementFilter::BluetoothLEAdvertisementFilter() : + BluetoothLEAdvertisementFilter(activate_instance()) +{} + +inline BluetoothLEAdvertisementPublisher::BluetoothLEAdvertisementPublisher() : + BluetoothLEAdvertisementPublisher(activate_instance()) +{} + +inline BluetoothLEAdvertisementPublisher::BluetoothLEAdvertisementPublisher(const Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement & advertisement) : + BluetoothLEAdvertisementPublisher(get_activation_factory().Create(advertisement)) +{} + +inline BluetoothLEAdvertisementWatcher::BluetoothLEAdvertisementWatcher() : + BluetoothLEAdvertisementWatcher(activate_instance()) +{} + +inline BluetoothLEAdvertisementWatcher::BluetoothLEAdvertisementWatcher(const Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter & advertisementFilter) : + BluetoothLEAdvertisementWatcher(get_activation_factory().Create(advertisementFilter)) +{} + +inline BluetoothLEManufacturerData::BluetoothLEManufacturerData() : + BluetoothLEManufacturerData(activate_instance()) +{} + +inline BluetoothLEManufacturerData::BluetoothLEManufacturerData(uint16_t companyId, const Windows::Storage::Streams::IBuffer & data) : + BluetoothLEManufacturerData(get_activation_factory().Create(companyId, data)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementBytePattern & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementBytePatternFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementDataSection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementDataSectionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementDataTypesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementPublisher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementPublisherFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementPublisherStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementWatcherFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEAdvertisementWatcherStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEManufacturerData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::IBluetoothLEManufacturerDataFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementBytePattern & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementDataSection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementWatcherStoppedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Advertisement::BluetoothLEManufacturerData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Background.h b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Background.h new file mode 100644 index 000000000..a4f14e2dc --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Background.h @@ -0,0 +1,788 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Bluetooth.Rfcomm.3.h" +#include "internal/Windows.Devices.Bluetooth.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "internal/Windows.Devices.Bluetooth.GenericAttributeProfile.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Bluetooth.Advertisement.3.h" +#include "internal/Windows.Devices.Bluetooth.Background.3.h" +#include "Windows.Devices.Bluetooth.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Advertisements(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Advertisements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignalStrengthFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignalStrengthFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Characteristic(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristic()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EventTriggeringMode(Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EventTriggeringMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValueChangedEvents(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValueChangedEvents()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TriggerId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriggerId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Service(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Service()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllServices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Connection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Connection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Socket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Socket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Incoming(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Incoming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SdpRecord(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SdpRecord()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SdpRecord(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SdpRecord(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LocalServiceId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LocalServiceId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceCapabilities(Windows::Devices::Bluetooth::BluetoothServiceCapabilities * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceCapabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServiceCapabilities(Windows::Devices::Bluetooth::BluetoothServiceCapabilities value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceCapabilities(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteServiceId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteServiceId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Bluetooth::Background { + +template Windows::Storage::Streams::IBuffer impl_IRfcommInboundConnectionInformation::SdpRecord() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IRfcommInboundConnectionInformation)->get_SdpRecord(put_abi(value))); + return value; +} + +template void impl_IRfcommInboundConnectionInformation::SdpRecord(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IRfcommInboundConnectionInformation)->put_SdpRecord(get_abi(value))); +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommInboundConnectionInformation::LocalServiceId() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommInboundConnectionInformation)->get_LocalServiceId(put_abi(value))); + return value; +} + +template void impl_IRfcommInboundConnectionInformation::LocalServiceId(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & value) const +{ + check_hresult(WINRT_SHIM(IRfcommInboundConnectionInformation)->put_LocalServiceId(get_abi(value))); +} + +template Windows::Devices::Bluetooth::BluetoothServiceCapabilities impl_IRfcommInboundConnectionInformation::ServiceCapabilities() const +{ + Windows::Devices::Bluetooth::BluetoothServiceCapabilities value {}; + check_hresult(WINRT_SHIM(IRfcommInboundConnectionInformation)->get_ServiceCapabilities(&value)); + return value; +} + +template void impl_IRfcommInboundConnectionInformation::ServiceCapabilities(Windows::Devices::Bluetooth::BluetoothServiceCapabilities value) const +{ + check_hresult(WINRT_SHIM(IRfcommInboundConnectionInformation)->put_ServiceCapabilities(value)); +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommOutboundConnectionInformation::RemoteServiceId() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommOutboundConnectionInformation)->get_RemoteServiceId(put_abi(value))); + return value; +} + +template void impl_IRfcommOutboundConnectionInformation::RemoteServiceId(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & value) const +{ + check_hresult(WINRT_SHIM(IRfcommOutboundConnectionInformation)->put_RemoteServiceId(get_abi(value))); +} + +template Windows::Networking::Sockets::StreamSocket impl_IRfcommConnectionTriggerDetails::Socket() const +{ + Windows::Networking::Sockets::StreamSocket value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommConnectionTriggerDetails)->get_Socket(put_abi(value))); + return value; +} + +template bool impl_IRfcommConnectionTriggerDetails::Incoming() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRfcommConnectionTriggerDetails)->get_Incoming(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothDevice impl_IRfcommConnectionTriggerDetails::RemoteDevice() const +{ + Windows::Devices::Bluetooth::BluetoothDevice value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommConnectionTriggerDetails)->get_RemoteDevice(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic impl_IGattCharacteristicNotificationTriggerDetails::Characteristic() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic value { nullptr }; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTriggerDetails)->get_Characteristic(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IGattCharacteristicNotificationTriggerDetails::Value() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTriggerDetails)->get_Value(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattCharacteristicNotificationTriggerDetails2::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTriggerDetails2)->get_Error(&value)); + return value; +} + +template Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode impl_IGattCharacteristicNotificationTriggerDetails2::EventTriggeringMode() const +{ + Windows::Devices::Bluetooth::Background::BluetoothEventTriggeringMode value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTriggerDetails2)->get_EventTriggeringMode(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattCharacteristicNotificationTriggerDetails2::ValueChangedEvents() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattCharacteristicNotificationTriggerDetails2)->get_ValueChangedEvents(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IGattServiceProviderConnectionStatics::AllServices() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IGattServiceProviderConnectionStatics)->get_AllServices(put_abi(value))); + return value; +} + +template hstring impl_IGattServiceProviderConnection::TriggerId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGattServiceProviderConnection)->get_TriggerId(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalService impl_IGattServiceProviderConnection::Service() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalService value { nullptr }; + check_hresult(WINRT_SHIM(IGattServiceProviderConnection)->get_Service(put_abi(value))); + return value; +} + +template void impl_IGattServiceProviderConnection::Start() const +{ + check_hresult(WINRT_SHIM(IGattServiceProviderConnection)->abi_Start()); +} + +template Windows::Devices::Bluetooth::Background::GattServiceProviderConnection impl_IGattServiceProviderTriggerDetails::Connection() const +{ + Windows::Devices::Bluetooth::Background::GattServiceProviderConnection value { nullptr }; + check_hresult(WINRT_SHIM(IGattServiceProviderTriggerDetails)->get_Connection(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IBluetoothLEAdvertisementWatcherTriggerDetails::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTriggerDetails)->get_Error(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBluetoothLEAdvertisementWatcherTriggerDetails::Advertisements() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTriggerDetails)->get_Advertisements(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter impl_IBluetoothLEAdvertisementWatcherTriggerDetails::SignalStrengthFilter() const +{ + Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementWatcherTriggerDetails)->get_SignalStrengthFilter(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus impl_IBluetoothLEAdvertisementPublisherTriggerDetails::Status() const +{ + Windows::Devices::Bluetooth::Advertisement::BluetoothLEAdvertisementPublisherStatus value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisherTriggerDetails)->get_Status(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IBluetoothLEAdvertisementPublisherTriggerDetails::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAdvertisementPublisherTriggerDetails)->get_Error(&value)); + return value; +} + +inline Windows::Foundation::Collections::IMapView GattServiceProviderConnection::AllServices() +{ + return get_activation_factory().AllServices(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IBluetoothLEAdvertisementPublisherTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IBluetoothLEAdvertisementWatcherTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IGattCharacteristicNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IGattCharacteristicNotificationTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IGattServiceProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IGattServiceProviderConnectionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IGattServiceProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IRfcommConnectionTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IRfcommInboundConnectionInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::IRfcommOutboundConnectionInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::BluetoothLEAdvertisementPublisherTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::BluetoothLEAdvertisementWatcherTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::GattCharacteristicNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::GattServiceProviderConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::GattServiceProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::RfcommConnectionTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::RfcommInboundConnectionInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Background::RfcommOutboundConnectionInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Bluetooth.GenericAttributeProfile.h b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.GenericAttributeProfile.h new file mode 100644 index 000000000..05c4c09fa --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.GenericAttributeProfile.h @@ -0,0 +1,9475 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Devices.Bluetooth.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Bluetooth.GenericAttributeProfile.3.h" +#include "Windows.Devices.Bluetooth.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDescriptors(GUID descriptorUuid, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDescriptors(descriptorUuid)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacteristicProperties(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicProperties()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributeHandle(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributeHandle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PresentationFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PresentationFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadValueAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadValueAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadValueWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadValueAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteValueAsync(impl::abi_arg_in value, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().WriteValueAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteValueWithOptionAsync(impl::abi_arg_in value, Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption writeOption, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().WriteValueAsync(*reinterpret_cast(&value), writeOption)); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadClientCharacteristicConfigurationDescriptorAsync(impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().ReadClientCharacteristicConfigurationDescriptorAsync()); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteClientCharacteristicConfigurationDescriptorAsync(Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue clientCharacteristicConfigurationDescriptorValue, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().WriteClientCharacteristicConfigurationDescriptorAsync(clientCharacteristicConfigurationDescriptorValue)); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ValueChanged(impl::abi_arg_in> valueChangedHandler, event_token * valueChangedEventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *valueChangedEventCookie = detach_abi(this->shim().ValueChanged(*reinterpret_cast *>(&valueChangedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ValueChanged(event_token valueChangedEventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValueChanged(valueChangedEventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Service(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Service()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllDescriptors(impl::abi_arg_out> descriptors) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *descriptors = detach_abi(this->shim().GetAllDescriptors()); + return S_OK; + } + catch (...) + { + *descriptors = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDescriptorsAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDescriptorsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDescriptorsWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDescriptorsAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDescriptorsForUuidAsync(GUID descriptorUuid, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDescriptorsForUuidAsync(descriptorUuid)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDescriptorsForUuidWithCacheModeAsync(GUID descriptorUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDescriptorsForUuidAsync(descriptorUuid, cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteValueWithResultAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteValueWithResultAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteValueWithResultAndOptionAsync(impl::abi_arg_in value, Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption writeOption, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteValueWithResultAsync(*reinterpret_cast(&value), writeOption)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteClientCharacteristicConfigurationDescriptorWithResultAsync(Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue clientCharacteristicConfigurationDescriptorValue, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteClientCharacteristicConfigurationDescriptorWithResultAsync(clientCharacteristicConfigurationDescriptorValue)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConvertShortIdToUuid(uint16_t shortId, GUID * characteristicUuid) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *characteristicUuid = detach_abi(this->shim().ConvertShortIdToUuid(shortId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BatteryLevel(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BatteryLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BloodPressureFeature(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BloodPressureFeature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BloodPressureMeasurement(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BloodPressureMeasurement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BodySensorLocation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BodySensorLocation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CscFeature(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CscFeature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CscMeasurement(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CscMeasurement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GlucoseFeature(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GlucoseFeature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GlucoseMeasurement(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GlucoseMeasurement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GlucoseMeasurementContext(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GlucoseMeasurementContext()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeartRateControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeartRateControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeartRateMeasurement(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeartRateMeasurement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IntermediateCuffPressure(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntermediateCuffPressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IntermediateTemperature(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntermediateTemperature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MeasurementInterval(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MeasurementInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecordAccessControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecordAccessControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RscFeature(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RscFeature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RscMeasurement(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RscMeasurement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SCControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SCControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SensorLocation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SensorLocation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemperatureMeasurement(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemperatureMeasurement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemperatureType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemperatureType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlertCategoryId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlertCategoryId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlertCategoryIdBitMask(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlertCategoryIdBitMask()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlertLevel(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlertLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlertNotificationControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlertNotificationControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlertStatus(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlertStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GapAppearance(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GapAppearance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BootKeyboardInputReport(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BootKeyboardInputReport()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BootKeyboardOutputReport(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BootKeyboardOutputReport()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BootMouseInputReport(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BootMouseInputReport()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentTime(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingPowerControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingPowerControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingPowerFeature(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingPowerFeature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingPowerMeasurement(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingPowerMeasurement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingPowerVector(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingPowerVector()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateTime(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayDateTime(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayDateTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayOfWeek(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayOfWeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GapDeviceName(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GapDeviceName()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DstOffset(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DstOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExactTime256(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExactTime256()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirmwareRevisionString(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirmwareRevisionString()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareRevisionString(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareRevisionString()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HidControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HidControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HidInformation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HidInformation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ieee1107320601RegulatoryCertificationDataList(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ieee1107320601RegulatoryCertificationDataList()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LnControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LnControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LnFeature(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LnFeature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalTimeInformation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalTimeInformation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationAndSpeed(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationAndSpeed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManufacturerNameString(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManufacturerNameString()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelNumberString(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModelNumberString()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Navigation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Navigation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewAlert(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewAlert()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GapPeripheralPreferredConnectionParameters(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GapPeripheralPreferredConnectionParameters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GapPeripheralPrivacyFlag(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GapPeripheralPrivacyFlag()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PnpId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PnpId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionQuality(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionQuality()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolMode(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GapReconnectionAddress(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GapReconnectionAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReferenceTimeInformation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReferenceTimeInformation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Report(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Report()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportMap(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportMap()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RingerControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RingerControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RingerSetting(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RingerSetting()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanIntervalWindow(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanIntervalWindow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanRefresh(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanRefresh()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SerialNumberString(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SerialNumberString()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GattServiceChanged(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GattServiceChanged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoftwareRevisionString(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareRevisionString()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedNewAlertCategory(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedNewAlertCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportUnreadAlertCategory(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportUnreadAlertCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeAccuracy(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeAccuracy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeSource(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeSource()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeUpdateControlPoint(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeUpdateControlPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeUpdateState(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeUpdateState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeWithDst(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeWithDst()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeZone(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeZone()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TxPowerLevel(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TxPowerLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnreadAlertStatus(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnreadAlertStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolError(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Characteristics(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SubscribedClient(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscribedClient()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolError(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributeHandle(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributeHandle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadValueAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadValueAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadValueWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadValueAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteValueAsync(impl::abi_arg_in value, impl::abi_arg_out> action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().WriteValueAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_WriteValueWithResultAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteValueWithResultAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConvertShortIdToUuid(uint16_t shortId, GUID * descriptorUuid) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *descriptorUuid = detach_abi(this->shim().ConvertShortIdToUuid(shortId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CharacteristicAggregateFormat(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicAggregateFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacteristicExtendedProperties(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicExtendedProperties()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacteristicPresentationFormat(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicPresentationFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacteristicUserDescription(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicUserDescription()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClientCharacteristicConfiguration(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientCharacteristicConfiguration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCharacteristicConfiguration(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCharacteristicConfiguration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolError(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Descriptors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Descriptors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCharacteristics(GUID characteristicUuid, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCharacteristics(characteristicUuid)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIncludedServices(GUID serviceUuid, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIncludedServices(serviceUuid)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributeHandle(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributeHandle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentServices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllCharacteristics(impl::abi_arg_out> characteristics) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *characteristics = detach_abi(this->shim().GetAllCharacteristics()); + return S_OK; + } + catch (...) + { + *characteristics = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllIncludedServices(impl::abi_arg_out> includedServices) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *includedServices = detach_abi(this->shim().GetAllIncludedServices()); + return S_OK; + } + catch (...) + { + *includedServices = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceAccessInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceAccessInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenAsync(Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode sharingMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenAsync(sharingMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCharacteristicsAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCharacteristicsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCharacteristicsWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCharacteristicsAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCharacteristicsForUuidAsync(GUID characteristicUuid, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCharacteristicsForUuidAsync(characteristicUuid)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCharacteristicsForUuidWithCacheModeAsync(GUID characteristicUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCharacteristicsForUuidAsync(characteristicUuid, cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIncludedServicesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIncludedServicesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIncludedServicesWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIncludedServicesAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIncludedServicesForUuidAsync(GUID serviceUuid, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIncludedServicesForUuidAsync(serviceUuid)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIncludedServicesForUuidWithCacheModeAsync(GUID serviceUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIncludedServicesForUuidAsync(serviceUuid, cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromUuid(GUID serviceUuid, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelectorFromUuid(serviceUuid)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromShortId(uint16_t serviceShortId, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelectorFromShortId(serviceShortId)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertShortIdToUuid(uint16_t shortId, GUID * serviceUuid) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceUuid = detach_abi(this->shim().ConvertShortIdToUuid(shortId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdWithSharingModeAsync(impl::abi_arg_in deviceId, Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode sharingMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId), sharingMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDeviceId(impl::abi_arg_in bluetoothDeviceId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelectorForBluetoothDeviceId(*reinterpret_cast(&bluetoothDeviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(impl::abi_arg_in bluetoothDeviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelectorForBluetoothDeviceId(*reinterpret_cast(&bluetoothDeviceId), cacheMode)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDeviceIdAndUuid(impl::abi_arg_in bluetoothDeviceId, GUID serviceUuid, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelectorForBluetoothDeviceIdAndUuid(*reinterpret_cast(&bluetoothDeviceId), serviceUuid)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(impl::abi_arg_in bluetoothDeviceId, GUID serviceUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelectorForBluetoothDeviceIdAndUuid(*reinterpret_cast(&bluetoothDeviceId), serviceUuid, cacheMode)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolError(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Services(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Services()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StaticValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StaticValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacteristicProperties(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicProperties()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDescriptorAsync(GUID descriptorUuid, impl::abi_arg_in parameters, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateDescriptorAsync(descriptorUuid, *reinterpret_cast(¶meters))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Descriptors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Descriptors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PresentationFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PresentationFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubscribedClients(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscribedClients()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SubscribedClientsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SubscribedClientsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SubscribedClientsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SubscribedClientsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_WriteRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().WriteRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_WriteRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyValueAsync(impl::abi_arg_in value, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().NotifyValueAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyValueForSubscribedClientAsync(impl::abi_arg_in value, impl::abi_arg_in subscribedClient, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().NotifyValueAsync(*reinterpret_cast(&value), *reinterpret_cast(&subscribedClient))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_StaticValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StaticValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StaticValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StaticValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharacteristicProperties(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacteristicProperties(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacteristicProperties(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicProperties()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PresentationFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PresentationFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Characteristic(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristic()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StaticValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StaticValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_WriteRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().WriteRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_WriteRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_StaticValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StaticValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StaticValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StaticValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Descriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Descriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCharacteristicAsync(GUID characteristicUuid, impl::abi_arg_in parameters, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateCharacteristicAsync(characteristicUuid, *reinterpret_cast(¶meters))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Characteristics(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FormatType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormatType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Exponent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exponent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Unit(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Namespace(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Namespace()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BluetoothSigAssignedNumbers(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BluetoothSigAssignedNumbers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromParts(uint8_t formatType, int32_t exponent, uint16_t unit, uint8_t namespaceId, uint16_t description, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromParts(formatType, exponent, unit, namespaceId, description)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Boolean(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Boolean()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bit2(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bit2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Nibble(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Nibble()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt8(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt8()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt12(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt12()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt16(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt16()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt24(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt24()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt32(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt48(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt48()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt64(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt64()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UInt128(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UInt128()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt8(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt8()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt12(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt12()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt16(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt16()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt24(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt24()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt32(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt48(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt48()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt64(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt64()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SInt128(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SInt128()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Float32(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Float32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Float64(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Float64()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SFloat(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SFloat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Float(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Float()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DUInt16(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DUInt16()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Utf8(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Utf8()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Utf16(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Utf16()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Struct(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Struct()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InvalidHandle(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidHandle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadNotPermitted(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadNotPermitted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteNotPermitted(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteNotPermitted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidPdu(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidPdu()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InsufficientAuthentication(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InsufficientAuthentication()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestNotSupported(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestNotSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidOffset(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InsufficientAuthorization(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InsufficientAuthorization()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrepareQueueFull(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrepareQueueFull()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributeNotFound(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributeNotFound()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributeNotLong(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributeNotLong()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InsufficientEncryptionKeySize(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InsufficientEncryptionKeySize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InvalidAttributeValueLength(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvalidAttributeValueLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnlikelyError(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnlikelyError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InsufficientEncryption(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InsufficientEncryption()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnsupportedGroupType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnsupportedGroupType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InsufficientResources(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InsufficientResources()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClientCharacteristicConfigurationDescriptor(Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientCharacteristicConfigurationDescriptor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProtocolError(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Offset(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RespondWithValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RespondWithValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RespondWithProtocolError(uint8_t protocolError) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RespondWithProtocolError(protocolError); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRequestAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRequestAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProtocolError(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_WriteValue(impl::abi_arg_in characteristic, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteValue(*reinterpret_cast(&characteristic), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CommitAsync(impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().CommitAsync()); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CommitWithResultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CommitWithResultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Service(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Service()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisementStatus(Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisementStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisementStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AdvertisementStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AdvertisementStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AdvertisementStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdvertisementStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAdvertising() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartAdvertising(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAdvertisingWithParameters(impl::abi_arg_in parameters) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartAdvertising(*reinterpret_cast(¶meters)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAdvertising() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopAdvertising(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisementStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsConnectable(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsConnectable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsConnectable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsConnectable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDiscoverable(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDiscoverable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDiscoverable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDiscoverable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAsync(GUID serviceUuid, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateAsync(serviceUuid)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Battery(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Battery()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BloodPressure(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BloodPressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingSpeedAndCadence(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingSpeedAndCadence()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GenericAccess(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GenericAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GenericAttribute(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GenericAttribute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Glucose(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Glucose()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HealthThermometer(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HealthThermometer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeartRate(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeartRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RunningSpeedAndCadence(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RunningSpeedAndCadence()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlertNotification(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlertNotification()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentTime(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingPower(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingPower()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceInformation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HumanInterfaceDevice(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HumanInterfaceDevice()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImmediateAlert(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImmediateAlert()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinkLoss(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinkLoss()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationAndNavigation(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationAndNavigation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextDstChange(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextDstChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneAlertStatus(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneAlertStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReferenceTimeUpdate(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReferenceTimeUpdate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanParameters(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanParameters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TxPower(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TxPower()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanMaintainConnection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMaintainConnection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaintainConnection(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaintainConnection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaintainConnection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaintainConnection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPduSize(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPduSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionStatus(Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MaxPduSizeChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MaxPduSizeChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MaxPduSizeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPduSizeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SessionStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SessionStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SessionStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SessionStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromDeviceIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromDeviceIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxNotificationSize(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxNotificationSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MaxNotificationSizeChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MaxNotificationSizeChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MaxNotificationSizeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxNotificationSizeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CharacteristicValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacteristicValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out timestamp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *timestamp = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Option(Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Option()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Respond() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Respond(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RespondWithProtocolError(uint8_t protocolError) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RespondWithProtocolError(protocolError); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRequestAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRequestAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolError(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Bluetooth::GenericAttributeProfile { + +template uint8_t impl_IGattProtocolErrorStatics::InvalidHandle() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InvalidHandle(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::ReadNotPermitted() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_ReadNotPermitted(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::WriteNotPermitted() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_WriteNotPermitted(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InvalidPdu() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InvalidPdu(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InsufficientAuthentication() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InsufficientAuthentication(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::RequestNotSupported() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_RequestNotSupported(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InvalidOffset() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InvalidOffset(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InsufficientAuthorization() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InsufficientAuthorization(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::PrepareQueueFull() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_PrepareQueueFull(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::AttributeNotFound() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_AttributeNotFound(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::AttributeNotLong() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_AttributeNotLong(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InsufficientEncryptionKeySize() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InsufficientEncryptionKeySize(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InvalidAttributeValueLength() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InvalidAttributeValueLength(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::UnlikelyError() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_UnlikelyError(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InsufficientEncryption() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InsufficientEncryption(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::UnsupportedGroupType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_UnsupportedGroupType(&value)); + return value; +} + +template uint8_t impl_IGattProtocolErrorStatics::InsufficientResources() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattProtocolErrorStatics)->get_InsufficientResources(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattSessionStatics::FromDeviceIdAsync(const Windows::Devices::Bluetooth::BluetoothDeviceId & deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattSessionStatics)->abi_FromDeviceIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::BluetoothDeviceId impl_IGattSession::DeviceId() const +{ + Windows::Devices::Bluetooth::BluetoothDeviceId value { nullptr }; + check_hresult(WINRT_SHIM(IGattSession)->get_DeviceId(put_abi(value))); + return value; +} + +template bool impl_IGattSession::CanMaintainConnection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGattSession)->get_CanMaintainConnection(&value)); + return value; +} + +template void impl_IGattSession::MaintainConnection(bool value) const +{ + check_hresult(WINRT_SHIM(IGattSession)->put_MaintainConnection(value)); +} + +template bool impl_IGattSession::MaintainConnection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGattSession)->get_MaintainConnection(&value)); + return value; +} + +template uint16_t impl_IGattSession::MaxPduSize() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGattSession)->get_MaxPduSize(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus impl_IGattSession::SessionStatus() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus value {}; + check_hresult(WINRT_SHIM(IGattSession)->get_SessionStatus(&value)); + return value; +} + +template event_token impl_IGattSession::MaxPduSizeChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattSession)->add_MaxPduSizeChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattSession::MaxPduSizeChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession::remove_MaxPduSizeChanged, MaxPduSizeChanged(handler)); +} + +template void impl_IGattSession::MaxPduSizeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattSession)->remove_MaxPduSizeChanged(token)); +} + +template event_token impl_IGattSession::SessionStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattSession)->add_SessionStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattSession::SessionStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession::remove_SessionStatusChanged, SessionStatusChanged(handler)); +} + +template void impl_IGattSession::SessionStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattSession)->remove_SessionStatusChanged(token)); +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattSessionStatusChangedEventArgs::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattSessionStatusChangedEventArgs)->get_Error(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus impl_IGattSessionStatusChangedEventArgs::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatus value {}; + check_hresult(WINRT_SHIM(IGattSessionStatusChangedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceServiceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(asyncOp))); + return asyncOp; +} + +template hstring impl_IGattDeviceServiceStatics::GetDeviceSelectorFromUuid(GUID serviceUuid) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics)->abi_GetDeviceSelectorFromUuid(serviceUuid, put_abi(selector))); + return selector; +} + +template hstring impl_IGattDeviceServiceStatics::GetDeviceSelectorFromShortId(uint16_t serviceShortId) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics)->abi_GetDeviceSelectorFromShortId(serviceShortId, put_abi(selector))); + return selector; +} + +template GUID impl_IGattDeviceServiceStatics::ConvertShortIdToUuid(uint16_t shortId) const +{ + GUID serviceUuid {}; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics)->abi_ConvertShortIdToUuid(shortId, &serviceUuid)); + return serviceUuid; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceServiceStatics2::FromIdAsync(hstring_view deviceId, Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode sharingMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics2)->abi_FromIdWithSharingModeAsync(get_abi(deviceId), sharingMode, put_abi(operation))); + return operation; +} + +template hstring impl_IGattDeviceServiceStatics2::GetDeviceSelectorForBluetoothDeviceId(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId) const +{ + hstring result; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDeviceId(get_abi(bluetoothDeviceId), put_abi(result))); + return result; +} + +template hstring impl_IGattDeviceServiceStatics2::GetDeviceSelectorForBluetoothDeviceId(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + hstring result; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDeviceIdWithCacheMode(get_abi(bluetoothDeviceId), cacheMode, put_abi(result))); + return result; +} + +template hstring impl_IGattDeviceServiceStatics2::GetDeviceSelectorForBluetoothDeviceIdAndUuid(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId, GUID serviceUuid) const +{ + hstring result; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDeviceIdAndUuid(get_abi(bluetoothDeviceId), serviceUuid, put_abi(result))); + return result; +} + +template hstring impl_IGattDeviceServiceStatics2::GetDeviceSelectorForBluetoothDeviceIdAndUuid(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId, GUID serviceUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + hstring result; + check_hresult(WINRT_SHIM(IGattDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDeviceIdAndUuidWithCacheMode(get_abi(bluetoothDeviceId), serviceUuid, cacheMode, put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattDeviceService::GetCharacteristics(GUID characteristicUuid) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattDeviceService)->abi_GetCharacteristics(characteristicUuid, put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattDeviceService::GetIncludedServices(GUID serviceUuid) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattDeviceService)->abi_GetIncludedServices(serviceUuid, put_abi(value))); + return value; +} + +template hstring impl_IGattDeviceService::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGattDeviceService)->get_DeviceId(put_abi(value))); + return value; +} + +template GUID impl_IGattDeviceService::Uuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDeviceService)->get_Uuid(&value)); + return value; +} + +template uint16_t impl_IGattDeviceService::AttributeHandle() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGattDeviceService)->get_AttributeHandle(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothLEDevice impl_IGattDeviceService2::Device() const +{ + Windows::Devices::Bluetooth::BluetoothLEDevice value { nullptr }; + check_hresult(WINRT_SHIM(IGattDeviceService2)->get_Device(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattDeviceService2::ParentServices() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattDeviceService2)->get_ParentServices(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattDeviceService2::GetAllCharacteristics() const +{ + Windows::Foundation::Collections::IVectorView characteristics; + check_hresult(WINRT_SHIM(IGattDeviceService2)->abi_GetAllCharacteristics(put_abi(characteristics))); + return characteristics; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattDeviceService2::GetAllIncludedServices() const +{ + Windows::Foundation::Collections::IVectorView includedServices; + check_hresult(WINRT_SHIM(IGattDeviceService2)->abi_GetAllIncludedServices(put_abi(includedServices))); + return includedServices; +} + +template Windows::Devices::Enumeration::DeviceAccessInformation impl_IGattDeviceService3::DeviceAccessInformation() const +{ + Windows::Devices::Enumeration::DeviceAccessInformation value { nullptr }; + check_hresult(WINRT_SHIM(IGattDeviceService3)->get_DeviceAccessInformation(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession impl_IGattDeviceService3::Session() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession value { nullptr }; + check_hresult(WINRT_SHIM(IGattDeviceService3)->get_Session(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode impl_IGattDeviceService3::SharingMode() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode value {}; + check_hresult(WINRT_SHIM(IGattDeviceService3)->get_SharingMode(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_RequestAccessAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::OpenAsync(Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode sharingMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_OpenAsync(sharingMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetCharacteristicsAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetCharacteristicsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetCharacteristicsAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetCharacteristicsWithCacheModeAsync(cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetCharacteristicsForUuidAsync(GUID characteristicUuid) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetCharacteristicsForUuidAsync(characteristicUuid, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetCharacteristicsForUuidAsync(GUID characteristicUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetCharacteristicsForUuidWithCacheModeAsync(characteristicUuid, cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetIncludedServicesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetIncludedServicesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetIncludedServicesAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetIncludedServicesWithCacheModeAsync(cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetIncludedServicesForUuidAsync(GUID serviceUuid) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetIncludedServicesForUuidAsync(serviceUuid, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDeviceService3::GetIncludedServicesForUuidAsync(GUID serviceUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDeviceService3)->abi_GetIncludedServicesForUuidWithCacheModeAsync(serviceUuid, cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus impl_IGattDeviceServicesResult::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus value {}; + check_hresult(WINRT_SHIM(IGattDeviceServicesResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGattDeviceServicesResult::ProtocolError() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGattDeviceServicesResult)->get_ProtocolError(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattDeviceServicesResult::Services() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattDeviceServicesResult)->get_Services(put_abi(value))); + return value; +} + +template GUID impl_IGattCharacteristicStatics::ConvertShortIdToUuid(uint16_t shortId) const +{ + GUID characteristicUuid {}; + check_hresult(WINRT_SHIM(IGattCharacteristicStatics)->abi_ConvertShortIdToUuid(shortId, &characteristicUuid)); + return characteristicUuid; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattCharacteristic::GetDescriptors(GUID descriptorUuid) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattCharacteristic)->abi_GetDescriptors(descriptorUuid, put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties impl_IGattCharacteristic::CharacteristicProperties() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties value {}; + check_hresult(WINRT_SHIM(IGattCharacteristic)->get_CharacteristicProperties(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattCharacteristic::ProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattCharacteristic)->get_ProtectionLevel(&value)); + return value; +} + +template void impl_IGattCharacteristic::ProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IGattCharacteristic)->put_ProtectionLevel(value)); +} + +template hstring impl_IGattCharacteristic::UserDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGattCharacteristic)->get_UserDescription(put_abi(value))); + return value; +} + +template GUID impl_IGattCharacteristic::Uuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristic)->get_Uuid(&value)); + return value; +} + +template uint16_t impl_IGattCharacteristic::AttributeHandle() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGattCharacteristic)->get_AttributeHandle(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattCharacteristic::PresentationFormats() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattCharacteristic)->get_PresentationFormats(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic::ReadValueAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IGattCharacteristic)->abi_ReadValueAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic::ReadValueAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IGattCharacteristic)->abi_ReadValueWithCacheModeAsync(cacheMode, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic::WriteValueAsync(const Windows::Storage::Streams::IBuffer & value) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IGattCharacteristic)->abi_WriteValueAsync(get_abi(value), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic::WriteValueAsync(const Windows::Storage::Streams::IBuffer & value, Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption writeOption) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IGattCharacteristic)->abi_WriteValueWithOptionAsync(get_abi(value), writeOption, put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic::ReadClientCharacteristicConfigurationDescriptorAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IGattCharacteristic)->abi_ReadClientCharacteristicConfigurationDescriptorAsync(put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic::WriteClientCharacteristicConfigurationDescriptorAsync(Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue clientCharacteristicConfigurationDescriptorValue) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IGattCharacteristic)->abi_WriteClientCharacteristicConfigurationDescriptorAsync(clientCharacteristicConfigurationDescriptorValue, put_abi(asyncOp))); + return asyncOp; +} + +template event_token impl_IGattCharacteristic::ValueChanged(const Windows::Foundation::TypedEventHandler & valueChangedHandler) const +{ + event_token valueChangedEventCookie {}; + check_hresult(WINRT_SHIM(IGattCharacteristic)->add_ValueChanged(get_abi(valueChangedHandler), &valueChangedEventCookie)); + return valueChangedEventCookie; +} + +template event_revoker impl_IGattCharacteristic::ValueChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & valueChangedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic::remove_ValueChanged, ValueChanged(valueChangedHandler)); +} + +template void impl_IGattCharacteristic::ValueChanged(event_token valueChangedEventCookie) const +{ + check_hresult(WINRT_SHIM(IGattCharacteristic)->remove_ValueChanged(valueChangedEventCookie)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService impl_IGattCharacteristic2::Service() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService value { nullptr }; + check_hresult(WINRT_SHIM(IGattCharacteristic2)->get_Service(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattCharacteristic2::GetAllDescriptors() const +{ + Windows::Foundation::Collections::IVectorView descriptors; + check_hresult(WINRT_SHIM(IGattCharacteristic2)->abi_GetAllDescriptors(put_abi(descriptors))); + return descriptors; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic3::GetDescriptorsAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattCharacteristic3)->abi_GetDescriptorsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic3::GetDescriptorsAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattCharacteristic3)->abi_GetDescriptorsWithCacheModeAsync(cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic3::GetDescriptorsForUuidAsync(GUID descriptorUuid) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattCharacteristic3)->abi_GetDescriptorsForUuidAsync(descriptorUuid, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic3::GetDescriptorsForUuidAsync(GUID descriptorUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattCharacteristic3)->abi_GetDescriptorsForUuidWithCacheModeAsync(descriptorUuid, cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic3::WriteValueWithResultAsync(const Windows::Storage::Streams::IBuffer & value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattCharacteristic3)->abi_WriteValueWithResultAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic3::WriteValueWithResultAsync(const Windows::Storage::Streams::IBuffer & value, Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption writeOption) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattCharacteristic3)->abi_WriteValueWithResultAndOptionAsync(get_abi(value), writeOption, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattCharacteristic3::WriteClientCharacteristicConfigurationDescriptorWithResultAsync(Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue clientCharacteristicConfigurationDescriptorValue) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattCharacteristic3)->abi_WriteClientCharacteristicConfigurationDescriptorWithResultAsync(clientCharacteristicConfigurationDescriptorValue, put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus impl_IGattCharacteristicsResult::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicsResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGattCharacteristicsResult::ProtocolError() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGattCharacteristicsResult)->get_ProtocolError(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattCharacteristicsResult::Characteristics() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattCharacteristicsResult)->get_Characteristics(put_abi(value))); + return value; +} + +template GUID impl_IGattDescriptorStatics::ConvertShortIdToUuid(uint16_t shortId) const +{ + GUID descriptorUuid {}; + check_hresult(WINRT_SHIM(IGattDescriptorStatics)->abi_ConvertShortIdToUuid(shortId, &descriptorUuid)); + return descriptorUuid; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattDescriptor::ProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattDescriptor)->get_ProtectionLevel(&value)); + return value; +} + +template void impl_IGattDescriptor::ProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IGattDescriptor)->put_ProtectionLevel(value)); +} + +template GUID impl_IGattDescriptor::Uuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDescriptor)->get_Uuid(&value)); + return value; +} + +template uint16_t impl_IGattDescriptor::AttributeHandle() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGattDescriptor)->get_AttributeHandle(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDescriptor::ReadValueAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IGattDescriptor)->abi_ReadValueAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDescriptor::ReadValueAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IGattDescriptor)->abi_ReadValueWithCacheModeAsync(cacheMode, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDescriptor::WriteValueAsync(const Windows::Storage::Streams::IBuffer & value) const +{ + Windows::Foundation::IAsyncOperation action; + check_hresult(WINRT_SHIM(IGattDescriptor)->abi_WriteValueAsync(get_abi(value), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncOperation impl_IGattDescriptor2::WriteValueWithResultAsync(const Windows::Storage::Streams::IBuffer & value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattDescriptor2)->abi_WriteValueWithResultAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus impl_IGattDescriptorsResult::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus value {}; + check_hresult(WINRT_SHIM(IGattDescriptorsResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGattDescriptorsResult::ProtocolError() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGattDescriptorsResult)->get_ProtocolError(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattDescriptorsResult::Descriptors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattDescriptorsResult)->get_Descriptors(put_abi(value))); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Boolean() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Boolean(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Bit2() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Bit2(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Nibble() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Nibble(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt8() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt8(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt12() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt12(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt16() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt16(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt24() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt24(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt32() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt32(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt48() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt48(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt64() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt64(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::UInt128() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_UInt128(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt8() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt8(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt12() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt12(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt16() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt16(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt24() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt24(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt32() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt32(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt48() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt48(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt64() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt64(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SInt128() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SInt128(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Float32() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Float32(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Float64() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Float64(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::SFloat() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_SFloat(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Float() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Float(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::DUInt16() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_DUInt16(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Utf8() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Utf8(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Utf16() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Utf16(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatTypesStatics::Struct() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatTypesStatics)->get_Struct(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormatStatics::BluetoothSigAssignedNumbers() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormatStatics)->get_BluetoothSigAssignedNumbers(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat impl_IGattPresentationFormatStatics2::FromParts(uint8_t formatType, int32_t exponent, uint16_t unit, uint8_t namespaceId, uint16_t description) const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat result { nullptr }; + check_hresult(WINRT_SHIM(IGattPresentationFormatStatics2)->abi_FromParts(formatType, exponent, unit, namespaceId, description, put_abi(result))); + return result; +} + +template uint8_t impl_IGattPresentationFormat::FormatType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormat)->get_FormatType(&value)); + return value; +} + +template int32_t impl_IGattPresentationFormat::Exponent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormat)->get_Exponent(&value)); + return value; +} + +template uint16_t impl_IGattPresentationFormat::Unit() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormat)->get_Unit(&value)); + return value; +} + +template uint8_t impl_IGattPresentationFormat::Namespace() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormat)->get_Namespace(&value)); + return value; +} + +template uint16_t impl_IGattPresentationFormat::Description() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGattPresentationFormat)->get_Description(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IGattValueChangedEventArgs::CharacteristicValue() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattValueChangedEventArgs)->get_CharacteristicValue(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IGattValueChangedEventArgs::Timestamp() const +{ + Windows::Foundation::DateTime timestamp {}; + check_hresult(WINRT_SHIM(IGattValueChangedEventArgs)->get_Timestamp(put_abi(timestamp))); + return timestamp; +} + +template GUID impl_IGattServiceUuidsStatics::Battery() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_Battery(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::BloodPressure() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_BloodPressure(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::CyclingSpeedAndCadence() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_CyclingSpeedAndCadence(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::GenericAccess() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_GenericAccess(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::GenericAttribute() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_GenericAttribute(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::Glucose() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_Glucose(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::HealthThermometer() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_HealthThermometer(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::HeartRate() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_HeartRate(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics::RunningSpeedAndCadence() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics)->get_RunningSpeedAndCadence(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::AlertNotification() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_AlertNotification(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::CurrentTime() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_CurrentTime(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::CyclingPower() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_CyclingPower(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::DeviceInformation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_DeviceInformation(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::HumanInterfaceDevice() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_HumanInterfaceDevice(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::ImmediateAlert() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_ImmediateAlert(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::LinkLoss() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_LinkLoss(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::LocationAndNavigation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_LocationAndNavigation(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::NextDstChange() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_NextDstChange(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::PhoneAlertStatus() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_PhoneAlertStatus(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::ReferenceTimeUpdate() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_ReferenceTimeUpdate(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::ScanParameters() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_ScanParameters(&value)); + return value; +} + +template GUID impl_IGattServiceUuidsStatics2::TxPower() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattServiceUuidsStatics2)->get_TxPower(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::BatteryLevel() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_BatteryLevel(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::BloodPressureFeature() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_BloodPressureFeature(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::BloodPressureMeasurement() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_BloodPressureMeasurement(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::BodySensorLocation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_BodySensorLocation(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::CscFeature() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_CscFeature(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::CscMeasurement() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_CscMeasurement(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::GlucoseFeature() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_GlucoseFeature(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::GlucoseMeasurement() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_GlucoseMeasurement(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::GlucoseMeasurementContext() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_GlucoseMeasurementContext(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::HeartRateControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_HeartRateControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::HeartRateMeasurement() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_HeartRateMeasurement(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::IntermediateCuffPressure() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_IntermediateCuffPressure(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::IntermediateTemperature() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_IntermediateTemperature(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::MeasurementInterval() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_MeasurementInterval(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::RecordAccessControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_RecordAccessControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::RscFeature() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_RscFeature(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::RscMeasurement() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_RscMeasurement(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::SCControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_SCControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::SensorLocation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_SensorLocation(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::TemperatureMeasurement() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_TemperatureMeasurement(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics::TemperatureType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics)->get_TemperatureType(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::AlertCategoryId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_AlertCategoryId(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::AlertCategoryIdBitMask() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_AlertCategoryIdBitMask(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::AlertLevel() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_AlertLevel(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::AlertNotificationControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_AlertNotificationControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::AlertStatus() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_AlertStatus(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::GapAppearance() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_GapAppearance(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::BootKeyboardInputReport() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_BootKeyboardInputReport(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::BootKeyboardOutputReport() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_BootKeyboardOutputReport(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::BootMouseInputReport() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_BootMouseInputReport(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::CurrentTime() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_CurrentTime(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::CyclingPowerControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_CyclingPowerControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::CyclingPowerFeature() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_CyclingPowerFeature(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::CyclingPowerMeasurement() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_CyclingPowerMeasurement(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::CyclingPowerVector() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_CyclingPowerVector(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::DateTime() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_DateTime(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::DayDateTime() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_DayDateTime(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::DayOfWeek() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_DayOfWeek(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::GapDeviceName() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_GapDeviceName(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::DstOffset() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_DstOffset(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ExactTime256() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ExactTime256(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::FirmwareRevisionString() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_FirmwareRevisionString(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::HardwareRevisionString() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_HardwareRevisionString(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::HidControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_HidControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::HidInformation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_HidInformation(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::Ieee1107320601RegulatoryCertificationDataList() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_Ieee1107320601RegulatoryCertificationDataList(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::LnControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_LnControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::LnFeature() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_LnFeature(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::LocalTimeInformation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_LocalTimeInformation(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::LocationAndSpeed() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_LocationAndSpeed(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ManufacturerNameString() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ManufacturerNameString(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ModelNumberString() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ModelNumberString(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::Navigation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_Navigation(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::NewAlert() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_NewAlert(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::GapPeripheralPreferredConnectionParameters() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_GapPeripheralPreferredConnectionParameters(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::GapPeripheralPrivacyFlag() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_GapPeripheralPrivacyFlag(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::PnpId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_PnpId(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::PositionQuality() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_PositionQuality(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ProtocolMode() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ProtocolMode(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::GapReconnectionAddress() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_GapReconnectionAddress(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ReferenceTimeInformation() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ReferenceTimeInformation(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::Report() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_Report(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ReportMap() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ReportMap(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::RingerControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_RingerControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::RingerSetting() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_RingerSetting(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ScanIntervalWindow() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ScanIntervalWindow(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::ScanRefresh() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_ScanRefresh(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::SerialNumberString() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_SerialNumberString(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::GattServiceChanged() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_GattServiceChanged(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::SoftwareRevisionString() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_SoftwareRevisionString(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::SupportedNewAlertCategory() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_SupportedNewAlertCategory(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::SupportUnreadAlertCategory() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_SupportUnreadAlertCategory(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::SystemId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_SystemId(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::TimeAccuracy() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_TimeAccuracy(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::TimeSource() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_TimeSource(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::TimeUpdateControlPoint() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_TimeUpdateControlPoint(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::TimeUpdateState() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_TimeUpdateState(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::TimeWithDst() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_TimeWithDst(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::TimeZone() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_TimeZone(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::TxPowerLevel() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_TxPowerLevel(&value)); + return value; +} + +template GUID impl_IGattCharacteristicUuidsStatics2::UnreadAlertStatus() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattCharacteristicUuidsStatics2)->get_UnreadAlertStatus(&value)); + return value; +} + +template GUID impl_IGattDescriptorUuidsStatics::CharacteristicAggregateFormat() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDescriptorUuidsStatics)->get_CharacteristicAggregateFormat(&value)); + return value; +} + +template GUID impl_IGattDescriptorUuidsStatics::CharacteristicExtendedProperties() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDescriptorUuidsStatics)->get_CharacteristicExtendedProperties(&value)); + return value; +} + +template GUID impl_IGattDescriptorUuidsStatics::CharacteristicPresentationFormat() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDescriptorUuidsStatics)->get_CharacteristicPresentationFormat(&value)); + return value; +} + +template GUID impl_IGattDescriptorUuidsStatics::CharacteristicUserDescription() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDescriptorUuidsStatics)->get_CharacteristicUserDescription(&value)); + return value; +} + +template GUID impl_IGattDescriptorUuidsStatics::ClientCharacteristicConfiguration() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDescriptorUuidsStatics)->get_ClientCharacteristicConfiguration(&value)); + return value; +} + +template GUID impl_IGattDescriptorUuidsStatics::ServerCharacteristicConfiguration() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattDescriptorUuidsStatics)->get_ServerCharacteristicConfiguration(&value)); + return value; +} + +template void impl_IGattReliableWriteTransaction::WriteValue(const Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic & characteristic, const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IGattReliableWriteTransaction)->abi_WriteValue(get_abi(characteristic), get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IGattReliableWriteTransaction::CommitAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IGattReliableWriteTransaction)->abi_CommitAsync(put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IGattReliableWriteTransaction2::CommitWithResultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattReliableWriteTransaction2)->abi_CommitWithResultAsync(put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus impl_IGattReadResult::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus value {}; + check_hresult(WINRT_SHIM(IGattReadResult)->get_Status(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IGattReadResult::Value() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattReadResult)->get_Value(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IGattReadResult2::ProtocolError() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGattReadResult2)->get_ProtocolError(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus impl_IGattWriteResult::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus value {}; + check_hresult(WINRT_SHIM(IGattWriteResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGattWriteResult::ProtocolError() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGattWriteResult)->get_ProtocolError(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus impl_IGattReadClientCharacteristicConfigurationDescriptorResult::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus value {}; + check_hresult(WINRT_SHIM(IGattReadClientCharacteristicConfigurationDescriptorResult)->get_Status(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue impl_IGattReadClientCharacteristicConfigurationDescriptorResult::ClientCharacteristicConfigurationDescriptor() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientCharacteristicConfigurationDescriptorValue value {}; + check_hresult(WINRT_SHIM(IGattReadClientCharacteristicConfigurationDescriptorResult)->get_ClientCharacteristicConfigurationDescriptor(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGattReadClientCharacteristicConfigurationDescriptorResult2::ProtocolError() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGattReadClientCharacteristicConfigurationDescriptorResult2)->get_ProtocolError(put_abi(value))); + return value; +} + +template void impl_IGattServiceProviderAdvertisingParameters::IsConnectable(bool value) const +{ + check_hresult(WINRT_SHIM(IGattServiceProviderAdvertisingParameters)->put_IsConnectable(value)); +} + +template bool impl_IGattServiceProviderAdvertisingParameters::IsConnectable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGattServiceProviderAdvertisingParameters)->get_IsConnectable(&value)); + return value; +} + +template void impl_IGattServiceProviderAdvertisingParameters::IsDiscoverable(bool value) const +{ + check_hresult(WINRT_SHIM(IGattServiceProviderAdvertisingParameters)->put_IsDiscoverable(value)); +} + +template bool impl_IGattServiceProviderAdvertisingParameters::IsDiscoverable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGattServiceProviderAdvertisingParameters)->get_IsDiscoverable(&value)); + return value; +} + +template void impl_IGattLocalCharacteristicParameters::StaticValue(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->put_StaticValue(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_IGattLocalCharacteristicParameters::StaticValue() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->get_StaticValue(put_abi(value))); + return value; +} + +template void impl_IGattLocalCharacteristicParameters::CharacteristicProperties(Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties value) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->put_CharacteristicProperties(value)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties impl_IGattLocalCharacteristicParameters::CharacteristicProperties() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->get_CharacteristicProperties(&value)); + return value; +} + +template void impl_IGattLocalCharacteristicParameters::ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->put_ReadProtectionLevel(value)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalCharacteristicParameters::ReadProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->get_ReadProtectionLevel(&value)); + return value; +} + +template void impl_IGattLocalCharacteristicParameters::WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->put_WriteProtectionLevel(value)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalCharacteristicParameters::WriteProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->get_WriteProtectionLevel(&value)); + return value; +} + +template void impl_IGattLocalCharacteristicParameters::UserDescription(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->put_UserDescription(get_abi(value))); +} + +template hstring impl_IGattLocalCharacteristicParameters::UserDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->get_UserDescription(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IGattLocalCharacteristicParameters::PresentationFormats() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicParameters)->get_PresentationFormats(put_abi(value))); + return value; +} + +template void impl_IGattLocalDescriptorParameters::StaticValue(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IGattLocalDescriptorParameters)->put_StaticValue(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_IGattLocalDescriptorParameters::StaticValue() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattLocalDescriptorParameters)->get_StaticValue(put_abi(value))); + return value; +} + +template void impl_IGattLocalDescriptorParameters::ReadProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IGattLocalDescriptorParameters)->put_ReadProtectionLevel(value)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalDescriptorParameters::ReadProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptorParameters)->get_ReadProtectionLevel(&value)); + return value; +} + +template void impl_IGattLocalDescriptorParameters::WriteProtectionLevel(Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IGattLocalDescriptorParameters)->put_WriteProtectionLevel(value)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalDescriptorParameters::WriteProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptorParameters)->get_WriteProtectionLevel(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattServiceProviderStatics::CreateAsync(GUID serviceUuid) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattServiceProviderStatics)->abi_CreateAsync(serviceUuid, put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalService impl_IGattServiceProvider::Service() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalService value { nullptr }; + check_hresult(WINRT_SHIM(IGattServiceProvider)->get_Service(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisementStatus impl_IGattServiceProvider::AdvertisementStatus() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisementStatus value {}; + check_hresult(WINRT_SHIM(IGattServiceProvider)->get_AdvertisementStatus(&value)); + return value; +} + +template event_token impl_IGattServiceProvider::AdvertisementStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattServiceProvider)->add_AdvertisementStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattServiceProvider::AdvertisementStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceProvider::remove_AdvertisementStatusChanged, AdvertisementStatusChanged(handler)); +} + +template void impl_IGattServiceProvider::AdvertisementStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattServiceProvider)->remove_AdvertisementStatusChanged(token)); +} + +template void impl_IGattServiceProvider::StartAdvertising() const +{ + check_hresult(WINRT_SHIM(IGattServiceProvider)->abi_StartAdvertising()); +} + +template void impl_IGattServiceProvider::StartAdvertising(const Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisingParameters & parameters) const +{ + check_hresult(WINRT_SHIM(IGattServiceProvider)->abi_StartAdvertisingWithParameters(get_abi(parameters))); +} + +template void impl_IGattServiceProvider::StopAdvertising() const +{ + check_hresult(WINRT_SHIM(IGattServiceProvider)->abi_StopAdvertising()); +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattServiceProviderAdvertisementStatusChangedEventArgs::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattServiceProviderAdvertisementStatusChangedEventArgs)->get_Error(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisementStatus impl_IGattServiceProviderAdvertisementStatusChangedEventArgs::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisementStatus value {}; + check_hresult(WINRT_SHIM(IGattServiceProviderAdvertisementStatusChangedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattServiceProviderResult::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattServiceProviderResult)->get_Error(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProvider impl_IGattServiceProviderResult::ServiceProvider() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProvider value { nullptr }; + check_hresult(WINRT_SHIM(IGattServiceProviderResult)->get_ServiceProvider(put_abi(value))); + return value; +} + +template GUID impl_IGattLocalService::Uuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattLocalService)->get_Uuid(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattLocalService::CreateCharacteristicAsync(GUID characteristicUuid, const Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalCharacteristicParameters & parameters) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattLocalService)->abi_CreateCharacteristicAsync(characteristicUuid, get_abi(parameters), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattLocalService::Characteristics() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattLocalService)->get_Characteristics(put_abi(value))); + return value; +} + +template GUID impl_IGattLocalCharacteristic::Uuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_Uuid(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IGattLocalCharacteristic::StaticValue() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_StaticValue(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties impl_IGattLocalCharacteristic::CharacteristicProperties() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicProperties value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_CharacteristicProperties(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalCharacteristic::ReadProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_ReadProtectionLevel(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalCharacteristic::WriteProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_WriteProtectionLevel(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattLocalCharacteristic::CreateDescriptorAsync(GUID descriptorUuid, const Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalDescriptorParameters & parameters) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->abi_CreateDescriptorAsync(descriptorUuid, get_abi(parameters), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattLocalCharacteristic::Descriptors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_Descriptors(put_abi(value))); + return value; +} + +template hstring impl_IGattLocalCharacteristic::UserDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_UserDescription(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattLocalCharacteristic::PresentationFormats() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_PresentationFormats(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGattLocalCharacteristic::SubscribedClients() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->get_SubscribedClients(put_abi(value))); + return value; +} + +template event_token impl_IGattLocalCharacteristic::SubscribedClientsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->add_SubscribedClientsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattLocalCharacteristic::SubscribedClientsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalCharacteristic::remove_SubscribedClientsChanged, SubscribedClientsChanged(handler)); +} + +template void impl_IGattLocalCharacteristic::SubscribedClientsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->remove_SubscribedClientsChanged(token)); +} + +template event_token impl_IGattLocalCharacteristic::ReadRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->add_ReadRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattLocalCharacteristic::ReadRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalCharacteristic::remove_ReadRequested, ReadRequested(handler)); +} + +template void impl_IGattLocalCharacteristic::ReadRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->remove_ReadRequested(token)); +} + +template event_token impl_IGattLocalCharacteristic::WriteRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->add_WriteRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattLocalCharacteristic::WriteRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalCharacteristic::remove_WriteRequested, WriteRequested(handler)); +} + +template void impl_IGattLocalCharacteristic::WriteRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->remove_WriteRequested(token)); +} + +template Windows::Foundation::IAsyncOperation> impl_IGattLocalCharacteristic::NotifyValueAsync(const Windows::Storage::Streams::IBuffer & value) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->abi_NotifyValueAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGattLocalCharacteristic::NotifyValueAsync(const Windows::Storage::Streams::IBuffer & value, const Windows::Devices::Bluetooth::GenericAttributeProfile::GattSubscribedClient & subscribedClient) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattLocalCharacteristic)->abi_NotifyValueForSubscribedClientAsync(get_abi(value), get_abi(subscribedClient), put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalCharacteristic impl_IGattLocalCharacteristicResult::Characteristic() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalCharacteristic value { nullptr }; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicResult)->get_Characteristic(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattLocalCharacteristicResult::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattLocalCharacteristicResult)->get_Error(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession impl_IGattSubscribedClient::Session() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession value { nullptr }; + check_hresult(WINRT_SHIM(IGattSubscribedClient)->get_Session(put_abi(value))); + return value; +} + +template uint16_t impl_IGattSubscribedClient::MaxNotificationSize() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGattSubscribedClient)->get_MaxNotificationSize(&value)); + return value; +} + +template event_token impl_IGattSubscribedClient::MaxNotificationSizeChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattSubscribedClient)->add_MaxNotificationSizeChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattSubscribedClient::MaxNotificationSizeChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSubscribedClient::remove_MaxNotificationSizeChanged, MaxNotificationSizeChanged(handler)); +} + +template void impl_IGattSubscribedClient::MaxNotificationSizeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattSubscribedClient)->remove_MaxNotificationSizeChanged(token)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSubscribedClient impl_IGattClientNotificationResult::SubscribedClient() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSubscribedClient value { nullptr }; + check_hresult(WINRT_SHIM(IGattClientNotificationResult)->get_SubscribedClient(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus impl_IGattClientNotificationResult::Status() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattCommunicationStatus value {}; + check_hresult(WINRT_SHIM(IGattClientNotificationResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGattClientNotificationResult::ProtocolError() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGattClientNotificationResult)->get_ProtocolError(put_abi(value))); + return value; +} + +template GUID impl_IGattLocalDescriptor::Uuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->get_Uuid(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IGattLocalDescriptor::StaticValue() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->get_StaticValue(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalDescriptor::ReadProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->get_ReadProtectionLevel(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel impl_IGattLocalDescriptor::WriteProtectionLevel() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattProtectionLevel value {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->get_WriteProtectionLevel(&value)); + return value; +} + +template event_token impl_IGattLocalDescriptor::ReadRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->add_ReadRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattLocalDescriptor::ReadRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalDescriptor::remove_ReadRequested, ReadRequested(handler)); +} + +template void impl_IGattLocalDescriptor::ReadRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->remove_ReadRequested(token)); +} + +template event_token impl_IGattLocalDescriptor::WriteRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->add_WriteRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattLocalDescriptor::WriteRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalDescriptor::remove_WriteRequested, WriteRequested(handler)); +} + +template void impl_IGattLocalDescriptor::WriteRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattLocalDescriptor)->remove_WriteRequested(token)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalDescriptor impl_IGattLocalDescriptorResult::Descriptor() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IGattLocalDescriptorResult)->get_Descriptor(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattLocalDescriptorResult::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattLocalDescriptorResult)->get_Error(&value)); + return value; +} + +template uint32_t impl_IGattReadRequest::Offset() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGattReadRequest)->get_Offset(&value)); + return value; +} + +template uint32_t impl_IGattReadRequest::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGattReadRequest)->get_Length(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState impl_IGattReadRequest::State() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState value {}; + check_hresult(WINRT_SHIM(IGattReadRequest)->get_State(&value)); + return value; +} + +template event_token impl_IGattReadRequest::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattReadRequest)->add_StateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattReadRequest::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadRequest::remove_StateChanged, StateChanged(handler)); +} + +template void impl_IGattReadRequest::StateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattReadRequest)->remove_StateChanged(token)); +} + +template void impl_IGattReadRequest::RespondWithValue(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IGattReadRequest)->abi_RespondWithValue(get_abi(value))); +} + +template void impl_IGattReadRequest::RespondWithProtocolError(uint8_t protocolError) const +{ + check_hresult(WINRT_SHIM(IGattReadRequest)->abi_RespondWithProtocolError(protocolError)); +} + +template Windows::Storage::Streams::IBuffer impl_IGattWriteRequest::Value() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IGattWriteRequest)->get_Value(put_abi(value))); + return value; +} + +template uint32_t impl_IGattWriteRequest::Offset() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGattWriteRequest)->get_Offset(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption impl_IGattWriteRequest::Option() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteOption value {}; + check_hresult(WINRT_SHIM(IGattWriteRequest)->get_Option(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState impl_IGattWriteRequest::State() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState value {}; + check_hresult(WINRT_SHIM(IGattWriteRequest)->get_State(&value)); + return value; +} + +template event_token impl_IGattWriteRequest::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGattWriteRequest)->add_StateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGattWriteRequest::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteRequest::remove_StateChanged, StateChanged(handler)); +} + +template void impl_IGattWriteRequest::StateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGattWriteRequest)->remove_StateChanged(token)); +} + +template void impl_IGattWriteRequest::Respond() const +{ + check_hresult(WINRT_SHIM(IGattWriteRequest)->abi_Respond()); +} + +template void impl_IGattWriteRequest::RespondWithProtocolError(uint8_t protocolError) const +{ + check_hresult(WINRT_SHIM(IGattWriteRequest)->abi_RespondWithProtocolError(protocolError)); +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession impl_IGattReadRequestedEventArgs::Session() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession value { nullptr }; + check_hresult(WINRT_SHIM(IGattReadRequestedEventArgs)->get_Session(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IGattReadRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IGattReadRequestedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattReadRequestedEventArgs::GetRequestAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattReadRequestedEventArgs)->abi_GetRequestAsync(put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession impl_IGattWriteRequestedEventArgs::Session() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession value { nullptr }; + check_hresult(WINRT_SHIM(IGattWriteRequestedEventArgs)->get_Session(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IGattWriteRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IGattWriteRequestedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGattWriteRequestedEventArgs::GetRequestAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGattWriteRequestedEventArgs)->abi_GetRequestAsync(put_abi(operation))); + return operation; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState impl_IGattRequestStateChangedEventArgs::State() const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestState value {}; + check_hresult(WINRT_SHIM(IGattRequestStateChangedEventArgs)->get_State(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IGattRequestStateChangedEventArgs::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IGattRequestStateChangedEventArgs)->get_Error(&value)); + return value; +} + +inline GUID GattCharacteristic::ConvertShortIdToUuid(uint16_t shortId) +{ + return get_activation_factory().ConvertShortIdToUuid(shortId); +} + +inline GUID GattCharacteristicUuids::BatteryLevel() +{ + return get_activation_factory().BatteryLevel(); +} + +inline GUID GattCharacteristicUuids::BloodPressureFeature() +{ + return get_activation_factory().BloodPressureFeature(); +} + +inline GUID GattCharacteristicUuids::BloodPressureMeasurement() +{ + return get_activation_factory().BloodPressureMeasurement(); +} + +inline GUID GattCharacteristicUuids::BodySensorLocation() +{ + return get_activation_factory().BodySensorLocation(); +} + +inline GUID GattCharacteristicUuids::CscFeature() +{ + return get_activation_factory().CscFeature(); +} + +inline GUID GattCharacteristicUuids::CscMeasurement() +{ + return get_activation_factory().CscMeasurement(); +} + +inline GUID GattCharacteristicUuids::GlucoseFeature() +{ + return get_activation_factory().GlucoseFeature(); +} + +inline GUID GattCharacteristicUuids::GlucoseMeasurement() +{ + return get_activation_factory().GlucoseMeasurement(); +} + +inline GUID GattCharacteristicUuids::GlucoseMeasurementContext() +{ + return get_activation_factory().GlucoseMeasurementContext(); +} + +inline GUID GattCharacteristicUuids::HeartRateControlPoint() +{ + return get_activation_factory().HeartRateControlPoint(); +} + +inline GUID GattCharacteristicUuids::HeartRateMeasurement() +{ + return get_activation_factory().HeartRateMeasurement(); +} + +inline GUID GattCharacteristicUuids::IntermediateCuffPressure() +{ + return get_activation_factory().IntermediateCuffPressure(); +} + +inline GUID GattCharacteristicUuids::IntermediateTemperature() +{ + return get_activation_factory().IntermediateTemperature(); +} + +inline GUID GattCharacteristicUuids::MeasurementInterval() +{ + return get_activation_factory().MeasurementInterval(); +} + +inline GUID GattCharacteristicUuids::RecordAccessControlPoint() +{ + return get_activation_factory().RecordAccessControlPoint(); +} + +inline GUID GattCharacteristicUuids::RscFeature() +{ + return get_activation_factory().RscFeature(); +} + +inline GUID GattCharacteristicUuids::RscMeasurement() +{ + return get_activation_factory().RscMeasurement(); +} + +inline GUID GattCharacteristicUuids::SCControlPoint() +{ + return get_activation_factory().SCControlPoint(); +} + +inline GUID GattCharacteristicUuids::SensorLocation() +{ + return get_activation_factory().SensorLocation(); +} + +inline GUID GattCharacteristicUuids::TemperatureMeasurement() +{ + return get_activation_factory().TemperatureMeasurement(); +} + +inline GUID GattCharacteristicUuids::TemperatureType() +{ + return get_activation_factory().TemperatureType(); +} + +inline GUID GattCharacteristicUuids::AlertCategoryId() +{ + return get_activation_factory().AlertCategoryId(); +} + +inline GUID GattCharacteristicUuids::AlertCategoryIdBitMask() +{ + return get_activation_factory().AlertCategoryIdBitMask(); +} + +inline GUID GattCharacteristicUuids::AlertLevel() +{ + return get_activation_factory().AlertLevel(); +} + +inline GUID GattCharacteristicUuids::AlertNotificationControlPoint() +{ + return get_activation_factory().AlertNotificationControlPoint(); +} + +inline GUID GattCharacteristicUuids::AlertStatus() +{ + return get_activation_factory().AlertStatus(); +} + +inline GUID GattCharacteristicUuids::GapAppearance() +{ + return get_activation_factory().GapAppearance(); +} + +inline GUID GattCharacteristicUuids::BootKeyboardInputReport() +{ + return get_activation_factory().BootKeyboardInputReport(); +} + +inline GUID GattCharacteristicUuids::BootKeyboardOutputReport() +{ + return get_activation_factory().BootKeyboardOutputReport(); +} + +inline GUID GattCharacteristicUuids::BootMouseInputReport() +{ + return get_activation_factory().BootMouseInputReport(); +} + +inline GUID GattCharacteristicUuids::CurrentTime() +{ + return get_activation_factory().CurrentTime(); +} + +inline GUID GattCharacteristicUuids::CyclingPowerControlPoint() +{ + return get_activation_factory().CyclingPowerControlPoint(); +} + +inline GUID GattCharacteristicUuids::CyclingPowerFeature() +{ + return get_activation_factory().CyclingPowerFeature(); +} + +inline GUID GattCharacteristicUuids::CyclingPowerMeasurement() +{ + return get_activation_factory().CyclingPowerMeasurement(); +} + +inline GUID GattCharacteristicUuids::CyclingPowerVector() +{ + return get_activation_factory().CyclingPowerVector(); +} + +inline GUID GattCharacteristicUuids::DateTime() +{ + return get_activation_factory().DateTime(); +} + +inline GUID GattCharacteristicUuids::DayDateTime() +{ + return get_activation_factory().DayDateTime(); +} + +inline GUID GattCharacteristicUuids::DayOfWeek() +{ + return get_activation_factory().DayOfWeek(); +} + +inline GUID GattCharacteristicUuids::GapDeviceName() +{ + return get_activation_factory().GapDeviceName(); +} + +inline GUID GattCharacteristicUuids::DstOffset() +{ + return get_activation_factory().DstOffset(); +} + +inline GUID GattCharacteristicUuids::ExactTime256() +{ + return get_activation_factory().ExactTime256(); +} + +inline GUID GattCharacteristicUuids::FirmwareRevisionString() +{ + return get_activation_factory().FirmwareRevisionString(); +} + +inline GUID GattCharacteristicUuids::HardwareRevisionString() +{ + return get_activation_factory().HardwareRevisionString(); +} + +inline GUID GattCharacteristicUuids::HidControlPoint() +{ + return get_activation_factory().HidControlPoint(); +} + +inline GUID GattCharacteristicUuids::HidInformation() +{ + return get_activation_factory().HidInformation(); +} + +inline GUID GattCharacteristicUuids::Ieee1107320601RegulatoryCertificationDataList() +{ + return get_activation_factory().Ieee1107320601RegulatoryCertificationDataList(); +} + +inline GUID GattCharacteristicUuids::LnControlPoint() +{ + return get_activation_factory().LnControlPoint(); +} + +inline GUID GattCharacteristicUuids::LnFeature() +{ + return get_activation_factory().LnFeature(); +} + +inline GUID GattCharacteristicUuids::LocalTimeInformation() +{ + return get_activation_factory().LocalTimeInformation(); +} + +inline GUID GattCharacteristicUuids::LocationAndSpeed() +{ + return get_activation_factory().LocationAndSpeed(); +} + +inline GUID GattCharacteristicUuids::ManufacturerNameString() +{ + return get_activation_factory().ManufacturerNameString(); +} + +inline GUID GattCharacteristicUuids::ModelNumberString() +{ + return get_activation_factory().ModelNumberString(); +} + +inline GUID GattCharacteristicUuids::Navigation() +{ + return get_activation_factory().Navigation(); +} + +inline GUID GattCharacteristicUuids::NewAlert() +{ + return get_activation_factory().NewAlert(); +} + +inline GUID GattCharacteristicUuids::GapPeripheralPreferredConnectionParameters() +{ + return get_activation_factory().GapPeripheralPreferredConnectionParameters(); +} + +inline GUID GattCharacteristicUuids::GapPeripheralPrivacyFlag() +{ + return get_activation_factory().GapPeripheralPrivacyFlag(); +} + +inline GUID GattCharacteristicUuids::PnpId() +{ + return get_activation_factory().PnpId(); +} + +inline GUID GattCharacteristicUuids::PositionQuality() +{ + return get_activation_factory().PositionQuality(); +} + +inline GUID GattCharacteristicUuids::ProtocolMode() +{ + return get_activation_factory().ProtocolMode(); +} + +inline GUID GattCharacteristicUuids::GapReconnectionAddress() +{ + return get_activation_factory().GapReconnectionAddress(); +} + +inline GUID GattCharacteristicUuids::ReferenceTimeInformation() +{ + return get_activation_factory().ReferenceTimeInformation(); +} + +inline GUID GattCharacteristicUuids::Report() +{ + return get_activation_factory().Report(); +} + +inline GUID GattCharacteristicUuids::ReportMap() +{ + return get_activation_factory().ReportMap(); +} + +inline GUID GattCharacteristicUuids::RingerControlPoint() +{ + return get_activation_factory().RingerControlPoint(); +} + +inline GUID GattCharacteristicUuids::RingerSetting() +{ + return get_activation_factory().RingerSetting(); +} + +inline GUID GattCharacteristicUuids::ScanIntervalWindow() +{ + return get_activation_factory().ScanIntervalWindow(); +} + +inline GUID GattCharacteristicUuids::ScanRefresh() +{ + return get_activation_factory().ScanRefresh(); +} + +inline GUID GattCharacteristicUuids::SerialNumberString() +{ + return get_activation_factory().SerialNumberString(); +} + +inline GUID GattCharacteristicUuids::GattServiceChanged() +{ + return get_activation_factory().GattServiceChanged(); +} + +inline GUID GattCharacteristicUuids::SoftwareRevisionString() +{ + return get_activation_factory().SoftwareRevisionString(); +} + +inline GUID GattCharacteristicUuids::SupportedNewAlertCategory() +{ + return get_activation_factory().SupportedNewAlertCategory(); +} + +inline GUID GattCharacteristicUuids::SupportUnreadAlertCategory() +{ + return get_activation_factory().SupportUnreadAlertCategory(); +} + +inline GUID GattCharacteristicUuids::SystemId() +{ + return get_activation_factory().SystemId(); +} + +inline GUID GattCharacteristicUuids::TimeAccuracy() +{ + return get_activation_factory().TimeAccuracy(); +} + +inline GUID GattCharacteristicUuids::TimeSource() +{ + return get_activation_factory().TimeSource(); +} + +inline GUID GattCharacteristicUuids::TimeUpdateControlPoint() +{ + return get_activation_factory().TimeUpdateControlPoint(); +} + +inline GUID GattCharacteristicUuids::TimeUpdateState() +{ + return get_activation_factory().TimeUpdateState(); +} + +inline GUID GattCharacteristicUuids::TimeWithDst() +{ + return get_activation_factory().TimeWithDst(); +} + +inline GUID GattCharacteristicUuids::TimeZone() +{ + return get_activation_factory().TimeZone(); +} + +inline GUID GattCharacteristicUuids::TxPowerLevel() +{ + return get_activation_factory().TxPowerLevel(); +} + +inline GUID GattCharacteristicUuids::UnreadAlertStatus() +{ + return get_activation_factory().UnreadAlertStatus(); +} + +inline GUID GattDescriptor::ConvertShortIdToUuid(uint16_t shortId) +{ + return get_activation_factory().ConvertShortIdToUuid(shortId); +} + +inline GUID GattDescriptorUuids::CharacteristicAggregateFormat() +{ + return get_activation_factory().CharacteristicAggregateFormat(); +} + +inline GUID GattDescriptorUuids::CharacteristicExtendedProperties() +{ + return get_activation_factory().CharacteristicExtendedProperties(); +} + +inline GUID GattDescriptorUuids::CharacteristicPresentationFormat() +{ + return get_activation_factory().CharacteristicPresentationFormat(); +} + +inline GUID GattDescriptorUuids::CharacteristicUserDescription() +{ + return get_activation_factory().CharacteristicUserDescription(); +} + +inline GUID GattDescriptorUuids::ClientCharacteristicConfiguration() +{ + return get_activation_factory().ClientCharacteristicConfiguration(); +} + +inline GUID GattDescriptorUuids::ServerCharacteristicConfiguration() +{ + return get_activation_factory().ServerCharacteristicConfiguration(); +} + +inline Windows::Foundation::IAsyncOperation GattDeviceService::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring GattDeviceService::GetDeviceSelectorFromUuid(GUID serviceUuid) +{ + return get_activation_factory().GetDeviceSelectorFromUuid(serviceUuid); +} + +inline hstring GattDeviceService::GetDeviceSelectorFromShortId(uint16_t serviceShortId) +{ + return get_activation_factory().GetDeviceSelectorFromShortId(serviceShortId); +} + +inline GUID GattDeviceService::ConvertShortIdToUuid(uint16_t shortId) +{ + return get_activation_factory().ConvertShortIdToUuid(shortId); +} + +inline Windows::Foundation::IAsyncOperation GattDeviceService::FromIdAsync(hstring_view deviceId, Windows::Devices::Bluetooth::GenericAttributeProfile::GattSharingMode sharingMode) +{ + return get_activation_factory().FromIdAsync(deviceId, sharingMode); +} + +inline hstring GattDeviceService::GetDeviceSelectorForBluetoothDeviceId(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDeviceId(bluetoothDeviceId); +} + +inline hstring GattDeviceService::GetDeviceSelectorForBluetoothDeviceId(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDeviceId(bluetoothDeviceId, cacheMode); +} + +inline hstring GattDeviceService::GetDeviceSelectorForBluetoothDeviceIdAndUuid(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId, GUID serviceUuid) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDeviceIdAndUuid(bluetoothDeviceId, serviceUuid); +} + +inline hstring GattDeviceService::GetDeviceSelectorForBluetoothDeviceIdAndUuid(const Windows::Devices::Bluetooth::BluetoothDeviceId & bluetoothDeviceId, GUID serviceUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDeviceIdAndUuid(bluetoothDeviceId, serviceUuid, cacheMode); +} + +inline GattLocalCharacteristicParameters::GattLocalCharacteristicParameters() : + GattLocalCharacteristicParameters(activate_instance()) +{} + +inline GattLocalDescriptorParameters::GattLocalDescriptorParameters() : + GattLocalDescriptorParameters(activate_instance()) +{} + +inline uint8_t GattPresentationFormat::BluetoothSigAssignedNumbers() +{ + return get_activation_factory().BluetoothSigAssignedNumbers(); +} + +inline Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat GattPresentationFormat::FromParts(uint8_t formatType, int32_t exponent, uint16_t unit, uint8_t namespaceId, uint16_t description) +{ + return get_activation_factory().FromParts(formatType, exponent, unit, namespaceId, description); +} + +inline uint8_t GattPresentationFormatTypes::Boolean() +{ + return get_activation_factory().Boolean(); +} + +inline uint8_t GattPresentationFormatTypes::Bit2() +{ + return get_activation_factory().Bit2(); +} + +inline uint8_t GattPresentationFormatTypes::Nibble() +{ + return get_activation_factory().Nibble(); +} + +inline uint8_t GattPresentationFormatTypes::UInt8() +{ + return get_activation_factory().UInt8(); +} + +inline uint8_t GattPresentationFormatTypes::UInt12() +{ + return get_activation_factory().UInt12(); +} + +inline uint8_t GattPresentationFormatTypes::UInt16() +{ + return get_activation_factory().UInt16(); +} + +inline uint8_t GattPresentationFormatTypes::UInt24() +{ + return get_activation_factory().UInt24(); +} + +inline uint8_t GattPresentationFormatTypes::UInt32() +{ + return get_activation_factory().UInt32(); +} + +inline uint8_t GattPresentationFormatTypes::UInt48() +{ + return get_activation_factory().UInt48(); +} + +inline uint8_t GattPresentationFormatTypes::UInt64() +{ + return get_activation_factory().UInt64(); +} + +inline uint8_t GattPresentationFormatTypes::UInt128() +{ + return get_activation_factory().UInt128(); +} + +inline uint8_t GattPresentationFormatTypes::SInt8() +{ + return get_activation_factory().SInt8(); +} + +inline uint8_t GattPresentationFormatTypes::SInt12() +{ + return get_activation_factory().SInt12(); +} + +inline uint8_t GattPresentationFormatTypes::SInt16() +{ + return get_activation_factory().SInt16(); +} + +inline uint8_t GattPresentationFormatTypes::SInt24() +{ + return get_activation_factory().SInt24(); +} + +inline uint8_t GattPresentationFormatTypes::SInt32() +{ + return get_activation_factory().SInt32(); +} + +inline uint8_t GattPresentationFormatTypes::SInt48() +{ + return get_activation_factory().SInt48(); +} + +inline uint8_t GattPresentationFormatTypes::SInt64() +{ + return get_activation_factory().SInt64(); +} + +inline uint8_t GattPresentationFormatTypes::SInt128() +{ + return get_activation_factory().SInt128(); +} + +inline uint8_t GattPresentationFormatTypes::Float32() +{ + return get_activation_factory().Float32(); +} + +inline uint8_t GattPresentationFormatTypes::Float64() +{ + return get_activation_factory().Float64(); +} + +inline uint8_t GattPresentationFormatTypes::SFloat() +{ + return get_activation_factory().SFloat(); +} + +inline uint8_t GattPresentationFormatTypes::Float() +{ + return get_activation_factory().Float(); +} + +inline uint8_t GattPresentationFormatTypes::DUInt16() +{ + return get_activation_factory().DUInt16(); +} + +inline uint8_t GattPresentationFormatTypes::Utf8() +{ + return get_activation_factory().Utf8(); +} + +inline uint8_t GattPresentationFormatTypes::Utf16() +{ + return get_activation_factory().Utf16(); +} + +inline uint8_t GattPresentationFormatTypes::Struct() +{ + return get_activation_factory().Struct(); +} + +inline uint8_t GattProtocolError::InvalidHandle() +{ + return get_activation_factory().InvalidHandle(); +} + +inline uint8_t GattProtocolError::ReadNotPermitted() +{ + return get_activation_factory().ReadNotPermitted(); +} + +inline uint8_t GattProtocolError::WriteNotPermitted() +{ + return get_activation_factory().WriteNotPermitted(); +} + +inline uint8_t GattProtocolError::InvalidPdu() +{ + return get_activation_factory().InvalidPdu(); +} + +inline uint8_t GattProtocolError::InsufficientAuthentication() +{ + return get_activation_factory().InsufficientAuthentication(); +} + +inline uint8_t GattProtocolError::RequestNotSupported() +{ + return get_activation_factory().RequestNotSupported(); +} + +inline uint8_t GattProtocolError::InvalidOffset() +{ + return get_activation_factory().InvalidOffset(); +} + +inline uint8_t GattProtocolError::InsufficientAuthorization() +{ + return get_activation_factory().InsufficientAuthorization(); +} + +inline uint8_t GattProtocolError::PrepareQueueFull() +{ + return get_activation_factory().PrepareQueueFull(); +} + +inline uint8_t GattProtocolError::AttributeNotFound() +{ + return get_activation_factory().AttributeNotFound(); +} + +inline uint8_t GattProtocolError::AttributeNotLong() +{ + return get_activation_factory().AttributeNotLong(); +} + +inline uint8_t GattProtocolError::InsufficientEncryptionKeySize() +{ + return get_activation_factory().InsufficientEncryptionKeySize(); +} + +inline uint8_t GattProtocolError::InvalidAttributeValueLength() +{ + return get_activation_factory().InvalidAttributeValueLength(); +} + +inline uint8_t GattProtocolError::UnlikelyError() +{ + return get_activation_factory().UnlikelyError(); +} + +inline uint8_t GattProtocolError::InsufficientEncryption() +{ + return get_activation_factory().InsufficientEncryption(); +} + +inline uint8_t GattProtocolError::UnsupportedGroupType() +{ + return get_activation_factory().UnsupportedGroupType(); +} + +inline uint8_t GattProtocolError::InsufficientResources() +{ + return get_activation_factory().InsufficientResources(); +} + +inline GattReliableWriteTransaction::GattReliableWriteTransaction() : + GattReliableWriteTransaction(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation GattServiceProvider::CreateAsync(GUID serviceUuid) +{ + return get_activation_factory().CreateAsync(serviceUuid); +} + +inline GattServiceProviderAdvertisingParameters::GattServiceProviderAdvertisingParameters() : + GattServiceProviderAdvertisingParameters(activate_instance()) +{} + +inline GUID GattServiceUuids::Battery() +{ + return get_activation_factory().Battery(); +} + +inline GUID GattServiceUuids::BloodPressure() +{ + return get_activation_factory().BloodPressure(); +} + +inline GUID GattServiceUuids::CyclingSpeedAndCadence() +{ + return get_activation_factory().CyclingSpeedAndCadence(); +} + +inline GUID GattServiceUuids::GenericAccess() +{ + return get_activation_factory().GenericAccess(); +} + +inline GUID GattServiceUuids::GenericAttribute() +{ + return get_activation_factory().GenericAttribute(); +} + +inline GUID GattServiceUuids::Glucose() +{ + return get_activation_factory().Glucose(); +} + +inline GUID GattServiceUuids::HealthThermometer() +{ + return get_activation_factory().HealthThermometer(); +} + +inline GUID GattServiceUuids::HeartRate() +{ + return get_activation_factory().HeartRate(); +} + +inline GUID GattServiceUuids::RunningSpeedAndCadence() +{ + return get_activation_factory().RunningSpeedAndCadence(); +} + +inline GUID GattServiceUuids::AlertNotification() +{ + return get_activation_factory().AlertNotification(); +} + +inline GUID GattServiceUuids::CurrentTime() +{ + return get_activation_factory().CurrentTime(); +} + +inline GUID GattServiceUuids::CyclingPower() +{ + return get_activation_factory().CyclingPower(); +} + +inline GUID GattServiceUuids::DeviceInformation() +{ + return get_activation_factory().DeviceInformation(); +} + +inline GUID GattServiceUuids::HumanInterfaceDevice() +{ + return get_activation_factory().HumanInterfaceDevice(); +} + +inline GUID GattServiceUuids::ImmediateAlert() +{ + return get_activation_factory().ImmediateAlert(); +} + +inline GUID GattServiceUuids::LinkLoss() +{ + return get_activation_factory().LinkLoss(); +} + +inline GUID GattServiceUuids::LocationAndNavigation() +{ + return get_activation_factory().LocationAndNavigation(); +} + +inline GUID GattServiceUuids::NextDstChange() +{ + return get_activation_factory().NextDstChange(); +} + +inline GUID GattServiceUuids::PhoneAlertStatus() +{ + return get_activation_factory().PhoneAlertStatus(); +} + +inline GUID GattServiceUuids::ReferenceTimeUpdate() +{ + return get_activation_factory().ReferenceTimeUpdate(); +} + +inline GUID GattServiceUuids::ScanParameters() +{ + return get_activation_factory().ScanParameters(); +} + +inline GUID GattServiceUuids::TxPower() +{ + return get_activation_factory().TxPower(); +} + +inline Windows::Foundation::IAsyncOperation GattSession::FromDeviceIdAsync(const Windows::Devices::Bluetooth::BluetoothDeviceId & deviceId) +{ + return get_activation_factory().FromDeviceIdAsync(deviceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristic3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicUuidsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicUuidsStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattClientNotificationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptor2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorUuidsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDescriptorsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceService3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServiceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServiceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattDeviceServicesResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalCharacteristic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalCharacteristicParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalCharacteristicResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalDescriptorParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalDescriptorResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattLocalService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormatStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormatStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattPresentationFormatTypesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattProtocolErrorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadClientCharacteristicConfigurationDescriptorResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReadResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReliableWriteTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattReliableWriteTransaction2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattRequestStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceProviderAdvertisementStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceProviderAdvertisingParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceProviderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceUuidsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattServiceUuidsStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSessionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSessionStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattSubscribedClient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::IGattWriteResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattClientNotificationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDescriptorsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceServicesResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalCharacteristic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalCharacteristicParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalCharacteristicResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalDescriptorParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalDescriptorResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattLocalService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattPresentationFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadClientCharacteristicConfigurationDescriptorResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReadResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattReliableWriteTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattRequestStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisementStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderAdvertisingParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattServiceProviderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSessionStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattSubscribedClient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::GenericAttributeProfile::GattWriteResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Rfcomm.h b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Rfcomm.h new file mode 100644 index 000000000..4612f09fc --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.Rfcomm.h @@ -0,0 +1,1041 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Devices.Bluetooth.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Devices.Bluetooth.Rfcomm.3.h" +#include "Windows.Devices.Bluetooth.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConnectionHostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionHostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionLevel(Windows::Networking::Sockets::SocketProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxProtectionLevel(Windows::Networking::Sockets::SocketProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSdpRawAttributesAsync(impl::abi_arg_out>> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().GetSdpRawAttributesAsync()); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSdpRawAttributesWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out>> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().GetSdpRawAttributesAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceAccessInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceAccessInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_in serviceId, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector(*reinterpret_cast(&serviceId))); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDevice(impl::abi_arg_in bluetoothDevice, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelectorForBluetoothDevice(*reinterpret_cast(&bluetoothDevice))); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDeviceWithCacheMode(impl::abi_arg_in bluetoothDevice, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelectorForBluetoothDevice(*reinterpret_cast(&bluetoothDevice), cacheMode)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDeviceAndServiceId(impl::abi_arg_in bluetoothDevice, impl::abi_arg_in serviceId, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelectorForBluetoothDeviceAndServiceId(*reinterpret_cast(&bluetoothDevice), *reinterpret_cast(&serviceId))); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorForBluetoothDeviceAndServiceIdWithCacheMode(impl::abi_arg_in bluetoothDevice, impl::abi_arg_in serviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelectorForBluetoothDeviceAndServiceId(*reinterpret_cast(&bluetoothDevice), *reinterpret_cast(&serviceId), cacheMode)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::Bluetooth::BluetoothError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Services(impl::abi_arg_out> services) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *services = detach_abi(this->shim().Services()); + return S_OK; + } + catch (...) + { + *services = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AsShortId(uint32_t * shortId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *shortId = detach_abi(this->shim().AsShortId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AsString(impl::abi_arg_out id) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *id = detach_abi(this->shim().AsString()); + return S_OK; + } + catch (...) + { + *id = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromUuid(GUID uuid, impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().FromUuid(uuid)); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromShortId(uint32_t shortId, impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().FromShortId(shortId)); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SerialPort(impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().SerialPort()); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ObexObjectPush(impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().ObexObjectPush()); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ObexFileTransfer(impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().ObexFileTransfer()); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneBookAccessPce(impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().PhoneBookAccessPce()); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneBookAccessPse(impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().PhoneBookAccessPse()); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GenericFileTransfer(impl::abi_arg_out serviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceId = detach_abi(this->shim().GenericFileTransfer()); + return S_OK; + } + catch (...) + { + *serviceId = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SdpRawAttributes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SdpRawAttributes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAdvertising(impl::abi_arg_in listener) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartAdvertising(*reinterpret_cast(&listener)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAdvertising() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopAdvertising(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartAdvertisingWithRadioDiscoverability(impl::abi_arg_in listener, bool radioDiscoverable) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartAdvertising(*reinterpret_cast(&listener), radioDiscoverable); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_in serviceId, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().CreateAsync(*reinterpret_cast(&serviceId))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Bluetooth::Rfcomm { + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::FromUuid(GUID uuid) const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->abi_FromUuid(uuid, put_abi(serviceId))); + return serviceId; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::FromShortId(uint32_t shortId) const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->abi_FromShortId(shortId, put_abi(serviceId))); + return serviceId; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::SerialPort() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->get_SerialPort(put_abi(serviceId))); + return serviceId; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::ObexObjectPush() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->get_ObexObjectPush(put_abi(serviceId))); + return serviceId; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::ObexFileTransfer() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->get_ObexFileTransfer(put_abi(serviceId))); + return serviceId; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::PhoneBookAccessPce() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->get_PhoneBookAccessPce(put_abi(serviceId))); + return serviceId; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::PhoneBookAccessPse() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->get_PhoneBookAccessPse(put_abi(serviceId))); + return serviceId; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceIdStatics::GenericFileTransfer() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId serviceId { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceIdStatics)->get_GenericFileTransfer(put_abi(serviceId))); + return serviceId; +} + +template GUID impl_IRfcommServiceId::Uuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IRfcommServiceId)->get_Uuid(&value)); + return value; +} + +template uint32_t impl_IRfcommServiceId::AsShortId() const +{ + uint32_t shortId {}; + check_hresult(WINRT_SHIM(IRfcommServiceId)->abi_AsShortId(&shortId)); + return shortId; +} + +template hstring impl_IRfcommServiceId::AsString() const +{ + hstring id; + check_hresult(WINRT_SHIM(IRfcommServiceId)->abi_AsString(put_abi(id))); + return id; +} + +template Windows::Devices::Bluetooth::BluetoothError impl_IRfcommDeviceServicesResult::Error() const +{ + Windows::Devices::Bluetooth::BluetoothError value {}; + check_hresult(WINRT_SHIM(IRfcommDeviceServicesResult)->get_Error(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IRfcommDeviceServicesResult::Services() const +{ + Windows::Foundation::Collections::IVectorView services; + check_hresult(WINRT_SHIM(IRfcommDeviceServicesResult)->get_Services(put_abi(services))); + return services; +} + +template Windows::Foundation::IAsyncOperation impl_IRfcommDeviceServiceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IRfcommDeviceServiceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(asyncOp))); + return asyncOp; +} + +template hstring impl_IRfcommDeviceServiceStatics::GetDeviceSelector(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IRfcommDeviceServiceStatics)->abi_GetDeviceSelector(get_abi(serviceId), put_abi(selector))); + return selector; +} + +template hstring impl_IRfcommDeviceServiceStatics2::GetDeviceSelectorForBluetoothDevice(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IRfcommDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDevice(get_abi(bluetoothDevice), put_abi(selector))); + return selector; +} + +template hstring impl_IRfcommDeviceServiceStatics2::GetDeviceSelectorForBluetoothDevice(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IRfcommDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDeviceWithCacheMode(get_abi(bluetoothDevice), cacheMode, put_abi(selector))); + return selector; +} + +template hstring impl_IRfcommDeviceServiceStatics2::GetDeviceSelectorForBluetoothDeviceAndServiceId(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice, const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IRfcommDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDeviceAndServiceId(get_abi(bluetoothDevice), get_abi(serviceId), put_abi(selector))); + return selector; +} + +template hstring impl_IRfcommDeviceServiceStatics2::GetDeviceSelectorForBluetoothDeviceAndServiceId(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice, const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IRfcommDeviceServiceStatics2)->abi_GetDeviceSelectorForBluetoothDeviceAndServiceIdWithCacheMode(get_abi(bluetoothDevice), get_abi(serviceId), cacheMode, put_abi(selector))); + return selector; +} + +template Windows::Networking::HostName impl_IRfcommDeviceService::ConnectionHostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommDeviceService)->get_ConnectionHostName(put_abi(value))); + return value; +} + +template hstring impl_IRfcommDeviceService::ConnectionServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRfcommDeviceService)->get_ConnectionServiceName(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommDeviceService::ServiceId() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommDeviceService)->get_ServiceId(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketProtectionLevel impl_IRfcommDeviceService::ProtectionLevel() const +{ + Windows::Networking::Sockets::SocketProtectionLevel value {}; + check_hresult(WINRT_SHIM(IRfcommDeviceService)->get_ProtectionLevel(&value)); + return value; +} + +template Windows::Networking::Sockets::SocketProtectionLevel impl_IRfcommDeviceService::MaxProtectionLevel() const +{ + Windows::Networking::Sockets::SocketProtectionLevel value {}; + check_hresult(WINRT_SHIM(IRfcommDeviceService)->get_MaxProtectionLevel(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IRfcommDeviceService::GetSdpRawAttributesAsync() const +{ + Windows::Foundation::IAsyncOperation> asyncOp; + check_hresult(WINRT_SHIM(IRfcommDeviceService)->abi_GetSdpRawAttributesAsync(put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation> impl_IRfcommDeviceService::GetSdpRawAttributesAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation> asyncOp; + check_hresult(WINRT_SHIM(IRfcommDeviceService)->abi_GetSdpRawAttributesWithCacheModeAsync(cacheMode, put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Devices::Bluetooth::BluetoothDevice impl_IRfcommDeviceService2::Device() const +{ + Windows::Devices::Bluetooth::BluetoothDevice value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommDeviceService2)->get_Device(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceAccessInformation impl_IRfcommDeviceService3::DeviceAccessInformation() const +{ + Windows::Devices::Enumeration::DeviceAccessInformation value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommDeviceService3)->get_DeviceAccessInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRfcommDeviceService3::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IRfcommDeviceService3)->abi_RequestAccessAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRfcommServiceProviderStatics::CreateAsync(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IRfcommServiceProviderStatics)->abi_CreateAsync(get_abi(serviceId), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId impl_IRfcommServiceProvider::ServiceId() const +{ + Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId value { nullptr }; + check_hresult(WINRT_SHIM(IRfcommServiceProvider)->get_ServiceId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IRfcommServiceProvider::SdpRawAttributes() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IRfcommServiceProvider)->get_SdpRawAttributes(put_abi(value))); + return value; +} + +template void impl_IRfcommServiceProvider::StartAdvertising(const Windows::Networking::Sockets::StreamSocketListener & listener) const +{ + check_hresult(WINRT_SHIM(IRfcommServiceProvider)->abi_StartAdvertising(get_abi(listener))); +} + +template void impl_IRfcommServiceProvider::StopAdvertising() const +{ + check_hresult(WINRT_SHIM(IRfcommServiceProvider)->abi_StopAdvertising()); +} + +template void impl_IRfcommServiceProvider2::StartAdvertising(const Windows::Networking::Sockets::StreamSocketListener & listener, bool radioDiscoverable) const +{ + check_hresult(WINRT_SHIM(IRfcommServiceProvider2)->abi_StartAdvertisingWithRadioDiscoverability(get_abi(listener), radioDiscoverable)); +} + +inline Windows::Foundation::IAsyncOperation RfcommDeviceService::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring RfcommDeviceService::GetDeviceSelector(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId) +{ + return get_activation_factory().GetDeviceSelector(serviceId); +} + +inline hstring RfcommDeviceService::GetDeviceSelectorForBluetoothDevice(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDevice(bluetoothDevice); +} + +inline hstring RfcommDeviceService::GetDeviceSelectorForBluetoothDevice(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDevice(bluetoothDevice, cacheMode); +} + +inline hstring RfcommDeviceService::GetDeviceSelectorForBluetoothDeviceAndServiceId(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice, const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDeviceAndServiceId(bluetoothDevice, serviceId); +} + +inline hstring RfcommDeviceService::GetDeviceSelectorForBluetoothDeviceAndServiceId(const Windows::Devices::Bluetooth::BluetoothDevice & bluetoothDevice, const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) +{ + return get_activation_factory().GetDeviceSelectorForBluetoothDeviceAndServiceId(bluetoothDevice, serviceId, cacheMode); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::FromUuid(GUID uuid) +{ + return get_activation_factory().FromUuid(uuid); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::FromShortId(uint32_t shortId) +{ + return get_activation_factory().FromShortId(shortId); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::SerialPort() +{ + return get_activation_factory().SerialPort(); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::ObexObjectPush() +{ + return get_activation_factory().ObexObjectPush(); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::ObexFileTransfer() +{ + return get_activation_factory().ObexFileTransfer(); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::PhoneBookAccessPce() +{ + return get_activation_factory().PhoneBookAccessPce(); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::PhoneBookAccessPse() +{ + return get_activation_factory().PhoneBookAccessPse(); +} + +inline Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId RfcommServiceId::GenericFileTransfer() +{ + return get_activation_factory().GenericFileTransfer(); +} + +inline Windows::Foundation::IAsyncOperation RfcommServiceProvider::CreateAsync(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId) +{ + return get_activation_factory().CreateAsync(serviceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommDeviceService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommDeviceService2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommDeviceService3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommDeviceServiceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommDeviceServiceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommDeviceServicesResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommServiceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommServiceIdStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommServiceProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommServiceProvider2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::IRfcommServiceProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::RfcommDeviceService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::RfcommDeviceServicesResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::Rfcomm::RfcommServiceProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Bluetooth.h b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.h new file mode 100644 index 000000000..1589fcbc5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Bluetooth.h @@ -0,0 +1,3896 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Devices.Bluetooth.Rfcomm.3.h" +#include "internal/Windows.Devices.Bluetooth.GenericAttributeProfile.3.h" +#include "internal/Windows.Devices.Bluetooth.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BluetoothAddress(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BluetoothAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsClassicSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsClassicSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLowEnergySupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLowEnergySupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPeripheralRoleSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPeripheralRoleSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCentralRoleSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCentralRoleSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAdvertisementOffloadSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAdvertisementOffloadSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRadioAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRadioAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RawValue(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MajorClass(Windows::Devices::Bluetooth::BluetoothMajorClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MajorClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinorClass(Windows::Devices::Bluetooth::BluetoothMinorClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinorClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceCapabilities(Windows::Devices::Bluetooth::BluetoothServiceCapabilities * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceCapabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromRawValue(uint32_t rawValue, impl::abi_arg_out classOfDevice) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *classOfDevice = detach_abi(this->shim().FromRawValue(rawValue)); + return S_OK; + } + catch (...) + { + *classOfDevice = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromParts(Windows::Devices::Bluetooth::BluetoothMajorClass majorClass, Windows::Devices::Bluetooth::BluetoothMinorClass minorClass, Windows::Devices::Bluetooth::BluetoothServiceCapabilities serviceCapabilities, impl::abi_arg_out classOfDevice) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *classOfDevice = detach_abi(this->shim().FromParts(majorClass, minorClass, serviceCapabilities)); + return S_OK; + } + catch (...) + { + *classOfDevice = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClassOfDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClassOfDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SdpRecords(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SdpRecords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RfcommServices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RfcommServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BluetoothAddress(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BluetoothAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NameChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NameChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NameChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NameChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SdpRecordsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SdpRecordsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SdpRecordsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SdpRecordsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ConnectionStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ConnectionStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ConnectionStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConnectionStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceAccessInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceAccessInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRfcommServicesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRfcommServicesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRfcommServicesWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRfcommServicesAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRfcommServicesForIdAsync(impl::abi_arg_in serviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRfcommServicesForIdAsync(*reinterpret_cast(&serviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRfcommServicesForIdWithCacheModeAsync(impl::abi_arg_in serviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRfcommServicesForIdAsync(*reinterpret_cast(&serviceId), cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsClassicDevice(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsClassicDevice()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLowEnergyDevice(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLowEnergyDevice()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromHostNameAsync(impl::abi_arg_in hostName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromHostNameAsync(*reinterpret_cast(&hostName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromBluetoothAddressAsync(uint64_t address, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromBluetoothAddressAsync(address)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelectorFromPairingState(bool pairingState, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromPairingState(pairingState)); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus connectionStatus, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromConnectionStatus(connectionStatus)); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromDeviceName(impl::abi_arg_in deviceName, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromDeviceName(*reinterpret_cast(&deviceName))); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromBluetoothAddress(bluetoothAddress)); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromClassOfDevice(impl::abi_arg_in classOfDevice, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromClassOfDevice(*reinterpret_cast(&classOfDevice))); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RawValue(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Category(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Category()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubCategory(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uncategorized(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uncategorized()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Phone(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Phone()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Computer(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Computer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Watch(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Watch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Clock(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clock()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Display(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Display()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteControl(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteControl()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EyeGlasses(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EyeGlasses()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keyring(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keyring()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlayer(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BarcodeScanner(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BarcodeScanner()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thermometer(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thermometer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeartRate(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeartRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BloodPressure(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BloodPressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HumanInterfaceDevice(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HumanInterfaceDevice()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GlucoseMeter(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GlucoseMeter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RunningWalking(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RunningWalking()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cycling(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cycling()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PulseOximeter(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PulseOximeter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeightScale(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeightScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutdoorSportActivity(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutdoorSportActivity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromRawValue(uint16_t rawValue, impl::abi_arg_out appearance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *appearance = detach_abi(this->shim().FromRawValue(rawValue)); + return S_OK; + } + catch (...) + { + *appearance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromParts(uint16_t appearanceCategory, uint16_t appearanceSubCategory, impl::abi_arg_out appearance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *appearance = detach_abi(this->shim().FromParts(appearanceCategory, appearanceSubCategory)); + return S_OK; + } + catch (...) + { + *appearance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Generic(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Generic()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SportsWatch(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SportsWatch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThermometerEar(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThermometerEar()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeartRateBelt(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeartRateBelt()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BloodPressureArm(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BloodPressureArm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BloodPressureWrist(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BloodPressureWrist()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keyboard(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keyboard()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mouse(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mouse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Joystick(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Joystick()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gamepad(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gamepad()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DigitizerTablet(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DigitizerTablet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CardReader(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardReader()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DigitalPen(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DigitalPen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BarcodeScanner(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BarcodeScanner()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RunningWalkingInShoe(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RunningWalkingInShoe()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RunningWalkingOnShoe(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RunningWalkingOnShoe()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RunningWalkingOnHip(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RunningWalkingOnHip()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingComputer(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingComputer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingSpeedSensor(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingSpeedSensor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingCadenceSensor(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingCadenceSensor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingPowerSensor(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingPowerSensor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CyclingSpeedCadenceSensor(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CyclingSpeedCadenceSensor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OximeterFingertip(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OximeterFingertip()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OximeterWristWorn(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OximeterWristWorn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationDisplay(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationDisplay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationNavigationDisplay(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationNavigationDisplay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationPod(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationPod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationNavigationPod(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationNavigationPod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GattServices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GattServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BluetoothAddress(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BluetoothAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGattService(GUID serviceUuid, impl::abi_arg_out service) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *service = detach_abi(this->shim().GetGattService(serviceUuid)); + return S_OK; + } + catch (...) + { + *service = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NameChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NameChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NameChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NameChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GattServicesChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GattServicesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GattServicesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GattServicesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ConnectionStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ConnectionStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ConnectionStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConnectionStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Appearance(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appearance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BluetoothAddressType(Windows::Devices::Bluetooth::BluetoothAddressType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BluetoothAddressType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceAccessInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceAccessInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGattServicesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetGattServicesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGattServicesWithCacheModeAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetGattServicesAsync(cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGattServicesForUuidAsync(GUID serviceUuid, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetGattServicesForUuidAsync(serviceUuid)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGattServicesForUuidWithCacheModeAsync(GUID serviceUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetGattServicesForUuidAsync(serviceUuid, cacheMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromBluetoothAddressAsync(uint64_t bluetoothAddress, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromBluetoothAddressAsync(bluetoothAddress)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelectorFromPairingState(bool pairingState, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromPairingState(pairingState)); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus connectionStatus, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromConnectionStatus(connectionStatus)); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromDeviceName(impl::abi_arg_in deviceName, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromDeviceName(*reinterpret_cast(&deviceName))); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromBluetoothAddress(bluetoothAddress)); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromBluetoothAddressWithBluetoothAddressType(uint64_t bluetoothAddress, Windows::Devices::Bluetooth::BluetoothAddressType bluetoothAddressType, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromBluetoothAddress(bluetoothAddress, bluetoothAddressType)); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromAppearance(impl::abi_arg_in appearance, impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelectorFromAppearance(*reinterpret_cast(&appearance))); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromBluetoothAddressWithBluetoothAddressTypeAsync(uint64_t bluetoothAddress, Windows::Devices::Bluetooth::BluetoothAddressType bluetoothAddressType, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromBluetoothAddressAsync(bluetoothAddress, bluetoothAddressType)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InRangeThresholdInDBm(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InRangeThresholdInDBm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InRangeThresholdInDBm(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InRangeThresholdInDBm(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutOfRangeThresholdInDBm(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutOfRangeThresholdInDBm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutOfRangeThresholdInDBm(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutOfRangeThresholdInDBm(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutOfRangeTimeout(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutOfRangeTimeout()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutOfRangeTimeout(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutOfRangeTimeout(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SamplingInterval(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SamplingInterval()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SamplingInterval(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SamplingInterval(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromShortId(uint32_t shortId, GUID * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromShortId(shortId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetShortId(GUID uuid, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetShortId(uuid)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Bluetooth { + +template hstring impl_IBluetoothAdapterStatics::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(IBluetoothAdapterStatics)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothAdapterStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothAdapterStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothAdapterStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothAdapterStatics)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IBluetoothAdapter::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->get_DeviceId(put_abi(value))); + return value; +} + +template uint64_t impl_IBluetoothAdapter::BluetoothAddress() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->get_BluetoothAddress(&value)); + return value; +} + +template bool impl_IBluetoothAdapter::IsClassicSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->get_IsClassicSupported(&value)); + return value; +} + +template bool impl_IBluetoothAdapter::IsLowEnergySupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->get_IsLowEnergySupported(&value)); + return value; +} + +template bool impl_IBluetoothAdapter::IsPeripheralRoleSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->get_IsPeripheralRoleSupported(&value)); + return value; +} + +template bool impl_IBluetoothAdapter::IsCentralRoleSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->get_IsCentralRoleSupported(&value)); + return value; +} + +template bool impl_IBluetoothAdapter::IsAdvertisementOffloadSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->get_IsAdvertisementOffloadSupported(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothAdapter::GetRadioAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothAdapter)->abi_GetRadioAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IBluetoothDeviceId::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBluetoothDeviceId)->get_Id(put_abi(value))); + return value; +} + +template bool impl_IBluetoothDeviceId::IsClassicDevice() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBluetoothDeviceId)->get_IsClassicDevice(&value)); + return value; +} + +template bool impl_IBluetoothDeviceId::IsLowEnergyDevice() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBluetoothDeviceId)->get_IsLowEnergyDevice(&value)); + return value; +} + +template GUID impl_IBluetoothUuidHelperStatics::FromShortId(uint32_t shortId) const +{ + GUID result {}; + check_hresult(WINRT_SHIM(IBluetoothUuidHelperStatics)->abi_FromShortId(shortId, &result)); + return result; +} + +template Windows::Foundation::IReference impl_IBluetoothUuidHelperStatics::TryGetShortId(GUID uuid) const +{ + Windows::Foundation::IReference result; + check_hresult(WINRT_SHIM(IBluetoothUuidHelperStatics)->abi_TryGetShortId(uuid, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDeviceStatics::FromHostNameAsync(const Windows::Networking::HostName & hostName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics)->abi_FromHostNameAsync(get_abi(hostName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDeviceStatics::FromBluetoothAddressAsync(uint64_t address) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics)->abi_FromBluetoothAddressAsync(address, put_abi(operation))); + return operation; +} + +template hstring impl_IBluetoothDeviceStatics::GetDeviceSelector() const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics)->abi_GetDeviceSelector(put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothDeviceStatics2::GetDeviceSelectorFromPairingState(bool pairingState) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics2)->abi_GetDeviceSelectorFromPairingState(pairingState, put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothDeviceStatics2::GetDeviceSelectorFromConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus connectionStatus) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics2)->abi_GetDeviceSelectorFromConnectionStatus(connectionStatus, put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothDeviceStatics2::GetDeviceSelectorFromDeviceName(hstring_view deviceName) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics2)->abi_GetDeviceSelectorFromDeviceName(get_abi(deviceName), put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothDeviceStatics2::GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics2)->abi_GetDeviceSelectorFromBluetoothAddress(bluetoothAddress, put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothDeviceStatics2::GetDeviceSelectorFromClassOfDevice(const Windows::Devices::Bluetooth::BluetoothClassOfDevice & classOfDevice) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothDeviceStatics2)->abi_GetDeviceSelectorFromClassOfDevice(get_abi(classOfDevice), put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothDevice::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IBluetoothDevice::HostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_HostName(put_abi(value))); + return value; +} + +template hstring impl_IBluetoothDevice::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_Name(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothClassOfDevice impl_IBluetoothDevice::ClassOfDevice() const +{ + Windows::Devices::Bluetooth::BluetoothClassOfDevice value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_ClassOfDevice(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBluetoothDevice::SdpRecords() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_SdpRecords(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBluetoothDevice::RfcommServices() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_RfcommServices(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothConnectionStatus impl_IBluetoothDevice::ConnectionStatus() const +{ + Windows::Devices::Bluetooth::BluetoothConnectionStatus value {}; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_ConnectionStatus(&value)); + return value; +} + +template uint64_t impl_IBluetoothDevice::BluetoothAddress() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IBluetoothDevice)->get_BluetoothAddress(&value)); + return value; +} + +template event_token impl_IBluetoothDevice::NameChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothDevice)->add_NameChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothDevice::NameChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::IBluetoothDevice::remove_NameChanged, NameChanged(handler)); +} + +template void impl_IBluetoothDevice::NameChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothDevice)->remove_NameChanged(token)); +} + +template event_token impl_IBluetoothDevice::SdpRecordsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothDevice)->add_SdpRecordsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothDevice::SdpRecordsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::IBluetoothDevice::remove_SdpRecordsChanged, SdpRecordsChanged(handler)); +} + +template void impl_IBluetoothDevice::SdpRecordsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothDevice)->remove_SdpRecordsChanged(token)); +} + +template event_token impl_IBluetoothDevice::ConnectionStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothDevice)->add_ConnectionStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothDevice::ConnectionStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::IBluetoothDevice::remove_ConnectionStatusChanged, ConnectionStatusChanged(handler)); +} + +template void impl_IBluetoothDevice::ConnectionStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothDevice)->remove_ConnectionStatusChanged(token)); +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IBluetoothDevice2::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothDevice2)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceAccessInformation impl_IBluetoothDevice3::DeviceAccessInformation() const +{ + Windows::Devices::Enumeration::DeviceAccessInformation value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothDevice3)->get_DeviceAccessInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDevice3::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IBluetoothDevice3)->abi_RequestAccessAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDevice3::GetRfcommServicesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothDevice3)->abi_GetRfcommServicesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDevice3::GetRfcommServicesAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothDevice3)->abi_GetRfcommServicesWithCacheModeAsync(cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDevice3::GetRfcommServicesForIdAsync(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothDevice3)->abi_GetRfcommServicesForIdAsync(get_abi(serviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothDevice3::GetRfcommServicesForIdAsync(const Windows::Devices::Bluetooth::Rfcomm::RfcommServiceId & serviceId, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothDevice3)->abi_GetRfcommServicesForIdWithCacheModeAsync(get_abi(serviceId), cacheMode, put_abi(operation))); + return operation; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Uncategorized() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Uncategorized(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Phone() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Phone(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Computer() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Computer(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Watch() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Watch(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Clock() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Clock(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Display() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Display(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::RemoteControl() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_RemoteControl(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::EyeGlasses() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_EyeGlasses(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Tag() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Tag(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Keyring() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Keyring(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::MediaPlayer() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_MediaPlayer(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::BarcodeScanner() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_BarcodeScanner(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Thermometer() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Thermometer(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::HeartRate() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_HeartRate(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::BloodPressure() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_BloodPressure(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::HumanInterfaceDevice() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_HumanInterfaceDevice(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::GlucoseMeter() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_GlucoseMeter(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::RunningWalking() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_RunningWalking(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::Cycling() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_Cycling(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::PulseOximeter() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_PulseOximeter(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::WeightScale() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_WeightScale(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceCategoriesStatics::OutdoorSportActivity() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceCategoriesStatics)->get_OutdoorSportActivity(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::Generic() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_Generic(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::SportsWatch() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_SportsWatch(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::ThermometerEar() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_ThermometerEar(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::HeartRateBelt() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_HeartRateBelt(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::BloodPressureArm() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_BloodPressureArm(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::BloodPressureWrist() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_BloodPressureWrist(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::Keyboard() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_Keyboard(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::Mouse() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_Mouse(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::Joystick() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_Joystick(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::Gamepad() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_Gamepad(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::DigitizerTablet() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_DigitizerTablet(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::CardReader() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_CardReader(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::DigitalPen() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_DigitalPen(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::BarcodeScanner() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_BarcodeScanner(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::RunningWalkingInShoe() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_RunningWalkingInShoe(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::RunningWalkingOnShoe() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_RunningWalkingOnShoe(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::RunningWalkingOnHip() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_RunningWalkingOnHip(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::CyclingComputer() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_CyclingComputer(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::CyclingSpeedSensor() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_CyclingSpeedSensor(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::CyclingCadenceSensor() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_CyclingCadenceSensor(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::CyclingPowerSensor() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_CyclingPowerSensor(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::CyclingSpeedCadenceSensor() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_CyclingSpeedCadenceSensor(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::OximeterFingertip() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_OximeterFingertip(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::OximeterWristWorn() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_OximeterWristWorn(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::LocationDisplay() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_LocationDisplay(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::LocationNavigationDisplay() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_LocationNavigationDisplay(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::LocationPod() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_LocationPod(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearanceSubcategoriesStatics::LocationNavigationPod() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceSubcategoriesStatics)->get_LocationNavigationPod(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearance::RawValue() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearance)->get_RawValue(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearance::Category() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearance)->get_Category(&value)); + return value; +} + +template uint16_t impl_IBluetoothLEAppearance::SubCategory() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEAppearance)->get_SubCategory(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothLEAppearance impl_IBluetoothLEAppearanceStatics::FromRawValue(uint16_t rawValue) const +{ + Windows::Devices::Bluetooth::BluetoothLEAppearance appearance { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceStatics)->abi_FromRawValue(rawValue, put_abi(appearance))); + return appearance; +} + +template Windows::Devices::Bluetooth::BluetoothLEAppearance impl_IBluetoothLEAppearanceStatics::FromParts(uint16_t appearanceCategory, uint16_t appearanceSubCategory) const +{ + Windows::Devices::Bluetooth::BluetoothLEAppearance appearance { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEAppearanceStatics)->abi_FromParts(appearanceCategory, appearanceSubCategory, put_abi(appearance))); + return appearance; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDeviceStatics::FromBluetoothAddressAsync(uint64_t bluetoothAddress) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics)->abi_FromBluetoothAddressAsync(bluetoothAddress, put_abi(operation))); + return operation; +} + +template hstring impl_IBluetoothLEDeviceStatics::GetDeviceSelector() const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics)->abi_GetDeviceSelector(put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothLEDeviceStatics2::GetDeviceSelectorFromPairingState(bool pairingState) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics2)->abi_GetDeviceSelectorFromPairingState(pairingState, put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothLEDeviceStatics2::GetDeviceSelectorFromConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus connectionStatus) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics2)->abi_GetDeviceSelectorFromConnectionStatus(connectionStatus, put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothLEDeviceStatics2::GetDeviceSelectorFromDeviceName(hstring_view deviceName) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics2)->abi_GetDeviceSelectorFromDeviceName(get_abi(deviceName), put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothLEDeviceStatics2::GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics2)->abi_GetDeviceSelectorFromBluetoothAddress(bluetoothAddress, put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothLEDeviceStatics2::GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress, Windows::Devices::Bluetooth::BluetoothAddressType bluetoothAddressType) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics2)->abi_GetDeviceSelectorFromBluetoothAddressWithBluetoothAddressType(bluetoothAddress, bluetoothAddressType, put_abi(deviceSelector))); + return deviceSelector; +} + +template hstring impl_IBluetoothLEDeviceStatics2::GetDeviceSelectorFromAppearance(const Windows::Devices::Bluetooth::BluetoothLEAppearance & appearance) const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics2)->abi_GetDeviceSelectorFromAppearance(get_abi(appearance), put_abi(deviceSelector))); + return deviceSelector; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDeviceStatics2::FromBluetoothAddressAsync(uint64_t bluetoothAddress, Windows::Devices::Bluetooth::BluetoothAddressType bluetoothAddressType) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDeviceStatics2)->abi_FromBluetoothAddressWithBluetoothAddressTypeAsync(bluetoothAddress, bluetoothAddressType, put_abi(operation))); + return operation; +} + +template hstring impl_IBluetoothLEDevice::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_IBluetoothLEDevice::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBluetoothLEDevice::GattServices() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->get_GattServices(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothConnectionStatus impl_IBluetoothLEDevice::ConnectionStatus() const +{ + Windows::Devices::Bluetooth::BluetoothConnectionStatus value {}; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->get_ConnectionStatus(&value)); + return value; +} + +template uint64_t impl_IBluetoothLEDevice::BluetoothAddress() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->get_BluetoothAddress(&value)); + return value; +} + +template Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService impl_IBluetoothLEDevice::GetGattService(GUID serviceUuid) const +{ + Windows::Devices::Bluetooth::GenericAttributeProfile::GattDeviceService service { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->abi_GetGattService(serviceUuid, put_abi(service))); + return service; +} + +template event_token impl_IBluetoothLEDevice::NameChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->add_NameChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothLEDevice::NameChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::IBluetoothLEDevice::remove_NameChanged, NameChanged(handler)); +} + +template void impl_IBluetoothLEDevice::NameChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->remove_NameChanged(token)); +} + +template event_token impl_IBluetoothLEDevice::GattServicesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->add_GattServicesChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothLEDevice::GattServicesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::IBluetoothLEDevice::remove_GattServicesChanged, GattServicesChanged(handler)); +} + +template void impl_IBluetoothLEDevice::GattServicesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->remove_GattServicesChanged(token)); +} + +template event_token impl_IBluetoothLEDevice::ConnectionStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->add_ConnectionStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBluetoothLEDevice::ConnectionStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Bluetooth::IBluetoothLEDevice::remove_ConnectionStatusChanged, ConnectionStatusChanged(handler)); +} + +template void impl_IBluetoothLEDevice::ConnectionStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBluetoothLEDevice)->remove_ConnectionStatusChanged(token)); +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IBluetoothLEDevice2::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEDevice2)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothLEAppearance impl_IBluetoothLEDevice2::Appearance() const +{ + Windows::Devices::Bluetooth::BluetoothLEAppearance value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEDevice2)->get_Appearance(put_abi(value))); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothAddressType impl_IBluetoothLEDevice2::BluetoothAddressType() const +{ + Windows::Devices::Bluetooth::BluetoothAddressType value {}; + check_hresult(WINRT_SHIM(IBluetoothLEDevice2)->get_BluetoothAddressType(&value)); + return value; +} + +template Windows::Devices::Enumeration::DeviceAccessInformation impl_IBluetoothLEDevice3::DeviceAccessInformation() const +{ + Windows::Devices::Enumeration::DeviceAccessInformation value { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothLEDevice3)->get_DeviceAccessInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDevice3::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDevice3)->abi_RequestAccessAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDevice3::GetGattServicesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDevice3)->abi_GetGattServicesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDevice3::GetGattServicesAsync(Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDevice3)->abi_GetGattServicesWithCacheModeAsync(cacheMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDevice3::GetGattServicesForUuidAsync(GUID serviceUuid) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDevice3)->abi_GetGattServicesForUuidAsync(serviceUuid, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBluetoothLEDevice3::GetGattServicesForUuidAsync(GUID serviceUuid, Windows::Devices::Bluetooth::BluetoothCacheMode cacheMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBluetoothLEDevice3)->abi_GetGattServicesForUuidWithCacheModeAsync(serviceUuid, cacheMode, put_abi(operation))); + return operation; +} + +template uint32_t impl_IBluetoothClassOfDevice::RawValue() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBluetoothClassOfDevice)->get_RawValue(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothMajorClass impl_IBluetoothClassOfDevice::MajorClass() const +{ + Windows::Devices::Bluetooth::BluetoothMajorClass value {}; + check_hresult(WINRT_SHIM(IBluetoothClassOfDevice)->get_MajorClass(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothMinorClass impl_IBluetoothClassOfDevice::MinorClass() const +{ + Windows::Devices::Bluetooth::BluetoothMinorClass value {}; + check_hresult(WINRT_SHIM(IBluetoothClassOfDevice)->get_MinorClass(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothServiceCapabilities impl_IBluetoothClassOfDevice::ServiceCapabilities() const +{ + Windows::Devices::Bluetooth::BluetoothServiceCapabilities value {}; + check_hresult(WINRT_SHIM(IBluetoothClassOfDevice)->get_ServiceCapabilities(&value)); + return value; +} + +template Windows::Devices::Bluetooth::BluetoothClassOfDevice impl_IBluetoothClassOfDeviceStatics::FromRawValue(uint32_t rawValue) const +{ + Windows::Devices::Bluetooth::BluetoothClassOfDevice classOfDevice { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothClassOfDeviceStatics)->abi_FromRawValue(rawValue, put_abi(classOfDevice))); + return classOfDevice; +} + +template Windows::Devices::Bluetooth::BluetoothClassOfDevice impl_IBluetoothClassOfDeviceStatics::FromParts(Windows::Devices::Bluetooth::BluetoothMajorClass majorClass, Windows::Devices::Bluetooth::BluetoothMinorClass minorClass, Windows::Devices::Bluetooth::BluetoothServiceCapabilities serviceCapabilities) const +{ + Windows::Devices::Bluetooth::BluetoothClassOfDevice classOfDevice { nullptr }; + check_hresult(WINRT_SHIM(IBluetoothClassOfDeviceStatics)->abi_FromParts(majorClass, minorClass, serviceCapabilities, put_abi(classOfDevice))); + return classOfDevice; +} + +template Windows::Foundation::IReference impl_IBluetoothSignalStrengthFilter::InRangeThresholdInDBm() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->get_InRangeThresholdInDBm(put_abi(value))); + return value; +} + +template void impl_IBluetoothSignalStrengthFilter::InRangeThresholdInDBm(const optional & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->put_InRangeThresholdInDBm(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IBluetoothSignalStrengthFilter::OutOfRangeThresholdInDBm() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->get_OutOfRangeThresholdInDBm(put_abi(value))); + return value; +} + +template void impl_IBluetoothSignalStrengthFilter::OutOfRangeThresholdInDBm(const optional & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->put_OutOfRangeThresholdInDBm(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IBluetoothSignalStrengthFilter::OutOfRangeTimeout() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->get_OutOfRangeTimeout(put_abi(value))); + return value; +} + +template void impl_IBluetoothSignalStrengthFilter::OutOfRangeTimeout(const optional & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->put_OutOfRangeTimeout(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IBluetoothSignalStrengthFilter::SamplingInterval() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->get_SamplingInterval(put_abi(value))); + return value; +} + +template void impl_IBluetoothSignalStrengthFilter::SamplingInterval(const optional & value) const +{ + check_hresult(WINRT_SHIM(IBluetoothSignalStrengthFilter)->put_SamplingInterval(get_abi(value))); +} + +inline hstring BluetoothAdapter::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation BluetoothAdapter::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation BluetoothAdapter::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Devices::Bluetooth::BluetoothClassOfDevice BluetoothClassOfDevice::FromRawValue(uint32_t rawValue) +{ + return get_activation_factory().FromRawValue(rawValue); +} + +inline Windows::Devices::Bluetooth::BluetoothClassOfDevice BluetoothClassOfDevice::FromParts(Windows::Devices::Bluetooth::BluetoothMajorClass majorClass, Windows::Devices::Bluetooth::BluetoothMinorClass minorClass, Windows::Devices::Bluetooth::BluetoothServiceCapabilities serviceCapabilities) +{ + return get_activation_factory().FromParts(majorClass, minorClass, serviceCapabilities); +} + +inline Windows::Foundation::IAsyncOperation BluetoothDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation BluetoothDevice::FromHostNameAsync(const Windows::Networking::HostName & hostName) +{ + return get_activation_factory().FromHostNameAsync(hostName); +} + +inline Windows::Foundation::IAsyncOperation BluetoothDevice::FromBluetoothAddressAsync(uint64_t address) +{ + return get_activation_factory().FromBluetoothAddressAsync(address); +} + +inline hstring BluetoothDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring BluetoothDevice::GetDeviceSelectorFromPairingState(bool pairingState) +{ + return get_activation_factory().GetDeviceSelectorFromPairingState(pairingState); +} + +inline hstring BluetoothDevice::GetDeviceSelectorFromConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus connectionStatus) +{ + return get_activation_factory().GetDeviceSelectorFromConnectionStatus(connectionStatus); +} + +inline hstring BluetoothDevice::GetDeviceSelectorFromDeviceName(hstring_view deviceName) +{ + return get_activation_factory().GetDeviceSelectorFromDeviceName(deviceName); +} + +inline hstring BluetoothDevice::GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress) +{ + return get_activation_factory().GetDeviceSelectorFromBluetoothAddress(bluetoothAddress); +} + +inline hstring BluetoothDevice::GetDeviceSelectorFromClassOfDevice(const Windows::Devices::Bluetooth::BluetoothClassOfDevice & classOfDevice) +{ + return get_activation_factory().GetDeviceSelectorFromClassOfDevice(classOfDevice); +} + +inline Windows::Devices::Bluetooth::BluetoothLEAppearance BluetoothLEAppearance::FromRawValue(uint16_t rawValue) +{ + return get_activation_factory().FromRawValue(rawValue); +} + +inline Windows::Devices::Bluetooth::BluetoothLEAppearance BluetoothLEAppearance::FromParts(uint16_t appearanceCategory, uint16_t appearanceSubCategory) +{ + return get_activation_factory().FromParts(appearanceCategory, appearanceSubCategory); +} + +inline uint16_t BluetoothLEAppearanceCategories::Uncategorized() +{ + return get_activation_factory().Uncategorized(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Phone() +{ + return get_activation_factory().Phone(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Computer() +{ + return get_activation_factory().Computer(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Watch() +{ + return get_activation_factory().Watch(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Clock() +{ + return get_activation_factory().Clock(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Display() +{ + return get_activation_factory().Display(); +} + +inline uint16_t BluetoothLEAppearanceCategories::RemoteControl() +{ + return get_activation_factory().RemoteControl(); +} + +inline uint16_t BluetoothLEAppearanceCategories::EyeGlasses() +{ + return get_activation_factory().EyeGlasses(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Tag() +{ + return get_activation_factory().Tag(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Keyring() +{ + return get_activation_factory().Keyring(); +} + +inline uint16_t BluetoothLEAppearanceCategories::MediaPlayer() +{ + return get_activation_factory().MediaPlayer(); +} + +inline uint16_t BluetoothLEAppearanceCategories::BarcodeScanner() +{ + return get_activation_factory().BarcodeScanner(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Thermometer() +{ + return get_activation_factory().Thermometer(); +} + +inline uint16_t BluetoothLEAppearanceCategories::HeartRate() +{ + return get_activation_factory().HeartRate(); +} + +inline uint16_t BluetoothLEAppearanceCategories::BloodPressure() +{ + return get_activation_factory().BloodPressure(); +} + +inline uint16_t BluetoothLEAppearanceCategories::HumanInterfaceDevice() +{ + return get_activation_factory().HumanInterfaceDevice(); +} + +inline uint16_t BluetoothLEAppearanceCategories::GlucoseMeter() +{ + return get_activation_factory().GlucoseMeter(); +} + +inline uint16_t BluetoothLEAppearanceCategories::RunningWalking() +{ + return get_activation_factory().RunningWalking(); +} + +inline uint16_t BluetoothLEAppearanceCategories::Cycling() +{ + return get_activation_factory().Cycling(); +} + +inline uint16_t BluetoothLEAppearanceCategories::PulseOximeter() +{ + return get_activation_factory().PulseOximeter(); +} + +inline uint16_t BluetoothLEAppearanceCategories::WeightScale() +{ + return get_activation_factory().WeightScale(); +} + +inline uint16_t BluetoothLEAppearanceCategories::OutdoorSportActivity() +{ + return get_activation_factory().OutdoorSportActivity(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::Generic() +{ + return get_activation_factory().Generic(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::SportsWatch() +{ + return get_activation_factory().SportsWatch(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::ThermometerEar() +{ + return get_activation_factory().ThermometerEar(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::HeartRateBelt() +{ + return get_activation_factory().HeartRateBelt(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::BloodPressureArm() +{ + return get_activation_factory().BloodPressureArm(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::BloodPressureWrist() +{ + return get_activation_factory().BloodPressureWrist(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::Keyboard() +{ + return get_activation_factory().Keyboard(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::Mouse() +{ + return get_activation_factory().Mouse(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::Joystick() +{ + return get_activation_factory().Joystick(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::Gamepad() +{ + return get_activation_factory().Gamepad(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::DigitizerTablet() +{ + return get_activation_factory().DigitizerTablet(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::CardReader() +{ + return get_activation_factory().CardReader(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::DigitalPen() +{ + return get_activation_factory().DigitalPen(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::BarcodeScanner() +{ + return get_activation_factory().BarcodeScanner(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::RunningWalkingInShoe() +{ + return get_activation_factory().RunningWalkingInShoe(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::RunningWalkingOnShoe() +{ + return get_activation_factory().RunningWalkingOnShoe(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::RunningWalkingOnHip() +{ + return get_activation_factory().RunningWalkingOnHip(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::CyclingComputer() +{ + return get_activation_factory().CyclingComputer(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::CyclingSpeedSensor() +{ + return get_activation_factory().CyclingSpeedSensor(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::CyclingCadenceSensor() +{ + return get_activation_factory().CyclingCadenceSensor(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::CyclingPowerSensor() +{ + return get_activation_factory().CyclingPowerSensor(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::CyclingSpeedCadenceSensor() +{ + return get_activation_factory().CyclingSpeedCadenceSensor(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::OximeterFingertip() +{ + return get_activation_factory().OximeterFingertip(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::OximeterWristWorn() +{ + return get_activation_factory().OximeterWristWorn(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::LocationDisplay() +{ + return get_activation_factory().LocationDisplay(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::LocationNavigationDisplay() +{ + return get_activation_factory().LocationNavigationDisplay(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::LocationPod() +{ + return get_activation_factory().LocationPod(); +} + +inline uint16_t BluetoothLEAppearanceSubcategories::LocationNavigationPod() +{ + return get_activation_factory().LocationNavigationPod(); +} + +inline Windows::Foundation::IAsyncOperation BluetoothLEDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation BluetoothLEDevice::FromBluetoothAddressAsync(uint64_t bluetoothAddress) +{ + return get_activation_factory().FromBluetoothAddressAsync(bluetoothAddress); +} + +inline hstring BluetoothLEDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring BluetoothLEDevice::GetDeviceSelectorFromPairingState(bool pairingState) +{ + return get_activation_factory().GetDeviceSelectorFromPairingState(pairingState); +} + +inline hstring BluetoothLEDevice::GetDeviceSelectorFromConnectionStatus(Windows::Devices::Bluetooth::BluetoothConnectionStatus connectionStatus) +{ + return get_activation_factory().GetDeviceSelectorFromConnectionStatus(connectionStatus); +} + +inline hstring BluetoothLEDevice::GetDeviceSelectorFromDeviceName(hstring_view deviceName) +{ + return get_activation_factory().GetDeviceSelectorFromDeviceName(deviceName); +} + +inline hstring BluetoothLEDevice::GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress) +{ + return get_activation_factory().GetDeviceSelectorFromBluetoothAddress(bluetoothAddress); +} + +inline hstring BluetoothLEDevice::GetDeviceSelectorFromBluetoothAddress(uint64_t bluetoothAddress, Windows::Devices::Bluetooth::BluetoothAddressType bluetoothAddressType) +{ + return get_activation_factory().GetDeviceSelectorFromBluetoothAddress(bluetoothAddress, bluetoothAddressType); +} + +inline hstring BluetoothLEDevice::GetDeviceSelectorFromAppearance(const Windows::Devices::Bluetooth::BluetoothLEAppearance & appearance) +{ + return get_activation_factory().GetDeviceSelectorFromAppearance(appearance); +} + +inline Windows::Foundation::IAsyncOperation BluetoothLEDevice::FromBluetoothAddressAsync(uint64_t bluetoothAddress, Windows::Devices::Bluetooth::BluetoothAddressType bluetoothAddressType) +{ + return get_activation_factory().FromBluetoothAddressAsync(bluetoothAddress, bluetoothAddressType); +} + +inline BluetoothSignalStrengthFilter::BluetoothSignalStrengthFilter() : + BluetoothSignalStrengthFilter(activate_instance()) +{} + +inline GUID BluetoothUuidHelper::FromShortId(uint32_t shortId) +{ + return get_activation_factory().FromShortId(shortId); +} + +inline Windows::Foundation::IReference BluetoothUuidHelper::TryGetShortId(GUID uuid) +{ + return get_activation_factory().TryGetShortId(uuid); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothAdapter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothAdapterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothClassOfDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothClassOfDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothDevice2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothDevice3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothDeviceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEAppearance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEAppearanceCategoriesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEAppearanceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEAppearanceSubcategoriesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEDevice2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEDevice3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothLEDeviceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothSignalStrengthFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::IBluetoothUuidHelperStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::BluetoothAdapter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::BluetoothClassOfDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::BluetoothDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::BluetoothDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::BluetoothLEAppearance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::BluetoothLEDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Bluetooth::BluetoothSignalStrengthFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Custom.h b/10.0.15042.0/winrt/Windows.Devices.Custom.h new file mode 100644 index 000000000..59677724e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Custom.h @@ -0,0 +1,408 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Custom.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendIOControlAsync(impl::abi_arg_in ioControlCode, impl::abi_arg_in inputBuffer, impl::abi_arg_in outputBuffer, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendIOControlAsync(*reinterpret_cast(&ioControlCode), *reinterpret_cast(&inputBuffer), *reinterpret_cast(&outputBuffer))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySendIOControlAsync(impl::abi_arg_in ioControlCode, impl::abi_arg_in inputBuffer, impl::abi_arg_in outputBuffer, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TrySendIOControlAsync(*reinterpret_cast(&ioControlCode), *reinterpret_cast(&inputBuffer), *reinterpret_cast(&outputBuffer))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(GUID classGuid, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(classGuid)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, Windows::Devices::Custom::DeviceAccessMode desiredAccess, Windows::Devices::Custom::DeviceSharingMode sharingMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId), desiredAccess, sharingMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccessMode(Windows::Devices::Custom::IOControlAccessMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccessMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferingMethod(Windows::Devices::Custom::IOControlBufferingMethod * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferingMethod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Function(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Function()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceType(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateIOControlCode(uint16_t deviceType, uint16_t function, Windows::Devices::Custom::IOControlAccessMode accessMode, Windows::Devices::Custom::IOControlBufferingMethod bufferingMethod, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateIOControlCode(deviceType, function, accessMode, bufferingMethod)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Unknown(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unknown()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Custom { + +template uint16_t impl_IKnownDeviceTypesStatics::Unknown() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IKnownDeviceTypesStatics)->get_Unknown(&value)); + return value; +} + +template Windows::Devices::Custom::IOControlAccessMode impl_IIOControlCode::AccessMode() const +{ + Windows::Devices::Custom::IOControlAccessMode value {}; + check_hresult(WINRT_SHIM(IIOControlCode)->get_AccessMode(&value)); + return value; +} + +template Windows::Devices::Custom::IOControlBufferingMethod impl_IIOControlCode::BufferingMethod() const +{ + Windows::Devices::Custom::IOControlBufferingMethod value {}; + check_hresult(WINRT_SHIM(IIOControlCode)->get_BufferingMethod(&value)); + return value; +} + +template uint16_t impl_IIOControlCode::Function() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IIOControlCode)->get_Function(&value)); + return value; +} + +template uint16_t impl_IIOControlCode::DeviceType() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IIOControlCode)->get_DeviceType(&value)); + return value; +} + +template uint32_t impl_IIOControlCode::ControlCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IIOControlCode)->get_ControlCode(&value)); + return value; +} + +template Windows::Devices::Custom::IOControlCode impl_IIOControlCodeFactory::CreateIOControlCode(uint16_t deviceType, uint16_t function, Windows::Devices::Custom::IOControlAccessMode accessMode, Windows::Devices::Custom::IOControlBufferingMethod bufferingMethod) const +{ + Windows::Devices::Custom::IOControlCode instance { nullptr }; + check_hresult(WINRT_SHIM(IIOControlCodeFactory)->abi_CreateIOControlCode(deviceType, function, accessMode, bufferingMethod, put_abi(instance))); + return instance; +} + +template hstring impl_ICustomDeviceStatics::GetDeviceSelector(GUID classGuid) const +{ + hstring value; + check_hresult(WINRT_SHIM(ICustomDeviceStatics)->abi_GetDeviceSelector(classGuid, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICustomDeviceStatics::FromIdAsync(hstring_view deviceId, Windows::Devices::Custom::DeviceAccessMode desiredAccess, Windows::Devices::Custom::DeviceSharingMode sharingMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICustomDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), desiredAccess, sharingMode, put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::IInputStream impl_ICustomDevice::InputStream() const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(ICustomDevice)->get_InputStream(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IOutputStream impl_ICustomDevice::OutputStream() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(ICustomDevice)->get_OutputStream(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICustomDevice::SendIOControlAsync(const Windows::Devices::Custom::IIOControlCode & ioControlCode, const Windows::Storage::Streams::IBuffer & inputBuffer, const Windows::Storage::Streams::IBuffer & outputBuffer) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICustomDevice)->abi_SendIOControlAsync(get_abi(ioControlCode), get_abi(inputBuffer), get_abi(outputBuffer), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICustomDevice::TrySendIOControlAsync(const Windows::Devices::Custom::IIOControlCode & ioControlCode, const Windows::Storage::Streams::IBuffer & inputBuffer, const Windows::Storage::Streams::IBuffer & outputBuffer) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICustomDevice)->abi_TrySendIOControlAsync(get_abi(ioControlCode), get_abi(inputBuffer), get_abi(outputBuffer), put_abi(operation))); + return operation; +} + +inline hstring CustomDevice::GetDeviceSelector(GUID classGuid) +{ + return get_activation_factory().GetDeviceSelector(classGuid); +} + +inline Windows::Foundation::IAsyncOperation CustomDevice::FromIdAsync(hstring_view deviceId, Windows::Devices::Custom::DeviceAccessMode desiredAccess, Windows::Devices::Custom::DeviceSharingMode sharingMode) +{ + return get_activation_factory().FromIdAsync(deviceId, desiredAccess, sharingMode); +} + +inline IOControlCode::IOControlCode(uint16_t deviceType, uint16_t function, Windows::Devices::Custom::IOControlAccessMode accessMode, Windows::Devices::Custom::IOControlBufferingMethod bufferingMethod) : + IOControlCode(get_activation_factory().CreateIOControlCode(deviceType, function, accessMode, bufferingMethod)) +{} + +inline uint16_t KnownDeviceTypes::Unknown() +{ + return get_activation_factory().Unknown(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Custom::ICustomDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Custom::ICustomDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Custom::IIOControlCode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Custom::IIOControlCodeFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Custom::IKnownDeviceTypesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Custom::CustomDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Custom::IOControlCode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Enumeration.Pnp.h b/10.0.15042.0/winrt/Windows.Devices.Enumeration.Pnp.h new file mode 100644 index 000000000..ae8a029d1 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Enumeration.Pnp.h @@ -0,0 +1,684 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Devices.Enumeration.Pnp.3.h" +#include "Windows.Devices.Enumeration.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Devices::Enumeration::Pnp::PnpObjectType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Update(impl::abi_arg_in updateInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Update(*reinterpret_cast(&updateInfo)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromIdAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, impl::abi_arg_in id, impl::abi_arg_in> requestedProperties, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().CreateFromIdAsync(type, *reinterpret_cast(&id), *reinterpret_cast *>(&requestedProperties))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, impl::abi_arg_in> requestedProperties, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllAsync(type, *reinterpret_cast *>(&requestedProperties))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncAqsFilter(Windows::Devices::Enumeration::Pnp::PnpObjectType type, impl::abi_arg_in> requestedProperties, impl::abi_arg_in aqsFilter, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllAsync(type, *reinterpret_cast *>(&requestedProperties), *reinterpret_cast(&aqsFilter))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcher(Windows::Devices::Enumeration::Pnp::PnpObjectType type, impl::abi_arg_in> requestedProperties, impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher(type, *reinterpret_cast *>(&requestedProperties))); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcherAqsFilter(Windows::Devices::Enumeration::Pnp::PnpObjectType type, impl::abi_arg_in> requestedProperties, impl::abi_arg_in aqsFilter, impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher(type, *reinterpret_cast *>(&requestedProperties), *reinterpret_cast(&aqsFilter))); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Devices::Enumeration::Pnp::PnpObjectType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DeviceWatcherStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Enumeration::Pnp { + +template Windows::Devices::Enumeration::Pnp::PnpObjectType impl_IPnpObjectUpdate::Type() const +{ + Windows::Devices::Enumeration::Pnp::PnpObjectType value {}; + check_hresult(WINRT_SHIM(IPnpObjectUpdate)->get_Type(&value)); + return value; +} + +template hstring impl_IPnpObjectUpdate::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPnpObjectUpdate)->get_Id(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IPnpObjectUpdate::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPnpObjectUpdate)->get_Properties(put_abi(value))); + return value; +} + +template event_token impl_IPnpObjectWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPnpObjectWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::Pnp::IPnpObjectWatcher::remove_Added, Added(handler)); +} + +template void impl_IPnpObjectWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->remove_Added(token)); +} + +template event_token impl_IPnpObjectWatcher::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPnpObjectWatcher::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::Pnp::IPnpObjectWatcher::remove_Updated, Updated(handler)); +} + +template void impl_IPnpObjectWatcher::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->remove_Updated(token)); +} + +template event_token impl_IPnpObjectWatcher::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPnpObjectWatcher::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::Pnp::IPnpObjectWatcher::remove_Removed, Removed(handler)); +} + +template void impl_IPnpObjectWatcher::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->remove_Removed(token)); +} + +template event_token impl_IPnpObjectWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPnpObjectWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::Pnp::IPnpObjectWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IPnpObjectWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->remove_EnumerationCompleted(token)); +} + +template event_token impl_IPnpObjectWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPnpObjectWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::Pnp::IPnpObjectWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IPnpObjectWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->remove_Stopped(token)); +} + +template Windows::Devices::Enumeration::DeviceWatcherStatus impl_IPnpObjectWatcher::Status() const +{ + Windows::Devices::Enumeration::DeviceWatcherStatus status {}; + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->get_Status(&status)); + return status; +} + +template void impl_IPnpObjectWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->abi_Start()); +} + +template void impl_IPnpObjectWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IPnpObjectWatcher)->abi_Stop()); +} + +template Windows::Foundation::IAsyncOperation impl_IPnpObjectStatics::CreateFromIdAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, hstring_view id, iterable requestedProperties) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IPnpObjectStatics)->abi_CreateFromIdAsync(type, get_abi(id), get_abi(requestedProperties), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IPnpObjectStatics::FindAllAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IPnpObjectStatics)->abi_FindAllAsync(type, get_abi(requestedProperties), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IPnpObjectStatics::FindAllAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties, hstring_view aqsFilter) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IPnpObjectStatics)->abi_FindAllAsyncAqsFilter(type, get_abi(requestedProperties), get_abi(aqsFilter), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Devices::Enumeration::Pnp::PnpObjectWatcher impl_IPnpObjectStatics::CreateWatcher(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties) const +{ + Windows::Devices::Enumeration::Pnp::PnpObjectWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IPnpObjectStatics)->abi_CreateWatcher(type, get_abi(requestedProperties), put_abi(watcher))); + return watcher; +} + +template Windows::Devices::Enumeration::Pnp::PnpObjectWatcher impl_IPnpObjectStatics::CreateWatcher(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties, hstring_view aqsFilter) const +{ + Windows::Devices::Enumeration::Pnp::PnpObjectWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IPnpObjectStatics)->abi_CreateWatcherAqsFilter(type, get_abi(requestedProperties), get_abi(aqsFilter), put_abi(watcher))); + return watcher; +} + +template Windows::Devices::Enumeration::Pnp::PnpObjectType impl_IPnpObject::Type() const +{ + Windows::Devices::Enumeration::Pnp::PnpObjectType value {}; + check_hresult(WINRT_SHIM(IPnpObject)->get_Type(&value)); + return value; +} + +template hstring impl_IPnpObject::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPnpObject)->get_Id(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IPnpObject::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPnpObject)->get_Properties(put_abi(value))); + return value; +} + +template void impl_IPnpObject::Update(const Windows::Devices::Enumeration::Pnp::PnpObjectUpdate & updateInfo) const +{ + check_hresult(WINRT_SHIM(IPnpObject)->abi_Update(get_abi(updateInfo))); +} + +inline Windows::Foundation::IAsyncOperation PnpObject::CreateFromIdAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, hstring_view id, iterable requestedProperties) +{ + return get_activation_factory().CreateFromIdAsync(type, id, requestedProperties); +} + +inline Windows::Foundation::IAsyncOperation PnpObject::FindAllAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties) +{ + return get_activation_factory().FindAllAsync(type, requestedProperties); +} + +inline Windows::Foundation::IAsyncOperation PnpObject::FindAllAsync(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties, hstring_view aqsFilter) +{ + return get_activation_factory().FindAllAsync(type, requestedProperties, aqsFilter); +} + +inline Windows::Devices::Enumeration::Pnp::PnpObjectWatcher PnpObject::CreateWatcher(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties) +{ + return get_activation_factory().CreateWatcher(type, requestedProperties); +} + +inline Windows::Devices::Enumeration::Pnp::PnpObjectWatcher PnpObject::CreateWatcher(Windows::Devices::Enumeration::Pnp::PnpObjectType type, iterable requestedProperties, hstring_view aqsFilter) +{ + return get_activation_factory().CreateWatcher(type, requestedProperties, aqsFilter); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::IPnpObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::IPnpObjectStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::IPnpObjectUpdate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::IPnpObjectWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::PnpObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::PnpObjectCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::PnpObjectUpdate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::Pnp::PnpObjectWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Enumeration.h b/10.0.15042.0/winrt/Windows.Devices.Enumeration.h new file mode 100644 index 000000000..fba1f4db6 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Enumeration.h @@ -0,0 +1,3171 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.ApplicationModel.Background.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DeviceAccessStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AccessChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AccessChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AccessChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccessChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentStatus(Windows::Devices::Enumeration::DeviceAccessStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().CurrentStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromId(impl::abi_arg_in deviceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromDeviceClassId(GUID deviceClassId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromDeviceClassId(deviceClassId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromDeviceClass(deviceClass)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDefault(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDefault()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnclosureLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnclosureLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Update(impl::abi_arg_in updateInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Update(*reinterpret_cast(&updateInfo)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetThumbnailAsync(impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().GetThumbnailAsync()); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGlyphThumbnailAsync(impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().GetGlyphThumbnailAsync()); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Devices::Enumeration::DeviceInformationKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pairing(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pairing()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PairAsync(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PairAsync(pairingKindsSupported)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PairWithProtectionLevelAsync(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported, Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PairAsync(pairingKindsSupported, minProtectionLevel)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PairWithProtectionLevelAndSettingsAsync(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported, Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel, impl::abi_arg_in devicePairingSettings, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PairAsync(pairingKindsSupported, minProtectionLevel, *reinterpret_cast(&devicePairingSettings))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PairingRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PairingRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PairingRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PairingRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPaired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanPair(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPair()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PairAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PairAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PairWithProtectionLevelAsync(Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PairAsync(minProtectionLevel)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProtectionLevel(Windows::Devices::Enumeration::DevicePairingProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Custom(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Custom()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PairWithProtectionLevelAndSettingsAsync(Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel, impl::abi_arg_in devicePairingSettings, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PairAsync(minProtectionLevel, *reinterpret_cast(&devicePairingSettings))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnpairAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnpairAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryRegisterForAllInboundPairingRequests(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryRegisterForAllInboundPairingRequests(pairingKindsSupported)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().CreateFromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromIdAsyncAdditionalProperties(impl::abi_arg_in deviceId, impl::abi_arg_in> additionalProperties, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().CreateFromIdAsync(*reinterpret_cast(&deviceId), *reinterpret_cast *>(&additionalProperties))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllAsync(deviceClass)); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncAqsFilter(impl::abi_arg_in aqsFilter, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllAsync(*reinterpret_cast(&aqsFilter))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncAqsFilterAndAdditionalProperties(impl::abi_arg_in aqsFilter, impl::abi_arg_in> additionalProperties, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllAsync(*reinterpret_cast(&aqsFilter), *reinterpret_cast *>(&additionalProperties))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcherDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass, impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher(deviceClass)); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcherAqsFilter(impl::abi_arg_in aqsFilter, impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher(*reinterpret_cast(&aqsFilter))); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcherAqsFilterAndAdditionalProperties(impl::abi_arg_in aqsFilter, impl::abi_arg_in> additionalProperties, impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher(*reinterpret_cast(&aqsFilter), *reinterpret_cast *>(&additionalProperties))); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAqsFilterFromDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass, impl::abi_arg_out aqsFilter) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *aqsFilter = detach_abi(this->shim().GetAqsFilterFromDeviceClass(deviceClass)); + return S_OK; + } + catch (...) + { + *aqsFilter = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromIdAsyncWithKindAndAdditionalProperties(impl::abi_arg_in deviceId, impl::abi_arg_in> additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().CreateFromIdAsync(*reinterpret_cast(&deviceId), *reinterpret_cast *>(&additionalProperties), kind)); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncWithKindAqsFilterAndAdditionalProperties(impl::abi_arg_in aqsFilter, impl::abi_arg_in> additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllAsync(*reinterpret_cast(&aqsFilter), *reinterpret_cast *>(&additionalProperties), kind)); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcherWithKindAqsFilterAndAdditionalProperties(impl::abi_arg_in aqsFilter, impl::abi_arg_in> additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind, impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher(*reinterpret_cast(&aqsFilter), *reinterpret_cast *>(&additionalProperties), kind)); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Devices::Enumeration::DeviceInformationKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PairingKind(Windows::Devices::Enumeration::DevicePairingKinds * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PairingKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pin()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Accept() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Accept(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptWithPin(impl::abi_arg_in pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Accept(*reinterpret_cast(&pin)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DevicePairingResultStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionLevelUsed(Windows::Devices::Enumeration::DevicePairingProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionLevelUsed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Filter(impl::abi_arg_out filter) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *filter = detach_abi(this->shim().Filter()); + return S_OK; + } + catch (...) + { + *filter = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Appearance(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appearance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestedProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DeviceSelected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DeviceSelected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DeviceSelected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeviceSelected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DisconnectButtonClicked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DisconnectButtonClicked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DisconnectButtonClicked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisconnectButtonClicked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DevicePickerDismissed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DevicePickerDismissed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DevicePickerDismissed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DevicePickerDismissed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Show(impl::abi_arg_in selection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&selection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowWithPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement placement) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&selection), placement); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleDeviceAsync(impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PickSingleDeviceAsync(*reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleDeviceAsyncWithPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement placement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PickSingleDeviceAsync(*reinterpret_cast(&selection), placement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Hide() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hide(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDisplayStatus(impl::abi_arg_in device, impl::abi_arg_in status, Windows::Devices::Enumeration::DevicePickerDisplayStatusOptions options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDisplayStatus(*reinterpret_cast(&device), *reinterpret_cast(&status), options); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ForegroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccentColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccentColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AccentColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccentColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedForegroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedForegroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedForegroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedForegroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedBackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedBackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedAccentColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedAccentColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedAccentColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedAccentColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedDeviceClasses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedDeviceClasses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedDeviceSelectors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedDeviceSelectors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DeviceUnpairingResultStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DeviceWatcherStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetBackgroundTrigger(impl::abi_arg_in> requestedEventKinds, impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().GetBackgroundTrigger(*reinterpret_cast *>(&requestedEventKinds))); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Devices::Enumeration::DeviceWatcherEventKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceInformationUpdate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformationUpdate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceWatcherEvents(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceWatcherEvents()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InDock(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InDock()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InLid(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InLid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Panel(Windows::Devices::Enumeration::Panel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Panel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RotationAngleInDegreesClockwise(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAngleInDegreesClockwise()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Enumeration { + +template hstring impl_IDeviceConnectionChangeTriggerDetails::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceConnectionChangeTriggerDetails)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_IDevicePickerAppearance::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->get_Title(put_abi(value))); + return value; +} + +template void impl_IDevicePickerAppearance::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->put_Title(get_abi(value))); +} + +template Windows::UI::Color impl_IDevicePickerAppearance::ForegroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->get_ForegroundColor(put_abi(value))); + return value; +} + +template void impl_IDevicePickerAppearance::ForegroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->put_ForegroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_IDevicePickerAppearance::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_IDevicePickerAppearance::BackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->put_BackgroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_IDevicePickerAppearance::AccentColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->get_AccentColor(put_abi(value))); + return value; +} + +template void impl_IDevicePickerAppearance::AccentColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->put_AccentColor(get_abi(value))); +} + +template Windows::UI::Color impl_IDevicePickerAppearance::SelectedForegroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->get_SelectedForegroundColor(put_abi(value))); + return value; +} + +template void impl_IDevicePickerAppearance::SelectedForegroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->put_SelectedForegroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_IDevicePickerAppearance::SelectedBackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->get_SelectedBackgroundColor(put_abi(value))); + return value; +} + +template void impl_IDevicePickerAppearance::SelectedBackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->put_SelectedBackgroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_IDevicePickerAppearance::SelectedAccentColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->get_SelectedAccentColor(put_abi(value))); + return value; +} + +template void impl_IDevicePickerAppearance::SelectedAccentColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDevicePickerAppearance)->put_SelectedAccentColor(get_abi(value))); +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IDeviceSelectedEventArgs::SelectedDevice() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceSelectedEventArgs)->get_SelectedDevice(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IDeviceDisconnectButtonClickedEventArgs::Device() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceDisconnectButtonClickedEventArgs)->get_Device(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IDevicePickerFilter::SupportedDeviceClasses() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDevicePickerFilter)->get_SupportedDeviceClasses(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IDevicePickerFilter::SupportedDeviceSelectors() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDevicePickerFilter)->get_SupportedDeviceSelectors(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DevicePickerFilter impl_IDevicePicker::Filter() const +{ + Windows::Devices::Enumeration::DevicePickerFilter filter { nullptr }; + check_hresult(WINRT_SHIM(IDevicePicker)->get_Filter(put_abi(filter))); + return filter; +} + +template Windows::Devices::Enumeration::DevicePickerAppearance impl_IDevicePicker::Appearance() const +{ + Windows::Devices::Enumeration::DevicePickerAppearance value { nullptr }; + check_hresult(WINRT_SHIM(IDevicePicker)->get_Appearance(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IDevicePicker::RequestedProperties() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDevicePicker)->get_RequestedProperties(put_abi(value))); + return value; +} + +template event_token impl_IDevicePicker::DeviceSelected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDevicePicker)->add_DeviceSelected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDevicePicker::DeviceSelected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDevicePicker::remove_DeviceSelected, DeviceSelected(handler)); +} + +template void impl_IDevicePicker::DeviceSelected(event_token token) const +{ + check_hresult(WINRT_SHIM(IDevicePicker)->remove_DeviceSelected(token)); +} + +template event_token impl_IDevicePicker::DisconnectButtonClicked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDevicePicker)->add_DisconnectButtonClicked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDevicePicker::DisconnectButtonClicked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDevicePicker::remove_DisconnectButtonClicked, DisconnectButtonClicked(handler)); +} + +template void impl_IDevicePicker::DisconnectButtonClicked(event_token token) const +{ + check_hresult(WINRT_SHIM(IDevicePicker)->remove_DisconnectButtonClicked(token)); +} + +template event_token impl_IDevicePicker::DevicePickerDismissed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDevicePicker)->add_DevicePickerDismissed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDevicePicker::DevicePickerDismissed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDevicePicker::remove_DevicePickerDismissed, DevicePickerDismissed(handler)); +} + +template void impl_IDevicePicker::DevicePickerDismissed(event_token token) const +{ + check_hresult(WINRT_SHIM(IDevicePicker)->remove_DevicePickerDismissed(token)); +} + +template void impl_IDevicePicker::Show(const Windows::Foundation::Rect & selection) const +{ + check_hresult(WINRT_SHIM(IDevicePicker)->abi_Show(get_abi(selection))); +} + +template void impl_IDevicePicker::Show(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement placement) const +{ + check_hresult(WINRT_SHIM(IDevicePicker)->abi_ShowWithPlacement(get_abi(selection), placement)); +} + +template Windows::Foundation::IAsyncOperation impl_IDevicePicker::PickSingleDeviceAsync(const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDevicePicker)->abi_PickSingleDeviceAsync(get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDevicePicker::PickSingleDeviceAsync(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement placement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDevicePicker)->abi_PickSingleDeviceAsyncWithPlacement(get_abi(selection), placement, put_abi(operation))); + return operation; +} + +template void impl_IDevicePicker::Hide() const +{ + check_hresult(WINRT_SHIM(IDevicePicker)->abi_Hide()); +} + +template void impl_IDevicePicker::SetDisplayStatus(const Windows::Devices::Enumeration::DeviceInformation & device, hstring_view status, Windows::Devices::Enumeration::DevicePickerDisplayStatusOptions options) const +{ + check_hresult(WINRT_SHIM(IDevicePicker)->abi_SetDisplayStatus(get_abi(device), get_abi(status), options)); +} + +template bool impl_IEnclosureLocation::InDock() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEnclosureLocation)->get_InDock(&value)); + return value; +} + +template bool impl_IEnclosureLocation::InLid() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEnclosureLocation)->get_InLid(&value)); + return value; +} + +template Windows::Devices::Enumeration::Panel impl_IEnclosureLocation::Panel() const +{ + Windows::Devices::Enumeration::Panel value {}; + check_hresult(WINRT_SHIM(IEnclosureLocation)->get_Panel(&value)); + return value; +} + +template uint32_t impl_IEnclosureLocation2::RotationAngleInDegreesClockwise() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEnclosureLocation2)->get_RotationAngleInDegreesClockwise(&value)); + return value; +} + +template hstring impl_IDeviceInformationUpdate::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceInformationUpdate)->get_Id(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IDeviceInformationUpdate::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IDeviceInformationUpdate)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformationKind impl_IDeviceInformationUpdate2::Kind() const +{ + Windows::Devices::Enumeration::DeviceInformationKind value {}; + check_hresult(WINRT_SHIM(IDeviceInformationUpdate2)->get_Kind(&value)); + return value; +} + +template event_token impl_IDeviceWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDeviceWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDeviceWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDeviceWatcher::remove_Added, Added(handler)); +} + +template void impl_IDeviceWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(IDeviceWatcher)->remove_Added(token)); +} + +template event_token impl_IDeviceWatcher::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDeviceWatcher)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDeviceWatcher::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDeviceWatcher::remove_Updated, Updated(handler)); +} + +template void impl_IDeviceWatcher::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(IDeviceWatcher)->remove_Updated(token)); +} + +template event_token impl_IDeviceWatcher::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDeviceWatcher)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDeviceWatcher::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDeviceWatcher::remove_Removed, Removed(handler)); +} + +template void impl_IDeviceWatcher::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(IDeviceWatcher)->remove_Removed(token)); +} + +template event_token impl_IDeviceWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDeviceWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDeviceWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDeviceWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IDeviceWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IDeviceWatcher)->remove_EnumerationCompleted(token)); +} + +template event_token impl_IDeviceWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDeviceWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDeviceWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDeviceWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IDeviceWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IDeviceWatcher)->remove_Stopped(token)); +} + +template Windows::Devices::Enumeration::DeviceWatcherStatus impl_IDeviceWatcher::Status() const +{ + Windows::Devices::Enumeration::DeviceWatcherStatus status {}; + check_hresult(WINRT_SHIM(IDeviceWatcher)->get_Status(&status)); + return status; +} + +template void impl_IDeviceWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IDeviceWatcher)->abi_Start()); +} + +template void impl_IDeviceWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IDeviceWatcher)->abi_Stop()); +} + +template Windows::ApplicationModel::Background::DeviceWatcherTrigger impl_IDeviceWatcher2::GetBackgroundTrigger(iterable requestedEventKinds) const +{ + Windows::ApplicationModel::Background::DeviceWatcherTrigger trigger { nullptr }; + check_hresult(WINRT_SHIM(IDeviceWatcher2)->abi_GetBackgroundTrigger(get_abi(requestedEventKinds), put_abi(trigger))); + return trigger; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics::CreateFromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_CreateFromIdAsync(get_abi(deviceId), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics::CreateFromIdAsync(hstring_view deviceId, iterable additionalProperties) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_CreateFromIdAsyncAdditionalProperties(get_abi(deviceId), get_abi(additionalProperties), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_FindAllAsync(put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics::FindAllAsync(Windows::Devices::Enumeration::DeviceClass deviceClass) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_FindAllAsyncDeviceClass(deviceClass, put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics::FindAllAsync(hstring_view aqsFilter) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_FindAllAsyncAqsFilter(get_abi(aqsFilter), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics::FindAllAsync(hstring_view aqsFilter, iterable additionalProperties) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_FindAllAsyncAqsFilterAndAdditionalProperties(get_abi(aqsFilter), get_abi(additionalProperties), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Devices::Enumeration::DeviceWatcher impl_IDeviceInformationStatics::CreateWatcher() const +{ + Windows::Devices::Enumeration::DeviceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_CreateWatcher(put_abi(watcher))); + return watcher; +} + +template Windows::Devices::Enumeration::DeviceWatcher impl_IDeviceInformationStatics::CreateWatcher(Windows::Devices::Enumeration::DeviceClass deviceClass) const +{ + Windows::Devices::Enumeration::DeviceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_CreateWatcherDeviceClass(deviceClass, put_abi(watcher))); + return watcher; +} + +template Windows::Devices::Enumeration::DeviceWatcher impl_IDeviceInformationStatics::CreateWatcher(hstring_view aqsFilter) const +{ + Windows::Devices::Enumeration::DeviceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_CreateWatcherAqsFilter(get_abi(aqsFilter), put_abi(watcher))); + return watcher; +} + +template Windows::Devices::Enumeration::DeviceWatcher impl_IDeviceInformationStatics::CreateWatcher(hstring_view aqsFilter, iterable additionalProperties) const +{ + Windows::Devices::Enumeration::DeviceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformationStatics)->abi_CreateWatcherAqsFilterAndAdditionalProperties(get_abi(aqsFilter), get_abi(additionalProperties), put_abi(watcher))); + return watcher; +} + +template hstring impl_IDeviceInformationStatics2::GetAqsFilterFromDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass) const +{ + hstring aqsFilter; + check_hresult(WINRT_SHIM(IDeviceInformationStatics2)->abi_GetAqsFilterFromDeviceClass(deviceClass, put_abi(aqsFilter))); + return aqsFilter; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics2::CreateFromIdAsync(hstring_view deviceId, iterable additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics2)->abi_CreateFromIdAsyncWithKindAndAdditionalProperties(get_abi(deviceId), get_abi(additionalProperties), kind, put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationStatics2::FindAllAsync(hstring_view aqsFilter, iterable additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformationStatics2)->abi_FindAllAsyncWithKindAqsFilterAndAdditionalProperties(get_abi(aqsFilter), get_abi(additionalProperties), kind, put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Devices::Enumeration::DeviceWatcher impl_IDeviceInformationStatics2::CreateWatcher(hstring_view aqsFilter, iterable additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind) const +{ + Windows::Devices::Enumeration::DeviceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformationStatics2)->abi_CreateWatcherWithKindAqsFilterAndAdditionalProperties(get_abi(aqsFilter), get_abi(additionalProperties), kind, put_abi(watcher))); + return watcher; +} + +template hstring impl_IDeviceInformation::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceInformation)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IDeviceInformation::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceInformation)->get_Name(put_abi(value))); + return value; +} + +template bool impl_IDeviceInformation::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceInformation)->get_IsEnabled(&value)); + return value; +} + +template bool impl_IDeviceInformation::IsDefault() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceInformation)->get_IsDefault(&value)); + return value; +} + +template Windows::Devices::Enumeration::EnclosureLocation impl_IDeviceInformation::EnclosureLocation() const +{ + Windows::Devices::Enumeration::EnclosureLocation value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformation)->get_EnclosureLocation(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IDeviceInformation::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IDeviceInformation)->get_Properties(put_abi(value))); + return value; +} + +template void impl_IDeviceInformation::Update(const Windows::Devices::Enumeration::DeviceInformationUpdate & updateInfo) const +{ + check_hresult(WINRT_SHIM(IDeviceInformation)->abi_Update(get_abi(updateInfo))); +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformation::GetThumbnailAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformation)->abi_GetThumbnailAsync(put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformation::GetGlyphThumbnailAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IDeviceInformation)->abi_GetGlyphThumbnailAsync(put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Devices::Enumeration::DevicePairingResultStatus impl_IDevicePairingResult::Status() const +{ + Windows::Devices::Enumeration::DevicePairingResultStatus status {}; + check_hresult(WINRT_SHIM(IDevicePairingResult)->get_Status(&status)); + return status; +} + +template Windows::Devices::Enumeration::DevicePairingProtectionLevel impl_IDevicePairingResult::ProtectionLevelUsed() const +{ + Windows::Devices::Enumeration::DevicePairingProtectionLevel value {}; + check_hresult(WINRT_SHIM(IDevicePairingResult)->get_ProtectionLevelUsed(&value)); + return value; +} + +template Windows::Devices::Enumeration::DeviceUnpairingResultStatus impl_IDeviceUnpairingResult::Status() const +{ + Windows::Devices::Enumeration::DeviceUnpairingResultStatus status {}; + check_hresult(WINRT_SHIM(IDeviceUnpairingResult)->get_Status(&status)); + return status; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IDevicePairingRequestedEventArgs::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDevicePairingRequestedEventArgs)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DevicePairingKinds impl_IDevicePairingRequestedEventArgs::PairingKind() const +{ + Windows::Devices::Enumeration::DevicePairingKinds value {}; + check_hresult(WINRT_SHIM(IDevicePairingRequestedEventArgs)->get_PairingKind(&value)); + return value; +} + +template hstring impl_IDevicePairingRequestedEventArgs::Pin() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDevicePairingRequestedEventArgs)->get_Pin(put_abi(value))); + return value; +} + +template void impl_IDevicePairingRequestedEventArgs::Accept() const +{ + check_hresult(WINRT_SHIM(IDevicePairingRequestedEventArgs)->abi_Accept()); +} + +template void impl_IDevicePairingRequestedEventArgs::Accept(hstring_view pin) const +{ + check_hresult(WINRT_SHIM(IDevicePairingRequestedEventArgs)->abi_AcceptWithPin(get_abi(pin))); +} + +template Windows::Foundation::Deferral impl_IDevicePairingRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IDevicePairingRequestedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationCustomPairing::PairAsync(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceInformationCustomPairing)->abi_PairAsync(pairingKindsSupported, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationCustomPairing::PairAsync(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported, Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceInformationCustomPairing)->abi_PairWithProtectionLevelAsync(pairingKindsSupported, minProtectionLevel, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationCustomPairing::PairAsync(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported, Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel, const Windows::Devices::Enumeration::IDevicePairingSettings & devicePairingSettings) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceInformationCustomPairing)->abi_PairWithProtectionLevelAndSettingsAsync(pairingKindsSupported, minProtectionLevel, get_abi(devicePairingSettings), put_abi(result))); + return result; +} + +template event_token impl_IDeviceInformationCustomPairing::PairingRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDeviceInformationCustomPairing)->add_PairingRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDeviceInformationCustomPairing::PairingRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDeviceInformationCustomPairing::remove_PairingRequested, PairingRequested(handler)); +} + +template void impl_IDeviceInformationCustomPairing::PairingRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IDeviceInformationCustomPairing)->remove_PairingRequested(token)); +} + +template bool impl_IDeviceInformationPairing::IsPaired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceInformationPairing)->get_IsPaired(&value)); + return value; +} + +template bool impl_IDeviceInformationPairing::CanPair() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeviceInformationPairing)->get_CanPair(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationPairing::PairAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceInformationPairing)->abi_PairAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationPairing::PairAsync(Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceInformationPairing)->abi_PairWithProtectionLevelAsync(minProtectionLevel, put_abi(result))); + return result; +} + +template Windows::Devices::Enumeration::DevicePairingProtectionLevel impl_IDeviceInformationPairing2::ProtectionLevel() const +{ + Windows::Devices::Enumeration::DevicePairingProtectionLevel value {}; + check_hresult(WINRT_SHIM(IDeviceInformationPairing2)->get_ProtectionLevel(&value)); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformationCustomPairing impl_IDeviceInformationPairing2::Custom() const +{ + Windows::Devices::Enumeration::DeviceInformationCustomPairing value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformationPairing2)->get_Custom(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationPairing2::PairAsync(Windows::Devices::Enumeration::DevicePairingProtectionLevel minProtectionLevel, const Windows::Devices::Enumeration::IDevicePairingSettings & devicePairingSettings) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceInformationPairing2)->abi_PairWithProtectionLevelAndSettingsAsync(minProtectionLevel, get_abi(devicePairingSettings), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDeviceInformationPairing2::UnpairAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDeviceInformationPairing2)->abi_UnpairAsync(put_abi(result))); + return result; +} + +template bool impl_IDeviceInformationPairingStatics::TryRegisterForAllInboundPairingRequests(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IDeviceInformationPairingStatics)->abi_TryRegisterForAllInboundPairingRequests(pairingKindsSupported, &result)); + return result; +} + +template Windows::Devices::Enumeration::DeviceInformationKind impl_IDeviceInformation2::Kind() const +{ + Windows::Devices::Enumeration::DeviceInformationKind value {}; + check_hresult(WINRT_SHIM(IDeviceInformation2)->get_Kind(&value)); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformationPairing impl_IDeviceInformation2::Pairing() const +{ + Windows::Devices::Enumeration::DeviceInformationPairing value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceInformation2)->get_Pairing(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceAccessStatus impl_IDeviceAccessChangedEventArgs::Status() const +{ + Windows::Devices::Enumeration::DeviceAccessStatus value {}; + check_hresult(WINRT_SHIM(IDeviceAccessChangedEventArgs)->get_Status(&value)); + return value; +} + +template hstring impl_IDeviceAccessChangedEventArgs2::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeviceAccessChangedEventArgs2)->get_Id(put_abi(value))); + return value; +} + +template event_token impl_IDeviceAccessInformation::AccessChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IDeviceAccessInformation)->add_AccessChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IDeviceAccessInformation::AccessChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Enumeration::IDeviceAccessInformation::remove_AccessChanged, AccessChanged(handler)); +} + +template void impl_IDeviceAccessInformation::AccessChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IDeviceAccessInformation)->remove_AccessChanged(cookie)); +} + +template Windows::Devices::Enumeration::DeviceAccessStatus impl_IDeviceAccessInformation::CurrentStatus() const +{ + Windows::Devices::Enumeration::DeviceAccessStatus status {}; + check_hresult(WINRT_SHIM(IDeviceAccessInformation)->get_CurrentStatus(&status)); + return status; +} + +template Windows::Devices::Enumeration::DeviceAccessInformation impl_IDeviceAccessInformationStatics::CreateFromId(hstring_view deviceId) const +{ + Windows::Devices::Enumeration::DeviceAccessInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceAccessInformationStatics)->abi_CreateFromId(get_abi(deviceId), put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceAccessInformation impl_IDeviceAccessInformationStatics::CreateFromDeviceClassId(GUID deviceClassId) const +{ + Windows::Devices::Enumeration::DeviceAccessInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceAccessInformationStatics)->abi_CreateFromDeviceClassId(deviceClassId, put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceAccessInformation impl_IDeviceAccessInformationStatics::CreateFromDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass) const +{ + Windows::Devices::Enumeration::DeviceAccessInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceAccessInformationStatics)->abi_CreateFromDeviceClass(deviceClass, put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceWatcherEventKind impl_IDeviceWatcherEvent::Kind() const +{ + Windows::Devices::Enumeration::DeviceWatcherEventKind value {}; + check_hresult(WINRT_SHIM(IDeviceWatcherEvent)->get_Kind(&value)); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IDeviceWatcherEvent::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceWatcherEvent)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformationUpdate impl_IDeviceWatcherEvent::DeviceInformationUpdate() const +{ + Windows::Devices::Enumeration::DeviceInformationUpdate value { nullptr }; + check_hresult(WINRT_SHIM(IDeviceWatcherEvent)->get_DeviceInformationUpdate(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IDeviceWatcherTriggerDetails::DeviceWatcherEvents() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IDeviceWatcherTriggerDetails)->get_DeviceWatcherEvents(put_abi(value))); + return value; +} + +inline Windows::Devices::Enumeration::DeviceAccessInformation DeviceAccessInformation::CreateFromId(hstring_view deviceId) +{ + return get_activation_factory().CreateFromId(deviceId); +} + +inline Windows::Devices::Enumeration::DeviceAccessInformation DeviceAccessInformation::CreateFromDeviceClassId(GUID deviceClassId) +{ + return get_activation_factory().CreateFromDeviceClassId(deviceClassId); +} + +inline Windows::Devices::Enumeration::DeviceAccessInformation DeviceAccessInformation::CreateFromDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass) +{ + return get_activation_factory().CreateFromDeviceClass(deviceClass); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::CreateFromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().CreateFromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::CreateFromIdAsync(hstring_view deviceId, iterable additionalProperties) +{ + return get_activation_factory().CreateFromIdAsync(deviceId, additionalProperties); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::FindAllAsync(Windows::Devices::Enumeration::DeviceClass deviceClass) +{ + return get_activation_factory().FindAllAsync(deviceClass); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::FindAllAsync(hstring_view aqsFilter) +{ + return get_activation_factory().FindAllAsync(aqsFilter); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::FindAllAsync(hstring_view aqsFilter, iterable additionalProperties) +{ + return get_activation_factory().FindAllAsync(aqsFilter, additionalProperties); +} + +inline Windows::Devices::Enumeration::DeviceWatcher DeviceInformation::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline Windows::Devices::Enumeration::DeviceWatcher DeviceInformation::CreateWatcher(Windows::Devices::Enumeration::DeviceClass deviceClass) +{ + return get_activation_factory().CreateWatcher(deviceClass); +} + +inline Windows::Devices::Enumeration::DeviceWatcher DeviceInformation::CreateWatcher(hstring_view aqsFilter) +{ + return get_activation_factory().CreateWatcher(aqsFilter); +} + +inline Windows::Devices::Enumeration::DeviceWatcher DeviceInformation::CreateWatcher(hstring_view aqsFilter, iterable additionalProperties) +{ + return get_activation_factory().CreateWatcher(aqsFilter, additionalProperties); +} + +inline hstring DeviceInformation::GetAqsFilterFromDeviceClass(Windows::Devices::Enumeration::DeviceClass deviceClass) +{ + return get_activation_factory().GetAqsFilterFromDeviceClass(deviceClass); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::CreateFromIdAsync(hstring_view deviceId, iterable additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind) +{ + return get_activation_factory().CreateFromIdAsync(deviceId, additionalProperties, kind); +} + +inline Windows::Foundation::IAsyncOperation DeviceInformation::FindAllAsync(hstring_view aqsFilter, iterable additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind) +{ + return get_activation_factory().FindAllAsync(aqsFilter, additionalProperties, kind); +} + +inline Windows::Devices::Enumeration::DeviceWatcher DeviceInformation::CreateWatcher(hstring_view aqsFilter, iterable additionalProperties, Windows::Devices::Enumeration::DeviceInformationKind kind) +{ + return get_activation_factory().CreateWatcher(aqsFilter, additionalProperties, kind); +} + +inline bool DeviceInformationPairing::TryRegisterForAllInboundPairingRequests(Windows::Devices::Enumeration::DevicePairingKinds pairingKindsSupported) +{ + return get_activation_factory().TryRegisterForAllInboundPairingRequests(pairingKindsSupported); +} + +inline DevicePicker::DevicePicker() : + DevicePicker(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceAccessChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceAccessChangedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceAccessInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceAccessInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceConnectionChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceDisconnectButtonClickedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationCustomPairing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationPairing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationPairing2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationPairingStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationUpdate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceInformationUpdate2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDevicePairingRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDevicePairingResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDevicePairingSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDevicePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDevicePickerAppearance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDevicePickerFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceUnpairingResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceWatcher2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceWatcherEvent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IDeviceWatcherTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IEnclosureLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::IEnclosureLocation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceAccessChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceAccessInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceConnectionChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceDisconnectButtonClickedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceInformationCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceInformationCustomPairing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceInformationPairing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceInformationUpdate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DevicePairingRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DevicePairingResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DevicePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DevicePickerAppearance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DevicePickerFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceThumbnail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceUnpairingResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceWatcherEvent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::DeviceWatcherTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Enumeration::EnclosureLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Geolocation.Geofencing.h b/10.0.15042.0/winrt/Windows.Devices.Geolocation.Geofencing.h new file mode 100644 index 000000000..3c2558a19 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Geolocation.Geofencing.h @@ -0,0 +1,662 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Geolocation.Geofencing.3.h" +#include "Windows.Devices.Geolocation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DwellTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DwellTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonitoredStates(Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonitoredStates()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Geoshape(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Geoshape()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SingleUse(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SingleUse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in id, impl::abi_arg_in geoshape, impl::abi_arg_out geofence) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *geofence = detach_abi(this->shim().Create(*reinterpret_cast(&id), *reinterpret_cast(&geoshape))); + return S_OK; + } + catch (...) + { + *geofence = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithMonitorStates(impl::abi_arg_in id, impl::abi_arg_in geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse, impl::abi_arg_out geofence) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *geofence = detach_abi(this->shim().CreateWithMonitorStates(*reinterpret_cast(&id), *reinterpret_cast(&geoshape), monitoredStates, singleUse)); + return S_OK; + } + catch (...) + { + *geofence = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithMonitorStatesAndDwellTime(impl::abi_arg_in id, impl::abi_arg_in geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse, impl::abi_arg_in dwellTime, impl::abi_arg_out geofence) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *geofence = detach_abi(this->shim().CreateWithMonitorStatesAndDwellTime(*reinterpret_cast(&id), *reinterpret_cast(&geoshape), monitoredStates, singleUse, *reinterpret_cast(&dwellTime))); + return S_OK; + } + catch (...) + { + *geofence = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithMonitorStatesDwellTimeStartTimeAndDuration(impl::abi_arg_in id, impl::abi_arg_in geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse, impl::abi_arg_in dwellTime, impl::abi_arg_in startTime, impl::abi_arg_in duration, impl::abi_arg_out geofence) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *geofence = detach_abi(this->shim().CreateWithMonitorStatesDwellTimeStartTimeAndDuration(*reinterpret_cast(&id), *reinterpret_cast(&geoshape), monitoredStates, singleUse, *reinterpret_cast(&dwellTime), *reinterpret_cast(&startTime), *reinterpret_cast(&duration))); + return S_OK; + } + catch (...) + { + *geofence = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Geolocation::Geofencing::GeofenceMonitorStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Geofences(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Geofences()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastKnownGeoposition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastKnownGeoposition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GeofenceStateChanged(impl::abi_arg_in> eventHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GeofenceStateChanged(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GeofenceStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GeofenceStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadReports(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadReports()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusChanged(impl::abi_arg_in> eventHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusChanged(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NewState(Windows::Devices::Geolocation::Geofencing::GeofenceState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Geofence(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Geofence()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Geoposition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Geoposition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovalReason(Windows::Devices::Geolocation::Geofencing::GeofenceRemovalReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovalReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Geolocation::Geofencing { + +template Windows::Devices::Geolocation::Geofencing::Geofence impl_IGeofenceFactory::Create(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape) const +{ + Windows::Devices::Geolocation::Geofencing::Geofence geofence { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceFactory)->abi_Create(get_abi(id), get_abi(geoshape), put_abi(geofence))); + return geofence; +} + +template Windows::Devices::Geolocation::Geofencing::Geofence impl_IGeofenceFactory::CreateWithMonitorStates(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse) const +{ + Windows::Devices::Geolocation::Geofencing::Geofence geofence { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceFactory)->abi_CreateWithMonitorStates(get_abi(id), get_abi(geoshape), monitoredStates, singleUse, put_abi(geofence))); + return geofence; +} + +template Windows::Devices::Geolocation::Geofencing::Geofence impl_IGeofenceFactory::CreateWithMonitorStatesAndDwellTime(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse, const Windows::Foundation::TimeSpan & dwellTime) const +{ + Windows::Devices::Geolocation::Geofencing::Geofence geofence { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceFactory)->abi_CreateWithMonitorStatesAndDwellTime(get_abi(id), get_abi(geoshape), monitoredStates, singleUse, get_abi(dwellTime), put_abi(geofence))); + return geofence; +} + +template Windows::Devices::Geolocation::Geofencing::Geofence impl_IGeofenceFactory::CreateWithMonitorStatesDwellTimeStartTimeAndDuration(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse, const Windows::Foundation::TimeSpan & dwellTime, const Windows::Foundation::DateTime & startTime, const Windows::Foundation::TimeSpan & duration) const +{ + Windows::Devices::Geolocation::Geofencing::Geofence geofence { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceFactory)->abi_CreateWithMonitorStatesDwellTimeStartTimeAndDuration(get_abi(id), get_abi(geoshape), monitoredStates, singleUse, get_abi(dwellTime), get_abi(startTime), get_abi(duration), put_abi(geofence))); + return geofence; +} + +template Windows::Foundation::DateTime impl_IGeofence::StartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IGeofence)->get_StartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IGeofence::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGeofence)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IGeofence::DwellTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGeofence)->get_DwellTime(put_abi(value))); + return value; +} + +template hstring impl_IGeofence::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGeofence)->get_Id(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates impl_IGeofence::MonitoredStates() const +{ + Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates value {}; + check_hresult(WINRT_SHIM(IGeofence)->get_MonitoredStates(&value)); + return value; +} + +template Windows::Devices::Geolocation::IGeoshape impl_IGeofence::Geoshape() const +{ + Windows::Devices::Geolocation::IGeoshape value; + check_hresult(WINRT_SHIM(IGeofence)->get_Geoshape(put_abi(value))); + return value; +} + +template bool impl_IGeofence::SingleUse() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGeofence)->get_SingleUse(&value)); + return value; +} + +template Windows::Devices::Geolocation::Geofencing::GeofenceState impl_IGeofenceStateChangeReport::NewState() const +{ + Windows::Devices::Geolocation::Geofencing::GeofenceState value {}; + check_hresult(WINRT_SHIM(IGeofenceStateChangeReport)->get_NewState(&value)); + return value; +} + +template Windows::Devices::Geolocation::Geofencing::Geofence impl_IGeofenceStateChangeReport::Geofence() const +{ + Windows::Devices::Geolocation::Geofencing::Geofence value { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceStateChangeReport)->get_Geofence(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geoposition impl_IGeofenceStateChangeReport::Geoposition() const +{ + Windows::Devices::Geolocation::Geoposition value { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceStateChangeReport)->get_Geoposition(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geofencing::GeofenceRemovalReason impl_IGeofenceStateChangeReport::RemovalReason() const +{ + Windows::Devices::Geolocation::Geofencing::GeofenceRemovalReason value {}; + check_hresult(WINRT_SHIM(IGeofenceStateChangeReport)->get_RemovalReason(&value)); + return value; +} + +template Windows::Devices::Geolocation::Geofencing::GeofenceMonitor impl_IGeofenceMonitorStatics::Current() const +{ + Windows::Devices::Geolocation::Geofencing::GeofenceMonitor value { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceMonitorStatics)->get_Current(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geofencing::GeofenceMonitorStatus impl_IGeofenceMonitor::Status() const +{ + Windows::Devices::Geolocation::Geofencing::GeofenceMonitorStatus value {}; + check_hresult(WINRT_SHIM(IGeofenceMonitor)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IGeofenceMonitor::Geofences() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IGeofenceMonitor)->get_Geofences(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geoposition impl_IGeofenceMonitor::LastKnownGeoposition() const +{ + Windows::Devices::Geolocation::Geoposition value { nullptr }; + check_hresult(WINRT_SHIM(IGeofenceMonitor)->get_LastKnownGeoposition(put_abi(value))); + return value; +} + +template event_token impl_IGeofenceMonitor::GeofenceStateChanged(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGeofenceMonitor)->add_GeofenceStateChanged(get_abi(eventHandler), &token)); + return token; +} + +template event_revoker impl_IGeofenceMonitor::GeofenceStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Geolocation::Geofencing::IGeofenceMonitor::remove_GeofenceStateChanged, GeofenceStateChanged(eventHandler)); +} + +template void impl_IGeofenceMonitor::GeofenceStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGeofenceMonitor)->remove_GeofenceStateChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IGeofenceMonitor::ReadReports() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGeofenceMonitor)->abi_ReadReports(put_abi(value))); + return value; +} + +template event_token impl_IGeofenceMonitor::StatusChanged(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGeofenceMonitor)->add_StatusChanged(get_abi(eventHandler), &token)); + return token; +} + +template event_revoker impl_IGeofenceMonitor::StatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Geolocation::Geofencing::IGeofenceMonitor::remove_StatusChanged, StatusChanged(eventHandler)); +} + +template void impl_IGeofenceMonitor::StatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGeofenceMonitor)->remove_StatusChanged(token)); +} + +inline Geofence::Geofence(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape) : + Geofence(get_activation_factory().Create(id, geoshape)) +{} + +inline Geofence::Geofence(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse) : + Geofence(get_activation_factory().CreateWithMonitorStates(id, geoshape, monitoredStates, singleUse)) +{} + +inline Geofence::Geofence(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse, const Windows::Foundation::TimeSpan & dwellTime) : + Geofence(get_activation_factory().CreateWithMonitorStatesAndDwellTime(id, geoshape, monitoredStates, singleUse, dwellTime)) +{} + +inline Geofence::Geofence(hstring_view id, const Windows::Devices::Geolocation::IGeoshape & geoshape, Windows::Devices::Geolocation::Geofencing::MonitoredGeofenceStates monitoredStates, bool singleUse, const Windows::Foundation::TimeSpan & dwellTime, const Windows::Foundation::DateTime & startTime, const Windows::Foundation::TimeSpan & duration) : + Geofence(get_activation_factory().CreateWithMonitorStatesDwellTimeStartTimeAndDuration(id, geoshape, monitoredStates, singleUse, dwellTime, startTime, duration)) +{} + +inline Windows::Devices::Geolocation::Geofencing::GeofenceMonitor GeofenceMonitor::Current() +{ + return get_activation_factory().Current(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::IGeofence & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::IGeofenceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::IGeofenceMonitor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::IGeofenceMonitorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::IGeofenceStateChangeReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::Geofence & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::GeofenceMonitor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geofencing::GeofenceStateChangeReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Geolocation.h b/10.0.15042.0/winrt/Windows.Devices.Geolocation.h new file mode 100644 index 000000000..efc4607f2 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Geolocation.h @@ -0,0 +1,2202 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Country(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Country()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_City(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().City()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostalCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostalCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NorthwestCorner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NorthwestCorner()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoutheastCorner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoutheastCorner()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Center(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Center()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinAltitude(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinAltitude()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxAltitude(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAltitude()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in northwestCorner, impl::abi_arg_in southeastCorner, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&northwestCorner), *reinterpret_cast(&southeastCorner))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReference(impl::abi_arg_in northwestCorner, impl::abi_arg_in southeastCorner, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReference(*reinterpret_cast(&northwestCorner), *reinterpret_cast(&southeastCorner), altitudeReferenceSystem)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReferenceAndSpatialReference(impl::abi_arg_in northwestCorner, impl::abi_arg_in southeastCorner, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReferenceAndSpatialReference(*reinterpret_cast(&northwestCorner), *reinterpret_cast(&southeastCorner), altitudeReferenceSystem, spatialReferenceId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryCompute(impl::abi_arg_in> positions, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryCompute(*reinterpret_cast *>(&positions))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryComputeWithAltitudeReference(impl::abi_arg_in> positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeRefSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryCompute(*reinterpret_cast *>(&positions), altitudeRefSystem)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryComputeWithAltitudeReferenceAndSpatialReference(impl::abi_arg_in> positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeRefSystem, uint32_t spatialReferenceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryCompute(*reinterpret_cast *>(&positions), altitudeRefSystem, spatialReferenceId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Center(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Center()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Radius(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Radius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in position, double radius, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&position), radius)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReferenceSystem(impl::abi_arg_in position, double radius, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReferenceSystem(*reinterpret_cast(&position), radius, altitudeReferenceSystem)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReferenceSystemAndSpatialReferenceId(impl::abi_arg_in position, double radius, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReferenceSystemAndSpatialReferenceId(*reinterpret_cast(&position), radius, altitudeReferenceSystem, spatialReferenceId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Latitude(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Latitude()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Longitude(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Longitude()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Altitude(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Altitude()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Accuracy(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Accuracy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AltitudeAccuracy(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AltitudeAccuracy()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Heading(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Heading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Speed(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Speed()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PositionDilutionOfPrecision(impl::abi_arg_out> ppValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppValue = detach_abi(this->shim().PositionDilutionOfPrecision()); + return S_OK; + } + catch (...) + { + *ppValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalDilutionOfPrecision(impl::abi_arg_out> ppValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppValue = detach_abi(this->shim().HorizontalDilutionOfPrecision()); + return S_OK; + } + catch (...) + { + *ppValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalDilutionOfPrecision(impl::abi_arg_out> ppValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppValue = detach_abi(this->shim().VerticalDilutionOfPrecision()); + return S_OK; + } + catch (...) + { + *ppValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Point(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Point()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PositionSource(Windows::Devices::Geolocation::PositionSource * pValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pValue = detach_abi(this->shim().PositionSource()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SatelliteData(impl::abi_arg_out ppValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppValue = detach_abi(this->shim().SatelliteData()); + return S_OK; + } + catch (...) + { + *ppValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PositionSourceTimestamp(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionSourceTimestamp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredAccuracy(Windows::Devices::Geolocation::PositionAccuracy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredAccuracy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredAccuracy(Windows::Devices::Geolocation::PositionAccuracy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredAccuracy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MovementThreshold(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MovementThreshold()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MovementThreshold(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MovementThreshold(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationStatus(Windows::Devices::Geolocation::PositionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGeopositionAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetGeopositionAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGeopositionAsyncWithAgeAndTimeout(impl::abi_arg_in maximumAge, impl::abi_arg_in timeout, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetGeopositionAsync(*reinterpret_cast(&maximumAge), *reinterpret_cast(&timeout))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PositionChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PositionChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PositionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AllowFallbackToConsentlessPositions() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowFallbackToConsentlessPositions(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGeopositionHistoryAsync(impl::abi_arg_in startTime, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetGeopositionHistoryAsync(*reinterpret_cast(&startTime))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGeopositionHistoryWithDurationAsync(impl::abi_arg_in startTime, impl::abi_arg_in duration, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetGeopositionHistoryAsync(*reinterpret_cast(&startTime), *reinterpret_cast(&duration))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDefaultGeopositionRecommended(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDefaultGeopositionRecommended()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultGeoposition(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultGeoposition(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultGeoposition(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultGeoposition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredAccuracyInMeters(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredAccuracyInMeters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredAccuracyInMeters(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredAccuracyInMeters(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Positions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Positions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> positions, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast *>(&positions))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReference(impl::abi_arg_in> positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReference(*reinterpret_cast *>(&positions), altitudeReferenceSystem)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReferenceAndSpatialReference(impl::abi_arg_in> positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReferenceAndSpatialReference(*reinterpret_cast *>(&positions), altitudeReferenceSystem, spatialReferenceId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in position, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&position))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReferenceSystem(impl::abi_arg_in position, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReferenceSystem(*reinterpret_cast(&position), altitudeReferenceSystem)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAltitudeReferenceSystemAndSpatialReferenceId(impl::abi_arg_in position, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAltitudeReferenceSystemAndSpatialReferenceId(*reinterpret_cast(&position), altitudeReferenceSystem, spatialReferenceId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Coordinate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Coordinate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CivicAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CivicAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VenueData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VenueData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GeoshapeType(Windows::Devices::Geolocation::GeoshapeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeoshapeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpatialReferenceId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpatialReferenceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AltitudeReferenceSystem(Windows::Devices::Geolocation::AltitudeReferenceSystem * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AltitudeReferenceSystem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Geolocation::PositionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Level(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Level()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Geolocation { + +template Windows::Devices::Geolocation::GeoshapeType impl_IGeoshape::GeoshapeType() const +{ + Windows::Devices::Geolocation::GeoshapeType value {}; + check_hresult(WINRT_SHIM(IGeoshape)->get_GeoshapeType(&value)); + return value; +} + +template uint32_t impl_IGeoshape::SpatialReferenceId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGeoshape)->get_SpatialReferenceId(&value)); + return value; +} + +template Windows::Devices::Geolocation::AltitudeReferenceSystem impl_IGeoshape::AltitudeReferenceSystem() const +{ + Windows::Devices::Geolocation::AltitudeReferenceSystem value {}; + check_hresult(WINRT_SHIM(IGeoshape)->get_AltitudeReferenceSystem(&value)); + return value; +} + +template Windows::Devices::Geolocation::BasicGeoposition impl_IGeopoint::Position() const +{ + Windows::Devices::Geolocation::BasicGeoposition value {}; + check_hresult(WINRT_SHIM(IGeopoint)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IGeopointFactory::Create(const Windows::Devices::Geolocation::BasicGeoposition & position) const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IGeopointFactory)->abi_Create(get_abi(position), put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IGeopointFactory::CreateWithAltitudeReferenceSystem(const Windows::Devices::Geolocation::BasicGeoposition & position, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IGeopointFactory)->abi_CreateWithAltitudeReferenceSystem(get_abi(position), altitudeReferenceSystem, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IGeopointFactory::CreateWithAltitudeReferenceSystemAndSpatialReferenceId(const Windows::Devices::Geolocation::BasicGeoposition & position, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IGeopointFactory)->abi_CreateWithAltitudeReferenceSystemAndSpatialReferenceId(get_abi(position), altitudeReferenceSystem, spatialReferenceId, put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGeopath::Positions() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGeopath)->get_Positions(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IGeopathFactory::Create(iterable positions) const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IGeopathFactory)->abi_Create(get_abi(positions), put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IGeopathFactory::CreateWithAltitudeReference(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IGeopathFactory)->abi_CreateWithAltitudeReference(get_abi(positions), altitudeReferenceSystem, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IGeopathFactory::CreateWithAltitudeReferenceAndSpatialReference(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IGeopathFactory)->abi_CreateWithAltitudeReferenceAndSpatialReference(get_abi(positions), altitudeReferenceSystem, spatialReferenceId, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::BasicGeoposition impl_IGeoboundingBox::NorthwestCorner() const +{ + Windows::Devices::Geolocation::BasicGeoposition value {}; + check_hresult(WINRT_SHIM(IGeoboundingBox)->get_NorthwestCorner(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::BasicGeoposition impl_IGeoboundingBox::SoutheastCorner() const +{ + Windows::Devices::Geolocation::BasicGeoposition value {}; + check_hresult(WINRT_SHIM(IGeoboundingBox)->get_SoutheastCorner(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::BasicGeoposition impl_IGeoboundingBox::Center() const +{ + Windows::Devices::Geolocation::BasicGeoposition value {}; + check_hresult(WINRT_SHIM(IGeoboundingBox)->get_Center(put_abi(value))); + return value; +} + +template double impl_IGeoboundingBox::MinAltitude() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGeoboundingBox)->get_MinAltitude(&value)); + return value; +} + +template double impl_IGeoboundingBox::MaxAltitude() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGeoboundingBox)->get_MaxAltitude(&value)); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IGeoboundingBoxFactory::Create(const Windows::Devices::Geolocation::BasicGeoposition & northwestCorner, const Windows::Devices::Geolocation::BasicGeoposition & southeastCorner) const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IGeoboundingBoxFactory)->abi_Create(get_abi(northwestCorner), get_abi(southeastCorner), put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IGeoboundingBoxFactory::CreateWithAltitudeReference(const Windows::Devices::Geolocation::BasicGeoposition & northwestCorner, const Windows::Devices::Geolocation::BasicGeoposition & southeastCorner, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IGeoboundingBoxFactory)->abi_CreateWithAltitudeReference(get_abi(northwestCorner), get_abi(southeastCorner), altitudeReferenceSystem, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IGeoboundingBoxFactory::CreateWithAltitudeReferenceAndSpatialReference(const Windows::Devices::Geolocation::BasicGeoposition & northwestCorner, const Windows::Devices::Geolocation::BasicGeoposition & southeastCorner, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IGeoboundingBoxFactory)->abi_CreateWithAltitudeReferenceAndSpatialReference(get_abi(northwestCorner), get_abi(southeastCorner), altitudeReferenceSystem, spatialReferenceId, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IGeoboundingBoxStatics::TryCompute(iterable positions) const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IGeoboundingBoxStatics)->abi_TryCompute(get_abi(positions), put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IGeoboundingBoxStatics::TryCompute(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeRefSystem) const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IGeoboundingBoxStatics)->abi_TryComputeWithAltitudeReference(get_abi(positions), altitudeRefSystem, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IGeoboundingBoxStatics::TryCompute(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeRefSystem, uint32_t spatialReferenceId) const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IGeoboundingBoxStatics)->abi_TryComputeWithAltitudeReferenceAndSpatialReference(get_abi(positions), altitudeRefSystem, spatialReferenceId, put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IGeocoordinateSatelliteData::PositionDilutionOfPrecision() const +{ + Windows::Foundation::IReference ppValue; + check_hresult(WINRT_SHIM(IGeocoordinateSatelliteData)->get_PositionDilutionOfPrecision(put_abi(ppValue))); + return ppValue; +} + +template Windows::Foundation::IReference impl_IGeocoordinateSatelliteData::HorizontalDilutionOfPrecision() const +{ + Windows::Foundation::IReference ppValue; + check_hresult(WINRT_SHIM(IGeocoordinateSatelliteData)->get_HorizontalDilutionOfPrecision(put_abi(ppValue))); + return ppValue; +} + +template Windows::Foundation::IReference impl_IGeocoordinateSatelliteData::VerticalDilutionOfPrecision() const +{ + Windows::Foundation::IReference ppValue; + check_hresult(WINRT_SHIM(IGeocoordinateSatelliteData)->get_VerticalDilutionOfPrecision(put_abi(ppValue))); + return ppValue; +} + +template hstring impl_IVenueData::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVenueData)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IVenueData::Level() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVenueData)->get_Level(put_abi(value))); + return value; +} + +template double impl_IGeocoordinate::Latitude() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_Latitude(&value)); + return value; +} + +template double impl_IGeocoordinate::Longitude() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_Longitude(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGeocoordinate::Altitude() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_Altitude(put_abi(value))); + return value; +} + +template double impl_IGeocoordinate::Accuracy() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_Accuracy(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IGeocoordinate::AltitudeAccuracy() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_AltitudeAccuracy(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IGeocoordinate::Heading() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_Heading(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IGeocoordinate::Speed() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_Speed(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IGeocoordinate::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IGeocoordinate)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::PositionSource impl_IGeocoordinateWithPositionData::PositionSource() const +{ + Windows::Devices::Geolocation::PositionSource pValue {}; + check_hresult(WINRT_SHIM(IGeocoordinateWithPositionData)->get_PositionSource(&pValue)); + return pValue; +} + +template Windows::Devices::Geolocation::GeocoordinateSatelliteData impl_IGeocoordinateWithPositionData::SatelliteData() const +{ + Windows::Devices::Geolocation::GeocoordinateSatelliteData ppValue { nullptr }; + check_hresult(WINRT_SHIM(IGeocoordinateWithPositionData)->get_SatelliteData(put_abi(ppValue))); + return ppValue; +} + +template Windows::Devices::Geolocation::Geopoint impl_IGeocoordinateWithPoint::Point() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IGeocoordinateWithPoint)->get_Point(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IGeocoordinateWithPositionSourceTimestamp::PositionSourceTimestamp() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGeocoordinateWithPositionSourceTimestamp)->get_PositionSourceTimestamp(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geocoordinate impl_IGeoposition::Coordinate() const +{ + Windows::Devices::Geolocation::Geocoordinate value { nullptr }; + check_hresult(WINRT_SHIM(IGeoposition)->get_Coordinate(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::CivicAddress impl_IGeoposition::CivicAddress() const +{ + Windows::Devices::Geolocation::CivicAddress value { nullptr }; + check_hresult(WINRT_SHIM(IGeoposition)->get_CivicAddress(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::VenueData impl_IGeoposition2::VenueData() const +{ + Windows::Devices::Geolocation::VenueData value { nullptr }; + check_hresult(WINRT_SHIM(IGeoposition2)->get_VenueData(put_abi(value))); + return value; +} + +template hstring impl_ICivicAddress::Country() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICivicAddress)->get_Country(put_abi(value))); + return value; +} + +template hstring impl_ICivicAddress::State() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICivicAddress)->get_State(put_abi(value))); + return value; +} + +template hstring impl_ICivicAddress::City() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICivicAddress)->get_City(put_abi(value))); + return value; +} + +template hstring impl_ICivicAddress::PostalCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICivicAddress)->get_PostalCode(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ICivicAddress::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICivicAddress)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geoposition impl_IPositionChangedEventArgs::Position() const +{ + Windows::Devices::Geolocation::Geoposition value { nullptr }; + check_hresult(WINRT_SHIM(IPositionChangedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::PositionStatus impl_IStatusChangedEventArgs::Status() const +{ + Windows::Devices::Geolocation::PositionStatus value {}; + check_hresult(WINRT_SHIM(IStatusChangedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::Geolocation::PositionAccuracy impl_IGeolocator::DesiredAccuracy() const +{ + Windows::Devices::Geolocation::PositionAccuracy value {}; + check_hresult(WINRT_SHIM(IGeolocator)->get_DesiredAccuracy(&value)); + return value; +} + +template void impl_IGeolocator::DesiredAccuracy(Windows::Devices::Geolocation::PositionAccuracy value) const +{ + check_hresult(WINRT_SHIM(IGeolocator)->put_DesiredAccuracy(value)); +} + +template double impl_IGeolocator::MovementThreshold() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGeolocator)->get_MovementThreshold(&value)); + return value; +} + +template void impl_IGeolocator::MovementThreshold(double value) const +{ + check_hresult(WINRT_SHIM(IGeolocator)->put_MovementThreshold(value)); +} + +template uint32_t impl_IGeolocator::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGeolocator)->get_ReportInterval(&value)); + return value; +} + +template void impl_IGeolocator::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IGeolocator)->put_ReportInterval(value)); +} + +template Windows::Devices::Geolocation::PositionStatus impl_IGeolocator::LocationStatus() const +{ + Windows::Devices::Geolocation::PositionStatus value {}; + check_hresult(WINRT_SHIM(IGeolocator)->get_LocationStatus(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGeolocator::GetGeopositionAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IGeolocator)->abi_GetGeopositionAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGeolocator::GetGeopositionAsync(const Windows::Foundation::TimeSpan & maximumAge, const Windows::Foundation::TimeSpan & timeout) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IGeolocator)->abi_GetGeopositionAsyncWithAgeAndTimeout(get_abi(maximumAge), get_abi(timeout), put_abi(value))); + return value; +} + +template event_token impl_IGeolocator::PositionChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGeolocator)->add_PositionChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGeolocator::PositionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Geolocation::IGeolocator::remove_PositionChanged, PositionChanged(handler)); +} + +template void impl_IGeolocator::PositionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGeolocator)->remove_PositionChanged(token)); +} + +template event_token impl_IGeolocator::StatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGeolocator)->add_StatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGeolocator::StatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Geolocation::IGeolocator::remove_StatusChanged, StatusChanged(handler)); +} + +template void impl_IGeolocator::StatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGeolocator)->remove_StatusChanged(token)); +} + +template Windows::Foundation::IReference impl_IGeolocatorWithScalarAccuracy::DesiredAccuracyInMeters() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGeolocatorWithScalarAccuracy)->get_DesiredAccuracyInMeters(put_abi(value))); + return value; +} + +template void impl_IGeolocatorWithScalarAccuracy::DesiredAccuracyInMeters(const optional & value) const +{ + check_hresult(WINRT_SHIM(IGeolocatorWithScalarAccuracy)->put_DesiredAccuracyInMeters(get_abi(value))); +} + +template void impl_IGeolocator2::AllowFallbackToConsentlessPositions() const +{ + check_hresult(WINRT_SHIM(IGeolocator2)->abi_AllowFallbackToConsentlessPositions()); +} + +template Windows::Foundation::IAsyncOperation impl_IGeolocatorStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IGeolocatorStatics)->abi_RequestAccessAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IGeolocatorStatics::GetGeopositionHistoryAsync(const Windows::Foundation::DateTime & startTime) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IGeolocatorStatics)->abi_GetGeopositionHistoryAsync(get_abi(startTime), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IGeolocatorStatics::GetGeopositionHistoryAsync(const Windows::Foundation::DateTime & startTime, const Windows::Foundation::TimeSpan & duration) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IGeolocatorStatics)->abi_GetGeopositionHistoryWithDurationAsync(get_abi(startTime), get_abi(duration), put_abi(result))); + return result; +} + +template bool impl_IGeolocatorStatics2::IsDefaultGeopositionRecommended() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGeolocatorStatics2)->get_IsDefaultGeopositionRecommended(&value)); + return value; +} + +template void impl_IGeolocatorStatics2::DefaultGeoposition(const optional & value) const +{ + check_hresult(WINRT_SHIM(IGeolocatorStatics2)->put_DefaultGeoposition(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IGeolocatorStatics2::DefaultGeoposition() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IGeolocatorStatics2)->get_DefaultGeoposition(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::BasicGeoposition impl_IGeocircle::Center() const +{ + Windows::Devices::Geolocation::BasicGeoposition value {}; + check_hresult(WINRT_SHIM(IGeocircle)->get_Center(put_abi(value))); + return value; +} + +template double impl_IGeocircle::Radius() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGeocircle)->get_Radius(&value)); + return value; +} + +template Windows::Devices::Geolocation::Geocircle impl_IGeocircleFactory::Create(const Windows::Devices::Geolocation::BasicGeoposition & position, double radius) const +{ + Windows::Devices::Geolocation::Geocircle value { nullptr }; + check_hresult(WINRT_SHIM(IGeocircleFactory)->abi_Create(get_abi(position), radius, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geocircle impl_IGeocircleFactory::CreateWithAltitudeReferenceSystem(const Windows::Devices::Geolocation::BasicGeoposition & position, double radius, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) const +{ + Windows::Devices::Geolocation::Geocircle value { nullptr }; + check_hresult(WINRT_SHIM(IGeocircleFactory)->abi_CreateWithAltitudeReferenceSystem(get_abi(position), radius, altitudeReferenceSystem, put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geocircle impl_IGeocircleFactory::CreateWithAltitudeReferenceSystemAndSpatialReferenceId(const Windows::Devices::Geolocation::BasicGeoposition & position, double radius, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) const +{ + Windows::Devices::Geolocation::Geocircle value { nullptr }; + check_hresult(WINRT_SHIM(IGeocircleFactory)->abi_CreateWithAltitudeReferenceSystemAndSpatialReferenceId(get_abi(position), radius, altitudeReferenceSystem, spatialReferenceId, put_abi(value))); + return value; +} + +inline GeoboundingBox::GeoboundingBox(const Windows::Devices::Geolocation::BasicGeoposition & northwestCorner, const Windows::Devices::Geolocation::BasicGeoposition & southeastCorner) : + GeoboundingBox(get_activation_factory().Create(northwestCorner, southeastCorner)) +{} + +inline GeoboundingBox::GeoboundingBox(const Windows::Devices::Geolocation::BasicGeoposition & northwestCorner, const Windows::Devices::Geolocation::BasicGeoposition & southeastCorner, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) : + GeoboundingBox(get_activation_factory().CreateWithAltitudeReference(northwestCorner, southeastCorner, altitudeReferenceSystem)) +{} + +inline GeoboundingBox::GeoboundingBox(const Windows::Devices::Geolocation::BasicGeoposition & northwestCorner, const Windows::Devices::Geolocation::BasicGeoposition & southeastCorner, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) : + GeoboundingBox(get_activation_factory().CreateWithAltitudeReferenceAndSpatialReference(northwestCorner, southeastCorner, altitudeReferenceSystem, spatialReferenceId)) +{} + +inline Windows::Devices::Geolocation::GeoboundingBox GeoboundingBox::TryCompute(iterable positions) +{ + return get_activation_factory().TryCompute(positions); +} + +inline Windows::Devices::Geolocation::GeoboundingBox GeoboundingBox::TryCompute(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeRefSystem) +{ + return get_activation_factory().TryCompute(positions, altitudeRefSystem); +} + +inline Windows::Devices::Geolocation::GeoboundingBox GeoboundingBox::TryCompute(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeRefSystem, uint32_t spatialReferenceId) +{ + return get_activation_factory().TryCompute(positions, altitudeRefSystem, spatialReferenceId); +} + +inline Geocircle::Geocircle(const Windows::Devices::Geolocation::BasicGeoposition & position, double radius) : + Geocircle(get_activation_factory().Create(position, radius)) +{} + +inline Geocircle::Geocircle(const Windows::Devices::Geolocation::BasicGeoposition & position, double radius, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) : + Geocircle(get_activation_factory().CreateWithAltitudeReferenceSystem(position, radius, altitudeReferenceSystem)) +{} + +inline Geocircle::Geocircle(const Windows::Devices::Geolocation::BasicGeoposition & position, double radius, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) : + Geocircle(get_activation_factory().CreateWithAltitudeReferenceSystemAndSpatialReferenceId(position, radius, altitudeReferenceSystem, spatialReferenceId)) +{} + +inline Geolocator::Geolocator() : + Geolocator(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation Geolocator::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline Windows::Foundation::IAsyncOperation> Geolocator::GetGeopositionHistoryAsync(const Windows::Foundation::DateTime & startTime) +{ + return get_activation_factory().GetGeopositionHistoryAsync(startTime); +} + +inline Windows::Foundation::IAsyncOperation> Geolocator::GetGeopositionHistoryAsync(const Windows::Foundation::DateTime & startTime, const Windows::Foundation::TimeSpan & duration) +{ + return get_activation_factory().GetGeopositionHistoryAsync(startTime, duration); +} + +inline bool Geolocator::IsDefaultGeopositionRecommended() +{ + return get_activation_factory().IsDefaultGeopositionRecommended(); +} + +inline void Geolocator::DefaultGeoposition(const optional & value) +{ + get_activation_factory().DefaultGeoposition(value); +} + +inline Windows::Foundation::IReference Geolocator::DefaultGeoposition() +{ + return get_activation_factory().DefaultGeoposition(); +} + +inline Geopath::Geopath(iterable positions) : + Geopath(get_activation_factory().Create(positions)) +{} + +inline Geopath::Geopath(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) : + Geopath(get_activation_factory().CreateWithAltitudeReference(positions, altitudeReferenceSystem)) +{} + +inline Geopath::Geopath(iterable positions, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) : + Geopath(get_activation_factory().CreateWithAltitudeReferenceAndSpatialReference(positions, altitudeReferenceSystem, spatialReferenceId)) +{} + +inline Geopoint::Geopoint(const Windows::Devices::Geolocation::BasicGeoposition & position) : + Geopoint(get_activation_factory().Create(position)) +{} + +inline Geopoint::Geopoint(const Windows::Devices::Geolocation::BasicGeoposition & position, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem) : + Geopoint(get_activation_factory().CreateWithAltitudeReferenceSystem(position, altitudeReferenceSystem)) +{} + +inline Geopoint::Geopoint(const Windows::Devices::Geolocation::BasicGeoposition & position, Windows::Devices::Geolocation::AltitudeReferenceSystem altitudeReferenceSystem, uint32_t spatialReferenceId) : + Geopoint(get_activation_factory().CreateWithAltitudeReferenceSystemAndSpatialReferenceId(position, altitudeReferenceSystem, spatialReferenceId)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::ICivicAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeoboundingBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeoboundingBoxFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeoboundingBoxStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeocircle & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeocircleFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeocoordinate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeocoordinateSatelliteData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeocoordinateWithPoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeocoordinateWithPositionData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeocoordinateWithPositionSourceTimestamp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeolocator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeolocator2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeolocatorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeolocatorStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeolocatorWithScalarAccuracy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeopath & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeopathFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeopoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeopointFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeoposition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeoposition2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IGeoshape & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IPositionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::IVenueData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::CivicAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::GeoboundingBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geocircle & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geocoordinate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::GeocoordinateSatelliteData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geolocator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geopath & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geopoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::Geoposition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::PositionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::StatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Geolocation::VenueData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Gpio.Provider.h b/10.0.15042.0/winrt/Windows.Devices.Gpio.Provider.h new file mode 100644 index 000000000..7b27a47b4 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Gpio.Provider.h @@ -0,0 +1,440 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Gpio.Provider.3.h" +#include "Windows.Devices.Gpio.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PinCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenPinProvider(int32_t pin, Windows::Devices::Gpio::Provider::ProviderGpioSharingMode sharingMode, impl::abi_arg_out gpioPinProvider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *gpioPinProvider = detach_abi(this->shim().OpenPinProvider(pin, sharingMode)); + return S_OK; + } + catch (...) + { + *gpioPinProvider = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ValueChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ValueChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ValueChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValueChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DebounceTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DebounceTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DebounceTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DebounceTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PinNumber(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Devices::Gpio::Provider::ProviderGpioSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsDriveModeSupported(Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode driveMode, bool * supported) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *supported = detach_abi(this->shim().IsDriveModeSupported(driveMode)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDriveMode(Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDriveMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDriveMode(Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDriveMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Write(Windows::Devices::Gpio::Provider::ProviderGpioPinValue value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Write(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Read(Windows::Devices::Gpio::Provider::ProviderGpioPinValue * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Read()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Edge(Windows::Devices::Gpio::Provider::ProviderGpioPinEdge * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Edge()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Devices::Gpio::Provider::ProviderGpioPinEdge edge, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(edge)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllers(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetControllers()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Gpio::Provider { + +template Windows::Devices::Gpio::Provider::GpioPinProviderValueChangedEventArgs impl_IGpioPinProviderValueChangedEventArgsFactory::Create(Windows::Devices::Gpio::Provider::ProviderGpioPinEdge edge) const +{ + Windows::Devices::Gpio::Provider::GpioPinProviderValueChangedEventArgs value { nullptr }; + check_hresult(WINRT_SHIM(IGpioPinProviderValueChangedEventArgsFactory)->abi_Create(edge, put_abi(value))); + return value; +} + +template Windows::Devices::Gpio::Provider::ProviderGpioPinEdge impl_IGpioPinProviderValueChangedEventArgs::Edge() const +{ + Windows::Devices::Gpio::Provider::ProviderGpioPinEdge value {}; + check_hresult(WINRT_SHIM(IGpioPinProviderValueChangedEventArgs)->get_Edge(&value)); + return value; +} + +template event_token impl_IGpioPinProvider::ValueChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGpioPinProvider)->add_ValueChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGpioPinProvider::ValueChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Gpio::Provider::IGpioPinProvider::remove_ValueChanged, ValueChanged(handler)); +} + +template void impl_IGpioPinProvider::ValueChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGpioPinProvider)->remove_ValueChanged(token)); +} + +template Windows::Foundation::TimeSpan impl_IGpioPinProvider::DebounceTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGpioPinProvider)->get_DebounceTimeout(put_abi(value))); + return value; +} + +template void impl_IGpioPinProvider::DebounceTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IGpioPinProvider)->put_DebounceTimeout(get_abi(value))); +} + +template int32_t impl_IGpioPinProvider::PinNumber() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGpioPinProvider)->get_PinNumber(&value)); + return value; +} + +template Windows::Devices::Gpio::Provider::ProviderGpioSharingMode impl_IGpioPinProvider::SharingMode() const +{ + Windows::Devices::Gpio::Provider::ProviderGpioSharingMode value {}; + check_hresult(WINRT_SHIM(IGpioPinProvider)->get_SharingMode(&value)); + return value; +} + +template bool impl_IGpioPinProvider::IsDriveModeSupported(Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode driveMode) const +{ + bool supported {}; + check_hresult(WINRT_SHIM(IGpioPinProvider)->abi_IsDriveModeSupported(driveMode, &supported)); + return supported; +} + +template Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode impl_IGpioPinProvider::GetDriveMode() const +{ + Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode value {}; + check_hresult(WINRT_SHIM(IGpioPinProvider)->abi_GetDriveMode(&value)); + return value; +} + +template void impl_IGpioPinProvider::SetDriveMode(Windows::Devices::Gpio::Provider::ProviderGpioPinDriveMode value) const +{ + check_hresult(WINRT_SHIM(IGpioPinProvider)->abi_SetDriveMode(value)); +} + +template void impl_IGpioPinProvider::Write(Windows::Devices::Gpio::Provider::ProviderGpioPinValue value) const +{ + check_hresult(WINRT_SHIM(IGpioPinProvider)->abi_Write(value)); +} + +template Windows::Devices::Gpio::Provider::ProviderGpioPinValue impl_IGpioPinProvider::Read() const +{ + Windows::Devices::Gpio::Provider::ProviderGpioPinValue value {}; + check_hresult(WINRT_SHIM(IGpioPinProvider)->abi_Read(&value)); + return value; +} + +template int32_t impl_IGpioControllerProvider::PinCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGpioControllerProvider)->get_PinCount(&value)); + return value; +} + +template Windows::Devices::Gpio::Provider::IGpioPinProvider impl_IGpioControllerProvider::OpenPinProvider(int32_t pin, Windows::Devices::Gpio::Provider::ProviderGpioSharingMode sharingMode) const +{ + Windows::Devices::Gpio::Provider::IGpioPinProvider gpioPinProvider; + check_hresult(WINRT_SHIM(IGpioControllerProvider)->abi_OpenPinProvider(pin, sharingMode, put_abi(gpioPinProvider))); + return gpioPinProvider; +} + +template Windows::Foundation::Collections::IVectorView impl_IGpioProvider::GetControllers() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IGpioProvider)->abi_GetControllers(put_abi(result))); + return result; +} + +inline GpioPinProviderValueChangedEventArgs::GpioPinProviderValueChangedEventArgs(Windows::Devices::Gpio::Provider::ProviderGpioPinEdge edge) : + GpioPinProviderValueChangedEventArgs(get_activation_factory().Create(edge)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::Provider::IGpioControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::Provider::IGpioPinProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::Provider::IGpioPinProviderValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::Provider::IGpioPinProviderValueChangedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::Provider::IGpioProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::Provider::GpioPinProviderValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Gpio.h b/10.0.15042.0/winrt/Windows.Devices.Gpio.h new file mode 100644 index 000000000..1214bd3ef --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Gpio.h @@ -0,0 +1,1114 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Devices.Gpio.Provider.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Gpio.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Polarity(Windows::Devices::Gpio::GpioChangePolarity value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Polarity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Polarity(Windows::Devices::Gpio::GpioChangePolarity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Polarity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStarted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStarted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Read(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Read()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in pin, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&pin))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Capacity(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEmpty(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEmpty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOverflowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOverflowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Polarity(Windows::Devices::Gpio::GpioChangePolarity value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Polarity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Polarity(Windows::Devices::Gpio::GpioChangePolarity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Polarity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStarted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStarted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNextItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNextItem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PeekNextItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeekNextItem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAllItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WaitForItemsAsync(int32_t count, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WaitForItemsAsync(count)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in pin, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&pin))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithCapacity(impl::abi_arg_in pin, int32_t minCapacity, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithCapacity(*reinterpret_cast(&pin), minCapacity)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PinCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenPin(int32_t pinNumber, impl::abi_arg_out pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pin = detach_abi(this->shim().OpenPin(pinNumber)); + return S_OK; + } + catch (...) + { + *pin = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenPinWithSharingMode(int32_t pinNumber, Windows::Devices::Gpio::GpioSharingMode sharingMode, impl::abi_arg_out pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pin = detach_abi(this->shim().OpenPin(pinNumber, sharingMode)); + return S_OK; + } + catch (...) + { + *pin = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryOpenPin(int32_t pinNumber, Windows::Devices::Gpio::GpioSharingMode sharingMode, impl::abi_arg_out pin, Windows::Devices::Gpio::GpioOpenStatus * openStatus, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TryOpenPin(pinNumber, sharingMode, *pin, *openStatus)); + return S_OK; + } + catch (...) + { + *pin = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllersAsync(impl::abi_arg_in provider, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetControllersAsync(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ValueChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ValueChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ValueChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValueChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DebounceTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DebounceTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DebounceTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DebounceTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PinNumber(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Devices::Gpio::GpioSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsDriveModeSupported(Windows::Devices::Gpio::GpioPinDriveMode driveMode, bool * supported) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *supported = detach_abi(this->shim().IsDriveModeSupported(driveMode)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDriveMode(Windows::Devices::Gpio::GpioPinDriveMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDriveMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDriveMode(Windows::Devices::Gpio::GpioPinDriveMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDriveMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Write(Windows::Devices::Gpio::GpioPinValue value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Write(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Read(Windows::Devices::Gpio::GpioPinValue * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Read()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Edge(Windows::Devices::Gpio::GpioPinEdge * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Edge()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Gpio { + +template Windows::Devices::Gpio::GpioPinEdge impl_IGpioPinValueChangedEventArgs::Edge() const +{ + Windows::Devices::Gpio::GpioPinEdge value {}; + check_hresult(WINRT_SHIM(IGpioPinValueChangedEventArgs)->get_Edge(&value)); + return value; +} + +template int32_t impl_IGpioController::PinCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGpioController)->get_PinCount(&value)); + return value; +} + +template Windows::Devices::Gpio::GpioPin impl_IGpioController::OpenPin(int32_t pinNumber) const +{ + Windows::Devices::Gpio::GpioPin pin { nullptr }; + check_hresult(WINRT_SHIM(IGpioController)->abi_OpenPin(pinNumber, put_abi(pin))); + return pin; +} + +template Windows::Devices::Gpio::GpioPin impl_IGpioController::OpenPin(int32_t pinNumber, Windows::Devices::Gpio::GpioSharingMode sharingMode) const +{ + Windows::Devices::Gpio::GpioPin pin { nullptr }; + check_hresult(WINRT_SHIM(IGpioController)->abi_OpenPinWithSharingMode(pinNumber, sharingMode, put_abi(pin))); + return pin; +} + +template bool impl_IGpioController::TryOpenPin(int32_t pinNumber, Windows::Devices::Gpio::GpioSharingMode sharingMode, Windows::Devices::Gpio::GpioPin & pin, Windows::Devices::Gpio::GpioOpenStatus & openStatus) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IGpioController)->abi_TryOpenPin(pinNumber, sharingMode, put_abi(pin), &openStatus, &succeeded)); + return succeeded; +} + +template Windows::Devices::Gpio::GpioController impl_IGpioControllerStatics::GetDefault() const +{ + Windows::Devices::Gpio::GpioController value { nullptr }; + check_hresult(WINRT_SHIM(IGpioControllerStatics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IGpioControllerStatics2::GetControllersAsync(const Windows::Devices::Gpio::Provider::IGpioProvider & provider) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IGpioControllerStatics2)->abi_GetControllersAsync(get_abi(provider), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGpioControllerStatics2::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGpioControllerStatics2)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template Windows::Devices::Gpio::GpioChangeReader impl_IGpioChangeReaderFactory::Create(const Windows::Devices::Gpio::GpioPin & pin) const +{ + Windows::Devices::Gpio::GpioChangeReader value { nullptr }; + check_hresult(WINRT_SHIM(IGpioChangeReaderFactory)->abi_Create(get_abi(pin), put_abi(value))); + return value; +} + +template Windows::Devices::Gpio::GpioChangeReader impl_IGpioChangeReaderFactory::CreateWithCapacity(const Windows::Devices::Gpio::GpioPin & pin, int32_t minCapacity) const +{ + Windows::Devices::Gpio::GpioChangeReader value { nullptr }; + check_hresult(WINRT_SHIM(IGpioChangeReaderFactory)->abi_CreateWithCapacity(get_abi(pin), minCapacity, put_abi(value))); + return value; +} + +template Windows::Devices::Gpio::GpioChangeCounter impl_IGpioChangeCounterFactory::Create(const Windows::Devices::Gpio::GpioPin & pin) const +{ + Windows::Devices::Gpio::GpioChangeCounter value { nullptr }; + check_hresult(WINRT_SHIM(IGpioChangeCounterFactory)->abi_Create(get_abi(pin), put_abi(value))); + return value; +} + +template event_token impl_IGpioPin::ValueChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGpioPin)->add_ValueChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGpioPin::ValueChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Gpio::IGpioPin::remove_ValueChanged, ValueChanged(handler)); +} + +template void impl_IGpioPin::ValueChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGpioPin)->remove_ValueChanged(token)); +} + +template Windows::Foundation::TimeSpan impl_IGpioPin::DebounceTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGpioPin)->get_DebounceTimeout(put_abi(value))); + return value; +} + +template void impl_IGpioPin::DebounceTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IGpioPin)->put_DebounceTimeout(get_abi(value))); +} + +template int32_t impl_IGpioPin::PinNumber() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGpioPin)->get_PinNumber(&value)); + return value; +} + +template Windows::Devices::Gpio::GpioSharingMode impl_IGpioPin::SharingMode() const +{ + Windows::Devices::Gpio::GpioSharingMode value {}; + check_hresult(WINRT_SHIM(IGpioPin)->get_SharingMode(&value)); + return value; +} + +template bool impl_IGpioPin::IsDriveModeSupported(Windows::Devices::Gpio::GpioPinDriveMode driveMode) const +{ + bool supported {}; + check_hresult(WINRT_SHIM(IGpioPin)->abi_IsDriveModeSupported(driveMode, &supported)); + return supported; +} + +template Windows::Devices::Gpio::GpioPinDriveMode impl_IGpioPin::GetDriveMode() const +{ + Windows::Devices::Gpio::GpioPinDriveMode value {}; + check_hresult(WINRT_SHIM(IGpioPin)->abi_GetDriveMode(&value)); + return value; +} + +template void impl_IGpioPin::SetDriveMode(Windows::Devices::Gpio::GpioPinDriveMode value) const +{ + check_hresult(WINRT_SHIM(IGpioPin)->abi_SetDriveMode(value)); +} + +template void impl_IGpioPin::Write(Windows::Devices::Gpio::GpioPinValue value) const +{ + check_hresult(WINRT_SHIM(IGpioPin)->abi_Write(value)); +} + +template Windows::Devices::Gpio::GpioPinValue impl_IGpioPin::Read() const +{ + Windows::Devices::Gpio::GpioPinValue value {}; + check_hresult(WINRT_SHIM(IGpioPin)->abi_Read(&value)); + return value; +} + +template int32_t impl_IGpioChangeReader::Capacity() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->get_Capacity(&value)); + return value; +} + +template int32_t impl_IGpioChangeReader::Length() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->get_Length(&value)); + return value; +} + +template bool impl_IGpioChangeReader::IsEmpty() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->get_IsEmpty(&value)); + return value; +} + +template bool impl_IGpioChangeReader::IsOverflowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->get_IsOverflowed(&value)); + return value; +} + +template void impl_IGpioChangeReader::Polarity(Windows::Devices::Gpio::GpioChangePolarity value) const +{ + check_hresult(WINRT_SHIM(IGpioChangeReader)->put_Polarity(value)); +} + +template Windows::Devices::Gpio::GpioChangePolarity impl_IGpioChangeReader::Polarity() const +{ + Windows::Devices::Gpio::GpioChangePolarity value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->get_Polarity(&value)); + return value; +} + +template bool impl_IGpioChangeReader::IsStarted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->get_IsStarted(&value)); + return value; +} + +template void impl_IGpioChangeReader::Start() const +{ + check_hresult(WINRT_SHIM(IGpioChangeReader)->abi_Start()); +} + +template void impl_IGpioChangeReader::Stop() const +{ + check_hresult(WINRT_SHIM(IGpioChangeReader)->abi_Stop()); +} + +template void impl_IGpioChangeReader::Clear() const +{ + check_hresult(WINRT_SHIM(IGpioChangeReader)->abi_Clear()); +} + +template Windows::Devices::Gpio::GpioChangeRecord impl_IGpioChangeReader::GetNextItem() const +{ + Windows::Devices::Gpio::GpioChangeRecord value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->abi_GetNextItem(put_abi(value))); + return value; +} + +template Windows::Devices::Gpio::GpioChangeRecord impl_IGpioChangeReader::PeekNextItem() const +{ + Windows::Devices::Gpio::GpioChangeRecord value {}; + check_hresult(WINRT_SHIM(IGpioChangeReader)->abi_PeekNextItem(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IGpioChangeReader::GetAllItems() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IGpioChangeReader)->abi_GetAllItems(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IGpioChangeReader::WaitForItemsAsync(int32_t count) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IGpioChangeReader)->abi_WaitForItemsAsync(count, put_abi(operation))); + return operation; +} + +template void impl_IGpioChangeCounter::Polarity(Windows::Devices::Gpio::GpioChangePolarity value) const +{ + check_hresult(WINRT_SHIM(IGpioChangeCounter)->put_Polarity(value)); +} + +template Windows::Devices::Gpio::GpioChangePolarity impl_IGpioChangeCounter::Polarity() const +{ + Windows::Devices::Gpio::GpioChangePolarity value {}; + check_hresult(WINRT_SHIM(IGpioChangeCounter)->get_Polarity(&value)); + return value; +} + +template bool impl_IGpioChangeCounter::IsStarted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGpioChangeCounter)->get_IsStarted(&value)); + return value; +} + +template void impl_IGpioChangeCounter::Start() const +{ + check_hresult(WINRT_SHIM(IGpioChangeCounter)->abi_Start()); +} + +template void impl_IGpioChangeCounter::Stop() const +{ + check_hresult(WINRT_SHIM(IGpioChangeCounter)->abi_Stop()); +} + +template Windows::Devices::Gpio::GpioChangeCount impl_IGpioChangeCounter::Read() const +{ + Windows::Devices::Gpio::GpioChangeCount value {}; + check_hresult(WINRT_SHIM(IGpioChangeCounter)->abi_Read(put_abi(value))); + return value; +} + +template Windows::Devices::Gpio::GpioChangeCount impl_IGpioChangeCounter::Reset() const +{ + Windows::Devices::Gpio::GpioChangeCount value {}; + check_hresult(WINRT_SHIM(IGpioChangeCounter)->abi_Reset(put_abi(value))); + return value; +} + +inline GpioChangeCounter::GpioChangeCounter(const Windows::Devices::Gpio::GpioPin & pin) : + GpioChangeCounter(get_activation_factory().Create(pin)) +{} + +inline GpioChangeReader::GpioChangeReader(const Windows::Devices::Gpio::GpioPin & pin) : + GpioChangeReader(get_activation_factory().Create(pin)) +{} + +inline GpioChangeReader::GpioChangeReader(const Windows::Devices::Gpio::GpioPin & pin, int32_t minCapacity) : + GpioChangeReader(get_activation_factory().CreateWithCapacity(pin, minCapacity)) +{} + +inline Windows::Devices::Gpio::GpioController GpioController::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Foundation::IAsyncOperation> GpioController::GetControllersAsync(const Windows::Devices::Gpio::Provider::IGpioProvider & provider) +{ + return get_activation_factory().GetControllersAsync(provider); +} + +inline Windows::Foundation::IAsyncOperation GpioController::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioChangeCounter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioChangeCounterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioChangeReaderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioControllerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioPin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::IGpioPinValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::GpioChangeCounter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::GpioChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::GpioController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::GpioPin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Gpio::GpioPinValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Haptics.h b/10.0.15042.0/winrt/Windows.Devices.Haptics.h new file mode 100644 index 000000000..75b7daee3 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Haptics.h @@ -0,0 +1,692 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Haptics.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Click(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Click()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BuzzContinuous(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuzzContinuous()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RumbleContinuous(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RumbleContinuous()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Press(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Press()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Release(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Release()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedFeedback(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedFeedback()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIntensitySupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIntensitySupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlayCountSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlayCountSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlayDurationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlayDurationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReplayPauseIntervalSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReplayPauseIntervalSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopFeedback() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopFeedback(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendHapticFeedback(impl::abi_arg_in feedback) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendHapticFeedback(*reinterpret_cast(&feedback)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendHapticFeedbackWithIntensity(impl::abi_arg_in feedback, double intensity) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendHapticFeedback(*reinterpret_cast(&feedback), intensity); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendHapticFeedbackForDuration(impl::abi_arg_in feedback, double intensity, impl::abi_arg_in playDuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendHapticFeedbackForDuration(*reinterpret_cast(&feedback), intensity, *reinterpret_cast(&playDuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendHapticFeedbackForPlayCount(impl::abi_arg_in feedback, double intensity, int32_t playCount, impl::abi_arg_in replayPauseInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendHapticFeedbackForPlayCount(*reinterpret_cast(&feedback), intensity, playCount, *reinterpret_cast(&replayPauseInterval)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Waveform(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Waveform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Haptics { + +template uint16_t impl_IKnownSimpleHapticsControllerWaveformsStatics::Click() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IKnownSimpleHapticsControllerWaveformsStatics)->get_Click(&value)); + return value; +} + +template uint16_t impl_IKnownSimpleHapticsControllerWaveformsStatics::BuzzContinuous() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IKnownSimpleHapticsControllerWaveformsStatics)->get_BuzzContinuous(&value)); + return value; +} + +template uint16_t impl_IKnownSimpleHapticsControllerWaveformsStatics::RumbleContinuous() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IKnownSimpleHapticsControllerWaveformsStatics)->get_RumbleContinuous(&value)); + return value; +} + +template uint16_t impl_IKnownSimpleHapticsControllerWaveformsStatics::Press() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IKnownSimpleHapticsControllerWaveformsStatics)->get_Press(&value)); + return value; +} + +template uint16_t impl_IKnownSimpleHapticsControllerWaveformsStatics::Release() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IKnownSimpleHapticsControllerWaveformsStatics)->get_Release(&value)); + return value; +} + +template uint16_t impl_ISimpleHapticsControllerFeedback::Waveform() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISimpleHapticsControllerFeedback)->get_Waveform(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISimpleHapticsControllerFeedback::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISimpleHapticsControllerFeedback)->get_Duration(put_abi(value))); + return value; +} + +template hstring impl_ISimpleHapticsController::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISimpleHapticsController)->get_Id(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISimpleHapticsController::SupportedFeedback() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISimpleHapticsController)->get_SupportedFeedback(put_abi(value))); + return value; +} + +template bool impl_ISimpleHapticsController::IsIntensitySupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISimpleHapticsController)->get_IsIntensitySupported(&value)); + return value; +} + +template bool impl_ISimpleHapticsController::IsPlayCountSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISimpleHapticsController)->get_IsPlayCountSupported(&value)); + return value; +} + +template bool impl_ISimpleHapticsController::IsPlayDurationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISimpleHapticsController)->get_IsPlayDurationSupported(&value)); + return value; +} + +template bool impl_ISimpleHapticsController::IsReplayPauseIntervalSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISimpleHapticsController)->get_IsReplayPauseIntervalSupported(&value)); + return value; +} + +template void impl_ISimpleHapticsController::StopFeedback() const +{ + check_hresult(WINRT_SHIM(ISimpleHapticsController)->abi_StopFeedback()); +} + +template void impl_ISimpleHapticsController::SendHapticFeedback(const Windows::Devices::Haptics::SimpleHapticsControllerFeedback & feedback) const +{ + check_hresult(WINRT_SHIM(ISimpleHapticsController)->abi_SendHapticFeedback(get_abi(feedback))); +} + +template void impl_ISimpleHapticsController::SendHapticFeedback(const Windows::Devices::Haptics::SimpleHapticsControllerFeedback & feedback, double intensity) const +{ + check_hresult(WINRT_SHIM(ISimpleHapticsController)->abi_SendHapticFeedbackWithIntensity(get_abi(feedback), intensity)); +} + +template void impl_ISimpleHapticsController::SendHapticFeedbackForDuration(const Windows::Devices::Haptics::SimpleHapticsControllerFeedback & feedback, double intensity, const Windows::Foundation::TimeSpan & playDuration) const +{ + check_hresult(WINRT_SHIM(ISimpleHapticsController)->abi_SendHapticFeedbackForDuration(get_abi(feedback), intensity, get_abi(playDuration))); +} + +template void impl_ISimpleHapticsController::SendHapticFeedbackForPlayCount(const Windows::Devices::Haptics::SimpleHapticsControllerFeedback & feedback, double intensity, int32_t playCount, const Windows::Foundation::TimeSpan & replayPauseInterval) const +{ + check_hresult(WINRT_SHIM(ISimpleHapticsController)->abi_SendHapticFeedbackForPlayCount(get_abi(feedback), intensity, playCount, get_abi(replayPauseInterval))); +} + +template Windows::Foundation::IAsyncOperation impl_IVibrationDeviceStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVibrationDeviceStatics)->abi_RequestAccessAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IVibrationDeviceStatics::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(IVibrationDeviceStatics)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IVibrationDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVibrationDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVibrationDeviceStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVibrationDeviceStatics)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IVibrationDeviceStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IVibrationDeviceStatics)->abi_FindAllAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IVibrationDevice::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVibrationDevice)->get_Id(put_abi(value))); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IVibrationDevice::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IVibrationDevice)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +inline uint16_t KnownSimpleHapticsControllerWaveforms::Click() +{ + return get_activation_factory().Click(); +} + +inline uint16_t KnownSimpleHapticsControllerWaveforms::BuzzContinuous() +{ + return get_activation_factory().BuzzContinuous(); +} + +inline uint16_t KnownSimpleHapticsControllerWaveforms::RumbleContinuous() +{ + return get_activation_factory().RumbleContinuous(); +} + +inline uint16_t KnownSimpleHapticsControllerWaveforms::Press() +{ + return get_activation_factory().Press(); +} + +inline uint16_t KnownSimpleHapticsControllerWaveforms::Release() +{ + return get_activation_factory().Release(); +} + +inline Windows::Foundation::IAsyncOperation VibrationDevice::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline hstring VibrationDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation VibrationDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation VibrationDevice::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation> VibrationDevice::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::IKnownSimpleHapticsControllerWaveformsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::ISimpleHapticsController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::ISimpleHapticsControllerFeedback & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::IVibrationDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::IVibrationDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::SimpleHapticsController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::SimpleHapticsControllerFeedback & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Haptics::VibrationDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.HumanInterfaceDevice.h b/10.0.15042.0/winrt/Windows.Devices.HumanInterfaceDevice.h new file mode 100644 index 000000000..ecfe3e6fd --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.HumanInterfaceDevice.h @@ -0,0 +1,2147 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.HumanInterfaceDevice.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsagePage(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsagePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsageId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsageId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsActive(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsActive(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportType(Windows::Devices::HumanInterfaceDevice::HidReportType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsagePage(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsagePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsageId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsageId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentCollections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentCollections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsAbsolute(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAbsolute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Devices::HumanInterfaceDevice::HidCollectionType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsagePage(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsagePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsageId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsageId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VendorId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VendorId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProductId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Version(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Version()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsagePage(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsagePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsageId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsageId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInputReportAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetInputReportAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInputReportByIdAsync(uint16_t reportId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetInputReportAsync(reportId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFeatureReportAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetFeatureReportAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFeatureReportByIdAsync(uint16_t reportId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetFeatureReportAsync(reportId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateOutputReport(impl::abi_arg_out outputReport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outputReport = detach_abi(this->shim().CreateOutputReport()); + return S_OK; + } + catch (...) + { + *outputReport = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateOutputReportById(uint16_t reportId, impl::abi_arg_out outputReport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outputReport = detach_abi(this->shim().CreateOutputReport(reportId)); + return S_OK; + } + catch (...) + { + *outputReport = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFeatureReport(impl::abi_arg_out featureReport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *featureReport = detach_abi(this->shim().CreateFeatureReport()); + return S_OK; + } + catch (...) + { + *featureReport = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFeatureReportById(uint16_t reportId, impl::abi_arg_out featureReport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *featureReport = detach_abi(this->shim().CreateFeatureReport(reportId)); + return S_OK; + } + catch (...) + { + *featureReport = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendOutputReportAsync(impl::abi_arg_in outputReport, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendOutputReportAsync(*reinterpret_cast(&outputReport))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendFeatureReportAsync(impl::abi_arg_in featureReport, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendFeatureReportAsync(*reinterpret_cast(&featureReport))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanControlDescriptions(Windows::Devices::HumanInterfaceDevice::HidReportType reportType, uint16_t usagePage, uint16_t usageId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBooleanControlDescriptions(reportType, usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericControlDescriptions(Windows::Devices::HumanInterfaceDevice::HidReportType reportType, uint16_t usagePage, uint16_t usageId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericControlDescriptions(reportType, usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_InputReportReceived(impl::abi_arg_in> reportHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().InputReportReceived(*reinterpret_cast *>(&reportHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_InputReportReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputReportReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(uint16_t usagePage, uint16_t usageId, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector(usagePage, usageId)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorVidPid(uint16_t usagePage, uint16_t usageId, uint16_t vendorId, uint16_t productId, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector(usagePage, usageId, vendorId, productId)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, Windows::Storage::FileAccessMode accessMode, impl::abi_arg_out> hidDevice) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *hidDevice = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId), accessMode)); + return S_OK; + } + catch (...) + { + *hidDevice = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanControl(uint16_t usagePage, uint16_t usageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBooleanControl(usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanControlByDescription(impl::abi_arg_in controlDescription, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBooleanControlByDescription(*reinterpret_cast(&controlDescription))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericControl(uint16_t usagePage, uint16_t usageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericControl(usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericControlByDescription(impl::abi_arg_in controlDescription, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericControlByDescription(*reinterpret_cast(&controlDescription))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActivatedBooleanControls(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivatedBooleanControls()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitionedBooleanControls(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitionedBooleanControls()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanControl(uint16_t usagePage, uint16_t usageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBooleanControl(usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanControlByDescription(impl::abi_arg_in controlDescription, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBooleanControlByDescription(*reinterpret_cast(&controlDescription))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericControl(uint16_t usagePage, uint16_t usageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericControl(usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericControlByDescription(impl::abi_arg_in controlDescription, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericControlByDescription(*reinterpret_cast(&controlDescription))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Report(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Report()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGrouped(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGrouped()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsagePage(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsagePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsageId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsageId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(int64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaledValue(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaledValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScaledValue(int64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScaledValue(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportType(Windows::Devices::HumanInterfaceDevice::HidReportType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsagePage(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsagePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsageId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsageId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogicalMinimum(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogicalMinimum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogicalMaximum(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogicalMaximum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalMinimum(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalMinimum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalMaximum(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalMaximum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnitExponent(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnitExponent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Unit(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAbsolute(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAbsolute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNull(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNull()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentCollections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentCollections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanControl(uint16_t usagePage, uint16_t usageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBooleanControl(usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBooleanControlByDescription(impl::abi_arg_in controlDescription, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBooleanControlByDescription(*reinterpret_cast(&controlDescription))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericControl(uint16_t usagePage, uint16_t usageId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericControl(usagePage, usageId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNumericControlByDescription(impl::abi_arg_in controlDescription, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNumericControlByDescription(*reinterpret_cast(&controlDescription))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::HumanInterfaceDevice { + +template hstring impl_IHidDeviceStatics::GetDeviceSelector(uint16_t usagePage, uint16_t usageId) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IHidDeviceStatics)->abi_GetDeviceSelector(usagePage, usageId, put_abi(selector))); + return selector; +} + +template hstring impl_IHidDeviceStatics::GetDeviceSelector(uint16_t usagePage, uint16_t usageId, uint16_t vendorId, uint16_t productId) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IHidDeviceStatics)->abi_GetDeviceSelectorVidPid(usagePage, usageId, vendorId, productId, put_abi(selector))); + return selector; +} + +template Windows::Foundation::IAsyncOperation impl_IHidDeviceStatics::FromIdAsync(hstring_view deviceId, Windows::Storage::FileAccessMode accessMode) const +{ + Windows::Foundation::IAsyncOperation hidDevice; + check_hresult(WINRT_SHIM(IHidDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), accessMode, put_abi(hidDevice))); + return hidDevice; +} + +template uint16_t impl_IHidDevice::VendorId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidDevice)->get_VendorId(&value)); + return value; +} + +template uint16_t impl_IHidDevice::ProductId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidDevice)->get_ProductId(&value)); + return value; +} + +template uint16_t impl_IHidDevice::Version() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidDevice)->get_Version(&value)); + return value; +} + +template uint16_t impl_IHidDevice::UsagePage() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidDevice)->get_UsagePage(&value)); + return value; +} + +template uint16_t impl_IHidDevice::UsageId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidDevice)->get_UsageId(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IHidDevice::GetInputReportAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IHidDevice)->abi_GetInputReportAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IHidDevice::GetInputReportAsync(uint16_t reportId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IHidDevice)->abi_GetInputReportByIdAsync(reportId, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IHidDevice::GetFeatureReportAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IHidDevice)->abi_GetFeatureReportAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IHidDevice::GetFeatureReportAsync(uint16_t reportId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IHidDevice)->abi_GetFeatureReportByIdAsync(reportId, put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidOutputReport impl_IHidDevice::CreateOutputReport() const +{ + Windows::Devices::HumanInterfaceDevice::HidOutputReport outputReport { nullptr }; + check_hresult(WINRT_SHIM(IHidDevice)->abi_CreateOutputReport(put_abi(outputReport))); + return outputReport; +} + +template Windows::Devices::HumanInterfaceDevice::HidOutputReport impl_IHidDevice::CreateOutputReport(uint16_t reportId) const +{ + Windows::Devices::HumanInterfaceDevice::HidOutputReport outputReport { nullptr }; + check_hresult(WINRT_SHIM(IHidDevice)->abi_CreateOutputReportById(reportId, put_abi(outputReport))); + return outputReport; +} + +template Windows::Devices::HumanInterfaceDevice::HidFeatureReport impl_IHidDevice::CreateFeatureReport() const +{ + Windows::Devices::HumanInterfaceDevice::HidFeatureReport featureReport { nullptr }; + check_hresult(WINRT_SHIM(IHidDevice)->abi_CreateFeatureReport(put_abi(featureReport))); + return featureReport; +} + +template Windows::Devices::HumanInterfaceDevice::HidFeatureReport impl_IHidDevice::CreateFeatureReport(uint16_t reportId) const +{ + Windows::Devices::HumanInterfaceDevice::HidFeatureReport featureReport { nullptr }; + check_hresult(WINRT_SHIM(IHidDevice)->abi_CreateFeatureReportById(reportId, put_abi(featureReport))); + return featureReport; +} + +template Windows::Foundation::IAsyncOperation impl_IHidDevice::SendOutputReportAsync(const Windows::Devices::HumanInterfaceDevice::HidOutputReport & outputReport) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IHidDevice)->abi_SendOutputReportAsync(get_abi(outputReport), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IHidDevice::SendFeatureReportAsync(const Windows::Devices::HumanInterfaceDevice::HidFeatureReport & featureReport) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IHidDevice)->abi_SendFeatureReportAsync(get_abi(featureReport), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IHidDevice::GetBooleanControlDescriptions(Windows::Devices::HumanInterfaceDevice::HidReportType reportType, uint16_t usagePage, uint16_t usageId) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHidDevice)->abi_GetBooleanControlDescriptions(reportType, usagePage, usageId, put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHidDevice::GetNumericControlDescriptions(Windows::Devices::HumanInterfaceDevice::HidReportType reportType, uint16_t usagePage, uint16_t usageId) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHidDevice)->abi_GetNumericControlDescriptions(reportType, usagePage, usageId, put_abi(value))); + return value; +} + +template event_token impl_IHidDevice::InputReportReceived(const Windows::Foundation::TypedEventHandler & reportHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHidDevice)->add_InputReportReceived(get_abi(reportHandler), &token)); + return token; +} + +template event_revoker impl_IHidDevice::InputReportReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & reportHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::HumanInterfaceDevice::IHidDevice::remove_InputReportReceived, InputReportReceived(reportHandler)); +} + +template void impl_IHidDevice::InputReportReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IHidDevice)->remove_InputReportReceived(token)); +} + +template uint32_t impl_IHidBooleanControlDescription::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidBooleanControlDescription)->get_Id(&value)); + return value; +} + +template uint16_t impl_IHidBooleanControlDescription::ReportId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidBooleanControlDescription)->get_ReportId(&value)); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidReportType impl_IHidBooleanControlDescription::ReportType() const +{ + Windows::Devices::HumanInterfaceDevice::HidReportType value {}; + check_hresult(WINRT_SHIM(IHidBooleanControlDescription)->get_ReportType(&value)); + return value; +} + +template uint16_t impl_IHidBooleanControlDescription::UsagePage() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidBooleanControlDescription)->get_UsagePage(&value)); + return value; +} + +template uint16_t impl_IHidBooleanControlDescription::UsageId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidBooleanControlDescription)->get_UsageId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHidBooleanControlDescription::ParentCollections() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHidBooleanControlDescription)->get_ParentCollections(put_abi(value))); + return value; +} + +template bool impl_IHidBooleanControlDescription2::IsAbsolute() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHidBooleanControlDescription2)->get_IsAbsolute(&value)); + return value; +} + +template uint32_t impl_IHidNumericControlDescription::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_Id(&value)); + return value; +} + +template uint16_t impl_IHidNumericControlDescription::ReportId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_ReportId(&value)); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidReportType impl_IHidNumericControlDescription::ReportType() const +{ + Windows::Devices::HumanInterfaceDevice::HidReportType value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_ReportType(&value)); + return value; +} + +template uint32_t impl_IHidNumericControlDescription::ReportSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_ReportSize(&value)); + return value; +} + +template uint32_t impl_IHidNumericControlDescription::ReportCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_ReportCount(&value)); + return value; +} + +template uint16_t impl_IHidNumericControlDescription::UsagePage() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_UsagePage(&value)); + return value; +} + +template uint16_t impl_IHidNumericControlDescription::UsageId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_UsageId(&value)); + return value; +} + +template int32_t impl_IHidNumericControlDescription::LogicalMinimum() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_LogicalMinimum(&value)); + return value; +} + +template int32_t impl_IHidNumericControlDescription::LogicalMaximum() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_LogicalMaximum(&value)); + return value; +} + +template int32_t impl_IHidNumericControlDescription::PhysicalMinimum() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_PhysicalMinimum(&value)); + return value; +} + +template int32_t impl_IHidNumericControlDescription::PhysicalMaximum() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_PhysicalMaximum(&value)); + return value; +} + +template uint32_t impl_IHidNumericControlDescription::UnitExponent() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_UnitExponent(&value)); + return value; +} + +template uint32_t impl_IHidNumericControlDescription::Unit() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_Unit(&value)); + return value; +} + +template bool impl_IHidNumericControlDescription::IsAbsolute() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_IsAbsolute(&value)); + return value; +} + +template bool impl_IHidNumericControlDescription::HasNull() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_HasNull(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHidNumericControlDescription::ParentCollections() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHidNumericControlDescription)->get_ParentCollections(put_abi(value))); + return value; +} + +template uint32_t impl_IHidCollection::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidCollection)->get_Id(&value)); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidCollectionType impl_IHidCollection::Type() const +{ + Windows::Devices::HumanInterfaceDevice::HidCollectionType value {}; + check_hresult(WINRT_SHIM(IHidCollection)->get_Type(&value)); + return value; +} + +template uint32_t impl_IHidCollection::UsagePage() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidCollection)->get_UsagePage(&value)); + return value; +} + +template uint32_t impl_IHidCollection::UsageId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidCollection)->get_UsageId(&value)); + return value; +} + +template uint16_t impl_IHidInputReport::Id() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidInputReport)->get_Id(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IHidInputReport::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHidInputReport)->get_Data(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHidInputReport::ActivatedBooleanControls() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHidInputReport)->get_ActivatedBooleanControls(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHidInputReport::TransitionedBooleanControls() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHidInputReport)->get_TransitionedBooleanControls(put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidBooleanControl impl_IHidInputReport::GetBooleanControl(uint16_t usagePage, uint16_t usageId) const +{ + Windows::Devices::HumanInterfaceDevice::HidBooleanControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidInputReport)->abi_GetBooleanControl(usagePage, usageId, put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidBooleanControl impl_IHidInputReport::GetBooleanControlByDescription(const Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription & controlDescription) const +{ + Windows::Devices::HumanInterfaceDevice::HidBooleanControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidInputReport)->abi_GetBooleanControlByDescription(get_abi(controlDescription), put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidNumericControl impl_IHidInputReport::GetNumericControl(uint16_t usagePage, uint16_t usageId) const +{ + Windows::Devices::HumanInterfaceDevice::HidNumericControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidInputReport)->abi_GetNumericControl(usagePage, usageId, put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidNumericControl impl_IHidInputReport::GetNumericControlByDescription(const Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription & controlDescription) const +{ + Windows::Devices::HumanInterfaceDevice::HidNumericControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidInputReport)->abi_GetNumericControlByDescription(get_abi(controlDescription), put_abi(value))); + return value; +} + +template uint16_t impl_IHidOutputReport::Id() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidOutputReport)->get_Id(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IHidOutputReport::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHidOutputReport)->get_Data(put_abi(value))); + return value; +} + +template void impl_IHidOutputReport::Data(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IHidOutputReport)->put_Data(get_abi(value))); +} + +template Windows::Devices::HumanInterfaceDevice::HidBooleanControl impl_IHidOutputReport::GetBooleanControl(uint16_t usagePage, uint16_t usageId) const +{ + Windows::Devices::HumanInterfaceDevice::HidBooleanControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidOutputReport)->abi_GetBooleanControl(usagePage, usageId, put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidBooleanControl impl_IHidOutputReport::GetBooleanControlByDescription(const Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription & controlDescription) const +{ + Windows::Devices::HumanInterfaceDevice::HidBooleanControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidOutputReport)->abi_GetBooleanControlByDescription(get_abi(controlDescription), put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidNumericControl impl_IHidOutputReport::GetNumericControl(uint16_t usagePage, uint16_t usageId) const +{ + Windows::Devices::HumanInterfaceDevice::HidNumericControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidOutputReport)->abi_GetNumericControl(usagePage, usageId, put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidNumericControl impl_IHidOutputReport::GetNumericControlByDescription(const Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription & controlDescription) const +{ + Windows::Devices::HumanInterfaceDevice::HidNumericControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidOutputReport)->abi_GetNumericControlByDescription(get_abi(controlDescription), put_abi(value))); + return value; +} + +template uint16_t impl_IHidFeatureReport::Id() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidFeatureReport)->get_Id(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IHidFeatureReport::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHidFeatureReport)->get_Data(put_abi(value))); + return value; +} + +template void impl_IHidFeatureReport::Data(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IHidFeatureReport)->put_Data(get_abi(value))); +} + +template Windows::Devices::HumanInterfaceDevice::HidBooleanControl impl_IHidFeatureReport::GetBooleanControl(uint16_t usagePage, uint16_t usageId) const +{ + Windows::Devices::HumanInterfaceDevice::HidBooleanControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidFeatureReport)->abi_GetBooleanControl(usagePage, usageId, put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidBooleanControl impl_IHidFeatureReport::GetBooleanControlByDescription(const Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription & controlDescription) const +{ + Windows::Devices::HumanInterfaceDevice::HidBooleanControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidFeatureReport)->abi_GetBooleanControlByDescription(get_abi(controlDescription), put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidNumericControl impl_IHidFeatureReport::GetNumericControl(uint16_t usagePage, uint16_t usageId) const +{ + Windows::Devices::HumanInterfaceDevice::HidNumericControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidFeatureReport)->abi_GetNumericControl(usagePage, usageId, put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidNumericControl impl_IHidFeatureReport::GetNumericControlByDescription(const Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription & controlDescription) const +{ + Windows::Devices::HumanInterfaceDevice::HidNumericControl value { nullptr }; + check_hresult(WINRT_SHIM(IHidFeatureReport)->abi_GetNumericControlByDescription(get_abi(controlDescription), put_abi(value))); + return value; +} + +template Windows::Devices::HumanInterfaceDevice::HidInputReport impl_IHidInputReportReceivedEventArgs::Report() const +{ + Windows::Devices::HumanInterfaceDevice::HidInputReport value { nullptr }; + check_hresult(WINRT_SHIM(IHidInputReportReceivedEventArgs)->get_Report(put_abi(value))); + return value; +} + +template uint32_t impl_IHidBooleanControl::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidBooleanControl)->get_Id(&value)); + return value; +} + +template uint16_t impl_IHidBooleanControl::UsagePage() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidBooleanControl)->get_UsagePage(&value)); + return value; +} + +template uint16_t impl_IHidBooleanControl::UsageId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidBooleanControl)->get_UsageId(&value)); + return value; +} + +template bool impl_IHidBooleanControl::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHidBooleanControl)->get_IsActive(&value)); + return value; +} + +template void impl_IHidBooleanControl::IsActive(bool value) const +{ + check_hresult(WINRT_SHIM(IHidBooleanControl)->put_IsActive(value)); +} + +template Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription impl_IHidBooleanControl::ControlDescription() const +{ + Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription value { nullptr }; + check_hresult(WINRT_SHIM(IHidBooleanControl)->get_ControlDescription(put_abi(value))); + return value; +} + +template uint32_t impl_IHidNumericControl::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControl)->get_Id(&value)); + return value; +} + +template bool impl_IHidNumericControl::IsGrouped() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHidNumericControl)->get_IsGrouped(&value)); + return value; +} + +template uint16_t impl_IHidNumericControl::UsagePage() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControl)->get_UsagePage(&value)); + return value; +} + +template uint16_t impl_IHidNumericControl::UsageId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControl)->get_UsageId(&value)); + return value; +} + +template int64_t impl_IHidNumericControl::Value() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControl)->get_Value(&value)); + return value; +} + +template void impl_IHidNumericControl::Value(int64_t value) const +{ + check_hresult(WINRT_SHIM(IHidNumericControl)->put_Value(value)); +} + +template int64_t impl_IHidNumericControl::ScaledValue() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IHidNumericControl)->get_ScaledValue(&value)); + return value; +} + +template void impl_IHidNumericControl::ScaledValue(int64_t value) const +{ + check_hresult(WINRT_SHIM(IHidNumericControl)->put_ScaledValue(value)); +} + +template Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription impl_IHidNumericControl::ControlDescription() const +{ + Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription value { nullptr }; + check_hresult(WINRT_SHIM(IHidNumericControl)->get_ControlDescription(put_abi(value))); + return value; +} + +inline hstring HidDevice::GetDeviceSelector(uint16_t usagePage, uint16_t usageId) +{ + return get_activation_factory().GetDeviceSelector(usagePage, usageId); +} + +inline hstring HidDevice::GetDeviceSelector(uint16_t usagePage, uint16_t usageId, uint16_t vendorId, uint16_t productId) +{ + return get_activation_factory().GetDeviceSelector(usagePage, usageId, vendorId, productId); +} + +inline Windows::Foundation::IAsyncOperation HidDevice::FromIdAsync(hstring_view deviceId, Windows::Storage::FileAccessMode accessMode) +{ + return get_activation_factory().FromIdAsync(deviceId, accessMode); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidBooleanControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidBooleanControlDescription2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidFeatureReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidInputReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidInputReportReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidNumericControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidNumericControlDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::IHidOutputReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidBooleanControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidBooleanControlDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidFeatureReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidInputReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidInputReportReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidNumericControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidNumericControlDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::HumanInterfaceDevice::HidOutputReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.I2c.Provider.h b/10.0.15042.0/winrt/Windows.Devices.I2c.Provider.h new file mode 100644 index 000000000..2f150ddda --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.I2c.Provider.h @@ -0,0 +1,392 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.I2c.Provider.3.h" +#include "Windows.Devices.I2c.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceProvider(impl::abi_arg_in settings, impl::abi_arg_out device) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *device = detach_abi(this->shim().GetDeviceProvider(*reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *device = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Write(uint32_t __bufferSize, impl::abi_arg_in * buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Write(array_view(buffer, buffer + __bufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WritePartial(uint32_t __bufferSize, impl::abi_arg_in * buffer, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().WritePartial(array_view(buffer, buffer + __bufferSize))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Read(uint32_t __bufferSize, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Read(*buffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadPartial(uint32_t __bufferSize, impl::abi_arg_out buffer, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadPartial(*buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteRead(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteRead(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteReadPartial(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().WriteReadPartial(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllersAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetControllersAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SlaveAddress(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SlaveAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SlaveAddress(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SlaveAddress(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BusSpeed(Windows::Devices::I2c::Provider::ProviderI2cBusSpeed * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusSpeed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BusSpeed(Windows::Devices::I2c::Provider::ProviderI2cBusSpeed value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusSpeed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Devices::I2c::Provider::ProviderI2cSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SharingMode(Windows::Devices::I2c::Provider::ProviderI2cSharingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SharingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::I2c::Provider { + +template int32_t impl_IProviderI2cConnectionSettings::SlaveAddress() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IProviderI2cConnectionSettings)->get_SlaveAddress(&value)); + return value; +} + +template void impl_IProviderI2cConnectionSettings::SlaveAddress(int32_t value) const +{ + check_hresult(WINRT_SHIM(IProviderI2cConnectionSettings)->put_SlaveAddress(value)); +} + +template Windows::Devices::I2c::Provider::ProviderI2cBusSpeed impl_IProviderI2cConnectionSettings::BusSpeed() const +{ + Windows::Devices::I2c::Provider::ProviderI2cBusSpeed value {}; + check_hresult(WINRT_SHIM(IProviderI2cConnectionSettings)->get_BusSpeed(&value)); + return value; +} + +template void impl_IProviderI2cConnectionSettings::BusSpeed(Windows::Devices::I2c::Provider::ProviderI2cBusSpeed value) const +{ + check_hresult(WINRT_SHIM(IProviderI2cConnectionSettings)->put_BusSpeed(value)); +} + +template Windows::Devices::I2c::Provider::ProviderI2cSharingMode impl_IProviderI2cConnectionSettings::SharingMode() const +{ + Windows::Devices::I2c::Provider::ProviderI2cSharingMode value {}; + check_hresult(WINRT_SHIM(IProviderI2cConnectionSettings)->get_SharingMode(&value)); + return value; +} + +template void impl_IProviderI2cConnectionSettings::SharingMode(Windows::Devices::I2c::Provider::ProviderI2cSharingMode value) const +{ + check_hresult(WINRT_SHIM(IProviderI2cConnectionSettings)->put_SharingMode(value)); +} + +template Windows::Devices::I2c::Provider::II2cDeviceProvider impl_II2cControllerProvider::GetDeviceProvider(const Windows::Devices::I2c::Provider::ProviderI2cConnectionSettings & settings) const +{ + Windows::Devices::I2c::Provider::II2cDeviceProvider device; + check_hresult(WINRT_SHIM(II2cControllerProvider)->abi_GetDeviceProvider(get_abi(settings), put_abi(device))); + return device; +} + +template Windows::Foundation::IAsyncOperation> impl_II2cProvider::GetControllersAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(II2cProvider)->abi_GetControllersAsync(put_abi(operation))); + return operation; +} + +template hstring impl_II2cDeviceProvider::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(II2cDeviceProvider)->get_DeviceId(put_abi(value))); + return value; +} + +template void impl_II2cDeviceProvider::Write(array_view buffer) const +{ + check_hresult(WINRT_SHIM(II2cDeviceProvider)->abi_Write(buffer.size(), get_abi(buffer))); +} + +template Windows::Devices::I2c::Provider::ProviderI2cTransferResult impl_II2cDeviceProvider::WritePartial(array_view buffer) const +{ + Windows::Devices::I2c::Provider::ProviderI2cTransferResult result {}; + check_hresult(WINRT_SHIM(II2cDeviceProvider)->abi_WritePartial(buffer.size(), get_abi(buffer), put_abi(result))); + return result; +} + +template void impl_II2cDeviceProvider::Read(array_view buffer) const +{ + check_hresult(WINRT_SHIM(II2cDeviceProvider)->abi_Read(buffer.size(), get_abi(buffer))); +} + +template Windows::Devices::I2c::Provider::ProviderI2cTransferResult impl_II2cDeviceProvider::ReadPartial(array_view buffer) const +{ + Windows::Devices::I2c::Provider::ProviderI2cTransferResult result {}; + check_hresult(WINRT_SHIM(II2cDeviceProvider)->abi_ReadPartial(buffer.size(), get_abi(buffer), put_abi(result))); + return result; +} + +template void impl_II2cDeviceProvider::WriteRead(array_view writeBuffer, array_view readBuffer) const +{ + check_hresult(WINRT_SHIM(II2cDeviceProvider)->abi_WriteRead(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer))); +} + +template Windows::Devices::I2c::Provider::ProviderI2cTransferResult impl_II2cDeviceProvider::WriteReadPartial(array_view writeBuffer, array_view readBuffer) const +{ + Windows::Devices::I2c::Provider::ProviderI2cTransferResult result {}; + check_hresult(WINRT_SHIM(II2cDeviceProvider)->abi_WriteReadPartial(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer), put_abi(result))); + return result; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::Provider::II2cControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::Provider::II2cDeviceProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::Provider::II2cProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::Provider::IProviderI2cConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::Provider::ProviderI2cConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.I2c.h b/10.0.15042.0/winrt/Windows.Devices.I2c.h new file mode 100644 index 000000000..4da331528 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.I2c.h @@ -0,0 +1,599 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.I2c.Provider.3.h" +#include "internal/Windows.Devices.I2c.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SlaveAddress(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SlaveAddress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SlaveAddress(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SlaveAddress(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BusSpeed(Windows::Devices::I2c::I2cBusSpeed * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusSpeed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BusSpeed(Windows::Devices::I2c::I2cBusSpeed value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusSpeed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Devices::I2c::I2cSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SharingMode(Windows::Devices::I2c::I2cSharingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SharingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(int32_t slaveAddress, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(slaveAddress)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDevice(impl::abi_arg_in settings, impl::abi_arg_out device) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *device = detach_abi(this->shim().GetDevice(*reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *device = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllersAsync(impl::abi_arg_in provider, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetControllersAsync(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Write(uint32_t __bufferSize, impl::abi_arg_in * buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Write(array_view(buffer, buffer + __bufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WritePartial(uint32_t __bufferSize, impl::abi_arg_in * buffer, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().WritePartial(array_view(buffer, buffer + __bufferSize))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Read(uint32_t __bufferSize, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Read(*buffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadPartial(uint32_t __bufferSize, impl::abi_arg_out buffer, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReadPartial(*buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteRead(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteRead(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteReadPartial(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().WriteReadPartial(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromFriendlyName(impl::abi_arg_in friendlyName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(*reinterpret_cast(&friendlyName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_in settings, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::I2c { + +template Windows::Devices::I2c::I2cConnectionSettings impl_II2cConnectionSettingsFactory::Create(int32_t slaveAddress) const +{ + Windows::Devices::I2c::I2cConnectionSettings value { nullptr }; + check_hresult(WINRT_SHIM(II2cConnectionSettingsFactory)->abi_Create(slaveAddress, put_abi(value))); + return value; +} + +template int32_t impl_II2cConnectionSettings::SlaveAddress() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(II2cConnectionSettings)->get_SlaveAddress(&value)); + return value; +} + +template void impl_II2cConnectionSettings::SlaveAddress(int32_t value) const +{ + check_hresult(WINRT_SHIM(II2cConnectionSettings)->put_SlaveAddress(value)); +} + +template Windows::Devices::I2c::I2cBusSpeed impl_II2cConnectionSettings::BusSpeed() const +{ + Windows::Devices::I2c::I2cBusSpeed value {}; + check_hresult(WINRT_SHIM(II2cConnectionSettings)->get_BusSpeed(&value)); + return value; +} + +template void impl_II2cConnectionSettings::BusSpeed(Windows::Devices::I2c::I2cBusSpeed value) const +{ + check_hresult(WINRT_SHIM(II2cConnectionSettings)->put_BusSpeed(value)); +} + +template Windows::Devices::I2c::I2cSharingMode impl_II2cConnectionSettings::SharingMode() const +{ + Windows::Devices::I2c::I2cSharingMode value {}; + check_hresult(WINRT_SHIM(II2cConnectionSettings)->get_SharingMode(&value)); + return value; +} + +template void impl_II2cConnectionSettings::SharingMode(Windows::Devices::I2c::I2cSharingMode value) const +{ + check_hresult(WINRT_SHIM(II2cConnectionSettings)->put_SharingMode(value)); +} + +template hstring impl_II2cDeviceStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(II2cDeviceStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_II2cDeviceStatics::GetDeviceSelector(hstring_view friendlyName) const +{ + hstring value; + check_hresult(WINRT_SHIM(II2cDeviceStatics)->abi_GetDeviceSelectorFromFriendlyName(get_abi(friendlyName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_II2cDeviceStatics::FromIdAsync(hstring_view deviceId, const Windows::Devices::I2c::I2cConnectionSettings & settings) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(II2cDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), get_abi(settings), put_abi(operation))); + return operation; +} + +template Windows::Devices::I2c::I2cDevice impl_II2cController::GetDevice(const Windows::Devices::I2c::I2cConnectionSettings & settings) const +{ + Windows::Devices::I2c::I2cDevice device { nullptr }; + check_hresult(WINRT_SHIM(II2cController)->abi_GetDevice(get_abi(settings), put_abi(device))); + return device; +} + +template Windows::Foundation::IAsyncOperation> impl_II2cControllerStatics::GetControllersAsync(const Windows::Devices::I2c::Provider::II2cProvider & provider) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(II2cControllerStatics)->abi_GetControllersAsync(get_abi(provider), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_II2cControllerStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(II2cControllerStatics)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template hstring impl_II2cDevice::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(II2cDevice)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::I2c::I2cConnectionSettings impl_II2cDevice::ConnectionSettings() const +{ + Windows::Devices::I2c::I2cConnectionSettings value { nullptr }; + check_hresult(WINRT_SHIM(II2cDevice)->get_ConnectionSettings(put_abi(value))); + return value; +} + +template void impl_II2cDevice::Write(array_view buffer) const +{ + check_hresult(WINRT_SHIM(II2cDevice)->abi_Write(buffer.size(), get_abi(buffer))); +} + +template Windows::Devices::I2c::I2cTransferResult impl_II2cDevice::WritePartial(array_view buffer) const +{ + Windows::Devices::I2c::I2cTransferResult result {}; + check_hresult(WINRT_SHIM(II2cDevice)->abi_WritePartial(buffer.size(), get_abi(buffer), put_abi(result))); + return result; +} + +template void impl_II2cDevice::Read(array_view buffer) const +{ + check_hresult(WINRT_SHIM(II2cDevice)->abi_Read(buffer.size(), get_abi(buffer))); +} + +template Windows::Devices::I2c::I2cTransferResult impl_II2cDevice::ReadPartial(array_view buffer) const +{ + Windows::Devices::I2c::I2cTransferResult result {}; + check_hresult(WINRT_SHIM(II2cDevice)->abi_ReadPartial(buffer.size(), get_abi(buffer), put_abi(result))); + return result; +} + +template void impl_II2cDevice::WriteRead(array_view writeBuffer, array_view readBuffer) const +{ + check_hresult(WINRT_SHIM(II2cDevice)->abi_WriteRead(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer))); +} + +template Windows::Devices::I2c::I2cTransferResult impl_II2cDevice::WriteReadPartial(array_view writeBuffer, array_view readBuffer) const +{ + Windows::Devices::I2c::I2cTransferResult result {}; + check_hresult(WINRT_SHIM(II2cDevice)->abi_WriteReadPartial(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer), put_abi(result))); + return result; +} + +inline I2cConnectionSettings::I2cConnectionSettings(int32_t slaveAddress) : + I2cConnectionSettings(get_activation_factory().Create(slaveAddress)) +{} + +inline Windows::Foundation::IAsyncOperation> I2cController::GetControllersAsync(const Windows::Devices::I2c::Provider::II2cProvider & provider) +{ + return get_activation_factory().GetControllersAsync(provider); +} + +inline Windows::Foundation::IAsyncOperation I2cController::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline hstring I2cDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring I2cDevice::GetDeviceSelector(hstring_view friendlyName) +{ + return get_activation_factory().GetDeviceSelector(friendlyName); +} + +inline Windows::Foundation::IAsyncOperation I2cDevice::FromIdAsync(hstring_view deviceId, const Windows::Devices::I2c::I2cConnectionSettings & settings) +{ + return get_activation_factory().FromIdAsync(deviceId, settings); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::II2cConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::II2cConnectionSettingsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::II2cController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::II2cControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::II2cDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::II2cDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::I2cConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::I2cController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::I2c::I2cDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Input.h b/10.0.15042.0/winrt/Windows.Devices.Input.h new file mode 100644 index 000000000..1f10dfb5c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Input.h @@ -0,0 +1,672 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Input.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KeyboardPresent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyboardPresent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MousePresent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MousePresent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalWheelPresent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalWheelPresent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalWheelPresent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalWheelPresent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SwapButtons(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SwapButtons()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfButtons(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfButtons()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_MouseMoved(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().MouseMoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MouseMoved(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseMoved(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out mouseDevice) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *mouseDevice = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *mouseDevice = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MouseDelta(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MouseDelta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIntegrated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIntegrated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxContacts(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxContacts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalDeviceRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalDeviceRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScreenRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScreenRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedUsages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedUsages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPointersWithZDistance(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPointersWithZDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPointerDevice(uint32_t pointerId, impl::abi_arg_out pointerDevice) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pointerDevice = detach_abi(this->shim().GetPointerDevice(pointerId)); + return S_OK; + } + catch (...) + { + *pointerDevice = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPointerDevices(impl::abi_arg_out> pointerDevices) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pointerDevices = detach_abi(this->shim().GetPointerDevices()); + return S_OK; + } + catch (...) + { + *pointerDevices = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TouchPresent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TouchPresent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contacts(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contacts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Input { + +template int32_t impl_IMouseCapabilities::MousePresent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMouseCapabilities)->get_MousePresent(&value)); + return value; +} + +template int32_t impl_IMouseCapabilities::VerticalWheelPresent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMouseCapabilities)->get_VerticalWheelPresent(&value)); + return value; +} + +template int32_t impl_IMouseCapabilities::HorizontalWheelPresent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMouseCapabilities)->get_HorizontalWheelPresent(&value)); + return value; +} + +template int32_t impl_IMouseCapabilities::SwapButtons() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMouseCapabilities)->get_SwapButtons(&value)); + return value; +} + +template uint32_t impl_IMouseCapabilities::NumberOfButtons() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMouseCapabilities)->get_NumberOfButtons(&value)); + return value; +} + +template int32_t impl_IKeyboardCapabilities::KeyboardPresent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IKeyboardCapabilities)->get_KeyboardPresent(&value)); + return value; +} + +template int32_t impl_ITouchCapabilities::TouchPresent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITouchCapabilities)->get_TouchPresent(&value)); + return value; +} + +template uint32_t impl_ITouchCapabilities::Contacts() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ITouchCapabilities)->get_Contacts(&value)); + return value; +} + +template Windows::Devices::Input::PointerDevice impl_IPointerDeviceStatics::GetPointerDevice(uint32_t pointerId) const +{ + Windows::Devices::Input::PointerDevice pointerDevice { nullptr }; + check_hresult(WINRT_SHIM(IPointerDeviceStatics)->abi_GetPointerDevice(pointerId, put_abi(pointerDevice))); + return pointerDevice; +} + +template Windows::Foundation::Collections::IVectorView impl_IPointerDeviceStatics::GetPointerDevices() const +{ + Windows::Foundation::Collections::IVectorView pointerDevices; + check_hresult(WINRT_SHIM(IPointerDeviceStatics)->abi_GetPointerDevices(put_abi(pointerDevices))); + return pointerDevices; +} + +template Windows::Devices::Input::PointerDeviceType impl_IPointerDevice::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IPointerDevice)->get_PointerDeviceType(&value)); + return value; +} + +template bool impl_IPointerDevice::IsIntegrated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerDevice)->get_IsIntegrated(&value)); + return value; +} + +template uint32_t impl_IPointerDevice::MaxContacts() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPointerDevice)->get_MaxContacts(&value)); + return value; +} + +template Windows::Foundation::Rect impl_IPointerDevice::PhysicalDeviceRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPointerDevice)->get_PhysicalDeviceRect(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IPointerDevice::ScreenRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPointerDevice)->get_ScreenRect(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPointerDevice::SupportedUsages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPointerDevice)->get_SupportedUsages(put_abi(value))); + return value; +} + +template uint32_t impl_IPointerDevice2::MaxPointersWithZDistance() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPointerDevice2)->get_MaxPointersWithZDistance(&value)); + return value; +} + +template Windows::Devices::Input::MouseDelta impl_IMouseEventArgs::MouseDelta() const +{ + Windows::Devices::Input::MouseDelta value {}; + check_hresult(WINRT_SHIM(IMouseEventArgs)->get_MouseDelta(put_abi(value))); + return value; +} + +template event_token impl_IMouseDevice::MouseMoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMouseDevice)->add_MouseMoved(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMouseDevice::MouseMoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Input::IMouseDevice::remove_MouseMoved, MouseMoved(handler)); +} + +template void impl_IMouseDevice::MouseMoved(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMouseDevice)->remove_MouseMoved(cookie)); +} + +template Windows::Devices::Input::MouseDevice impl_IMouseDeviceStatics::GetForCurrentView() const +{ + Windows::Devices::Input::MouseDevice mouseDevice { nullptr }; + check_hresult(WINRT_SHIM(IMouseDeviceStatics)->abi_GetForCurrentView(put_abi(mouseDevice))); + return mouseDevice; +} + +inline KeyboardCapabilities::KeyboardCapabilities() : + KeyboardCapabilities(activate_instance()) +{} + +inline MouseCapabilities::MouseCapabilities() : + MouseCapabilities(activate_instance()) +{} + +inline Windows::Devices::Input::MouseDevice MouseDevice::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::Devices::Input::PointerDevice PointerDevice::GetPointerDevice(uint32_t pointerId) +{ + return get_activation_factory().GetPointerDevice(pointerId); +} + +inline Windows::Foundation::Collections::IVectorView PointerDevice::GetPointerDevices() +{ + return get_activation_factory().GetPointerDevices(); +} + +inline TouchCapabilities::TouchCapabilities() : + TouchCapabilities(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IKeyboardCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IMouseCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IMouseDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IMouseDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IMouseEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IPointerDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IPointerDevice2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::IPointerDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::ITouchCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::KeyboardCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::MouseCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::MouseDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::MouseEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::PointerDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Input::TouchCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Lights.h b/10.0.15042.0/winrt/Windows.Devices.Lights.h new file mode 100644 index 000000000..c627048b5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Lights.h @@ -0,0 +1,394 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Devices.Lights.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrightnessLevel(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrightnessLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BrightnessLevel(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BrightnessLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorSettable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorSettable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AvailabilityChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AvailabilityChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AvailabilityChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AvailabilityChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsAvailable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Lights { + +template hstring impl_ILampStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILampStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ILampStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILampStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILampStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILampStatics)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template hstring impl_ILamp::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILamp)->get_DeviceId(put_abi(value))); + return value; +} + +template bool impl_ILamp::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILamp)->get_IsEnabled(&value)); + return value; +} + +template void impl_ILamp::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ILamp)->put_IsEnabled(value)); +} + +template float impl_ILamp::BrightnessLevel() const +{ + float value {}; + check_hresult(WINRT_SHIM(ILamp)->get_BrightnessLevel(&value)); + return value; +} + +template void impl_ILamp::BrightnessLevel(float value) const +{ + check_hresult(WINRT_SHIM(ILamp)->put_BrightnessLevel(value)); +} + +template bool impl_ILamp::IsColorSettable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILamp)->get_IsColorSettable(&value)); + return value; +} + +template Windows::UI::Color impl_ILamp::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ILamp)->get_Color(put_abi(value))); + return value; +} + +template void impl_ILamp::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ILamp)->put_Color(get_abi(value))); +} + +template event_token impl_ILamp::AvailabilityChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILamp)->add_AvailabilityChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILamp::AvailabilityChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Lights::ILamp::remove_AvailabilityChanged, AvailabilityChanged(handler)); +} + +template void impl_ILamp::AvailabilityChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ILamp)->remove_AvailabilityChanged(token)); +} + +template bool impl_ILampAvailabilityChangedEventArgs::IsAvailable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILampAvailabilityChangedEventArgs)->get_IsAvailable(&value)); + return value; +} + +inline hstring Lamp::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation Lamp::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation Lamp::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Lights::ILamp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Lights::ILampAvailabilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Lights::ILampStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Lights::Lamp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Lights::LampAvailabilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Midi.h b/10.0.15042.0/winrt/Windows.Devices.Midi.h new file mode 100644 index 000000000..591dcd1a9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Midi.h @@ -0,0 +1,1842 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Devices.Midi.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pressure(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiChannelPressureMessage(uint8_t channel, uint8_t pressure, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiChannelPressureMessage(channel, pressure)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Controller(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Controller()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlValue(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiControlChangeMessage(uint8_t channel, uint8_t controller, uint8_t controlValue, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiControlChangeMessage(channel, controller, controlValue)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_MessageReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MessageReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Devices::Midi::MidiMessageType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Note(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Note()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Velocity(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Velocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiNoteOffMessage(uint8_t channel, uint8_t note, uint8_t velocity, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiNoteOffMessage(channel, note, velocity)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Note(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Note()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Velocity(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Velocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiNoteOnMessage(uint8_t channel, uint8_t note, uint8_t velocity, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiNoteOnMessage(channel, note, velocity)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendMessage(impl::abi_arg_in midiMessage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendMessage(*reinterpret_cast(&midiMessage)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendBuffer(impl::abi_arg_in midiData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendBuffer(*reinterpret_cast(&midiData)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bend(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bend()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiPitchBendChangeMessage(uint8_t channel, uint16_t bend, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiPitchBendChangeMessage(channel, bend)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Note(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Note()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pressure(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiPolyphonicKeyPressureMessage(uint8_t channel, uint8_t note, uint8_t pressure, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiPolyphonicKeyPressureMessage(channel, note, pressure)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Program(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Program()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiProgramChangeMessage(uint8_t channel, uint8_t program, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiProgramChangeMessage(channel, program)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Beats(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Beats()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiSongPositionPointerMessage(uint16_t beats, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiSongPositionPointerMessage(beats)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Song(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Song()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiSongSelectMessage(uint8_t song, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiSongSelectMessage(song)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AudioDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Volume(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Volume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Volume(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Volume(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromAudioDeviceAsync(impl::abi_arg_in audioDevice, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAsync(*reinterpret_cast(&audioDevice))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSynthesizer(impl::abi_arg_in midiDevice, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSynthesizer(*reinterpret_cast(&midiDevice))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiSystemExclusiveMessage(impl::abi_arg_in rawData, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiSystemExclusiveMessage(*reinterpret_cast(&rawData))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Values(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Values()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMidiTimeCodeMessage(uint8_t frameType, uint8_t values, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMidiTimeCodeMessage(frameType, values)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Midi { + +template Windows::Foundation::TimeSpan impl_IMidiMessage::Timestamp() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMidiMessage)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMidiMessage::RawData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMidiMessage)->get_RawData(put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiMessageType impl_IMidiMessage::Type() const +{ + Windows::Devices::Midi::MidiMessageType value {}; + check_hresult(WINRT_SHIM(IMidiMessage)->get_Type(&value)); + return value; +} + +template uint8_t impl_IMidiNoteOffMessage::Channel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiNoteOffMessage)->get_Channel(&value)); + return value; +} + +template uint8_t impl_IMidiNoteOffMessage::Note() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiNoteOffMessage)->get_Note(&value)); + return value; +} + +template uint8_t impl_IMidiNoteOffMessage::Velocity() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiNoteOffMessage)->get_Velocity(&value)); + return value; +} + +template uint8_t impl_IMidiNoteOnMessage::Channel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiNoteOnMessage)->get_Channel(&value)); + return value; +} + +template uint8_t impl_IMidiNoteOnMessage::Note() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiNoteOnMessage)->get_Note(&value)); + return value; +} + +template uint8_t impl_IMidiNoteOnMessage::Velocity() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiNoteOnMessage)->get_Velocity(&value)); + return value; +} + +template uint8_t impl_IMidiPolyphonicKeyPressureMessage::Channel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiPolyphonicKeyPressureMessage)->get_Channel(&value)); + return value; +} + +template uint8_t impl_IMidiPolyphonicKeyPressureMessage::Note() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiPolyphonicKeyPressureMessage)->get_Note(&value)); + return value; +} + +template uint8_t impl_IMidiPolyphonicKeyPressureMessage::Pressure() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiPolyphonicKeyPressureMessage)->get_Pressure(&value)); + return value; +} + +template uint8_t impl_IMidiControlChangeMessage::Channel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiControlChangeMessage)->get_Channel(&value)); + return value; +} + +template uint8_t impl_IMidiControlChangeMessage::Controller() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiControlChangeMessage)->get_Controller(&value)); + return value; +} + +template uint8_t impl_IMidiControlChangeMessage::ControlValue() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiControlChangeMessage)->get_ControlValue(&value)); + return value; +} + +template uint8_t impl_IMidiProgramChangeMessage::Channel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiProgramChangeMessage)->get_Channel(&value)); + return value; +} + +template uint8_t impl_IMidiProgramChangeMessage::Program() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiProgramChangeMessage)->get_Program(&value)); + return value; +} + +template uint8_t impl_IMidiChannelPressureMessage::Channel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiChannelPressureMessage)->get_Channel(&value)); + return value; +} + +template uint8_t impl_IMidiChannelPressureMessage::Pressure() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiChannelPressureMessage)->get_Pressure(&value)); + return value; +} + +template uint8_t impl_IMidiPitchBendChangeMessage::Channel() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiPitchBendChangeMessage)->get_Channel(&value)); + return value; +} + +template uint16_t impl_IMidiPitchBendChangeMessage::Bend() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IMidiPitchBendChangeMessage)->get_Bend(&value)); + return value; +} + +template uint8_t impl_IMidiTimeCodeMessage::FrameType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiTimeCodeMessage)->get_FrameType(&value)); + return value; +} + +template uint8_t impl_IMidiTimeCodeMessage::Values() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiTimeCodeMessage)->get_Values(&value)); + return value; +} + +template uint16_t impl_IMidiSongPositionPointerMessage::Beats() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IMidiSongPositionPointerMessage)->get_Beats(&value)); + return value; +} + +template uint8_t impl_IMidiSongSelectMessage::Song() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IMidiSongSelectMessage)->get_Song(&value)); + return value; +} + +template Windows::Devices::Midi::MidiNoteOffMessage impl_IMidiNoteOffMessageFactory::CreateMidiNoteOffMessage(uint8_t channel, uint8_t note, uint8_t velocity) const +{ + Windows::Devices::Midi::MidiNoteOffMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiNoteOffMessageFactory)->abi_CreateMidiNoteOffMessage(channel, note, velocity, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiNoteOnMessage impl_IMidiNoteOnMessageFactory::CreateMidiNoteOnMessage(uint8_t channel, uint8_t note, uint8_t velocity) const +{ + Windows::Devices::Midi::MidiNoteOnMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiNoteOnMessageFactory)->abi_CreateMidiNoteOnMessage(channel, note, velocity, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiPolyphonicKeyPressureMessage impl_IMidiPolyphonicKeyPressureMessageFactory::CreateMidiPolyphonicKeyPressureMessage(uint8_t channel, uint8_t note, uint8_t pressure) const +{ + Windows::Devices::Midi::MidiPolyphonicKeyPressureMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiPolyphonicKeyPressureMessageFactory)->abi_CreateMidiPolyphonicKeyPressureMessage(channel, note, pressure, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiControlChangeMessage impl_IMidiControlChangeMessageFactory::CreateMidiControlChangeMessage(uint8_t channel, uint8_t controller, uint8_t controlValue) const +{ + Windows::Devices::Midi::MidiControlChangeMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiControlChangeMessageFactory)->abi_CreateMidiControlChangeMessage(channel, controller, controlValue, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiProgramChangeMessage impl_IMidiProgramChangeMessageFactory::CreateMidiProgramChangeMessage(uint8_t channel, uint8_t program) const +{ + Windows::Devices::Midi::MidiProgramChangeMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiProgramChangeMessageFactory)->abi_CreateMidiProgramChangeMessage(channel, program, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiChannelPressureMessage impl_IMidiChannelPressureMessageFactory::CreateMidiChannelPressureMessage(uint8_t channel, uint8_t pressure) const +{ + Windows::Devices::Midi::MidiChannelPressureMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiChannelPressureMessageFactory)->abi_CreateMidiChannelPressureMessage(channel, pressure, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiPitchBendChangeMessage impl_IMidiPitchBendChangeMessageFactory::CreateMidiPitchBendChangeMessage(uint8_t channel, uint16_t bend) const +{ + Windows::Devices::Midi::MidiPitchBendChangeMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiPitchBendChangeMessageFactory)->abi_CreateMidiPitchBendChangeMessage(channel, bend, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiSystemExclusiveMessage impl_IMidiSystemExclusiveMessageFactory::CreateMidiSystemExclusiveMessage(const Windows::Storage::Streams::IBuffer & rawData) const +{ + Windows::Devices::Midi::MidiSystemExclusiveMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiSystemExclusiveMessageFactory)->abi_CreateMidiSystemExclusiveMessage(get_abi(rawData), put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiTimeCodeMessage impl_IMidiTimeCodeMessageFactory::CreateMidiTimeCodeMessage(uint8_t frameType, uint8_t values) const +{ + Windows::Devices::Midi::MidiTimeCodeMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiTimeCodeMessageFactory)->abi_CreateMidiTimeCodeMessage(frameType, values, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiSongPositionPointerMessage impl_IMidiSongPositionPointerMessageFactory::CreateMidiSongPositionPointerMessage(uint16_t beats) const +{ + Windows::Devices::Midi::MidiSongPositionPointerMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiSongPositionPointerMessageFactory)->abi_CreateMidiSongPositionPointerMessage(beats, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::MidiSongSelectMessage impl_IMidiSongSelectMessageFactory::CreateMidiSongSelectMessage(uint8_t song) const +{ + Windows::Devices::Midi::MidiSongSelectMessage value { nullptr }; + check_hresult(WINRT_SHIM(IMidiSongSelectMessageFactory)->abi_CreateMidiSongSelectMessage(song, put_abi(value))); + return value; +} + +template Windows::Devices::Midi::IMidiMessage impl_IMidiMessageReceivedEventArgs::Message() const +{ + Windows::Devices::Midi::IMidiMessage value; + check_hresult(WINRT_SHIM(IMidiMessageReceivedEventArgs)->get_Message(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMidiInPortStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMidiInPortStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(value))); + return value; +} + +template hstring impl_IMidiInPortStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMidiInPortStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMidiOutPortStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMidiOutPortStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(value))); + return value; +} + +template hstring impl_IMidiOutPortStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMidiOutPortStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template void impl_IMidiOutPort::SendMessage(const Windows::Devices::Midi::IMidiMessage & midiMessage) const +{ + check_hresult(WINRT_SHIM(IMidiOutPort)->abi_SendMessage(get_abi(midiMessage))); +} + +template void impl_IMidiOutPort::SendBuffer(const Windows::Storage::Streams::IBuffer & midiData) const +{ + check_hresult(WINRT_SHIM(IMidiOutPort)->abi_SendBuffer(get_abi(midiData))); +} + +template hstring impl_IMidiOutPort::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMidiOutPort)->get_DeviceId(put_abi(value))); + return value; +} + +template event_token impl_IMidiInPort::MessageReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMidiInPort)->add_MessageReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMidiInPort::MessageReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Midi::IMidiInPort::remove_MessageReceived, MessageReceived(handler)); +} + +template void impl_IMidiInPort::MessageReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMidiInPort)->remove_MessageReceived(token)); +} + +template hstring impl_IMidiInPort::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMidiInPort)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMidiSynthesizerStatics::CreateAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMidiSynthesizerStatics)->abi_CreateAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMidiSynthesizerStatics::CreateAsync(const Windows::Devices::Enumeration::DeviceInformation & audioDevice) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMidiSynthesizerStatics)->abi_CreateFromAudioDeviceAsync(get_abi(audioDevice), put_abi(value))); + return value; +} + +template bool impl_IMidiSynthesizerStatics::IsSynthesizer(const Windows::Devices::Enumeration::DeviceInformation & midiDevice) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMidiSynthesizerStatics)->abi_IsSynthesizer(get_abi(midiDevice), &value)); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IMidiSynthesizer::AudioDevice() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IMidiSynthesizer)->get_AudioDevice(put_abi(value))); + return value; +} + +template double impl_IMidiSynthesizer::Volume() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMidiSynthesizer)->get_Volume(&value)); + return value; +} + +template void impl_IMidiSynthesizer::Volume(double value) const +{ + check_hresult(WINRT_SHIM(IMidiSynthesizer)->put_Volume(value)); +} + +inline MidiActiveSensingMessage::MidiActiveSensingMessage() : + MidiActiveSensingMessage(activate_instance()) +{} + +inline MidiChannelPressureMessage::MidiChannelPressureMessage(uint8_t channel, uint8_t pressure) : + MidiChannelPressureMessage(get_activation_factory().CreateMidiChannelPressureMessage(channel, pressure)) +{} + +inline MidiContinueMessage::MidiContinueMessage() : + MidiContinueMessage(activate_instance()) +{} + +inline MidiControlChangeMessage::MidiControlChangeMessage(uint8_t channel, uint8_t controller, uint8_t controlValue) : + MidiControlChangeMessage(get_activation_factory().CreateMidiControlChangeMessage(channel, controller, controlValue)) +{} + +inline Windows::Foundation::IAsyncOperation MidiInPort::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring MidiInPort::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline MidiNoteOffMessage::MidiNoteOffMessage(uint8_t channel, uint8_t note, uint8_t velocity) : + MidiNoteOffMessage(get_activation_factory().CreateMidiNoteOffMessage(channel, note, velocity)) +{} + +inline MidiNoteOnMessage::MidiNoteOnMessage(uint8_t channel, uint8_t note, uint8_t velocity) : + MidiNoteOnMessage(get_activation_factory().CreateMidiNoteOnMessage(channel, note, velocity)) +{} + +inline Windows::Foundation::IAsyncOperation MidiOutPort::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring MidiOutPort::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline MidiPitchBendChangeMessage::MidiPitchBendChangeMessage(uint8_t channel, uint16_t bend) : + MidiPitchBendChangeMessage(get_activation_factory().CreateMidiPitchBendChangeMessage(channel, bend)) +{} + +inline MidiPolyphonicKeyPressureMessage::MidiPolyphonicKeyPressureMessage(uint8_t channel, uint8_t note, uint8_t pressure) : + MidiPolyphonicKeyPressureMessage(get_activation_factory().CreateMidiPolyphonicKeyPressureMessage(channel, note, pressure)) +{} + +inline MidiProgramChangeMessage::MidiProgramChangeMessage(uint8_t channel, uint8_t program) : + MidiProgramChangeMessage(get_activation_factory().CreateMidiProgramChangeMessage(channel, program)) +{} + +inline MidiSongPositionPointerMessage::MidiSongPositionPointerMessage(uint16_t beats) : + MidiSongPositionPointerMessage(get_activation_factory().CreateMidiSongPositionPointerMessage(beats)) +{} + +inline MidiSongSelectMessage::MidiSongSelectMessage(uint8_t song) : + MidiSongSelectMessage(get_activation_factory().CreateMidiSongSelectMessage(song)) +{} + +inline MidiStartMessage::MidiStartMessage() : + MidiStartMessage(activate_instance()) +{} + +inline MidiStopMessage::MidiStopMessage() : + MidiStopMessage(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation MidiSynthesizer::CreateAsync() +{ + return get_activation_factory().CreateAsync(); +} + +inline Windows::Foundation::IAsyncOperation MidiSynthesizer::CreateAsync(const Windows::Devices::Enumeration::DeviceInformation & audioDevice) +{ + return get_activation_factory().CreateAsync(audioDevice); +} + +inline bool MidiSynthesizer::IsSynthesizer(const Windows::Devices::Enumeration::DeviceInformation & midiDevice) +{ + return get_activation_factory().IsSynthesizer(midiDevice); +} + +inline MidiSystemExclusiveMessage::MidiSystemExclusiveMessage(const Windows::Storage::Streams::IBuffer & rawData) : + MidiSystemExclusiveMessage(get_activation_factory().CreateMidiSystemExclusiveMessage(rawData)) +{} + +inline MidiSystemResetMessage::MidiSystemResetMessage() : + MidiSystemResetMessage(activate_instance()) +{} + +inline MidiTimeCodeMessage::MidiTimeCodeMessage(uint8_t frameType, uint8_t values) : + MidiTimeCodeMessage(get_activation_factory().CreateMidiTimeCodeMessage(frameType, values)) +{} + +inline MidiTimingClockMessage::MidiTimingClockMessage() : + MidiTimingClockMessage(activate_instance()) +{} + +inline MidiTuneRequestMessage::MidiTuneRequestMessage() : + MidiTuneRequestMessage(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiChannelPressureMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiChannelPressureMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiControlChangeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiControlChangeMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiInPort & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiInPortStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiNoteOffMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiNoteOffMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiNoteOnMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiNoteOnMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiOutPort & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiOutPortStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiPitchBendChangeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiPitchBendChangeMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiPolyphonicKeyPressureMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiPolyphonicKeyPressureMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiProgramChangeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiProgramChangeMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiSongPositionPointerMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiSongPositionPointerMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiSongSelectMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiSongSelectMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiSynthesizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiSynthesizerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiSystemExclusiveMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiTimeCodeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::IMidiTimeCodeMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiActiveSensingMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiChannelPressureMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiContinueMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiControlChangeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiInPort & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiNoteOffMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiNoteOnMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiOutPort & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiPitchBendChangeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiPolyphonicKeyPressureMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiProgramChangeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiSongPositionPointerMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiSongSelectMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiStartMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiStopMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiSynthesizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiSystemExclusiveMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiSystemResetMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiTimeCodeMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiTimingClockMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Midi::MidiTuneRequestMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Perception.Provider.h b/10.0.15042.0/winrt/Windows.Devices.Perception.Provider.h new file mode 100644 index 000000000..f4736d655 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Perception.Provider.h @@ -0,0 +1,1530 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Devices.Perception.3.h" +#include "internal/Windows.Devices.Perception.Provider.3.h" +#include "Windows.Devices.Perception.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Devices::Perception::Provider { + +template PerceptionStartFaceAuthenticationHandler::PerceptionStartFaceAuthenticationHandler(L lambda) : + PerceptionStartFaceAuthenticationHandler(impl::make_delegate, PerceptionStartFaceAuthenticationHandler>(std::forward(lambda))) +{} + +template PerceptionStartFaceAuthenticationHandler::PerceptionStartFaceAuthenticationHandler(F * function) : + PerceptionStartFaceAuthenticationHandler([=](auto && ... args) { return function(args ...); }) +{} + +template PerceptionStartFaceAuthenticationHandler::PerceptionStartFaceAuthenticationHandler(O * object, M method) : + PerceptionStartFaceAuthenticationHandler([=](auto && ... args) { return ((*object).*(method))(args ...); }) +{} + +inline bool PerceptionStartFaceAuthenticationHandler::operator()(const Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup & sender) const +{ + bool result {}; + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), &result)); + return result; +} + +template PerceptionStopFaceAuthenticationHandler::PerceptionStopFaceAuthenticationHandler(L lambda) : + PerceptionStopFaceAuthenticationHandler(impl::make_delegate, PerceptionStopFaceAuthenticationHandler>(std::forward(lambda))) +{} + +template PerceptionStopFaceAuthenticationHandler::PerceptionStopFaceAuthenticationHandler(F * function) : + PerceptionStopFaceAuthenticationHandler([=](auto && ... args) { function(args ...); }) +{} + +template PerceptionStopFaceAuthenticationHandler::PerceptionStopFaceAuthenticationHandler(O * object, M method) : + PerceptionStopFaceAuthenticationHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void PerceptionStopFaceAuthenticationHandler::operator()(const Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Depth(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Depth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Infrared(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Infrared()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameProviderIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameProviderIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> ids, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast *>(&ids))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in targetId, impl::abi_arg_in position, impl::abi_arg_in orientation, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&targetId), *reinterpret_cast(&position), *reinterpret_cast(&orientation))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RelativeLocations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeLocations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> relativeLocations, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast *>(&relativeLocations))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameProviderIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameProviderIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> ids, impl::abi_arg_in startHandler, impl::abi_arg_in stopHandler, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast *>(&ids), *reinterpret_cast(&startHandler), *reinterpret_cast(&stopHandler))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RelativeTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelativeTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelativeTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameProviderInfo(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FrameProviderInfo()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Available(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Available()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetProperty(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetProperty(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeviceKind(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeviceKind(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FrameKind(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameKind(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hidden(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hidden()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Hidden(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hidden(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFrameProvider(impl::abi_arg_in frameProviderInfo, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetFrameProvider(*reinterpret_cast(&frameProviderInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterFrameProviderInfo(impl::abi_arg_in manager, impl::abi_arg_in frameProviderInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterFrameProviderInfo(*reinterpret_cast(&manager), *reinterpret_cast(&frameProviderInfo)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterFrameProviderInfo(impl::abi_arg_in manager, impl::abi_arg_in frameProviderInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnregisterFrameProviderInfo(*reinterpret_cast(&manager), *reinterpret_cast(&frameProviderInfo)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterFaceAuthenticationGroup(impl::abi_arg_in manager, impl::abi_arg_in faceAuthenticationGroup) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterFaceAuthenticationGroup(*reinterpret_cast(&manager), *reinterpret_cast(&faceAuthenticationGroup)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterFaceAuthenticationGroup(impl::abi_arg_in manager, impl::abi_arg_in faceAuthenticationGroup) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnregisterFaceAuthenticationGroup(*reinterpret_cast(&manager), *reinterpret_cast(&faceAuthenticationGroup)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterControlGroup(impl::abi_arg_in manager, impl::abi_arg_in controlGroup) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterControlGroup(*reinterpret_cast(&manager), *reinterpret_cast(&controlGroup)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterControlGroup(impl::abi_arg_in manager, impl::abi_arg_in controlGroup) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnregisterControlGroup(*reinterpret_cast(&manager), *reinterpret_cast(&controlGroup)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterCorrelationGroup(impl::abi_arg_in manager, impl::abi_arg_in correlationGroup) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterCorrelationGroup(*reinterpret_cast(&manager), *reinterpret_cast(&correlationGroup)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterCorrelationGroup(impl::abi_arg_in manager, impl::abi_arg_in correlationGroup) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnregisterCorrelationGroup(*reinterpret_cast(&manager), *reinterpret_cast(&correlationGroup)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAvailabilityForProvider(impl::abi_arg_in provider, bool available) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateAvailabilityForProvider(*reinterpret_cast(&provider), available); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PublishFrameForProvider(impl::abi_arg_in provider, impl::abi_arg_in frame) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PublishFrameForProvider(*reinterpret_cast(&provider), *reinterpret_cast(&frame)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Status(Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AllocateFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllocateFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyFromVideoFrame(impl::abi_arg_in frame, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CopyFromVideoFrame(*reinterpret_cast(&frame))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t maxOutstandingFrameCountForWrite, Windows::Graphics::Imaging::BitmapPixelFormat format, impl::abi_arg_in resolution, Windows::Graphics::Imaging::BitmapAlphaMode alpha, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(maxOutstandingFrameCountForWrite, format, *reinterpret_cast(&resolution), alpha)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Perception::Provider { + +template hstring impl_IKnownPerceptionFrameKindStatics::Color() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameKindStatics)->get_Color(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameKindStatics::Depth() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameKindStatics)->get_Depth(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameKindStatics::Infrared() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameKindStatics)->get_Infrared(put_abi(value))); + return value; +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::RegisterFrameProviderInfo(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo & frameProviderInfo) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_RegisterFrameProviderInfo(get_abi(manager), get_abi(frameProviderInfo))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::UnregisterFrameProviderInfo(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo & frameProviderInfo) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_UnregisterFrameProviderInfo(get_abi(manager), get_abi(frameProviderInfo))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::RegisterFaceAuthenticationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup & faceAuthenticationGroup) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_RegisterFaceAuthenticationGroup(get_abi(manager), get_abi(faceAuthenticationGroup))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::UnregisterFaceAuthenticationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup & faceAuthenticationGroup) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_UnregisterFaceAuthenticationGroup(get_abi(manager), get_abi(faceAuthenticationGroup))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::RegisterControlGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionControlGroup & controlGroup) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_RegisterControlGroup(get_abi(manager), get_abi(controlGroup))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::UnregisterControlGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionControlGroup & controlGroup) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_UnregisterControlGroup(get_abi(manager), get_abi(controlGroup))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::RegisterCorrelationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionCorrelationGroup & correlationGroup) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_RegisterCorrelationGroup(get_abi(manager), get_abi(correlationGroup))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::UnregisterCorrelationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionCorrelationGroup & correlationGroup) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_UnregisterCorrelationGroup(get_abi(manager), get_abi(correlationGroup))); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::UpdateAvailabilityForProvider(const Windows::Devices::Perception::Provider::IPerceptionFrameProvider & provider, bool available) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_UpdateAvailabilityForProvider(get_abi(provider), available)); +} + +template void impl_IPerceptionFrameProviderManagerServiceStatics::PublishFrameForProvider(const Windows::Devices::Perception::Provider::IPerceptionFrameProvider & provider, const Windows::Devices::Perception::Provider::PerceptionFrame & frame) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManagerServiceStatics)->abi_PublishFrameForProvider(get_abi(provider), get_abi(frame))); +} + +template Windows::Devices::Perception::Provider::IPerceptionFrameProvider impl_IPerceptionFrameProviderManager::GetFrameProvider(const Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo & frameProviderInfo) const +{ + Windows::Devices::Perception::Provider::IPerceptionFrameProvider result; + check_hresult(WINRT_SHIM(IPerceptionFrameProviderManager)->abi_GetFrameProvider(get_abi(frameProviderInfo), put_abi(result))); + return result; +} + +template Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo impl_IPerceptionFrameProvider::FrameProviderInfo() const +{ + Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionFrameProvider)->get_FrameProviderInfo(put_abi(result))); + return result; +} + +template bool impl_IPerceptionFrameProvider::Available() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionFrameProvider)->get_Available(&value)); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IPerceptionFrameProvider::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IPerceptionFrameProvider)->get_Properties(put_abi(value))); + return value; +} + +template void impl_IPerceptionFrameProvider::Start() const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProvider)->abi_Start()); +} + +template void impl_IPerceptionFrameProvider::Stop() const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProvider)->abi_Stop()); +} + +template void impl_IPerceptionFrameProvider::SetProperty(const Windows::Devices::Perception::Provider::PerceptionPropertyChangeRequest & value) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProvider)->abi_SetProperty(get_abi(value))); +} + +template hstring impl_IPerceptionFrameProviderInfo::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->get_Id(put_abi(value))); + return value; +} + +template void impl_IPerceptionFrameProviderInfo::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->put_Id(get_abi(value))); +} + +template hstring impl_IPerceptionFrameProviderInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IPerceptionFrameProviderInfo::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IPerceptionFrameProviderInfo::DeviceKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->get_DeviceKind(put_abi(value))); + return value; +} + +template void impl_IPerceptionFrameProviderInfo::DeviceKind(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->put_DeviceKind(get_abi(value))); +} + +template hstring impl_IPerceptionFrameProviderInfo::FrameKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->get_FrameKind(put_abi(value))); + return value; +} + +template void impl_IPerceptionFrameProviderInfo::FrameKind(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->put_FrameKind(get_abi(value))); +} + +template bool impl_IPerceptionFrameProviderInfo::Hidden() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->get_Hidden(&value)); + return value; +} + +template void impl_IPerceptionFrameProviderInfo::Hidden(bool value) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrameProviderInfo)->put_Hidden(value)); +} + +template Windows::Devices::Perception::Provider::PerceptionControlGroup impl_IPerceptionControlGroupFactory::Create(iterable ids) const +{ + Windows::Devices::Perception::Provider::PerceptionControlGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionControlGroupFactory)->abi_Create(get_abi(ids), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionControlGroup::FrameProviderIds() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionControlGroup)->get_FrameProviderIds(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup impl_IPerceptionFaceAuthenticationGroupFactory::Create(iterable ids, const Windows::Devices::Perception::Provider::PerceptionStartFaceAuthenticationHandler & startHandler, const Windows::Devices::Perception::Provider::PerceptionStopFaceAuthenticationHandler & stopHandler) const +{ + Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionFaceAuthenticationGroupFactory)->abi_Create(get_abi(ids), get_abi(startHandler), get_abi(stopHandler), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionFaceAuthenticationGroup::FrameProviderIds() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionFaceAuthenticationGroup)->get_FrameProviderIds(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::Provider::PerceptionCorrelation impl_IPerceptionCorrelationFactory::Create(hstring_view targetId, const Windows::Foundation::Numerics::float3 & position, const Windows::Foundation::Numerics::quaternion & orientation) const +{ + Windows::Devices::Perception::Provider::PerceptionCorrelation result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionCorrelationFactory)->abi_Create(get_abi(targetId), get_abi(position), get_abi(orientation), put_abi(result))); + return result; +} + +template hstring impl_IPerceptionCorrelation::TargetId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionCorrelation)->get_TargetId(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IPerceptionCorrelation::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IPerceptionCorrelation)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::quaternion impl_IPerceptionCorrelation::Orientation() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(IPerceptionCorrelation)->get_Orientation(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::Provider::PerceptionCorrelationGroup impl_IPerceptionCorrelationGroupFactory::Create(iterable relativeLocations) const +{ + Windows::Devices::Perception::Provider::PerceptionCorrelationGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionCorrelationGroupFactory)->abi_Create(get_abi(relativeLocations), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionCorrelationGroup::RelativeLocations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionCorrelationGroup)->get_RelativeLocations(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPerceptionFrame::RelativeTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPerceptionFrame)->get_RelativeTime(put_abi(value))); + return value; +} + +template void impl_IPerceptionFrame::RelativeTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IPerceptionFrame)->put_RelativeTime(get_abi(value))); +} + +template Windows::Foundation::Collections::ValueSet impl_IPerceptionFrame::Properties() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionFrame)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::IMemoryBuffer impl_IPerceptionFrame::FrameData() const +{ + Windows::Foundation::IMemoryBuffer value; + check_hresult(WINRT_SHIM(IPerceptionFrame)->get_FrameData(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::Provider::PerceptionVideoFrameAllocator impl_IPerceptionVideoFrameAllocatorFactory::Create(uint32_t maxOutstandingFrameCountForWrite, Windows::Graphics::Imaging::BitmapPixelFormat format, const Windows::Foundation::Size & resolution, Windows::Graphics::Imaging::BitmapAlphaMode alpha) const +{ + Windows::Devices::Perception::Provider::PerceptionVideoFrameAllocator result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionVideoFrameAllocatorFactory)->abi_Create(maxOutstandingFrameCountForWrite, format, get_abi(resolution), alpha, put_abi(result))); + return result; +} + +template Windows::Devices::Perception::Provider::PerceptionFrame impl_IPerceptionVideoFrameAllocator::AllocateFrame() const +{ + Windows::Devices::Perception::Provider::PerceptionFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionVideoFrameAllocator)->abi_AllocateFrame(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::Provider::PerceptionFrame impl_IPerceptionVideoFrameAllocator::CopyFromVideoFrame(const Windows::Media::VideoFrame & frame) const +{ + Windows::Devices::Perception::Provider::PerceptionFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionVideoFrameAllocator)->abi_CopyFromVideoFrame(get_abi(frame), put_abi(value))); + return value; +} + +template hstring impl_IPerceptionPropertyChangeRequest::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionPropertyChangeRequest)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IPerceptionPropertyChangeRequest::Value() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IPerceptionPropertyChangeRequest)->get_Value(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus impl_IPerceptionPropertyChangeRequest::Status() const +{ + Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus value {}; + check_hresult(WINRT_SHIM(IPerceptionPropertyChangeRequest)->get_Status(&value)); + return value; +} + +template void impl_IPerceptionPropertyChangeRequest::Status(Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus value) const +{ + check_hresult(WINRT_SHIM(IPerceptionPropertyChangeRequest)->put_Status(value)); +} + +template Windows::Foundation::Deferral impl_IPerceptionPropertyChangeRequest::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionPropertyChangeRequest)->abi_GetDeferral(put_abi(result))); + return result; +} + +inline hstring KnownPerceptionFrameKind::Color() +{ + return get_activation_factory().Color(); +} + +inline hstring KnownPerceptionFrameKind::Depth() +{ + return get_activation_factory().Depth(); +} + +inline hstring KnownPerceptionFrameKind::Infrared() +{ + return get_activation_factory().Infrared(); +} + +inline PerceptionControlGroup::PerceptionControlGroup(iterable ids) : + PerceptionControlGroup(get_activation_factory().Create(ids)) +{} + +inline PerceptionCorrelation::PerceptionCorrelation(hstring_view targetId, const Windows::Foundation::Numerics::float3 & position, const Windows::Foundation::Numerics::quaternion & orientation) : + PerceptionCorrelation(get_activation_factory().Create(targetId, position, orientation)) +{} + +inline PerceptionCorrelationGroup::PerceptionCorrelationGroup(iterable relativeLocations) : + PerceptionCorrelationGroup(get_activation_factory().Create(relativeLocations)) +{} + +inline PerceptionFaceAuthenticationGroup::PerceptionFaceAuthenticationGroup(iterable ids, const Windows::Devices::Perception::Provider::PerceptionStartFaceAuthenticationHandler & startHandler, const Windows::Devices::Perception::Provider::PerceptionStopFaceAuthenticationHandler & stopHandler) : + PerceptionFaceAuthenticationGroup(get_activation_factory().Create(ids, startHandler, stopHandler)) +{} + +inline PerceptionFrameProviderInfo::PerceptionFrameProviderInfo() : + PerceptionFrameProviderInfo(activate_instance()) +{} + +inline void PerceptionFrameProviderManagerService::RegisterFrameProviderInfo(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo & frameProviderInfo) +{ + get_activation_factory().RegisterFrameProviderInfo(manager, frameProviderInfo); +} + +inline void PerceptionFrameProviderManagerService::UnregisterFrameProviderInfo(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo & frameProviderInfo) +{ + get_activation_factory().UnregisterFrameProviderInfo(manager, frameProviderInfo); +} + +inline void PerceptionFrameProviderManagerService::RegisterFaceAuthenticationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup & faceAuthenticationGroup) +{ + get_activation_factory().RegisterFaceAuthenticationGroup(manager, faceAuthenticationGroup); +} + +inline void PerceptionFrameProviderManagerService::UnregisterFaceAuthenticationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup & faceAuthenticationGroup) +{ + get_activation_factory().UnregisterFaceAuthenticationGroup(manager, faceAuthenticationGroup); +} + +inline void PerceptionFrameProviderManagerService::RegisterControlGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionControlGroup & controlGroup) +{ + get_activation_factory().RegisterControlGroup(manager, controlGroup); +} + +inline void PerceptionFrameProviderManagerService::UnregisterControlGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionControlGroup & controlGroup) +{ + get_activation_factory().UnregisterControlGroup(manager, controlGroup); +} + +inline void PerceptionFrameProviderManagerService::RegisterCorrelationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionCorrelationGroup & correlationGroup) +{ + get_activation_factory().RegisterCorrelationGroup(manager, correlationGroup); +} + +inline void PerceptionFrameProviderManagerService::UnregisterCorrelationGroup(const Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & manager, const Windows::Devices::Perception::Provider::PerceptionCorrelationGroup & correlationGroup) +{ + get_activation_factory().UnregisterCorrelationGroup(manager, correlationGroup); +} + +inline void PerceptionFrameProviderManagerService::UpdateAvailabilityForProvider(const Windows::Devices::Perception::Provider::IPerceptionFrameProvider & provider, bool available) +{ + get_activation_factory().UpdateAvailabilityForProvider(provider, available); +} + +inline void PerceptionFrameProviderManagerService::PublishFrameForProvider(const Windows::Devices::Perception::Provider::IPerceptionFrameProvider & provider, const Windows::Devices::Perception::Provider::PerceptionFrame & frame) +{ + get_activation_factory().PublishFrameForProvider(provider, frame); +} + +inline PerceptionVideoFrameAllocator::PerceptionVideoFrameAllocator(uint32_t maxOutstandingFrameCountForWrite, Windows::Graphics::Imaging::BitmapPixelFormat format, const Windows::Foundation::Size & resolution, Windows::Graphics::Imaging::BitmapAlphaMode alpha) : + PerceptionVideoFrameAllocator(get_activation_factory().Create(maxOutstandingFrameCountForWrite, format, resolution, alpha)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IKnownPerceptionFrameKindStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionControlGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionControlGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionCorrelation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionCorrelationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionCorrelationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionCorrelationGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionFaceAuthenticationGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionFrameProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionFrameProviderInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionFrameProviderManagerServiceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionPropertyChangeRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionVideoFrameAllocator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::IPerceptionVideoFrameAllocatorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionControlGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionCorrelation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionCorrelationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionFaceAuthenticationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionFrameProviderInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionPropertyChangeRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::Provider::PerceptionVideoFrameAllocator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Perception.h b/10.0.15042.0/winrt/Windows.Devices.Perception.h new file mode 100644 index 000000000..0ef0d3706 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Perception.h @@ -0,0 +1,5850 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.Devices.Core.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Devices.Perception.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FocalLength(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocalLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrincipalPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrincipalPoint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RadialDistortion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RadialDistortion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TangentialDistortion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TangentialDistortion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Exposure(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exposure()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoExposureEnabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoExposureEnabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExposureCompensation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureCompensation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinDepth(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinDepth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDepth(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDepth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalDeviceIds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalDeviceIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceModelVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceModelVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnclosureLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnclosureLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Exposure(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exposure()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoExposureEnabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoExposureEnabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExposureCompensation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureCompensation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActiveIlluminationEnabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActiveIlluminationEnabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AmbientSubtractionEnabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AmbientSubtractionEnabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StructureLightPatternEnabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StructureLightPatternEnabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterleavedIlluminationEnabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterleavedIlluminationEnabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedVideoProfiles(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableVideoProfiles(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMirrored(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMirrored()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraIntrinsics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraIntrinsics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BitmapPixelFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapPixelFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapAlphaMode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapAlphaMode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameDuration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RelativeTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryOpenFrame(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryOpenFrame()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_FrameArrived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameArrived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaused(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaused()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPaused(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPaused(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryReadLatestFrame(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryReadLatestFrame()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AvailableChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AvailableChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AvailableChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AvailableChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActiveChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActiveChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActiveChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActiveChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PropertiesChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PropertiesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PropertiesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PropertiesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoProfileChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoProfileChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoProfileChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoProfileChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraIntrinsicsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraIntrinsicsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraIntrinsicsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraIntrinsicsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Available(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Available()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Active(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Active()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsControlled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsControlled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedVideoProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableVideoProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraIntrinsics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraIntrinsics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcquireControlSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcquireControlSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanControlIndependentlyFrom(impl::abi_arg_in targetId, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CanControlIndependentlyFrom(*reinterpret_cast(&targetId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsCorrelatedWith(impl::abi_arg_in targetId, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsCorrelatedWith(*reinterpret_cast(&targetId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetTransformTo(impl::abi_arg_in targetId, impl::abi_arg_out result, bool * hasResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *hasResult = detach_abi(this->shim().TryGetTransformTo(*reinterpret_cast(&targetId), *result)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetDepthCorrelatedCameraIntrinsicsAsync(impl::abi_arg_in correlatedDepthFrameSource, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetDepthCorrelatedCameraIntrinsicsAsync(*reinterpret_cast(&correlatedDepthFrameSource))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetDepthCorrelatedCoordinateMapperAsync(impl::abi_arg_in targetSourceId, impl::abi_arg_in correlatedDepthFrameSource, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetDepthCorrelatedCoordinateMapperAsync(*reinterpret_cast(&targetSourceId), *reinterpret_cast(&correlatedDepthFrameSource))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetVideoProfileAsync(impl::abi_arg_in controlSession, impl::abi_arg_in profile, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetVideoProfileAsync(*reinterpret_cast(&controlSession), *reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().OpenReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SourceAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DeviceWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ControlLost(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ControlLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ControlLost(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ControlLost(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetPropertyAsync(impl::abi_arg_in name, impl::abi_arg_in value, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetPropertyAsync(*reinterpret_cast(&name), *reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UnprojectPixelAtCorrelatedDepth(impl::abi_arg_in pixelCoordinate, impl::abi_arg_in depthFrame, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprojectPixelAtCorrelatedDepth(*reinterpret_cast(&pixelCoordinate), *reinterpret_cast(&depthFrame))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprojectPixelsAtCorrelatedDepth(uint32_t __sourceCoordinatesSize, impl::abi_arg_in * sourceCoordinates, impl::abi_arg_in depthFrame, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnprojectPixelsAtCorrelatedDepth(*reinterpret_cast(&sourceCoordinates), *reinterpret_cast(&depthFrame), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprojectRegionPixelsAtCorrelatedDepthAsync(impl::abi_arg_in region, impl::abi_arg_in depthFrame, uint32_t __resultsSize, impl::abi_arg_out results, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprojectRegionPixelsAtCorrelatedDepthAsync(*reinterpret_cast(®ion), *reinterpret_cast(&depthFrame), *results)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprojectAllPixelsAtCorrelatedDepthAsync(impl::abi_arg_in depthFrame, uint32_t __resultsSize, impl::abi_arg_out results, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprojectAllPixelsAtCorrelatedDepthAsync(*reinterpret_cast(&depthFrame), *results)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_MapPixelToTarget(impl::abi_arg_in sourcePixelCoordinate, impl::abi_arg_in depthFrame, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MapPixelToTarget(*reinterpret_cast(&sourcePixelCoordinate), *reinterpret_cast(&depthFrame))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MapPixelsToTarget(uint32_t __sourceCoordinatesSize, impl::abi_arg_in * sourceCoordinates, impl::abi_arg_in depthFrame, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapPixelsToTarget(*reinterpret_cast(&sourceCoordinates), *reinterpret_cast(&depthFrame), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MapRegionOfPixelsToTargetAsync(impl::abi_arg_in region, impl::abi_arg_in depthFrame, uint32_t __targetCoordinatesSize, impl::abi_arg_out targetCoordinates, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MapRegionOfPixelsToTargetAsync(*reinterpret_cast(®ion), *reinterpret_cast(&depthFrame), *targetCoordinates)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MapAllPixelsToTargetAsync(impl::abi_arg_in depthFrame, uint32_t __targetCoordinatesSize, impl::abi_arg_out targetCoordinates, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MapAllPixelsToTargetAsync(*reinterpret_cast(&depthFrame), *targetCoordinates)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RelativeTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryOpenFrame(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryOpenFrame()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_FrameArrived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameArrived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaused(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaused()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPaused(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPaused(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryReadLatestFrame(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryReadLatestFrame()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AvailableChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AvailableChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AvailableChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AvailableChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActiveChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActiveChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActiveChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActiveChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PropertiesChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PropertiesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PropertiesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PropertiesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoProfileChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoProfileChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoProfileChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoProfileChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraIntrinsicsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraIntrinsicsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraIntrinsicsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraIntrinsicsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Available(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Available()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Active(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Active()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsControlled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsControlled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedVideoProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableVideoProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraIntrinsics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraIntrinsics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcquireControlSession(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AcquireControlSession()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanControlIndependentlyFrom(impl::abi_arg_in targetId, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CanControlIndependentlyFrom(*reinterpret_cast(&targetId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsCorrelatedWith(impl::abi_arg_in targetId, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsCorrelatedWith(*reinterpret_cast(&targetId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetTransformTo(impl::abi_arg_in targetId, impl::abi_arg_out result, bool * hasResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *hasResult = detach_abi(this->shim().TryGetTransformTo(*reinterpret_cast(&targetId), *result)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetDepthCorrelatedCameraIntrinsicsAsync(impl::abi_arg_in target, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetDepthCorrelatedCameraIntrinsicsAsync(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetDepthCorrelatedCoordinateMapperAsync(impl::abi_arg_in targetId, impl::abi_arg_in depthFrameSourceToMapWith, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetDepthCorrelatedCoordinateMapperAsync(*reinterpret_cast(&targetId), *reinterpret_cast(&depthFrameSourceToMapWith))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetVideoProfileAsync(impl::abi_arg_in controlSession, impl::abi_arg_in profile, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetVideoProfileAsync(*reinterpret_cast(&controlSession), *reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().OpenReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SourceAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DeviceWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CollectionChange(Windows::Foundation::Collections::CollectionChange * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CollectionChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Key(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Key()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RelativeTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryOpenFrame(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryOpenFrame()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_FrameArrived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameArrived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaused(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaused()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPaused(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPaused(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryReadLatestFrame(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryReadLatestFrame()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AvailableChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AvailableChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AvailableChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AvailableChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActiveChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActiveChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActiveChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActiveChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PropertiesChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PropertiesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PropertiesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PropertiesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoProfileChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoProfileChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoProfileChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoProfileChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraIntrinsicsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraIntrinsicsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraIntrinsicsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraIntrinsicsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Available(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Available()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Active(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Active()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsControlled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsControlled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedVideoProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableVideoProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableVideoProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraIntrinsics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraIntrinsics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcquireControlSession(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AcquireControlSession()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanControlIndependentlyFrom(impl::abi_arg_in targetId, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CanControlIndependentlyFrom(*reinterpret_cast(&targetId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsCorrelatedWith(impl::abi_arg_in targetId, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsCorrelatedWith(*reinterpret_cast(&targetId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetTransformTo(impl::abi_arg_in targetId, impl::abi_arg_out result, bool * hasResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *hasResult = detach_abi(this->shim().TryGetTransformTo(*reinterpret_cast(&targetId), *result)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetDepthCorrelatedCameraIntrinsicsAsync(impl::abi_arg_in target, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetDepthCorrelatedCameraIntrinsicsAsync(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetDepthCorrelatedCoordinateMapperAsync(impl::abi_arg_in targetId, impl::abi_arg_in depthFrameSourceToMapWith, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetDepthCorrelatedCoordinateMapperAsync(*reinterpret_cast(&targetId), *reinterpret_cast(&depthFrameSourceToMapWith))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetVideoProfileAsync(impl::abi_arg_in controlSession, impl::abi_arg_in profile, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetVideoProfileAsync(*reinterpret_cast(&controlSession), *reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenReader(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().OpenReader()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in id, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SourceAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::Enumeration::DeviceWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BitmapPixelFormat(Windows::Graphics::Imaging::BitmapPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapPixelFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapAlphaMode(Windows::Graphics::Imaging::BitmapAlphaMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapAlphaMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEqual(impl::abi_arg_in other, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsEqual(*reinterpret_cast(&other))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Perception { + +template event_token impl_IPerceptionColorFrameSourceWatcher::SourceAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->add_SourceAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSourceWatcher::SourceAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSourceWatcher::remove_SourceAdded, SourceAdded(handler)); +} + +template void impl_IPerceptionColorFrameSourceWatcher::SourceAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->remove_SourceAdded(token)); +} + +template event_token impl_IPerceptionColorFrameSourceWatcher::SourceRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->add_SourceRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSourceWatcher::SourceRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSourceWatcher::remove_SourceRemoved, SourceRemoved(handler)); +} + +template void impl_IPerceptionColorFrameSourceWatcher::SourceRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->remove_SourceRemoved(token)); +} + +template event_token impl_IPerceptionColorFrameSourceWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSourceWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSourceWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IPerceptionColorFrameSourceWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->remove_Stopped(token)); +} + +template event_token impl_IPerceptionColorFrameSourceWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSourceWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSourceWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IPerceptionColorFrameSourceWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->remove_EnumerationCompleted(token)); +} + +template Windows::Devices::Enumeration::DeviceWatcherStatus impl_IPerceptionColorFrameSourceWatcher::Status() const +{ + Windows::Devices::Enumeration::DeviceWatcherStatus value {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->get_Status(&value)); + return value; +} + +template void impl_IPerceptionColorFrameSourceWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->abi_Start()); +} + +template void impl_IPerceptionColorFrameSourceWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceWatcher)->abi_Stop()); +} + +template event_token impl_IPerceptionDepthFrameSourceWatcher::SourceAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->add_SourceAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSourceWatcher::SourceAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSourceWatcher::remove_SourceAdded, SourceAdded(handler)); +} + +template void impl_IPerceptionDepthFrameSourceWatcher::SourceAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->remove_SourceAdded(token)); +} + +template event_token impl_IPerceptionDepthFrameSourceWatcher::SourceRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->add_SourceRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSourceWatcher::SourceRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSourceWatcher::remove_SourceRemoved, SourceRemoved(handler)); +} + +template void impl_IPerceptionDepthFrameSourceWatcher::SourceRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->remove_SourceRemoved(token)); +} + +template event_token impl_IPerceptionDepthFrameSourceWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSourceWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSourceWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IPerceptionDepthFrameSourceWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->remove_Stopped(token)); +} + +template event_token impl_IPerceptionDepthFrameSourceWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSourceWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSourceWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IPerceptionDepthFrameSourceWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->remove_EnumerationCompleted(token)); +} + +template Windows::Devices::Enumeration::DeviceWatcherStatus impl_IPerceptionDepthFrameSourceWatcher::Status() const +{ + Windows::Devices::Enumeration::DeviceWatcherStatus value {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->get_Status(&value)); + return value; +} + +template void impl_IPerceptionDepthFrameSourceWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->abi_Start()); +} + +template void impl_IPerceptionDepthFrameSourceWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceWatcher)->abi_Stop()); +} + +template event_token impl_IPerceptionInfraredFrameSourceWatcher::SourceAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->add_SourceAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSourceWatcher::SourceAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSourceWatcher::remove_SourceAdded, SourceAdded(handler)); +} + +template void impl_IPerceptionInfraredFrameSourceWatcher::SourceAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->remove_SourceAdded(token)); +} + +template event_token impl_IPerceptionInfraredFrameSourceWatcher::SourceRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->add_SourceRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSourceWatcher::SourceRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSourceWatcher::remove_SourceRemoved, SourceRemoved(handler)); +} + +template void impl_IPerceptionInfraredFrameSourceWatcher::SourceRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->remove_SourceRemoved(token)); +} + +template event_token impl_IPerceptionInfraredFrameSourceWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSourceWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSourceWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IPerceptionInfraredFrameSourceWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->remove_Stopped(token)); +} + +template event_token impl_IPerceptionInfraredFrameSourceWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSourceWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSourceWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IPerceptionInfraredFrameSourceWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->remove_EnumerationCompleted(token)); +} + +template Windows::Devices::Enumeration::DeviceWatcherStatus impl_IPerceptionInfraredFrameSourceWatcher::Status() const +{ + Windows::Devices::Enumeration::DeviceWatcherStatus value {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->get_Status(&value)); + return value; +} + +template void impl_IPerceptionInfraredFrameSourceWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->abi_Start()); +} + +template void impl_IPerceptionInfraredFrameSourceWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceWatcher)->abi_Stop()); +} + +template Windows::Devices::Perception::PerceptionColorFrameSource impl_IPerceptionColorFrameSourceAddedEventArgs::FrameSource() const +{ + Windows::Devices::Perception::PerceptionColorFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceAddedEventArgs)->get_FrameSource(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionColorFrameSource impl_IPerceptionColorFrameSourceRemovedEventArgs::FrameSource() const +{ + Windows::Devices::Perception::PerceptionColorFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceRemovedEventArgs)->get_FrameSource(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionDepthFrameSource impl_IPerceptionDepthFrameSourceAddedEventArgs::FrameSource() const +{ + Windows::Devices::Perception::PerceptionDepthFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceAddedEventArgs)->get_FrameSource(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionDepthFrameSource impl_IPerceptionDepthFrameSourceRemovedEventArgs::FrameSource() const +{ + Windows::Devices::Perception::PerceptionDepthFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceRemovedEventArgs)->get_FrameSource(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionInfraredFrameSource impl_IPerceptionInfraredFrameSourceAddedEventArgs::FrameSource() const +{ + Windows::Devices::Perception::PerceptionInfraredFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceAddedEventArgs)->get_FrameSource(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionInfraredFrameSource impl_IPerceptionInfraredFrameSourceRemovedEventArgs::FrameSource() const +{ + Windows::Devices::Perception::PerceptionInfraredFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceRemovedEventArgs)->get_FrameSource(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameSourcePropertiesStatics::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameSourcePropertiesStatics)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameSourcePropertiesStatics::PhysicalDeviceIds() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameSourcePropertiesStatics)->get_PhysicalDeviceIds(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameSourcePropertiesStatics::FrameKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameSourcePropertiesStatics)->get_FrameKind(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameSourcePropertiesStatics::DeviceModelVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameSourcePropertiesStatics)->get_DeviceModelVersion(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameSourcePropertiesStatics::EnclosureLocation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameSourcePropertiesStatics)->get_EnclosureLocation(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionFrameSourcePropertiesStatics2::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionFrameSourcePropertiesStatics2)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoFrameSourcePropertiesStatics::VideoProfile() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoFrameSourcePropertiesStatics)->get_VideoProfile(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoFrameSourcePropertiesStatics::SupportedVideoProfiles() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoFrameSourcePropertiesStatics)->get_SupportedVideoProfiles(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoFrameSourcePropertiesStatics::AvailableVideoProfiles() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoFrameSourcePropertiesStatics)->get_AvailableVideoProfiles(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoFrameSourcePropertiesStatics::IsMirrored() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoFrameSourcePropertiesStatics)->get_IsMirrored(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoFrameSourcePropertiesStatics::CameraIntrinsics() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoFrameSourcePropertiesStatics)->get_CameraIntrinsics(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionInfraredFrameSourcePropertiesStatics::Exposure() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionInfraredFrameSourcePropertiesStatics)->get_Exposure(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionInfraredFrameSourcePropertiesStatics::AutoExposureEnabled() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionInfraredFrameSourcePropertiesStatics)->get_AutoExposureEnabled(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionInfraredFrameSourcePropertiesStatics::ExposureCompensation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionInfraredFrameSourcePropertiesStatics)->get_ExposureCompensation(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionInfraredFrameSourcePropertiesStatics::ActiveIlluminationEnabled() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionInfraredFrameSourcePropertiesStatics)->get_ActiveIlluminationEnabled(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionInfraredFrameSourcePropertiesStatics::AmbientSubtractionEnabled() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionInfraredFrameSourcePropertiesStatics)->get_AmbientSubtractionEnabled(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionInfraredFrameSourcePropertiesStatics::StructureLightPatternEnabled() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionInfraredFrameSourcePropertiesStatics)->get_StructureLightPatternEnabled(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionInfraredFrameSourcePropertiesStatics::InterleavedIlluminationEnabled() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionInfraredFrameSourcePropertiesStatics)->get_InterleavedIlluminationEnabled(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionDepthFrameSourcePropertiesStatics::MinDepth() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionDepthFrameSourcePropertiesStatics)->get_MinDepth(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionDepthFrameSourcePropertiesStatics::MaxDepth() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionDepthFrameSourcePropertiesStatics)->get_MaxDepth(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionColorFrameSourcePropertiesStatics::Exposure() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionColorFrameSourcePropertiesStatics)->get_Exposure(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionColorFrameSourcePropertiesStatics::AutoExposureEnabled() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionColorFrameSourcePropertiesStatics)->get_AutoExposureEnabled(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionColorFrameSourcePropertiesStatics::ExposureCompensation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionColorFrameSourcePropertiesStatics)->get_ExposureCompensation(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoProfilePropertiesStatics::BitmapPixelFormat() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoProfilePropertiesStatics)->get_BitmapPixelFormat(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoProfilePropertiesStatics::BitmapAlphaMode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoProfilePropertiesStatics)->get_BitmapAlphaMode(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoProfilePropertiesStatics::Width() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoProfilePropertiesStatics)->get_Width(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoProfilePropertiesStatics::Height() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoProfilePropertiesStatics)->get_Height(put_abi(value))); + return value; +} + +template hstring impl_IKnownPerceptionVideoProfilePropertiesStatics::FrameDuration() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownPerceptionVideoProfilePropertiesStatics)->get_FrameDuration(put_abi(value))); + return value; +} + +template hstring impl_IKnownCameraIntrinsicsPropertiesStatics::FocalLength() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownCameraIntrinsicsPropertiesStatics)->get_FocalLength(put_abi(value))); + return value; +} + +template hstring impl_IKnownCameraIntrinsicsPropertiesStatics::PrincipalPoint() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownCameraIntrinsicsPropertiesStatics)->get_PrincipalPoint(put_abi(value))); + return value; +} + +template hstring impl_IKnownCameraIntrinsicsPropertiesStatics::RadialDistortion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownCameraIntrinsicsPropertiesStatics)->get_RadialDistortion(put_abi(value))); + return value; +} + +template hstring impl_IKnownCameraIntrinsicsPropertiesStatics::TangentialDistortion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownCameraIntrinsicsPropertiesStatics)->get_TangentialDistortion(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus impl_IPerceptionFrameSourcePropertyChangeResult::Status() const +{ + Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeStatus value {}; + check_hresult(WINRT_SHIM(IPerceptionFrameSourcePropertyChangeResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IPerceptionFrameSourcePropertyChangeResult::NewValue() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IPerceptionFrameSourcePropertyChangeResult)->get_NewValue(put_abi(value))); + return value; +} + +template event_token impl_IPerceptionControlSession::ControlLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionControlSession)->add_ControlLost(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionControlSession::ControlLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionControlSession::remove_ControlLost, ControlLost(handler)); +} + +template void impl_IPerceptionControlSession::ControlLost(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionControlSession)->remove_ControlLost(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionControlSession::TrySetPropertyAsync(hstring_view name, const Windows::Foundation::IInspectable & value) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionControlSession)->abi_TrySetPropertyAsync(get_abi(name), get_abi(value), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::CollectionChange impl_IPerceptionFrameSourcePropertiesChangedEventArgs::CollectionChange() const +{ + Windows::Foundation::Collections::CollectionChange value {}; + check_hresult(WINRT_SHIM(IPerceptionFrameSourcePropertiesChangedEventArgs)->get_CollectionChange(&value)); + return value; +} + +template hstring impl_IPerceptionFrameSourcePropertiesChangedEventArgs::Key() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionFrameSourcePropertiesChangedEventArgs)->get_Key(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionInfraredFrameSourceWatcher impl_IPerceptionInfraredFrameSourceStatics::CreateWatcher() const +{ + Windows::Devices::Perception::PerceptionInfraredFrameSourceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceStatics)->abi_CreateWatcher(put_abi(watcher))); + return watcher; +} + +template Windows::Foundation::IAsyncOperation> impl_IPerceptionInfraredFrameSourceStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceStatics)->abi_FindAllAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionInfraredFrameSourceStatics::FromIdAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceStatics)->abi_FromIdAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionInfraredFrameSourceStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSourceStatics)->abi_RequestAccessAsync(put_abi(result))); + return result; +} + +template Windows::Devices::Perception::PerceptionDepthFrameSourceWatcher impl_IPerceptionDepthFrameSourceStatics::CreateWatcher() const +{ + Windows::Devices::Perception::PerceptionDepthFrameSourceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceStatics)->abi_CreateWatcher(put_abi(watcher))); + return watcher; +} + +template Windows::Foundation::IAsyncOperation> impl_IPerceptionDepthFrameSourceStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceStatics)->abi_FindAllAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionDepthFrameSourceStatics::FromIdAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceStatics)->abi_FromIdAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionDepthFrameSourceStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSourceStatics)->abi_RequestAccessAsync(put_abi(result))); + return result; +} + +template Windows::Devices::Perception::PerceptionColorFrameSourceWatcher impl_IPerceptionColorFrameSourceStatics::CreateWatcher() const +{ + Windows::Devices::Perception::PerceptionColorFrameSourceWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceStatics)->abi_CreateWatcher(put_abi(watcher))); + return watcher; +} + +template Windows::Foundation::IAsyncOperation> impl_IPerceptionColorFrameSourceStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceStatics)->abi_FindAllAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionColorFrameSourceStatics::FromIdAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceStatics)->abi_FromIdAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionColorFrameSourceStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSourceStatics)->abi_RequestAccessAsync(put_abi(result))); + return result; +} + +template event_token impl_IPerceptionColorFrameSource::AvailableChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->add_AvailableChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSource::AvailableChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSource::remove_AvailableChanged, AvailableChanged(handler)); +} + +template void impl_IPerceptionColorFrameSource::AvailableChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->remove_AvailableChanged(token)); +} + +template event_token impl_IPerceptionColorFrameSource::ActiveChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->add_ActiveChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSource::ActiveChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSource::remove_ActiveChanged, ActiveChanged(handler)); +} + +template void impl_IPerceptionColorFrameSource::ActiveChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->remove_ActiveChanged(token)); +} + +template event_token impl_IPerceptionColorFrameSource::PropertiesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->add_PropertiesChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSource::PropertiesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSource::remove_PropertiesChanged, PropertiesChanged(handler)); +} + +template void impl_IPerceptionColorFrameSource::PropertiesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->remove_PropertiesChanged(token)); +} + +template event_token impl_IPerceptionColorFrameSource::VideoProfileChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->add_VideoProfileChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSource::VideoProfileChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSource::remove_VideoProfileChanged, VideoProfileChanged(handler)); +} + +template void impl_IPerceptionColorFrameSource::VideoProfileChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->remove_VideoProfileChanged(token)); +} + +template event_token impl_IPerceptionColorFrameSource::CameraIntrinsicsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->add_CameraIntrinsicsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameSource::CameraIntrinsicsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameSource::remove_CameraIntrinsicsChanged, CameraIntrinsicsChanged(handler)); +} + +template void impl_IPerceptionColorFrameSource::CameraIntrinsicsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->remove_CameraIntrinsicsChanged(token)); +} + +template hstring impl_IPerceptionColorFrameSource::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IPerceptionColorFrameSource::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPerceptionColorFrameSource::DeviceKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_DeviceKind(put_abi(value))); + return value; +} + +template bool impl_IPerceptionColorFrameSource::Available() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_Available(&value)); + return value; +} + +template bool impl_IPerceptionColorFrameSource::Active() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_Active(&value)); + return value; +} + +template bool impl_IPerceptionColorFrameSource::IsControlled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_IsControlled(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IPerceptionColorFrameSource::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionColorFrameSource::SupportedVideoProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_SupportedVideoProfiles(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionColorFrameSource::AvailableVideoProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_AvailableVideoProfiles(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionVideoProfile impl_IPerceptionColorFrameSource::VideoProfile() const +{ + Windows::Devices::Perception::PerceptionVideoProfile value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_VideoProfile(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::CameraIntrinsics impl_IPerceptionColorFrameSource::CameraIntrinsics() const +{ + Windows::Media::Devices::Core::CameraIntrinsics value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->get_CameraIntrinsics(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionControlSession impl_IPerceptionColorFrameSource::AcquireControlSession() const +{ + Windows::Devices::Perception::PerceptionControlSession value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_AcquireControlSession(put_abi(value))); + return value; +} + +template bool impl_IPerceptionColorFrameSource::CanControlIndependentlyFrom(hstring_view targetId) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_CanControlIndependentlyFrom(get_abi(targetId), &result)); + return result; +} + +template bool impl_IPerceptionColorFrameSource::IsCorrelatedWith(hstring_view targetId) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_IsCorrelatedWith(get_abi(targetId), &result)); + return result; +} + +template bool impl_IPerceptionColorFrameSource::TryGetTransformTo(hstring_view targetId, Windows::Foundation::Numerics::float4x4 & result) const +{ + bool hasResult {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_TryGetTransformTo(get_abi(targetId), put_abi(result), &hasResult)); + return hasResult; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionColorFrameSource::TryGetDepthCorrelatedCameraIntrinsicsAsync(const Windows::Devices::Perception::PerceptionDepthFrameSource & correlatedDepthFrameSource) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_TryGetDepthCorrelatedCameraIntrinsicsAsync(get_abi(correlatedDepthFrameSource), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionColorFrameSource::TryGetDepthCorrelatedCoordinateMapperAsync(hstring_view targetSourceId, const Windows::Devices::Perception::PerceptionDepthFrameSource & correlatedDepthFrameSource) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_TryGetDepthCorrelatedCoordinateMapperAsync(get_abi(targetSourceId), get_abi(correlatedDepthFrameSource), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionColorFrameSource::TrySetVideoProfileAsync(const Windows::Devices::Perception::PerceptionControlSession & controlSession, const Windows::Devices::Perception::PerceptionVideoProfile & profile) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_TrySetVideoProfileAsync(get_abi(controlSession), get_abi(profile), put_abi(result))); + return result; +} + +template Windows::Devices::Perception::PerceptionColorFrameReader impl_IPerceptionColorFrameSource::OpenReader() const +{ + Windows::Devices::Perception::PerceptionColorFrameReader result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource)->abi_OpenReader(put_abi(result))); + return result; +} + +template hstring impl_IPerceptionColorFrameSource2::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionColorFrameSource2)->get_DeviceId(put_abi(value))); + return value; +} + +template event_token impl_IPerceptionDepthFrameSource::AvailableChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->add_AvailableChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSource::AvailableChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSource::remove_AvailableChanged, AvailableChanged(handler)); +} + +template void impl_IPerceptionDepthFrameSource::AvailableChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->remove_AvailableChanged(token)); +} + +template event_token impl_IPerceptionDepthFrameSource::ActiveChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->add_ActiveChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSource::ActiveChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSource::remove_ActiveChanged, ActiveChanged(handler)); +} + +template void impl_IPerceptionDepthFrameSource::ActiveChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->remove_ActiveChanged(token)); +} + +template event_token impl_IPerceptionDepthFrameSource::PropertiesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->add_PropertiesChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSource::PropertiesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSource::remove_PropertiesChanged, PropertiesChanged(handler)); +} + +template void impl_IPerceptionDepthFrameSource::PropertiesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->remove_PropertiesChanged(token)); +} + +template event_token impl_IPerceptionDepthFrameSource::VideoProfileChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->add_VideoProfileChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSource::VideoProfileChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSource::remove_VideoProfileChanged, VideoProfileChanged(handler)); +} + +template void impl_IPerceptionDepthFrameSource::VideoProfileChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->remove_VideoProfileChanged(token)); +} + +template event_token impl_IPerceptionDepthFrameSource::CameraIntrinsicsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->add_CameraIntrinsicsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameSource::CameraIntrinsicsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameSource::remove_CameraIntrinsicsChanged, CameraIntrinsicsChanged(handler)); +} + +template void impl_IPerceptionDepthFrameSource::CameraIntrinsicsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->remove_CameraIntrinsicsChanged(token)); +} + +template hstring impl_IPerceptionDepthFrameSource::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IPerceptionDepthFrameSource::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPerceptionDepthFrameSource::DeviceKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_DeviceKind(put_abi(value))); + return value; +} + +template bool impl_IPerceptionDepthFrameSource::Available() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_Available(&value)); + return value; +} + +template bool impl_IPerceptionDepthFrameSource::Active() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_Active(&value)); + return value; +} + +template bool impl_IPerceptionDepthFrameSource::IsControlled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_IsControlled(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IPerceptionDepthFrameSource::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionDepthFrameSource::SupportedVideoProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_SupportedVideoProfiles(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionDepthFrameSource::AvailableVideoProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_AvailableVideoProfiles(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionVideoProfile impl_IPerceptionDepthFrameSource::VideoProfile() const +{ + Windows::Devices::Perception::PerceptionVideoProfile value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_VideoProfile(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::CameraIntrinsics impl_IPerceptionDepthFrameSource::CameraIntrinsics() const +{ + Windows::Media::Devices::Core::CameraIntrinsics value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->get_CameraIntrinsics(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionControlSession impl_IPerceptionDepthFrameSource::AcquireControlSession() const +{ + Windows::Devices::Perception::PerceptionControlSession result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_AcquireControlSession(put_abi(result))); + return result; +} + +template bool impl_IPerceptionDepthFrameSource::CanControlIndependentlyFrom(hstring_view targetId) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_CanControlIndependentlyFrom(get_abi(targetId), &result)); + return result; +} + +template bool impl_IPerceptionDepthFrameSource::IsCorrelatedWith(hstring_view targetId) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_IsCorrelatedWith(get_abi(targetId), &result)); + return result; +} + +template bool impl_IPerceptionDepthFrameSource::TryGetTransformTo(hstring_view targetId, Windows::Foundation::Numerics::float4x4 & result) const +{ + bool hasResult {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_TryGetTransformTo(get_abi(targetId), put_abi(result), &hasResult)); + return hasResult; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionDepthFrameSource::TryGetDepthCorrelatedCameraIntrinsicsAsync(const Windows::Devices::Perception::PerceptionDepthFrameSource & target) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_TryGetDepthCorrelatedCameraIntrinsicsAsync(get_abi(target), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionDepthFrameSource::TryGetDepthCorrelatedCoordinateMapperAsync(hstring_view targetId, const Windows::Devices::Perception::PerceptionDepthFrameSource & depthFrameSourceToMapWith) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_TryGetDepthCorrelatedCoordinateMapperAsync(get_abi(targetId), get_abi(depthFrameSourceToMapWith), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionDepthFrameSource::TrySetVideoProfileAsync(const Windows::Devices::Perception::PerceptionControlSession & controlSession, const Windows::Devices::Perception::PerceptionVideoProfile & profile) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_TrySetVideoProfileAsync(get_abi(controlSession), get_abi(profile), put_abi(result))); + return result; +} + +template Windows::Devices::Perception::PerceptionDepthFrameReader impl_IPerceptionDepthFrameSource::OpenReader() const +{ + Windows::Devices::Perception::PerceptionDepthFrameReader result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource)->abi_OpenReader(put_abi(result))); + return result; +} + +template hstring impl_IPerceptionDepthFrameSource2::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameSource2)->get_DeviceId(put_abi(value))); + return value; +} + +template event_token impl_IPerceptionInfraredFrameSource::AvailableChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->add_AvailableChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSource::AvailableChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSource::remove_AvailableChanged, AvailableChanged(handler)); +} + +template void impl_IPerceptionInfraredFrameSource::AvailableChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->remove_AvailableChanged(token)); +} + +template event_token impl_IPerceptionInfraredFrameSource::ActiveChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->add_ActiveChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSource::ActiveChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSource::remove_ActiveChanged, ActiveChanged(handler)); +} + +template void impl_IPerceptionInfraredFrameSource::ActiveChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->remove_ActiveChanged(token)); +} + +template event_token impl_IPerceptionInfraredFrameSource::PropertiesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->add_PropertiesChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSource::PropertiesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSource::remove_PropertiesChanged, PropertiesChanged(handler)); +} + +template void impl_IPerceptionInfraredFrameSource::PropertiesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->remove_PropertiesChanged(token)); +} + +template event_token impl_IPerceptionInfraredFrameSource::VideoProfileChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->add_VideoProfileChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSource::VideoProfileChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSource::remove_VideoProfileChanged, VideoProfileChanged(handler)); +} + +template void impl_IPerceptionInfraredFrameSource::VideoProfileChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->remove_VideoProfileChanged(token)); +} + +template event_token impl_IPerceptionInfraredFrameSource::CameraIntrinsicsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->add_CameraIntrinsicsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameSource::CameraIntrinsicsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameSource::remove_CameraIntrinsicsChanged, CameraIntrinsicsChanged(handler)); +} + +template void impl_IPerceptionInfraredFrameSource::CameraIntrinsicsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->remove_CameraIntrinsicsChanged(token)); +} + +template hstring impl_IPerceptionInfraredFrameSource::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IPerceptionInfraredFrameSource::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPerceptionInfraredFrameSource::DeviceKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_DeviceKind(put_abi(value))); + return value; +} + +template bool impl_IPerceptionInfraredFrameSource::Available() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_Available(&value)); + return value; +} + +template bool impl_IPerceptionInfraredFrameSource::Active() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_Active(&value)); + return value; +} + +template bool impl_IPerceptionInfraredFrameSource::IsControlled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_IsControlled(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IPerceptionInfraredFrameSource::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionInfraredFrameSource::SupportedVideoProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_SupportedVideoProfiles(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPerceptionInfraredFrameSource::AvailableVideoProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_AvailableVideoProfiles(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionVideoProfile impl_IPerceptionInfraredFrameSource::VideoProfile() const +{ + Windows::Devices::Perception::PerceptionVideoProfile value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_VideoProfile(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::CameraIntrinsics impl_IPerceptionInfraredFrameSource::CameraIntrinsics() const +{ + Windows::Media::Devices::Core::CameraIntrinsics value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->get_CameraIntrinsics(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionControlSession impl_IPerceptionInfraredFrameSource::AcquireControlSession() const +{ + Windows::Devices::Perception::PerceptionControlSession result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_AcquireControlSession(put_abi(result))); + return result; +} + +template bool impl_IPerceptionInfraredFrameSource::CanControlIndependentlyFrom(hstring_view targetId) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_CanControlIndependentlyFrom(get_abi(targetId), &result)); + return result; +} + +template bool impl_IPerceptionInfraredFrameSource::IsCorrelatedWith(hstring_view targetId) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_IsCorrelatedWith(get_abi(targetId), &result)); + return result; +} + +template bool impl_IPerceptionInfraredFrameSource::TryGetTransformTo(hstring_view targetId, Windows::Foundation::Numerics::float4x4 & result) const +{ + bool hasResult {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_TryGetTransformTo(get_abi(targetId), put_abi(result), &hasResult)); + return hasResult; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionInfraredFrameSource::TryGetDepthCorrelatedCameraIntrinsicsAsync(const Windows::Devices::Perception::PerceptionDepthFrameSource & target) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_TryGetDepthCorrelatedCameraIntrinsicsAsync(get_abi(target), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionInfraredFrameSource::TryGetDepthCorrelatedCoordinateMapperAsync(hstring_view targetId, const Windows::Devices::Perception::PerceptionDepthFrameSource & depthFrameSourceToMapWith) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_TryGetDepthCorrelatedCoordinateMapperAsync(get_abi(targetId), get_abi(depthFrameSourceToMapWith), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPerceptionInfraredFrameSource::TrySetVideoProfileAsync(const Windows::Devices::Perception::PerceptionControlSession & controlSession, const Windows::Devices::Perception::PerceptionVideoProfile & profile) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_TrySetVideoProfileAsync(get_abi(controlSession), get_abi(profile), put_abi(result))); + return result; +} + +template Windows::Devices::Perception::PerceptionInfraredFrameReader impl_IPerceptionInfraredFrameSource::OpenReader() const +{ + Windows::Devices::Perception::PerceptionInfraredFrameReader result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource)->abi_OpenReader(put_abi(result))); + return result; +} + +template hstring impl_IPerceptionInfraredFrameSource2::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameSource2)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::BitmapPixelFormat impl_IPerceptionVideoProfile::BitmapPixelFormat() const +{ + Windows::Graphics::Imaging::BitmapPixelFormat value {}; + check_hresult(WINRT_SHIM(IPerceptionVideoProfile)->get_BitmapPixelFormat(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapAlphaMode impl_IPerceptionVideoProfile::BitmapAlphaMode() const +{ + Windows::Graphics::Imaging::BitmapAlphaMode value {}; + check_hresult(WINRT_SHIM(IPerceptionVideoProfile)->get_BitmapAlphaMode(&value)); + return value; +} + +template int32_t impl_IPerceptionVideoProfile::Width() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPerceptionVideoProfile)->get_Width(&value)); + return value; +} + +template int32_t impl_IPerceptionVideoProfile::Height() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPerceptionVideoProfile)->get_Height(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPerceptionVideoProfile::FrameDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPerceptionVideoProfile)->get_FrameDuration(put_abi(value))); + return value; +} + +template bool impl_IPerceptionVideoProfile::IsEqual(const Windows::Devices::Perception::PerceptionVideoProfile & other) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPerceptionVideoProfile)->abi_IsEqual(get_abi(other), &result)); + return result; +} + +template event_token impl_IPerceptionColorFrameReader::FrameArrived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameReader)->add_FrameArrived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionColorFrameReader::FrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionColorFrameReader::remove_FrameArrived, FrameArrived(handler)); +} + +template void impl_IPerceptionColorFrameReader::FrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameReader)->remove_FrameArrived(token)); +} + +template Windows::Devices::Perception::PerceptionColorFrameSource impl_IPerceptionColorFrameReader::Source() const +{ + Windows::Devices::Perception::PerceptionColorFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameReader)->get_Source(put_abi(value))); + return value; +} + +template bool impl_IPerceptionColorFrameReader::IsPaused() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameReader)->get_IsPaused(&value)); + return value; +} + +template void impl_IPerceptionColorFrameReader::IsPaused(bool value) const +{ + check_hresult(WINRT_SHIM(IPerceptionColorFrameReader)->put_IsPaused(value)); +} + +template Windows::Devices::Perception::PerceptionColorFrame impl_IPerceptionColorFrameReader::TryReadLatestFrame() const +{ + Windows::Devices::Perception::PerceptionColorFrame result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameReader)->abi_TryReadLatestFrame(put_abi(result))); + return result; +} + +template event_token impl_IPerceptionDepthFrameReader::FrameArrived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameReader)->add_FrameArrived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionDepthFrameReader::FrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionDepthFrameReader::remove_FrameArrived, FrameArrived(handler)); +} + +template void impl_IPerceptionDepthFrameReader::FrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameReader)->remove_FrameArrived(token)); +} + +template Windows::Devices::Perception::PerceptionDepthFrameSource impl_IPerceptionDepthFrameReader::Source() const +{ + Windows::Devices::Perception::PerceptionDepthFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameReader)->get_Source(put_abi(value))); + return value; +} + +template bool impl_IPerceptionDepthFrameReader::IsPaused() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameReader)->get_IsPaused(&value)); + return value; +} + +template void impl_IPerceptionDepthFrameReader::IsPaused(bool value) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthFrameReader)->put_IsPaused(value)); +} + +template Windows::Devices::Perception::PerceptionDepthFrame impl_IPerceptionDepthFrameReader::TryReadLatestFrame() const +{ + Windows::Devices::Perception::PerceptionDepthFrame result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameReader)->abi_TryReadLatestFrame(put_abi(result))); + return result; +} + +template event_token impl_IPerceptionInfraredFrameReader::FrameArrived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameReader)->add_FrameArrived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPerceptionInfraredFrameReader::FrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Perception::IPerceptionInfraredFrameReader::remove_FrameArrived, FrameArrived(handler)); +} + +template void impl_IPerceptionInfraredFrameReader::FrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameReader)->remove_FrameArrived(token)); +} + +template Windows::Devices::Perception::PerceptionInfraredFrameSource impl_IPerceptionInfraredFrameReader::Source() const +{ + Windows::Devices::Perception::PerceptionInfraredFrameSource value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameReader)->get_Source(put_abi(value))); + return value; +} + +template bool impl_IPerceptionInfraredFrameReader::IsPaused() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameReader)->get_IsPaused(&value)); + return value; +} + +template void impl_IPerceptionInfraredFrameReader::IsPaused(bool value) const +{ + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameReader)->put_IsPaused(value)); +} + +template Windows::Devices::Perception::PerceptionInfraredFrame impl_IPerceptionInfraredFrameReader::TryReadLatestFrame() const +{ + Windows::Devices::Perception::PerceptionInfraredFrame result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameReader)->abi_TryReadLatestFrame(put_abi(result))); + return result; +} + +template Windows::Media::VideoFrame impl_IPerceptionColorFrame::VideoFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrame)->get_VideoFrame(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IPerceptionDepthFrame::VideoFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrame)->get_VideoFrame(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IPerceptionInfraredFrame::VideoFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrame)->get_VideoFrame(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPerceptionColorFrameArrivedEventArgs::RelativeTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPerceptionColorFrameArrivedEventArgs)->get_RelativeTime(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionColorFrame impl_IPerceptionColorFrameArrivedEventArgs::TryOpenFrame() const +{ + Windows::Devices::Perception::PerceptionColorFrame result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionColorFrameArrivedEventArgs)->abi_TryOpenFrame(put_abi(result))); + return result; +} + +template Windows::Foundation::TimeSpan impl_IPerceptionDepthFrameArrivedEventArgs::RelativeTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameArrivedEventArgs)->get_RelativeTime(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionDepthFrame impl_IPerceptionDepthFrameArrivedEventArgs::TryOpenFrame() const +{ + Windows::Devices::Perception::PerceptionDepthFrame result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionDepthFrameArrivedEventArgs)->abi_TryOpenFrame(put_abi(result))); + return result; +} + +template Windows::Foundation::TimeSpan impl_IPerceptionInfraredFrameArrivedEventArgs::RelativeTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameArrivedEventArgs)->get_RelativeTime(put_abi(value))); + return value; +} + +template Windows::Devices::Perception::PerceptionInfraredFrame impl_IPerceptionInfraredFrameArrivedEventArgs::TryOpenFrame() const +{ + Windows::Devices::Perception::PerceptionInfraredFrame result { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionInfraredFrameArrivedEventArgs)->abi_TryOpenFrame(put_abi(result))); + return result; +} + +template Windows::Foundation::Numerics::float3 impl_IPerceptionDepthCorrelatedCameraIntrinsics::UnprojectPixelAtCorrelatedDepth(const Windows::Foundation::Point & pixelCoordinate, const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame) const +{ + Windows::Foundation::Numerics::float3 result {}; + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCameraIntrinsics)->abi_UnprojectPixelAtCorrelatedDepth(get_abi(pixelCoordinate), get_abi(depthFrame), put_abi(result))); + return result; +} + +template void impl_IPerceptionDepthCorrelatedCameraIntrinsics::UnprojectPixelsAtCorrelatedDepth(array_view sourceCoordinates, const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame, array_view results) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCameraIntrinsics)->abi_UnprojectPixelsAtCorrelatedDepth(sourceCoordinates.size(), get_abi(sourceCoordinates), get_abi(depthFrame), results.size(), get_abi(results))); +} + +template Windows::Foundation::IAsyncAction impl_IPerceptionDepthCorrelatedCameraIntrinsics::UnprojectRegionPixelsAtCorrelatedDepthAsync(const Windows::Foundation::Rect & region, const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame, array_view results) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCameraIntrinsics)->abi_UnprojectRegionPixelsAtCorrelatedDepthAsync(get_abi(region), get_abi(depthFrame), results.size(), get_abi(results), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPerceptionDepthCorrelatedCameraIntrinsics::UnprojectAllPixelsAtCorrelatedDepthAsync(const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame, array_view results) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCameraIntrinsics)->abi_UnprojectAllPixelsAtCorrelatedDepthAsync(get_abi(depthFrame), results.size(), get_abi(results), put_abi(result))); + return result; +} + +template Windows::Foundation::Point impl_IPerceptionDepthCorrelatedCoordinateMapper::MapPixelToTarget(const Windows::Foundation::Point & sourcePixelCoordinate, const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame) const +{ + Windows::Foundation::Point result {}; + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCoordinateMapper)->abi_MapPixelToTarget(get_abi(sourcePixelCoordinate), get_abi(depthFrame), put_abi(result))); + return result; +} + +template void impl_IPerceptionDepthCorrelatedCoordinateMapper::MapPixelsToTarget(array_view sourceCoordinates, const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame, array_view results) const +{ + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCoordinateMapper)->abi_MapPixelsToTarget(sourceCoordinates.size(), get_abi(sourceCoordinates), get_abi(depthFrame), results.size(), get_abi(results))); +} + +template Windows::Foundation::IAsyncAction impl_IPerceptionDepthCorrelatedCoordinateMapper::MapRegionOfPixelsToTargetAsync(const Windows::Foundation::Rect & region, const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame, array_view targetCoordinates) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCoordinateMapper)->abi_MapRegionOfPixelsToTargetAsync(get_abi(region), get_abi(depthFrame), targetCoordinates.size(), get_abi(targetCoordinates), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IPerceptionDepthCorrelatedCoordinateMapper::MapAllPixelsToTargetAsync(const Windows::Devices::Perception::PerceptionDepthFrame & depthFrame, array_view targetCoordinates) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IPerceptionDepthCorrelatedCoordinateMapper)->abi_MapAllPixelsToTargetAsync(get_abi(depthFrame), targetCoordinates.size(), get_abi(targetCoordinates), put_abi(result))); + return result; +} + +inline hstring KnownCameraIntrinsicsProperties::FocalLength() +{ + return get_activation_factory().FocalLength(); +} + +inline hstring KnownCameraIntrinsicsProperties::PrincipalPoint() +{ + return get_activation_factory().PrincipalPoint(); +} + +inline hstring KnownCameraIntrinsicsProperties::RadialDistortion() +{ + return get_activation_factory().RadialDistortion(); +} + +inline hstring KnownCameraIntrinsicsProperties::TangentialDistortion() +{ + return get_activation_factory().TangentialDistortion(); +} + +inline hstring KnownPerceptionColorFrameSourceProperties::Exposure() +{ + return get_activation_factory().Exposure(); +} + +inline hstring KnownPerceptionColorFrameSourceProperties::AutoExposureEnabled() +{ + return get_activation_factory().AutoExposureEnabled(); +} + +inline hstring KnownPerceptionColorFrameSourceProperties::ExposureCompensation() +{ + return get_activation_factory().ExposureCompensation(); +} + +inline hstring KnownPerceptionDepthFrameSourceProperties::MinDepth() +{ + return get_activation_factory().MinDepth(); +} + +inline hstring KnownPerceptionDepthFrameSourceProperties::MaxDepth() +{ + return get_activation_factory().MaxDepth(); +} + +inline hstring KnownPerceptionFrameSourceProperties::Id() +{ + return get_activation_factory().Id(); +} + +inline hstring KnownPerceptionFrameSourceProperties::PhysicalDeviceIds() +{ + return get_activation_factory().PhysicalDeviceIds(); +} + +inline hstring KnownPerceptionFrameSourceProperties::FrameKind() +{ + return get_activation_factory().FrameKind(); +} + +inline hstring KnownPerceptionFrameSourceProperties::DeviceModelVersion() +{ + return get_activation_factory().DeviceModelVersion(); +} + +inline hstring KnownPerceptionFrameSourceProperties::EnclosureLocation() +{ + return get_activation_factory().EnclosureLocation(); +} + +inline hstring KnownPerceptionFrameSourceProperties::DeviceId() +{ + return get_activation_factory().DeviceId(); +} + +inline hstring KnownPerceptionInfraredFrameSourceProperties::Exposure() +{ + return get_activation_factory().Exposure(); +} + +inline hstring KnownPerceptionInfraredFrameSourceProperties::AutoExposureEnabled() +{ + return get_activation_factory().AutoExposureEnabled(); +} + +inline hstring KnownPerceptionInfraredFrameSourceProperties::ExposureCompensation() +{ + return get_activation_factory().ExposureCompensation(); +} + +inline hstring KnownPerceptionInfraredFrameSourceProperties::ActiveIlluminationEnabled() +{ + return get_activation_factory().ActiveIlluminationEnabled(); +} + +inline hstring KnownPerceptionInfraredFrameSourceProperties::AmbientSubtractionEnabled() +{ + return get_activation_factory().AmbientSubtractionEnabled(); +} + +inline hstring KnownPerceptionInfraredFrameSourceProperties::StructureLightPatternEnabled() +{ + return get_activation_factory().StructureLightPatternEnabled(); +} + +inline hstring KnownPerceptionInfraredFrameSourceProperties::InterleavedIlluminationEnabled() +{ + return get_activation_factory().InterleavedIlluminationEnabled(); +} + +inline hstring KnownPerceptionVideoFrameSourceProperties::VideoProfile() +{ + return get_activation_factory().VideoProfile(); +} + +inline hstring KnownPerceptionVideoFrameSourceProperties::SupportedVideoProfiles() +{ + return get_activation_factory().SupportedVideoProfiles(); +} + +inline hstring KnownPerceptionVideoFrameSourceProperties::AvailableVideoProfiles() +{ + return get_activation_factory().AvailableVideoProfiles(); +} + +inline hstring KnownPerceptionVideoFrameSourceProperties::IsMirrored() +{ + return get_activation_factory().IsMirrored(); +} + +inline hstring KnownPerceptionVideoFrameSourceProperties::CameraIntrinsics() +{ + return get_activation_factory().CameraIntrinsics(); +} + +inline hstring KnownPerceptionVideoProfileProperties::BitmapPixelFormat() +{ + return get_activation_factory().BitmapPixelFormat(); +} + +inline hstring KnownPerceptionVideoProfileProperties::BitmapAlphaMode() +{ + return get_activation_factory().BitmapAlphaMode(); +} + +inline hstring KnownPerceptionVideoProfileProperties::Width() +{ + return get_activation_factory().Width(); +} + +inline hstring KnownPerceptionVideoProfileProperties::Height() +{ + return get_activation_factory().Height(); +} + +inline hstring KnownPerceptionVideoProfileProperties::FrameDuration() +{ + return get_activation_factory().FrameDuration(); +} + +inline Windows::Devices::Perception::PerceptionColorFrameSourceWatcher PerceptionColorFrameSource::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline Windows::Foundation::IAsyncOperation> PerceptionColorFrameSource::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation PerceptionColorFrameSource::FromIdAsync(hstring_view id) +{ + return get_activation_factory().FromIdAsync(id); +} + +inline Windows::Foundation::IAsyncOperation PerceptionColorFrameSource::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline Windows::Devices::Perception::PerceptionDepthFrameSourceWatcher PerceptionDepthFrameSource::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline Windows::Foundation::IAsyncOperation> PerceptionDepthFrameSource::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation PerceptionDepthFrameSource::FromIdAsync(hstring_view id) +{ + return get_activation_factory().FromIdAsync(id); +} + +inline Windows::Foundation::IAsyncOperation PerceptionDepthFrameSource::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline Windows::Devices::Perception::PerceptionInfraredFrameSourceWatcher PerceptionInfraredFrameSource::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline Windows::Foundation::IAsyncOperation> PerceptionInfraredFrameSource::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation PerceptionInfraredFrameSource::FromIdAsync(hstring_view id) +{ + return get_activation_factory().FromIdAsync(id); +} + +inline Windows::Foundation::IAsyncOperation PerceptionInfraredFrameSource::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownCameraIntrinsicsPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownPerceptionColorFrameSourcePropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownPerceptionDepthFrameSourcePropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownPerceptionFrameSourcePropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownPerceptionFrameSourcePropertiesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownPerceptionInfraredFrameSourcePropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownPerceptionVideoFrameSourcePropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IKnownPerceptionVideoProfilePropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameSourceAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameSourceRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionColorFrameSourceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionControlSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthCorrelatedCameraIntrinsics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthCorrelatedCoordinateMapper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameSourceAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameSourceRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionDepthFrameSourceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionFrameSourcePropertiesChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionFrameSourcePropertyChangeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameSourceAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameSourceRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionInfraredFrameSourceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::IPerceptionVideoProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionColorFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionColorFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionColorFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionColorFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionColorFrameSourceAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionColorFrameSourceRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionColorFrameSourceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionControlSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthCorrelatedCameraIntrinsics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthCorrelatedCoordinateMapper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthFrameSourceAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthFrameSourceRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionDepthFrameSourceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionFrameSourcePropertiesChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionFrameSourcePropertyChangeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionInfraredFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionInfraredFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionInfraredFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionInfraredFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionInfraredFrameSourceAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionInfraredFrameSourceRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionInfraredFrameSourceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Perception::PerceptionVideoProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.PointOfService.h b/10.0.15042.0/winrt/Windows.Devices.PointOfService.h new file mode 100644 index 000000000..0b3e80fbc --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.PointOfService.h @@ -0,0 +1,13201 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Devices.PointOfService.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClaimScannerAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClaimScannerAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CheckHealthAsync(level)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSupportedSymbologiesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetSupportedSymbologiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSymbologySupportedAsync(uint32_t barcodeSymbology, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().IsSymbologySupportedAsync(barcodeSymbology)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrieveStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RetrieveStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSupportedProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSupportedProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsProfileSupported(impl::abi_arg_in profile, bool * isSupported) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isSupported = detach_abi(this->shim().IsProfileSupported(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PowerReportingType(Windows::Devices::PointOfService::UnifiedPosPowerReportingType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerReportingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsReportingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsReportingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsUpdatingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsUpdatingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsImagePreviewSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsImagePreviewSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSoftwareTriggerSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSoftwareTriggerSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Report(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Report()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PartialInputData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartialInputData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRetriable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRetriable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Preview(impl::abi_arg_out preview) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *preview = detach_abi(this->shim().Preview()); + return S_OK; + } + catch (...) + { + *preview = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ScanDataType(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanDataType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanDataLabel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanDataLabel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelectorWithConnectionTypes(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(connectionTypes)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::PointOfService::BarcodeScannerStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedStatus(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Unknown(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unknown()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean8(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean8()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean8Add2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean8Add2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean8Add5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean8Add5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Eanv(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Eanv()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EanvAdd2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EanvAdd2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EanvAdd5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EanvAdd5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean13(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean13()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean13Add2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean13Add2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean13Add5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean13Add5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Isbn(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Isbn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsbnAdd5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsbnAdd5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ismn(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ismn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsmnAdd2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsmnAdd2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsmnAdd5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsmnAdd5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Issn(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Issn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IssnAdd2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IssnAdd2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IssnAdd5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IssnAdd5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean99(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean99()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean99Add2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean99Add2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ean99Add5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ean99Add5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Upca(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Upca()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpcaAdd2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpcaAdd2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpcaAdd5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpcaAdd5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Upce(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Upce()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpceAdd2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpceAdd2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpceAdd5(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpceAdd5()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpcCoupon(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpcCoupon()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TfStd(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TfStd()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TfDis(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TfDis()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TfInt(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TfInt()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TfInd(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TfInd()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TfMat(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TfMat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TfIata(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TfIata()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gs1DatabarType1(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gs1DatabarType1()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gs1DatabarType2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gs1DatabarType2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gs1DatabarType3(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gs1DatabarType3()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code39(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code39()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code39Ex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code39Ex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Trioptic39(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Trioptic39()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code32(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pzn(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pzn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code93(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code93()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code93Ex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code93Ex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code128(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code128()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gs1128(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gs1128()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gs1128Coupon(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gs1128Coupon()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UccEan128(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UccEan128()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sisac(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sisac()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Isbt(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Isbt()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Codabar(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Codabar()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code11(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code11()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Msi(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Msi()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Plessey(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Plessey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Telepen(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Telepen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code16k(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code16k()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CodablockA(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CodablockA()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CodablockF(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CodablockF()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Codablock128(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Codablock128()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code49(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code49()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Aztec(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Aztec()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataMatrix(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataMatrix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HanXin(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HanXin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Maxicode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Maxicode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicroPdf417(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicroPdf417()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicroQr(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicroQr()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pdf417(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pdf417()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Qr(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Qr()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MsTag(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MsTag()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ccab(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ccab()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ccc(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ccc()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tlc39(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tlc39()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AusPost(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AusPost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanPost(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChinaPost(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChinaPost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DutchKix(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DutchKix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InfoMail(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InfoMail()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItalianPost25(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItalianPost25()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItalianPost39(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItalianPost39()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JapanPost(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JapanPost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KoreanPost(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KoreanPost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SwedenPost(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SwedenPost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UkPost(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UkPost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsIntelligent(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsIntelligent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsIntelligentPkg(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsIntelligentPkg()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsPlanet(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsPlanet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsPostNet(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsPostNet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Us4StateFics(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Us4StateFics()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OcrA(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OcrA()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OcrB(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OcrB()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Micr(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Micr()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedBase(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedBase()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetName(uint32_t scanDataType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetName(scanDataType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Gs1DWCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gs1DWCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCheckDigitValidationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCheckDigitValidationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCheckDigitValidationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCheckDigitValidationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCheckDigitValidationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCheckDigitValidationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCheckDigitTransmissionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCheckDigitTransmissionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCheckDigitTransmissionEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCheckDigitTransmissionEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCheckDigitTransmissionSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCheckDigitTransmissionSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecodeLength1(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecodeLength1()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DecodeLength1(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecodeLength1(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecodeLength2(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecodeLength2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DecodeLength2(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecodeLength2(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecodeLengthKind(Windows::Devices::PointOfService::BarcodeSymbologyDecodeLengthKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecodeLengthKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DecodeLengthKind(Windows::Devices::PointOfService::BarcodeSymbologyDecodeLengthKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecodeLengthKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDecodeLengthSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDecodeLengthSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDrawerOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDrawerOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DrawerEventSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DrawerEventSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClaimDrawerAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClaimDrawerAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CheckHealthAsync(level)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PowerReportingType(Windows::Devices::PointOfService::UnifiedPosPowerReportingType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerReportingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsReportingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsReportingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsUpdatingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsUpdatingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatusReportingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatusReportingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatusMultiDrawerDetectSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatusMultiDrawerDetectSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDrawerOpenSensorAvailable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDrawerOpenSensorAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_AlarmTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlarmTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlarmTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlarmTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BeepFrequency(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeepFrequency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BeepFrequency(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BeepFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BeepDuration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeepDuration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BeepDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BeepDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BeepDelay(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeepDelay(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BeepDelay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BeepDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AlarmTimeoutExpired(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AlarmTimeoutExpired(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AlarmTimeoutExpired(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlarmTimeoutExpired(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_DrawerClosed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DrawerClosed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DrawerClosed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DrawerClosed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DrawerOpened(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DrawerOpened(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DrawerOpened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DrawerOpened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CashDrawer(impl::abi_arg_out drawer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *drawer = detach_abi(this->shim().CashDrawer()); + return S_OK; + } + catch (...) + { + *drawer = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelectorWithConnectionTypes(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(connectionTypes)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StatusKind(Windows::Devices::PointOfService::CashDrawerStatusKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StatusKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedStatus(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDisabledOnDataReceived(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDisabledOnDataReceived(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDisabledOnDataReceived(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisabledOnDataReceived()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDecodeDataEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDecodeDataEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDecodeDataEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDecodeDataEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EnableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DisableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetainDevice() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RetainDevice(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetActiveSymbologiesAsync(impl::abi_arg_in> symbologies, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetActiveSymbologiesAsync(*reinterpret_cast *>(&symbologies))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ResetStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateStatisticsAsync(impl::abi_arg_in>> statistics, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateStatisticsAsync(*reinterpret_cast> *>(&statistics))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetActiveProfileAsync(impl::abi_arg_in profile, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetActiveProfileAsync(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DataReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DataReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DataReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TriggerPressed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TriggerPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TriggerPressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TriggerPressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TriggerReleased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TriggerReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TriggerReleased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TriggerReleased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReleaseDeviceRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReleaseDeviceRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReleaseDeviceRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleaseDeviceRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ImagePreviewReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ImagePreviewReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ImagePreviewReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ImagePreviewReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ErrorOccurred(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ErrorOccurred(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ErrorOccurred(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ErrorOccurred(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartSoftwareTriggerAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StartSoftwareTriggerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopSoftwareTriggerAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StopSoftwareTriggerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSymbologyAttributesAsync(uint32_t barcodeSymbology, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSymbologyAttributesAsync(barcodeSymbology)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSymbologyAttributesAsync(uint32_t barcodeSymbology, impl::abi_arg_in attributes, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetSymbologyAttributesAsync(barcodeSymbology, *reinterpret_cast(&attributes))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDrawerOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDrawerOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloseAlarm(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseAlarm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenDrawerAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().OpenDrawerAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EnableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DisableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetainDeviceAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RetainDeviceAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ResetStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateStatisticsAsync(impl::abi_arg_in>> statistics, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateStatisticsAsync(*reinterpret_cast> *>(&statistics))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReleaseDeviceRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReleaseDeviceRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReleaseDeviceRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleaseDeviceRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateJob(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateJob()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalDeviceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalDeviceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalDeviceDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalDeviceDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceControlDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceControlDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceControlVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceControlVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceServiceVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceServiceVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultWindow(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultWindow()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetainDevice() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RetainDevice(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReleaseDeviceRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReleaseDeviceRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReleaseDeviceRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleaseDeviceRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorWithConnectionTypes(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(connectionTypes)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDisabledOnDataReceived(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDisabledOnDataReceived(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDisabledOnDataReceived(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisabledOnDataReceived()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDecodeDataEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDecodeDataEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDecodeDataEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDecodeDataEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDeviceAuthenticated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDeviceAuthenticated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataEncryptionAlgorithm(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataEncryptionAlgorithm(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataEncryptionAlgorithm(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataEncryptionAlgorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TracksToRead(Windows::Devices::PointOfService::MagneticStripeReaderTrackIds value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TracksToRead(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TracksToRead(Windows::Devices::PointOfService::MagneticStripeReaderTrackIds * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TracksToRead()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTransmitSentinelsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTransmitSentinelsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTransmitSentinelsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTransmitSentinelsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EnableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DisableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetainDevice() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RetainDevice(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetErrorReportingType(Windows::Devices::PointOfService::MagneticStripeReaderErrorReportingType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetErrorReportingType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrieveDeviceAuthenticationDataAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RetrieveDeviceAuthenticationDataAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AuthenticateDeviceAsync(uint32_t __responseTokenSize, impl::abi_arg_in * responseToken, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AuthenticateDeviceAsync(array_view(responseToken, responseToken + __responseTokenSize))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeAuthenticateDeviceAsync(uint32_t __responseTokenSize, impl::abi_arg_in * responseToken, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeAuthenticateDeviceAsync(array_view(responseToken, responseToken + __responseTokenSize))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateKeyAsync(impl::abi_arg_in key, impl::abi_arg_in keyName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateKeyAsync(*reinterpret_cast(&key), *reinterpret_cast(&keyName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ResetStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateStatisticsAsync(impl::abi_arg_in>> statistics, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateStatisticsAsync(*reinterpret_cast> *>(&statistics))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BankCardDataReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BankCardDataReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BankCardDataReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BankCardDataReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AamvaCardDataReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AamvaCardDataReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AamvaCardDataReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AamvaCardDataReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VendorSpecificDataReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VendorSpecificDataReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VendorSpecificDataReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VendorSpecificDataReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReleaseDeviceRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReleaseDeviceRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReleaseDeviceRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleaseDeviceRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ErrorOccurred(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ErrorOccurred(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ErrorOccurred(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ErrorOccurred(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharacterSet(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterSet(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSet(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCoverOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCoverOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCharacterSetMappingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCharacterSetMappingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCharacterSetMappingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCharacterSetMappingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MapMode(Windows::Devices::PointOfService::PosPrinterMapMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapMode(Windows::Devices::PointOfService::PosPrinterMapMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Receipt(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Receipt()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Slip(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Slip()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Journal(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Journal()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EnableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DisableAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetainDeviceAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RetainDeviceAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ResetStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateStatisticsAsync(impl::abi_arg_in>> statistics, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateStatisticsAsync(*reinterpret_cast> *>(&statistics))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReleaseDeviceRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReleaseDeviceRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReleaseDeviceRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleaseDeviceRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SidewaysMaxLines(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidewaysMaxLines()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidewaysMaxChars(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidewaysMaxChars()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinesToPaperCut(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinesToPaperCut()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrintArea(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintArea()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateJob(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateJob()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SidewaysMaxLines(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidewaysMaxLines()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidewaysMaxChars(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidewaysMaxChars()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLines(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLines()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinesNearEndToEnd(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinesNearEndToEnd()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrintSide(Windows::Devices::PointOfService::PosPrinterPrintSide * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintSide()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrintArea(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintArea()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenJaws() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpenJaws(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CloseJaws() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseJaws(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertSlipAsync(impl::abi_arg_in timeout, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().InsertSlipAsync(*reinterpret_cast(&timeout))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveSlipAsync(impl::abi_arg_in timeout, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RemoveSlipAsync(*reinterpret_cast(&timeout))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangePrintSide(Windows::Devices::PointOfService::PosPrinterPrintSide printSide) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChangePrintSide(printSide); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateJob(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateJob()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_CharactersPerLine(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharactersPerLine(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharactersPerLine(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharactersPerLine()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineHeight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineSpacing(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineSpacing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineSpacing(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineSpacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLetterQuality(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLetterQuality(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLetterQuality(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLetterQuality()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaperNearEnd(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaperNearEnd()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ColorCartridge(Windows::Devices::PointOfService::PosPrinterColorCartridge value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ColorCartridge(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorCartridge(Windows::Devices::PointOfService::PosPrinterColorCartridge * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorCartridge()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCoverOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCoverOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCartridgeRemoved(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCartridgeRemoved()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCartridgeEmpty(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCartridgeEmpty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHeadCleaning(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHeadCleaning()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaperEmpty(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaperEmpty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReadyToPrint(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadyToPrint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ValidateData(impl::abi_arg_in data, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ValidateData(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPrinterPresent(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrinterPresent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDualColorSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDualColorSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorCartridgeCapabilities(Windows::Devices::PointOfService::PosPrinterColorCapabilities * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorCartridgeCapabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CartridgeSensors(Windows::Devices::PointOfService::PosPrinterCartridgeSensors * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CartridgeSensors()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBoldSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBoldSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsItalicSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsItalicSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsUnderlineSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUnderlineSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDoubleHighPrintSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDoubleHighPrintSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDoubleWidePrintSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDoubleWidePrintSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDoubleHighDoubleWidePrintSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDoubleHighDoubleWidePrintSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaperEmptySensorSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaperEmptySensorSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaperNearEndSensorSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaperNearEndSensorSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCharactersPerLine(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedCharactersPerLine()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsBarcodeSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBarcodeSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBitmapSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBitmapSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLeft90RotationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLeft90RotationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRight90RotationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRight90RotationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Is180RotationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Is180RotationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPrintAreaSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrintAreaSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RuledLineCapabilities(Windows::Devices::PointOfService::PosPrinterRuledLineCapabilities * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RuledLineCapabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedBarcodeRotations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedBarcodeRotations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedBitmapRotations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedBitmapRotations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalDeviceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalDeviceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhysicalDeviceDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhysicalDeviceDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceControlDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceControlDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceControlVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceControlVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceServiceVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceServiceVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClaimAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ClaimAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsStatisticsReportingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsReportingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsUpdatingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsUpdatingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerReportingType(Windows::Devices::PointOfService::UnifiedPosPowerReportingType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerReportingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanChangeScreenSize(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanChangeScreenSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanDisplayBitmaps(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanDisplayBitmaps()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanReadCharacterAtCursor(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanReadCharacterAtCursor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanMapCharacterSets(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMapCharacterSets()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanDisplayCustomGlyphs(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanDisplayCustomGlyphs()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanReverse(Windows::Devices::PointOfService::LineDisplayTextAttributeGranularity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanReverse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanBlink(Windows::Devices::PointOfService::LineDisplayTextAttributeGranularity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanBlink()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanChangeBlinkRate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanChangeBlinkRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBrightnessSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBrightnessSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCursorSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCursorSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHorizontalMarqueeSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHorizontalMarqueeSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVerticalMarqueeSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVerticalMarqueeSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInterCharacterWaitSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInterCharacterWaitSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedDescriptors(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedDescriptors()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedWindows(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedWindows()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorWithConnectionTypes(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(connectionTypes)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SizeInCharacters(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeInCharacters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterCharacterWaitInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterCharacterWaitInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InterCharacterWaitInterval(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InterCharacterWaitInterval(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRefreshAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryRefreshAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryDisplayTextAsync(impl::abi_arg_in text, Windows::Devices::PointOfService::LineDisplayTextAttribute displayAttribute, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryDisplayTextAsync(*reinterpret_cast(&text), displayAttribute)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryDisplayTextAtPositionAsync(impl::abi_arg_in text, Windows::Devices::PointOfService::LineDisplayTextAttribute displayAttribute, impl::abi_arg_in startPosition, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryDisplayTextAsync(*reinterpret_cast(&text), displayAttribute, *reinterpret_cast(&startPosition))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryDisplayTextNormalAsync(impl::abi_arg_in text, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryDisplayTextAsync(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryScrollTextAsync(Windows::Devices::PointOfService::LineDisplayScrollDirection direction, uint32_t numberOfColumnsOrRows, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryScrollTextAsync(direction, numberOfColumnsOrRows)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryClearTextAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryClearTextAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCardTypes(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().SupportedCardTypes()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceAuthenticationProtocol(Windows::Devices::PointOfService::MagneticStripeReaderAuthenticationProtocol * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceAuthenticationProtocol()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CheckHealthAsync(level)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClaimReaderAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClaimReaderAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrieveStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RetrieveStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetErrorReportingType(Windows::Devices::PointOfService::MagneticStripeReaderErrorReportingType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetErrorReportingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Report(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Report()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LicenseNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Restrictions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Restrictions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Class(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Class()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Endorsements(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Endorsements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BirthDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BirthDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Surname(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Surname()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Suffix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Suffix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gender(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gender()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HairColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HairColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EyeColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EyeColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Weight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Weight()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_City(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().City()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostalCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostalCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Report(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Report()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccountNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MiddleInitial(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MiddleInitial()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Surname(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Surname()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Suffix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Suffix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CardAuthentication(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardAuthentication()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedEncryptionAlgorithms(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedEncryptionAlgorithms()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationLevel(Windows::Devices::PointOfService::MagneticStripeReaderAuthenticationLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIsoSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIsoSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsJisOneSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsJisOneSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsJisTwoSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsJisTwoSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerReportingType(Windows::Devices::PointOfService::UnifiedPosPowerReportingType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerReportingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsReportingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsReportingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsUpdatingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsUpdatingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTrackDataMaskingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrackDataMaskingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTransmitSentinelsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTransmitSentinelsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Unknown(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unknown()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bank(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bank()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Aamva(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Aamva()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedBase(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedBase()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_None(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().None()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TripleDesDukpt(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TripleDesDukpt()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedBase(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedBase()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Track1Status(Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track1Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track2Status(Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track2Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track3Status(Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track3Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track4Status(Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track4Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PartialInputData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartialInputData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CardType(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track4(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track4()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CardAuthenticationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardAuthenticationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CardAuthenticationDataLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CardAuthenticationDataLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdditionalSecurityInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdditionalSecurityInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelectorWithConnectionTypes(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(connectionTypes)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::PointOfService::MagneticStripeReaderStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedStatus(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DiscretionaryData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DiscretionaryData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EncryptedData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncryptedData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Report(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Report()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCharacterSets(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedCharacterSets()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedTypeFaces(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedTypeFaces()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClaimPrinterAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClaimPrinterAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CheckHealthAsync(level)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStatisticsAsync(impl::abi_arg_in> statisticsCategories, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetStatisticsAsync(*reinterpret_cast *>(&statisticsCategories))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PowerReportingType(Windows::Devices::PointOfService::UnifiedPosPowerReportingType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerReportingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsReportingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsReportingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStatisticsUpdatingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStatisticsUpdatingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultCharacterSet(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultCharacterSet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasCoverSensor(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasCoverSensor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanMapCharacterSet(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMapCharacterSet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTransactionSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTransactionSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Receipt(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Receipt()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Slip(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Slip()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Journal(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Journal()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Utf16LE(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Utf16LE()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ascii(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ascii()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ansi(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ansi()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Print(impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Print(*reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintLine(impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintLine(*reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintNewline() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintLine(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExecuteAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ExecuteAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelectorWithConnectionTypes(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(connectionTypes)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StatusKind(Windows::Devices::PointOfService::PosPrinterStatusKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StatusKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedStatus(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetBarcodeRotation(Windows::Devices::PointOfService::PosPrinterRotation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBarcodeRotation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPrintRotation(Windows::Devices::PointOfService::PosPrinterRotation value, bool includeBitmaps) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPrintRotation(value, includeBitmaps); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPrintArea(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPrintArea(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBitmap(uint32_t bitmapNumber, impl::abi_arg_in bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBitmap(bitmapNumber, *reinterpret_cast(&bitmap), alignment); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBitmapCustomWidthStandardAlign(uint32_t bitmapNumber, impl::abi_arg_in bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment, uint32_t width) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBitmap(bitmapNumber, *reinterpret_cast(&bitmap), alignment, width); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetCustomAlignedBitmap(uint32_t bitmapNumber, impl::abi_arg_in bitmap, uint32_t alignmentDistance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetCustomAlignedBitmap(bitmapNumber, *reinterpret_cast(&bitmap), alignmentDistance); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBitmapCustomWidthCustomAlign(uint32_t bitmapNumber, impl::abi_arg_in bitmap, uint32_t alignmentDistance, uint32_t width) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetCustomAlignedBitmap(bitmapNumber, *reinterpret_cast(&bitmap), alignmentDistance, width); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintSavedBitmap(uint32_t bitmapNumber) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintSavedBitmap(bitmapNumber); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DrawRuledLine(impl::abi_arg_in positionList, Windows::Devices::PointOfService::PosPrinterLineDirection lineDirection, uint32_t lineWidth, Windows::Devices::PointOfService::PosPrinterLineStyle lineStyle, uint32_t lineColor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DrawRuledLine(*reinterpret_cast(&positionList), lineDirection, lineWidth, lineStyle, lineColor); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintBarcode(impl::abi_arg_in data, uint32_t symbology, uint32_t height, uint32_t width, Windows::Devices::PointOfService::PosPrinterBarcodeTextPosition textPosition, Windows::Devices::PointOfService::PosPrinterAlignment alignment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintBarcode(*reinterpret_cast(&data), symbology, height, width, textPosition, alignment); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintBarcodeCustomAlign(impl::abi_arg_in data, uint32_t symbology, uint32_t height, uint32_t width, Windows::Devices::PointOfService::PosPrinterBarcodeTextPosition textPosition, uint32_t alignmentDistance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintBarcodeCustomAlign(*reinterpret_cast(&data), symbology, height, width, textPosition, alignmentDistance); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintBitmap(impl::abi_arg_in bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintBitmap(*reinterpret_cast(&bitmap), alignment); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintBitmapCustomWidthStandardAlign(impl::abi_arg_in bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment, uint32_t width) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintBitmap(*reinterpret_cast(&bitmap), alignment, width); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintCustomAlignedBitmap(impl::abi_arg_in bitmap, uint32_t alignmentDistance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintCustomAlignedBitmap(*reinterpret_cast(&bitmap), alignmentDistance); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrintBitmapCustomWidthCustomAlign(impl::abi_arg_in bitmap, uint32_t alignmentDistance, uint32_t width) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintCustomAlignedBitmap(*reinterpret_cast(&bitmap), alignmentDistance, width); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_MarkFeed(Windows::Devices::PointOfService::PosPrinterMarkFeedKind kind) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MarkFeed(kind); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CutPaper(double percentage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CutPaper(percentage); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CutPaperDefault() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CutPaper(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanCutPaper(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanCutPaper()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStampSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStampSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MarkFeedCapabilities(Windows::Devices::PointOfService::PosPrinterMarkFeedCapabilities * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MarkFeedCapabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsFullLengthSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullLengthSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBothSidesPrintingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBothSidesPrintingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Severity(Windows::Devices::PointOfService::UnifiedPosErrorSeverity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Severity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reason(Windows::Devices::PointOfService::UnifiedPosErrorReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedReason(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::PointOfService { + +template hstring impl_IUnifiedPosErrorData::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUnifiedPosErrorData)->get_Message(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosErrorSeverity impl_IUnifiedPosErrorData::Severity() const +{ + Windows::Devices::PointOfService::UnifiedPosErrorSeverity value {}; + check_hresult(WINRT_SHIM(IUnifiedPosErrorData)->get_Severity(&value)); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosErrorReason impl_IUnifiedPosErrorData::Reason() const +{ + Windows::Devices::PointOfService::UnifiedPosErrorReason value {}; + check_hresult(WINRT_SHIM(IUnifiedPosErrorData)->get_Reason(&value)); + return value; +} + +template uint32_t impl_IUnifiedPosErrorData::ExtendedReason() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUnifiedPosErrorData)->get_ExtendedReason(&value)); + return value; +} + +template Windows::Devices::PointOfService::BarcodeScannerStatus impl_IBarcodeScannerStatusUpdatedEventArgs::Status() const +{ + Windows::Devices::PointOfService::BarcodeScannerStatus value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerStatusUpdatedEventArgs)->get_Status(&value)); + return value; +} + +template uint32_t impl_IBarcodeScannerStatusUpdatedEventArgs::ExtendedStatus() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerStatusUpdatedEventArgs)->get_ExtendedStatus(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Unknown() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Unknown(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean8() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean8(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean8Add2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean8Add2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean8Add5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean8Add5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Eanv() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Eanv(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::EanvAdd2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_EanvAdd2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::EanvAdd5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_EanvAdd5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean13() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean13(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean13Add2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean13Add2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean13Add5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean13Add5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Isbn() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Isbn(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::IsbnAdd5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_IsbnAdd5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ismn() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ismn(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::IsmnAdd2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_IsmnAdd2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::IsmnAdd5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_IsmnAdd5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Issn() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Issn(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::IssnAdd2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_IssnAdd2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::IssnAdd5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_IssnAdd5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean99() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean99(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean99Add2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean99Add2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ean99Add5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ean99Add5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Upca() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Upca(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UpcaAdd2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UpcaAdd2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UpcaAdd5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UpcaAdd5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Upce() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Upce(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UpceAdd2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UpceAdd2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UpceAdd5() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UpceAdd5(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UpcCoupon() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UpcCoupon(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::TfStd() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_TfStd(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::TfDis() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_TfDis(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::TfInt() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_TfInt(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::TfInd() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_TfInd(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::TfMat() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_TfMat(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::TfIata() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_TfIata(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Gs1DatabarType1() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Gs1DatabarType1(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Gs1DatabarType2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Gs1DatabarType2(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Gs1DatabarType3() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Gs1DatabarType3(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code39() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code39(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code39Ex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code39Ex(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Trioptic39() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Trioptic39(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code32() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code32(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Pzn() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Pzn(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code93() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code93(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code93Ex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code93Ex(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code128() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code128(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Gs1128() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Gs1128(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Gs1128Coupon() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Gs1128Coupon(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UccEan128() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UccEan128(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Sisac() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Sisac(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Isbt() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Isbt(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Codabar() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Codabar(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code11() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code11(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Msi() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Msi(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Plessey() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Plessey(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Telepen() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Telepen(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code16k() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code16k(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::CodablockA() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_CodablockA(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::CodablockF() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_CodablockF(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Codablock128() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Codablock128(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Code49() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Code49(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Aztec() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Aztec(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::DataCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_DataCode(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::DataMatrix() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_DataMatrix(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::HanXin() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_HanXin(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Maxicode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Maxicode(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::MicroPdf417() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_MicroPdf417(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::MicroQr() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_MicroQr(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Pdf417() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Pdf417(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Qr() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Qr(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::MsTag() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_MsTag(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ccab() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ccab(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Ccc() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Ccc(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Tlc39() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Tlc39(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::AusPost() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_AusPost(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::CanPost() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_CanPost(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::ChinaPost() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_ChinaPost(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::DutchKix() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_DutchKix(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::InfoMail() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_InfoMail(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::ItalianPost25() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_ItalianPost25(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::ItalianPost39() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_ItalianPost39(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::JapanPost() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_JapanPost(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::KoreanPost() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_KoreanPost(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::SwedenPost() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_SwedenPost(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UkPost() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UkPost(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UsIntelligent() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UsIntelligent(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UsIntelligentPkg() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UsIntelligentPkg(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UsPlanet() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UsPlanet(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::UsPostNet() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_UsPostNet(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Us4StateFics() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Us4StateFics(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::OcrA() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_OcrA(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::OcrB() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_OcrB(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::Micr() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_Micr(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics::ExtendedBase() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->get_ExtendedBase(&value)); + return value; +} + +template hstring impl_IBarcodeSymbologiesStatics::GetName(uint32_t scanDataType) const +{ + hstring value; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics)->abi_GetName(scanDataType, put_abi(value))); + return value; +} + +template uint32_t impl_IBarcodeSymbologiesStatics2::Gs1DWCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologiesStatics2)->get_Gs1DWCode(&value)); + return value; +} + +template bool impl_IBarcodeSymbologyAttributes::IsCheckDigitValidationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_IsCheckDigitValidationEnabled(&value)); + return value; +} + +template void impl_IBarcodeSymbologyAttributes::IsCheckDigitValidationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->put_IsCheckDigitValidationEnabled(value)); +} + +template bool impl_IBarcodeSymbologyAttributes::IsCheckDigitValidationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_IsCheckDigitValidationSupported(&value)); + return value; +} + +template bool impl_IBarcodeSymbologyAttributes::IsCheckDigitTransmissionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_IsCheckDigitTransmissionEnabled(&value)); + return value; +} + +template void impl_IBarcodeSymbologyAttributes::IsCheckDigitTransmissionEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->put_IsCheckDigitTransmissionEnabled(value)); +} + +template bool impl_IBarcodeSymbologyAttributes::IsCheckDigitTransmissionSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_IsCheckDigitTransmissionSupported(&value)); + return value; +} + +template uint32_t impl_IBarcodeSymbologyAttributes::DecodeLength1() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_DecodeLength1(&value)); + return value; +} + +template void impl_IBarcodeSymbologyAttributes::DecodeLength1(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->put_DecodeLength1(value)); +} + +template uint32_t impl_IBarcodeSymbologyAttributes::DecodeLength2() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_DecodeLength2(&value)); + return value; +} + +template void impl_IBarcodeSymbologyAttributes::DecodeLength2(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->put_DecodeLength2(value)); +} + +template Windows::Devices::PointOfService::BarcodeSymbologyDecodeLengthKind impl_IBarcodeSymbologyAttributes::DecodeLengthKind() const +{ + Windows::Devices::PointOfService::BarcodeSymbologyDecodeLengthKind value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_DecodeLengthKind(&value)); + return value; +} + +template void impl_IBarcodeSymbologyAttributes::DecodeLengthKind(Windows::Devices::PointOfService::BarcodeSymbologyDecodeLengthKind value) const +{ + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->put_DecodeLengthKind(value)); +} + +template bool impl_IBarcodeSymbologyAttributes::IsDecodeLengthSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeSymbologyAttributes)->get_IsDecodeLengthSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::BarcodeScannerReport impl_IBarcodeScannerDataReceivedEventArgs::Report() const +{ + Windows::Devices::PointOfService::BarcodeScannerReport value { nullptr }; + check_hresult(WINRT_SHIM(IBarcodeScannerDataReceivedEventArgs)->get_Report(put_abi(value))); + return value; +} + +template uint32_t impl_IBarcodeScannerReport::ScanDataType() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerReport)->get_ScanDataType(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IBarcodeScannerReport::ScanData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IBarcodeScannerReport)->get_ScanData(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IBarcodeScannerReport::ScanDataLabel() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IBarcodeScannerReport)->get_ScanDataLabel(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::BarcodeScannerReport impl_IBarcodeScannerErrorOccurredEventArgs::PartialInputData() const +{ + Windows::Devices::PointOfService::BarcodeScannerReport value { nullptr }; + check_hresult(WINRT_SHIM(IBarcodeScannerErrorOccurredEventArgs)->get_PartialInputData(put_abi(value))); + return value; +} + +template bool impl_IBarcodeScannerErrorOccurredEventArgs::IsRetriable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerErrorOccurredEventArgs)->get_IsRetriable(&value)); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosErrorData impl_IBarcodeScannerErrorOccurredEventArgs::ErrorData() const +{ + Windows::Devices::PointOfService::UnifiedPosErrorData value { nullptr }; + check_hresult(WINRT_SHIM(IBarcodeScannerErrorOccurredEventArgs)->get_ErrorData(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamWithContentType impl_IBarcodeScannerImagePreviewReceivedEventArgs::Preview() const +{ + Windows::Storage::Streams::IRandomAccessStreamWithContentType preview; + check_hresult(WINRT_SHIM(IBarcodeScannerImagePreviewReceivedEventArgs)->get_Preview(put_abi(preview))); + return preview; +} + +template Windows::Devices::PointOfService::UnifiedPosPowerReportingType impl_IBarcodeScannerCapabilities::PowerReportingType() const +{ + Windows::Devices::PointOfService::UnifiedPosPowerReportingType value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerCapabilities)->get_PowerReportingType(&value)); + return value; +} + +template bool impl_IBarcodeScannerCapabilities::IsStatisticsReportingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerCapabilities)->get_IsStatisticsReportingSupported(&value)); + return value; +} + +template bool impl_IBarcodeScannerCapabilities::IsStatisticsUpdatingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerCapabilities)->get_IsStatisticsUpdatingSupported(&value)); + return value; +} + +template bool impl_IBarcodeScannerCapabilities::IsImagePreviewSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerCapabilities)->get_IsImagePreviewSupported(&value)); + return value; +} + +template bool impl_IBarcodeScannerCapabilities1::IsSoftwareTriggerSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBarcodeScannerCapabilities1)->get_IsSoftwareTriggerSupported(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBarcodeScannerStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IBarcodeScannerStatics)->abi_GetDefaultAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IBarcodeScannerStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IBarcodeScannerStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template hstring impl_IBarcodeScannerStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBarcodeScannerStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_IBarcodeScannerStatics2::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) const +{ + hstring value; + check_hresult(WINRT_SHIM(IBarcodeScannerStatics2)->abi_GetDeviceSelectorWithConnectionTypes(connectionTypes, put_abi(value))); + return value; +} + +template hstring impl_IBarcodeScanner::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBarcodeScanner)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::BarcodeScannerCapabilities impl_IBarcodeScanner::Capabilities() const +{ + Windows::Devices::PointOfService::BarcodeScannerCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IBarcodeScanner)->get_Capabilities(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBarcodeScanner::ClaimScannerAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBarcodeScanner)->abi_ClaimScannerAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBarcodeScanner::CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBarcodeScanner)->abi_CheckHealthAsync(level, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IBarcodeScanner::GetSupportedSymbologiesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IBarcodeScanner)->abi_GetSupportedSymbologiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBarcodeScanner::IsSymbologySupportedAsync(uint32_t barcodeSymbology) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBarcodeScanner)->abi_IsSymbologySupportedAsync(barcodeSymbology, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBarcodeScanner::RetrieveStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBarcodeScanner)->abi_RetrieveStatisticsAsync(get_abi(statisticsCategories), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IBarcodeScanner::GetSupportedProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBarcodeScanner)->abi_GetSupportedProfiles(put_abi(value))); + return value; +} + +template bool impl_IBarcodeScanner::IsProfileSupported(hstring_view profile) const +{ + bool isSupported {}; + check_hresult(WINRT_SHIM(IBarcodeScanner)->abi_IsProfileSupported(get_abi(profile), &isSupported)); + return isSupported; +} + +template event_token impl_IBarcodeScanner::StatusUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBarcodeScanner)->add_StatusUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBarcodeScanner::StatusUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IBarcodeScanner::remove_StatusUpdated, StatusUpdated(handler)); +} + +template void impl_IBarcodeScanner::StatusUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IBarcodeScanner)->remove_StatusUpdated(token)); +} + +template hstring impl_IBarcodeScanner2::VideoDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBarcodeScanner2)->get_VideoDeviceId(put_abi(value))); + return value; +} + +template hstring impl_IClaimedBarcodeScanner::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->get_DeviceId(put_abi(value))); + return value; +} + +template bool impl_IClaimedBarcodeScanner::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->get_IsEnabled(&value)); + return value; +} + +template void impl_IClaimedBarcodeScanner::IsDisabledOnDataReceived(bool value) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->put_IsDisabledOnDataReceived(value)); +} + +template bool impl_IClaimedBarcodeScanner::IsDisabledOnDataReceived() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->get_IsDisabledOnDataReceived(&value)); + return value; +} + +template void impl_IClaimedBarcodeScanner::IsDecodeDataEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->put_IsDecodeDataEnabled(value)); +} + +template bool impl_IClaimedBarcodeScanner::IsDecodeDataEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->get_IsDecodeDataEnabled(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner::EnableAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->abi_EnableAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner::DisableAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->abi_DisableAsync(put_abi(result))); + return result; +} + +template void impl_IClaimedBarcodeScanner::RetainDevice() const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->abi_RetainDevice()); +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner::SetActiveSymbologiesAsync(iterable symbologies) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->abi_SetActiveSymbologiesAsync(get_abi(symbologies), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner::ResetStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->abi_ResetStatisticsAsync(get_abi(statisticsCategories), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner::UpdateStatisticsAsync(iterable> statistics) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->abi_UpdateStatisticsAsync(get_abi(statistics), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner::SetActiveProfileAsync(hstring_view profile) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->abi_SetActiveProfileAsync(get_abi(profile), put_abi(result))); + return result; +} + +template event_token impl_IClaimedBarcodeScanner::DataReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->add_DataReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedBarcodeScanner::DataReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedBarcodeScanner::remove_DataReceived, DataReceived(handler)); +} + +template void impl_IClaimedBarcodeScanner::DataReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->remove_DataReceived(token)); +} + +template event_token impl_IClaimedBarcodeScanner::TriggerPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->add_TriggerPressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedBarcodeScanner::TriggerPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedBarcodeScanner::remove_TriggerPressed, TriggerPressed(handler)); +} + +template void impl_IClaimedBarcodeScanner::TriggerPressed(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->remove_TriggerPressed(token)); +} + +template event_token impl_IClaimedBarcodeScanner::TriggerReleased(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->add_TriggerReleased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedBarcodeScanner::TriggerReleased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedBarcodeScanner::remove_TriggerReleased, TriggerReleased(handler)); +} + +template void impl_IClaimedBarcodeScanner::TriggerReleased(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->remove_TriggerReleased(token)); +} + +template event_token impl_IClaimedBarcodeScanner::ReleaseDeviceRequested(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->add_ReleaseDeviceRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedBarcodeScanner::ReleaseDeviceRequested(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedBarcodeScanner::remove_ReleaseDeviceRequested, ReleaseDeviceRequested(handler)); +} + +template void impl_IClaimedBarcodeScanner::ReleaseDeviceRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->remove_ReleaseDeviceRequested(token)); +} + +template event_token impl_IClaimedBarcodeScanner::ImagePreviewReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->add_ImagePreviewReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedBarcodeScanner::ImagePreviewReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedBarcodeScanner::remove_ImagePreviewReceived, ImagePreviewReceived(handler)); +} + +template void impl_IClaimedBarcodeScanner::ImagePreviewReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->remove_ImagePreviewReceived(token)); +} + +template event_token impl_IClaimedBarcodeScanner::ErrorOccurred(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->add_ErrorOccurred(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedBarcodeScanner::ErrorOccurred(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedBarcodeScanner::remove_ErrorOccurred, ErrorOccurred(handler)); +} + +template void impl_IClaimedBarcodeScanner::ErrorOccurred(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner)->remove_ErrorOccurred(token)); +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner1::StartSoftwareTriggerAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner1)->abi_StartSoftwareTriggerAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedBarcodeScanner1::StopSoftwareTriggerAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner1)->abi_StopSoftwareTriggerAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedBarcodeScanner2::GetSymbologyAttributesAsync(uint32_t barcodeSymbology) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner2)->abi_GetSymbologyAttributesAsync(barcodeSymbology, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedBarcodeScanner2::SetSymbologyAttributesAsync(uint32_t barcodeSymbology, const Windows::Devices::PointOfService::BarcodeSymbologyAttributes & attributes) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedBarcodeScanner2)->abi_SetSymbologyAttributesAsync(barcodeSymbology, get_abi(attributes), put_abi(result))); + return result; +} + +template uint32_t impl_IMagneticStripeReaderEncryptionAlgorithmsStatics::None() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderEncryptionAlgorithmsStatics)->get_None(&value)); + return value; +} + +template uint32_t impl_IMagneticStripeReaderEncryptionAlgorithmsStatics::TripleDesDukpt() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderEncryptionAlgorithmsStatics)->get_TripleDesDukpt(&value)); + return value; +} + +template uint32_t impl_IMagneticStripeReaderEncryptionAlgorithmsStatics::ExtendedBase() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderEncryptionAlgorithmsStatics)->get_ExtendedBase(&value)); + return value; +} + +template uint32_t impl_IMagneticStripeReaderCardTypesStatics::Unknown() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCardTypesStatics)->get_Unknown(&value)); + return value; +} + +template uint32_t impl_IMagneticStripeReaderCardTypesStatics::Bank() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCardTypesStatics)->get_Bank(&value)); + return value; +} + +template uint32_t impl_IMagneticStripeReaderCardTypesStatics::Aamva() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCardTypesStatics)->get_Aamva(&value)); + return value; +} + +template uint32_t impl_IMagneticStripeReaderCardTypesStatics::ExtendedBase() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCardTypesStatics)->get_ExtendedBase(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMagneticStripeReaderTrackData::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderTrackData)->get_Data(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMagneticStripeReaderTrackData::DiscretionaryData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderTrackData)->get_DiscretionaryData(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMagneticStripeReaderTrackData::EncryptedData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderTrackData)->get_EncryptedData(put_abi(value))); + return value; +} + +template uint32_t impl_IMagneticStripeReaderReport::CardType() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_CardType(&value)); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackData impl_IMagneticStripeReaderReport::Track1() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackData value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_Track1(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackData impl_IMagneticStripeReaderReport::Track2() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackData value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_Track2(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackData impl_IMagneticStripeReaderReport::Track3() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackData value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_Track3(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackData impl_IMagneticStripeReaderReport::Track4() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackData value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_Track4(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMagneticStripeReaderReport::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMagneticStripeReaderReport::CardAuthenticationData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_CardAuthenticationData(put_abi(value))); + return value; +} + +template uint32_t impl_IMagneticStripeReaderReport::CardAuthenticationDataLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_CardAuthenticationDataLength(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMagneticStripeReaderReport::AdditionalSecurityInformation() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderReport)->get_AdditionalSecurityInformation(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderReport impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::Report() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderReport value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_Report(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::AccountNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_AccountNumber(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::ExpirationDate() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_ExpirationDate(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::ServiceCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_ServiceCode(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::FirstName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_FirstName(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::MiddleInitial() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_MiddleInitial(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::Surname() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_Surname(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderBankCardDataReceivedEventArgs::Suffix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderBankCardDataReceivedEventArgs)->get_Suffix(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderReport impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Report() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderReport value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Report(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::LicenseNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_LicenseNumber(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::ExpirationDate() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_ExpirationDate(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Restrictions() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Restrictions(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Class() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Class(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Endorsements() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Endorsements(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::BirthDate() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_BirthDate(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::FirstName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_FirstName(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Surname() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Surname(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Suffix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Suffix(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Gender() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Gender(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::HairColor() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_HairColor(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::EyeColor() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_EyeColor(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Height() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Height(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Weight() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Weight(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::Address() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_Address(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::City() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_City(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::State() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_State(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderAamvaCardDataReceivedEventArgs::PostalCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderAamvaCardDataReceivedEventArgs)->get_PostalCode(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderReport impl_IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs::Report() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderReport value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs)->get_Report(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType impl_IMagneticStripeReaderErrorOccurredEventArgs::Track1Status() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderErrorOccurredEventArgs)->get_Track1Status(&value)); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType impl_IMagneticStripeReaderErrorOccurredEventArgs::Track2Status() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderErrorOccurredEventArgs)->get_Track2Status(&value)); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType impl_IMagneticStripeReaderErrorOccurredEventArgs::Track3Status() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderErrorOccurredEventArgs)->get_Track3Status(&value)); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType impl_IMagneticStripeReaderErrorOccurredEventArgs::Track4Status() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackErrorType value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderErrorOccurredEventArgs)->get_Track4Status(&value)); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosErrorData impl_IMagneticStripeReaderErrorOccurredEventArgs::ErrorData() const +{ + Windows::Devices::PointOfService::UnifiedPosErrorData value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderErrorOccurredEventArgs)->get_ErrorData(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderReport impl_IMagneticStripeReaderErrorOccurredEventArgs::PartialInputData() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderReport value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReaderErrorOccurredEventArgs)->get_PartialInputData(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderStatus impl_IMagneticStripeReaderStatusUpdatedEventArgs::Status() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderStatus value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderStatusUpdatedEventArgs)->get_Status(&value)); + return value; +} + +template uint32_t impl_IMagneticStripeReaderStatusUpdatedEventArgs::ExtendedStatus() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderStatusUpdatedEventArgs)->get_ExtendedStatus(&value)); + return value; +} + +template hstring impl_IMagneticStripeReaderCapabilities::CardAuthentication() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_CardAuthentication(put_abi(value))); + return value; +} + +template uint32_t impl_IMagneticStripeReaderCapabilities::SupportedEncryptionAlgorithms() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_SupportedEncryptionAlgorithms(&value)); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderAuthenticationLevel impl_IMagneticStripeReaderCapabilities::AuthenticationLevel() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderAuthenticationLevel value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_AuthenticationLevel(&value)); + return value; +} + +template bool impl_IMagneticStripeReaderCapabilities::IsIsoSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_IsIsoSupported(&value)); + return value; +} + +template bool impl_IMagneticStripeReaderCapabilities::IsJisOneSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_IsJisOneSupported(&value)); + return value; +} + +template bool impl_IMagneticStripeReaderCapabilities::IsJisTwoSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_IsJisTwoSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosPowerReportingType impl_IMagneticStripeReaderCapabilities::PowerReportingType() const +{ + Windows::Devices::PointOfService::UnifiedPosPowerReportingType value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_PowerReportingType(&value)); + return value; +} + +template bool impl_IMagneticStripeReaderCapabilities::IsStatisticsReportingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_IsStatisticsReportingSupported(&value)); + return value; +} + +template bool impl_IMagneticStripeReaderCapabilities::IsStatisticsUpdatingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_IsStatisticsUpdatingSupported(&value)); + return value; +} + +template bool impl_IMagneticStripeReaderCapabilities::IsTrackDataMaskingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_IsTrackDataMaskingSupported(&value)); + return value; +} + +template bool impl_IMagneticStripeReaderCapabilities::IsTransmitSentinelsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReaderCapabilities)->get_IsTransmitSentinelsSupported(&value)); + return value; +} + +template hstring impl_IClaimedMagneticStripeReader::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_DeviceId(put_abi(value))); + return value; +} + +template bool impl_IClaimedMagneticStripeReader::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_IsEnabled(&value)); + return value; +} + +template void impl_IClaimedMagneticStripeReader::IsDisabledOnDataReceived(bool value) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->put_IsDisabledOnDataReceived(value)); +} + +template bool impl_IClaimedMagneticStripeReader::IsDisabledOnDataReceived() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_IsDisabledOnDataReceived(&value)); + return value; +} + +template void impl_IClaimedMagneticStripeReader::IsDecodeDataEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->put_IsDecodeDataEnabled(value)); +} + +template bool impl_IClaimedMagneticStripeReader::IsDecodeDataEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_IsDecodeDataEnabled(&value)); + return value; +} + +template bool impl_IClaimedMagneticStripeReader::IsDeviceAuthenticated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_IsDeviceAuthenticated(&value)); + return value; +} + +template void impl_IClaimedMagneticStripeReader::DataEncryptionAlgorithm(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->put_DataEncryptionAlgorithm(value)); +} + +template uint32_t impl_IClaimedMagneticStripeReader::DataEncryptionAlgorithm() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_DataEncryptionAlgorithm(&value)); + return value; +} + +template void impl_IClaimedMagneticStripeReader::TracksToRead(Windows::Devices::PointOfService::MagneticStripeReaderTrackIds value) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->put_TracksToRead(value)); +} + +template Windows::Devices::PointOfService::MagneticStripeReaderTrackIds impl_IClaimedMagneticStripeReader::TracksToRead() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderTrackIds value {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_TracksToRead(&value)); + return value; +} + +template void impl_IClaimedMagneticStripeReader::IsTransmitSentinelsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->put_IsTransmitSentinelsEnabled(value)); +} + +template bool impl_IClaimedMagneticStripeReader::IsTransmitSentinelsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->get_IsTransmitSentinelsEnabled(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedMagneticStripeReader::EnableAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_EnableAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedMagneticStripeReader::DisableAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_DisableAsync(put_abi(result))); + return result; +} + +template void impl_IClaimedMagneticStripeReader::RetainDevice() const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_RetainDevice()); +} + +template void impl_IClaimedMagneticStripeReader::SetErrorReportingType(Windows::Devices::PointOfService::MagneticStripeReaderErrorReportingType value) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_SetErrorReportingType(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedMagneticStripeReader::RetrieveDeviceAuthenticationDataAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_RetrieveDeviceAuthenticationDataAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedMagneticStripeReader::AuthenticateDeviceAsync(array_view responseToken) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_AuthenticateDeviceAsync(responseToken.size(), get_abi(responseToken), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedMagneticStripeReader::DeAuthenticateDeviceAsync(array_view responseToken) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_DeAuthenticateDeviceAsync(responseToken.size(), get_abi(responseToken), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedMagneticStripeReader::UpdateKeyAsync(hstring_view key, hstring_view keyName) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_UpdateKeyAsync(get_abi(key), get_abi(keyName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedMagneticStripeReader::ResetStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_ResetStatisticsAsync(get_abi(statisticsCategories), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IClaimedMagneticStripeReader::UpdateStatisticsAsync(iterable> statistics) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->abi_UpdateStatisticsAsync(get_abi(statistics), put_abi(result))); + return result; +} + +template event_token impl_IClaimedMagneticStripeReader::BankCardDataReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->add_BankCardDataReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedMagneticStripeReader::BankCardDataReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedMagneticStripeReader::remove_BankCardDataReceived, BankCardDataReceived(handler)); +} + +template void impl_IClaimedMagneticStripeReader::BankCardDataReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->remove_BankCardDataReceived(token)); +} + +template event_token impl_IClaimedMagneticStripeReader::AamvaCardDataReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->add_AamvaCardDataReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedMagneticStripeReader::AamvaCardDataReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedMagneticStripeReader::remove_AamvaCardDataReceived, AamvaCardDataReceived(handler)); +} + +template void impl_IClaimedMagneticStripeReader::AamvaCardDataReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->remove_AamvaCardDataReceived(token)); +} + +template event_token impl_IClaimedMagneticStripeReader::VendorSpecificDataReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->add_VendorSpecificDataReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedMagneticStripeReader::VendorSpecificDataReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedMagneticStripeReader::remove_VendorSpecificDataReceived, VendorSpecificDataReceived(handler)); +} + +template void impl_IClaimedMagneticStripeReader::VendorSpecificDataReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->remove_VendorSpecificDataReceived(token)); +} + +template event_token impl_IClaimedMagneticStripeReader::ReleaseDeviceRequested(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->add_ReleaseDeviceRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedMagneticStripeReader::ReleaseDeviceRequested(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedMagneticStripeReader::remove_ReleaseDeviceRequested, ReleaseDeviceRequested(handler)); +} + +template void impl_IClaimedMagneticStripeReader::ReleaseDeviceRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->remove_ReleaseDeviceRequested(token)); +} + +template event_token impl_IClaimedMagneticStripeReader::ErrorOccurred(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->add_ErrorOccurred(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedMagneticStripeReader::ErrorOccurred(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedMagneticStripeReader::remove_ErrorOccurred, ErrorOccurred(handler)); +} + +template void impl_IClaimedMagneticStripeReader::ErrorOccurred(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedMagneticStripeReader)->remove_ErrorOccurred(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IMagneticStripeReaderStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMagneticStripeReaderStatics)->abi_GetDefaultAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMagneticStripeReaderStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMagneticStripeReaderStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template hstring impl_IMagneticStripeReaderStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReaderStatics2::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReaderStatics2)->abi_GetDeviceSelectorWithConnectionTypes(connectionTypes, put_abi(value))); + return value; +} + +template hstring impl_IMagneticStripeReader::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderCapabilities impl_IMagneticStripeReader::Capabilities() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->get_Capabilities(put_abi(value))); + return value; +} + +template com_array impl_IMagneticStripeReader::SupportedCardTypes() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->get_SupportedCardTypes(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderAuthenticationProtocol impl_IMagneticStripeReader::DeviceAuthenticationProtocol() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderAuthenticationProtocol value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->get_DeviceAuthenticationProtocol(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMagneticStripeReader::CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->abi_CheckHealthAsync(level, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMagneticStripeReader::ClaimReaderAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->abi_ClaimReaderAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMagneticStripeReader::RetrieveStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->abi_RetrieveStatisticsAsync(get_abi(statisticsCategories), put_abi(operation))); + return operation; +} + +template Windows::Devices::PointOfService::MagneticStripeReaderErrorReportingType impl_IMagneticStripeReader::GetErrorReportingType() const +{ + Windows::Devices::PointOfService::MagneticStripeReaderErrorReportingType value {}; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->abi_GetErrorReportingType(&value)); + return value; +} + +template event_token impl_IMagneticStripeReader::StatusUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMagneticStripeReader)->add_StatusUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMagneticStripeReader::StatusUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IMagneticStripeReader::remove_StatusUpdated, StatusUpdated(handler)); +} + +template void impl_IMagneticStripeReader::StatusUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IMagneticStripeReader)->remove_StatusUpdated(token)); +} + +template uint32_t impl_IPosPrinterCharacterSetIdsStatics::Utf16LE() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPosPrinterCharacterSetIdsStatics)->get_Utf16LE(&value)); + return value; +} + +template uint32_t impl_IPosPrinterCharacterSetIdsStatics::Ascii() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPosPrinterCharacterSetIdsStatics)->get_Ascii(&value)); + return value; +} + +template uint32_t impl_IPosPrinterCharacterSetIdsStatics::Ansi() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPosPrinterCharacterSetIdsStatics)->get_Ansi(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsPrinterPresent() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsPrinterPresent(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsDualColorSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsDualColorSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterColorCapabilities impl_ICommonPosPrintStationCapabilities::ColorCartridgeCapabilities() const +{ + Windows::Devices::PointOfService::PosPrinterColorCapabilities value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_ColorCartridgeCapabilities(&value)); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterCartridgeSensors impl_ICommonPosPrintStationCapabilities::CartridgeSensors() const +{ + Windows::Devices::PointOfService::PosPrinterCartridgeSensors value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_CartridgeSensors(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsBoldSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsBoldSupported(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsItalicSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsItalicSupported(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsUnderlineSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsUnderlineSupported(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsDoubleHighPrintSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsDoubleHighPrintSupported(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsDoubleWidePrintSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsDoubleWidePrintSupported(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsDoubleHighDoubleWidePrintSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsDoubleHighDoubleWidePrintSupported(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsPaperEmptySensorSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsPaperEmptySensorSupported(&value)); + return value; +} + +template bool impl_ICommonPosPrintStationCapabilities::IsPaperNearEndSensorSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_IsPaperNearEndSensorSupported(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICommonPosPrintStationCapabilities::SupportedCharactersPerLine() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICommonPosPrintStationCapabilities)->get_SupportedCharactersPerLine(put_abi(value))); + return value; +} + +template bool impl_ICommonReceiptSlipCapabilities::IsBarcodeSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_IsBarcodeSupported(&value)); + return value; +} + +template bool impl_ICommonReceiptSlipCapabilities::IsBitmapSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_IsBitmapSupported(&value)); + return value; +} + +template bool impl_ICommonReceiptSlipCapabilities::IsLeft90RotationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_IsLeft90RotationSupported(&value)); + return value; +} + +template bool impl_ICommonReceiptSlipCapabilities::IsRight90RotationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_IsRight90RotationSupported(&value)); + return value; +} + +template bool impl_ICommonReceiptSlipCapabilities::Is180RotationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_Is180RotationSupported(&value)); + return value; +} + +template bool impl_ICommonReceiptSlipCapabilities::IsPrintAreaSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_IsPrintAreaSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterRuledLineCapabilities impl_ICommonReceiptSlipCapabilities::RuledLineCapabilities() const +{ + Windows::Devices::PointOfService::PosPrinterRuledLineCapabilities value {}; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_RuledLineCapabilities(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICommonReceiptSlipCapabilities::SupportedBarcodeRotations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_SupportedBarcodeRotations(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICommonReceiptSlipCapabilities::SupportedBitmapRotations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICommonReceiptSlipCapabilities)->get_SupportedBitmapRotations(put_abi(value))); + return value; +} + +template bool impl_IReceiptPrinterCapabilities::CanCutPaper() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IReceiptPrinterCapabilities)->get_CanCutPaper(&value)); + return value; +} + +template bool impl_IReceiptPrinterCapabilities::IsStampSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IReceiptPrinterCapabilities)->get_IsStampSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterMarkFeedCapabilities impl_IReceiptPrinterCapabilities::MarkFeedCapabilities() const +{ + Windows::Devices::PointOfService::PosPrinterMarkFeedCapabilities value {}; + check_hresult(WINRT_SHIM(IReceiptPrinterCapabilities)->get_MarkFeedCapabilities(&value)); + return value; +} + +template bool impl_ISlipPrinterCapabilities::IsFullLengthSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISlipPrinterCapabilities)->get_IsFullLengthSupported(&value)); + return value; +} + +template bool impl_ISlipPrinterCapabilities::IsBothSidesPrintingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISlipPrinterCapabilities)->get_IsBothSidesPrintingSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosPowerReportingType impl_IPosPrinterCapabilities::PowerReportingType() const +{ + Windows::Devices::PointOfService::UnifiedPosPowerReportingType value {}; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_PowerReportingType(&value)); + return value; +} + +template bool impl_IPosPrinterCapabilities::IsStatisticsReportingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_IsStatisticsReportingSupported(&value)); + return value; +} + +template bool impl_IPosPrinterCapabilities::IsStatisticsUpdatingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_IsStatisticsUpdatingSupported(&value)); + return value; +} + +template uint32_t impl_IPosPrinterCapabilities::DefaultCharacterSet() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_DefaultCharacterSet(&value)); + return value; +} + +template bool impl_IPosPrinterCapabilities::HasCoverSensor() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_HasCoverSensor(&value)); + return value; +} + +template bool impl_IPosPrinterCapabilities::CanMapCharacterSet() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_CanMapCharacterSet(&value)); + return value; +} + +template bool impl_IPosPrinterCapabilities::IsTransactionSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_IsTransactionSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::ReceiptPrinterCapabilities impl_IPosPrinterCapabilities::Receipt() const +{ + Windows::Devices::PointOfService::ReceiptPrinterCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_Receipt(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::SlipPrinterCapabilities impl_IPosPrinterCapabilities::Slip() const +{ + Windows::Devices::PointOfService::SlipPrinterCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_Slip(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::JournalPrinterCapabilities impl_IPosPrinterCapabilities::Journal() const +{ + Windows::Devices::PointOfService::JournalPrinterCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IPosPrinterCapabilities)->get_Journal(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterStatusKind impl_IPosPrinterStatus::StatusKind() const +{ + Windows::Devices::PointOfService::PosPrinterStatusKind value {}; + check_hresult(WINRT_SHIM(IPosPrinterStatus)->get_StatusKind(&value)); + return value; +} + +template uint32_t impl_IPosPrinterStatus::ExtendedStatus() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPosPrinterStatus)->get_ExtendedStatus(&value)); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterStatus impl_IPosPrinterStatusUpdatedEventArgs::Status() const +{ + Windows::Devices::PointOfService::PosPrinterStatus value { nullptr }; + check_hresult(WINRT_SHIM(IPosPrinterStatusUpdatedEventArgs)->get_Status(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPosPrinterStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPosPrinterStatics)->abi_GetDefaultAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPosPrinterStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPosPrinterStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template hstring impl_IPosPrinterStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPosPrinterStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_IPosPrinterStatics2::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) const +{ + hstring value; + check_hresult(WINRT_SHIM(IPosPrinterStatics2)->abi_GetDeviceSelectorWithConnectionTypes(connectionTypes, put_abi(value))); + return value; +} + +template hstring impl_IPosPrinter::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPosPrinter)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterCapabilities impl_IPosPrinter::Capabilities() const +{ + Windows::Devices::PointOfService::PosPrinterCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IPosPrinter)->get_Capabilities(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPosPrinter::SupportedCharacterSets() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPosPrinter)->get_SupportedCharacterSets(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPosPrinter::SupportedTypeFaces() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPosPrinter)->get_SupportedTypeFaces(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterStatus impl_IPosPrinter::Status() const +{ + Windows::Devices::PointOfService::PosPrinterStatus value { nullptr }; + check_hresult(WINRT_SHIM(IPosPrinter)->get_Status(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPosPrinter::ClaimPrinterAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPosPrinter)->abi_ClaimPrinterAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPosPrinter::CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPosPrinter)->abi_CheckHealthAsync(level, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPosPrinter::GetStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPosPrinter)->abi_GetStatisticsAsync(get_abi(statisticsCategories), put_abi(operation))); + return operation; +} + +template event_token impl_IPosPrinter::StatusUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPosPrinter)->add_StatusUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPosPrinter::StatusUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IPosPrinter::remove_StatusUpdated, StatusUpdated(handler)); +} + +template void impl_IPosPrinter::StatusUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IPosPrinter)->remove_StatusUpdated(token)); +} + +template void impl_IPosPrinterJob::Print(hstring_view data) const +{ + check_hresult(WINRT_SHIM(IPosPrinterJob)->abi_Print(get_abi(data))); +} + +template void impl_IPosPrinterJob::PrintLine(hstring_view data) const +{ + check_hresult(WINRT_SHIM(IPosPrinterJob)->abi_PrintLine(get_abi(data))); +} + +template void impl_IPosPrinterJob::PrintLine() const +{ + check_hresult(WINRT_SHIM(IPosPrinterJob)->abi_PrintNewline()); +} + +template Windows::Foundation::IAsyncOperation impl_IPosPrinterJob::ExecuteAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPosPrinterJob)->abi_ExecuteAsync(put_abi(operation))); + return operation; +} + +template void impl_IReceiptOrSlipJob::SetBarcodeRotation(Windows::Devices::PointOfService::PosPrinterRotation value) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_SetBarcodeRotation(value)); +} + +template void impl_IReceiptOrSlipJob::SetPrintRotation(Windows::Devices::PointOfService::PosPrinterRotation value, bool includeBitmaps) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_SetPrintRotation(value, includeBitmaps)); +} + +template void impl_IReceiptOrSlipJob::SetPrintArea(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_SetPrintArea(get_abi(value))); +} + +template void impl_IReceiptOrSlipJob::SetBitmap(uint32_t bitmapNumber, const Windows::Graphics::Imaging::BitmapFrame & bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_SetBitmap(bitmapNumber, get_abi(bitmap), alignment)); +} + +template void impl_IReceiptOrSlipJob::SetBitmap(uint32_t bitmapNumber, const Windows::Graphics::Imaging::BitmapFrame & bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment, uint32_t width) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_SetBitmapCustomWidthStandardAlign(bitmapNumber, get_abi(bitmap), alignment, width)); +} + +template void impl_IReceiptOrSlipJob::SetCustomAlignedBitmap(uint32_t bitmapNumber, const Windows::Graphics::Imaging::BitmapFrame & bitmap, uint32_t alignmentDistance) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_SetCustomAlignedBitmap(bitmapNumber, get_abi(bitmap), alignmentDistance)); +} + +template void impl_IReceiptOrSlipJob::SetCustomAlignedBitmap(uint32_t bitmapNumber, const Windows::Graphics::Imaging::BitmapFrame & bitmap, uint32_t alignmentDistance, uint32_t width) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_SetBitmapCustomWidthCustomAlign(bitmapNumber, get_abi(bitmap), alignmentDistance, width)); +} + +template void impl_IReceiptOrSlipJob::PrintSavedBitmap(uint32_t bitmapNumber) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_PrintSavedBitmap(bitmapNumber)); +} + +template void impl_IReceiptOrSlipJob::DrawRuledLine(hstring_view positionList, Windows::Devices::PointOfService::PosPrinterLineDirection lineDirection, uint32_t lineWidth, Windows::Devices::PointOfService::PosPrinterLineStyle lineStyle, uint32_t lineColor) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_DrawRuledLine(get_abi(positionList), lineDirection, lineWidth, lineStyle, lineColor)); +} + +template void impl_IReceiptOrSlipJob::PrintBarcode(hstring_view data, uint32_t symbology, uint32_t height, uint32_t width, Windows::Devices::PointOfService::PosPrinterBarcodeTextPosition textPosition, Windows::Devices::PointOfService::PosPrinterAlignment alignment) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_PrintBarcode(get_abi(data), symbology, height, width, textPosition, alignment)); +} + +template void impl_IReceiptOrSlipJob::PrintBarcodeCustomAlign(hstring_view data, uint32_t symbology, uint32_t height, uint32_t width, Windows::Devices::PointOfService::PosPrinterBarcodeTextPosition textPosition, uint32_t alignmentDistance) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_PrintBarcodeCustomAlign(get_abi(data), symbology, height, width, textPosition, alignmentDistance)); +} + +template void impl_IReceiptOrSlipJob::PrintBitmap(const Windows::Graphics::Imaging::BitmapFrame & bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_PrintBitmap(get_abi(bitmap), alignment)); +} + +template void impl_IReceiptOrSlipJob::PrintBitmap(const Windows::Graphics::Imaging::BitmapFrame & bitmap, Windows::Devices::PointOfService::PosPrinterAlignment alignment, uint32_t width) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_PrintBitmapCustomWidthStandardAlign(get_abi(bitmap), alignment, width)); +} + +template void impl_IReceiptOrSlipJob::PrintCustomAlignedBitmap(const Windows::Graphics::Imaging::BitmapFrame & bitmap, uint32_t alignmentDistance) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_PrintCustomAlignedBitmap(get_abi(bitmap), alignmentDistance)); +} + +template void impl_IReceiptOrSlipJob::PrintCustomAlignedBitmap(const Windows::Graphics::Imaging::BitmapFrame & bitmap, uint32_t alignmentDistance, uint32_t width) const +{ + check_hresult(WINRT_SHIM(IReceiptOrSlipJob)->abi_PrintBitmapCustomWidthCustomAlign(get_abi(bitmap), alignmentDistance, width)); +} + +template void impl_IReceiptPrintJob::MarkFeed(Windows::Devices::PointOfService::PosPrinterMarkFeedKind kind) const +{ + check_hresult(WINRT_SHIM(IReceiptPrintJob)->abi_MarkFeed(kind)); +} + +template void impl_IReceiptPrintJob::CutPaper(double percentage) const +{ + check_hresult(WINRT_SHIM(IReceiptPrintJob)->abi_CutPaper(percentage)); +} + +template void impl_IReceiptPrintJob::CutPaper() const +{ + check_hresult(WINRT_SHIM(IReceiptPrintJob)->abi_CutPaperDefault()); +} + +template void impl_ICommonClaimedPosPrinterStation::CharactersPerLine(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->put_CharactersPerLine(value)); +} + +template uint32_t impl_ICommonClaimedPosPrinterStation::CharactersPerLine() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_CharactersPerLine(&value)); + return value; +} + +template void impl_ICommonClaimedPosPrinterStation::LineHeight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->put_LineHeight(value)); +} + +template uint32_t impl_ICommonClaimedPosPrinterStation::LineHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_LineHeight(&value)); + return value; +} + +template void impl_ICommonClaimedPosPrinterStation::LineSpacing(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->put_LineSpacing(value)); +} + +template uint32_t impl_ICommonClaimedPosPrinterStation::LineSpacing() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_LineSpacing(&value)); + return value; +} + +template uint32_t impl_ICommonClaimedPosPrinterStation::LineWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_LineWidth(&value)); + return value; +} + +template void impl_ICommonClaimedPosPrinterStation::IsLetterQuality(bool value) const +{ + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->put_IsLetterQuality(value)); +} + +template bool impl_ICommonClaimedPosPrinterStation::IsLetterQuality() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsLetterQuality(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::IsPaperNearEnd() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsPaperNearEnd(&value)); + return value; +} + +template void impl_ICommonClaimedPosPrinterStation::ColorCartridge(Windows::Devices::PointOfService::PosPrinterColorCartridge value) const +{ + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->put_ColorCartridge(value)); +} + +template Windows::Devices::PointOfService::PosPrinterColorCartridge impl_ICommonClaimedPosPrinterStation::ColorCartridge() const +{ + Windows::Devices::PointOfService::PosPrinterColorCartridge value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_ColorCartridge(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::IsCoverOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsCoverOpen(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::IsCartridgeRemoved() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsCartridgeRemoved(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::IsCartridgeEmpty() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsCartridgeEmpty(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::IsHeadCleaning() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsHeadCleaning(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::IsPaperEmpty() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsPaperEmpty(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::IsReadyToPrint() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->get_IsReadyToPrint(&value)); + return value; +} + +template bool impl_ICommonClaimedPosPrinterStation::ValidateData(hstring_view data) const +{ + bool result {}; + check_hresult(WINRT_SHIM(ICommonClaimedPosPrinterStation)->abi_ValidateData(get_abi(data), &result)); + return result; +} + +template uint32_t impl_IClaimedReceiptPrinter::SidewaysMaxLines() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedReceiptPrinter)->get_SidewaysMaxLines(&value)); + return value; +} + +template uint32_t impl_IClaimedReceiptPrinter::SidewaysMaxChars() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedReceiptPrinter)->get_SidewaysMaxChars(&value)); + return value; +} + +template uint32_t impl_IClaimedReceiptPrinter::LinesToPaperCut() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedReceiptPrinter)->get_LinesToPaperCut(&value)); + return value; +} + +template Windows::Foundation::Size impl_IClaimedReceiptPrinter::PageSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IClaimedReceiptPrinter)->get_PageSize(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IClaimedReceiptPrinter::PrintArea() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IClaimedReceiptPrinter)->get_PrintArea(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::ReceiptPrintJob impl_IClaimedReceiptPrinter::CreateJob() const +{ + Windows::Devices::PointOfService::ReceiptPrintJob value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedReceiptPrinter)->abi_CreateJob(put_abi(value))); + return value; +} + +template uint32_t impl_IClaimedSlipPrinter::SidewaysMaxLines() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->get_SidewaysMaxLines(&value)); + return value; +} + +template uint32_t impl_IClaimedSlipPrinter::SidewaysMaxChars() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->get_SidewaysMaxChars(&value)); + return value; +} + +template uint32_t impl_IClaimedSlipPrinter::MaxLines() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->get_MaxLines(&value)); + return value; +} + +template uint32_t impl_IClaimedSlipPrinter::LinesNearEndToEnd() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->get_LinesNearEndToEnd(&value)); + return value; +} + +template Windows::Devices::PointOfService::PosPrinterPrintSide impl_IClaimedSlipPrinter::PrintSide() const +{ + Windows::Devices::PointOfService::PosPrinterPrintSide value {}; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->get_PrintSide(&value)); + return value; +} + +template Windows::Foundation::Size impl_IClaimedSlipPrinter::PageSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->get_PageSize(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IClaimedSlipPrinter::PrintArea() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->get_PrintArea(put_abi(value))); + return value; +} + +template void impl_IClaimedSlipPrinter::OpenJaws() const +{ + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->abi_OpenJaws()); +} + +template void impl_IClaimedSlipPrinter::CloseJaws() const +{ + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->abi_CloseJaws()); +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedSlipPrinter::InsertSlipAsync(const Windows::Foundation::TimeSpan & timeout) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->abi_InsertSlipAsync(get_abi(timeout), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedSlipPrinter::RemoveSlipAsync(const Windows::Foundation::TimeSpan & timeout) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->abi_RemoveSlipAsync(get_abi(timeout), put_abi(result))); + return result; +} + +template void impl_IClaimedSlipPrinter::ChangePrintSide(Windows::Devices::PointOfService::PosPrinterPrintSide printSide) const +{ + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->abi_ChangePrintSide(printSide)); +} + +template Windows::Devices::PointOfService::SlipPrintJob impl_IClaimedSlipPrinter::CreateJob() const +{ + Windows::Devices::PointOfService::SlipPrintJob value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedSlipPrinter)->abi_CreateJob(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::JournalPrintJob impl_IClaimedJournalPrinter::CreateJob() const +{ + Windows::Devices::PointOfService::JournalPrintJob value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedJournalPrinter)->abi_CreateJob(put_abi(value))); + return value; +} + +template hstring impl_IClaimedPosPrinter::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_DeviceId(put_abi(value))); + return value; +} + +template bool impl_IClaimedPosPrinter::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_IsEnabled(&value)); + return value; +} + +template void impl_IClaimedPosPrinter::CharacterSet(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->put_CharacterSet(value)); +} + +template uint32_t impl_IClaimedPosPrinter::CharacterSet() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_CharacterSet(&value)); + return value; +} + +template bool impl_IClaimedPosPrinter::IsCoverOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_IsCoverOpen(&value)); + return value; +} + +template void impl_IClaimedPosPrinter::IsCharacterSetMappingEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->put_IsCharacterSetMappingEnabled(value)); +} + +template bool impl_IClaimedPosPrinter::IsCharacterSetMappingEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_IsCharacterSetMappingEnabled(&value)); + return value; +} + +template void impl_IClaimedPosPrinter::MapMode(Windows::Devices::PointOfService::PosPrinterMapMode value) const +{ + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->put_MapMode(value)); +} + +template Windows::Devices::PointOfService::PosPrinterMapMode impl_IClaimedPosPrinter::MapMode() const +{ + Windows::Devices::PointOfService::PosPrinterMapMode value {}; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_MapMode(&value)); + return value; +} + +template Windows::Devices::PointOfService::ClaimedReceiptPrinter impl_IClaimedPosPrinter::Receipt() const +{ + Windows::Devices::PointOfService::ClaimedReceiptPrinter value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_Receipt(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::ClaimedSlipPrinter impl_IClaimedPosPrinter::Slip() const +{ + Windows::Devices::PointOfService::ClaimedSlipPrinter value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_Slip(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::ClaimedJournalPrinter impl_IClaimedPosPrinter::Journal() const +{ + Windows::Devices::PointOfService::ClaimedJournalPrinter value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->get_Journal(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedPosPrinter::EnableAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->abi_EnableAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedPosPrinter::DisableAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->abi_DisableAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedPosPrinter::RetainDeviceAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->abi_RetainDeviceAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedPosPrinter::ResetStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->abi_ResetStatisticsAsync(get_abi(statisticsCategories), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedPosPrinter::UpdateStatisticsAsync(iterable> statistics) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->abi_UpdateStatisticsAsync(get_abi(statistics), put_abi(result))); + return result; +} + +template event_token impl_IClaimedPosPrinter::ReleaseDeviceRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->add_ReleaseDeviceRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedPosPrinter::ReleaseDeviceRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedPosPrinter::remove_ReleaseDeviceRequested, ReleaseDeviceRequested(handler)); +} + +template void impl_IClaimedPosPrinter::ReleaseDeviceRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedPosPrinter)->remove_ReleaseDeviceRequested(token)); +} + +template Windows::Devices::PointOfService::CashDrawerStatus impl_ICashDrawerStatusUpdatedEventArgs::Status() const +{ + Windows::Devices::PointOfService::CashDrawerStatus value { nullptr }; + check_hresult(WINRT_SHIM(ICashDrawerStatusUpdatedEventArgs)->get_Status(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::CashDrawerStatusKind impl_ICashDrawerStatus::StatusKind() const +{ + Windows::Devices::PointOfService::CashDrawerStatusKind value {}; + check_hresult(WINRT_SHIM(ICashDrawerStatus)->get_StatusKind(&value)); + return value; +} + +template uint32_t impl_ICashDrawerStatus::ExtendedStatus() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICashDrawerStatus)->get_ExtendedStatus(&value)); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosPowerReportingType impl_ICashDrawerCapabilities::PowerReportingType() const +{ + Windows::Devices::PointOfService::UnifiedPosPowerReportingType value {}; + check_hresult(WINRT_SHIM(ICashDrawerCapabilities)->get_PowerReportingType(&value)); + return value; +} + +template bool impl_ICashDrawerCapabilities::IsStatisticsReportingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICashDrawerCapabilities)->get_IsStatisticsReportingSupported(&value)); + return value; +} + +template bool impl_ICashDrawerCapabilities::IsStatisticsUpdatingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICashDrawerCapabilities)->get_IsStatisticsUpdatingSupported(&value)); + return value; +} + +template bool impl_ICashDrawerCapabilities::IsStatusReportingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICashDrawerCapabilities)->get_IsStatusReportingSupported(&value)); + return value; +} + +template bool impl_ICashDrawerCapabilities::IsStatusMultiDrawerDetectSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICashDrawerCapabilities)->get_IsStatusMultiDrawerDetectSupported(&value)); + return value; +} + +template bool impl_ICashDrawerCapabilities::IsDrawerOpenSensorAvailable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICashDrawerCapabilities)->get_IsDrawerOpenSensorAvailable(&value)); + return value; +} + +template Windows::Devices::PointOfService::CashDrawer impl_ICashDrawerEventSourceEventArgs::CashDrawer() const +{ + Windows::Devices::PointOfService::CashDrawer drawer { nullptr }; + check_hresult(WINRT_SHIM(ICashDrawerEventSourceEventArgs)->get_CashDrawer(put_abi(drawer))); + return drawer; +} + +template event_token impl_ICashDrawerEventSource::DrawerClosed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICashDrawerEventSource)->add_DrawerClosed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICashDrawerEventSource::DrawerClosed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::ICashDrawerEventSource::remove_DrawerClosed, DrawerClosed(handler)); +} + +template void impl_ICashDrawerEventSource::DrawerClosed(event_token token) const +{ + check_hresult(WINRT_SHIM(ICashDrawerEventSource)->remove_DrawerClosed(token)); +} + +template event_token impl_ICashDrawerEventSource::DrawerOpened(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICashDrawerEventSource)->add_DrawerOpened(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICashDrawerEventSource::DrawerOpened(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::ICashDrawerEventSource::remove_DrawerOpened, DrawerOpened(handler)); +} + +template void impl_ICashDrawerEventSource::DrawerOpened(event_token token) const +{ + check_hresult(WINRT_SHIM(ICashDrawerEventSource)->remove_DrawerOpened(token)); +} + +template Windows::Foundation::IAsyncOperation impl_ICashDrawerStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ICashDrawerStatics)->abi_GetDefaultAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ICashDrawerStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ICashDrawerStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template hstring impl_ICashDrawerStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICashDrawerStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_ICashDrawerStatics2::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) const +{ + hstring value; + check_hresult(WINRT_SHIM(ICashDrawerStatics2)->abi_GetDeviceSelectorWithConnectionTypes(connectionTypes, put_abi(value))); + return value; +} + +template hstring impl_ICashDrawer::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICashDrawer)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::CashDrawerCapabilities impl_ICashDrawer::Capabilities() const +{ + Windows::Devices::PointOfService::CashDrawerCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(ICashDrawer)->get_Capabilities(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::CashDrawerStatus impl_ICashDrawer::Status() const +{ + Windows::Devices::PointOfService::CashDrawerStatus value { nullptr }; + check_hresult(WINRT_SHIM(ICashDrawer)->get_Status(put_abi(value))); + return value; +} + +template bool impl_ICashDrawer::IsDrawerOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICashDrawer)->get_IsDrawerOpen(&value)); + return value; +} + +template Windows::Devices::PointOfService::CashDrawerEventSource impl_ICashDrawer::DrawerEventSource() const +{ + Windows::Devices::PointOfService::CashDrawerEventSource value { nullptr }; + check_hresult(WINRT_SHIM(ICashDrawer)->get_DrawerEventSource(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICashDrawer::ClaimDrawerAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICashDrawer)->abi_ClaimDrawerAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICashDrawer::CheckHealthAsync(Windows::Devices::PointOfService::UnifiedPosHealthCheckLevel level) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICashDrawer)->abi_CheckHealthAsync(level, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICashDrawer::GetStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICashDrawer)->abi_GetStatisticsAsync(get_abi(statisticsCategories), put_abi(operation))); + return operation; +} + +template event_token impl_ICashDrawer::StatusUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICashDrawer)->add_StatusUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICashDrawer::StatusUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::ICashDrawer::remove_StatusUpdated, StatusUpdated(handler)); +} + +template void impl_ICashDrawer::StatusUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(ICashDrawer)->remove_StatusUpdated(token)); +} + +template void impl_ICashDrawerCloseAlarm::AlarmTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->put_AlarmTimeout(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ICashDrawerCloseAlarm::AlarmTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->get_AlarmTimeout(put_abi(value))); + return value; +} + +template void impl_ICashDrawerCloseAlarm::BeepFrequency(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->put_BeepFrequency(value)); +} + +template uint32_t impl_ICashDrawerCloseAlarm::BeepFrequency() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->get_BeepFrequency(&value)); + return value; +} + +template void impl_ICashDrawerCloseAlarm::BeepDuration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->put_BeepDuration(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ICashDrawerCloseAlarm::BeepDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->get_BeepDuration(put_abi(value))); + return value; +} + +template void impl_ICashDrawerCloseAlarm::BeepDelay(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->put_BeepDelay(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ICashDrawerCloseAlarm::BeepDelay() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->get_BeepDelay(put_abi(value))); + return value; +} + +template event_token impl_ICashDrawerCloseAlarm::AlarmTimeoutExpired(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->add_AlarmTimeoutExpired(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICashDrawerCloseAlarm::AlarmTimeoutExpired(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::ICashDrawerCloseAlarm::remove_AlarmTimeoutExpired, AlarmTimeoutExpired(handler)); +} + +template void impl_ICashDrawerCloseAlarm::AlarmTimeoutExpired(event_token token) const +{ + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->remove_AlarmTimeoutExpired(token)); +} + +template Windows::Foundation::IAsyncOperation impl_ICashDrawerCloseAlarm::StartAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ICashDrawerCloseAlarm)->abi_StartAsync(put_abi(result))); + return result; +} + +template hstring impl_IClaimedCashDrawer::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->get_DeviceId(put_abi(value))); + return value; +} + +template bool impl_IClaimedCashDrawer::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->get_IsEnabled(&value)); + return value; +} + +template bool impl_IClaimedCashDrawer::IsDrawerOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->get_IsDrawerOpen(&value)); + return value; +} + +template Windows::Devices::PointOfService::CashDrawerCloseAlarm impl_IClaimedCashDrawer::CloseAlarm() const +{ + Windows::Devices::PointOfService::CashDrawerCloseAlarm value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->get_CloseAlarm(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedCashDrawer::OpenDrawerAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->abi_OpenDrawerAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedCashDrawer::EnableAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->abi_EnableAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedCashDrawer::DisableAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->abi_DisableAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedCashDrawer::RetainDeviceAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->abi_RetainDeviceAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedCashDrawer::ResetStatisticsAsync(iterable statisticsCategories) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->abi_ResetStatisticsAsync(get_abi(statisticsCategories), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedCashDrawer::UpdateStatisticsAsync(iterable> statistics) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->abi_UpdateStatisticsAsync(get_abi(statistics), put_abi(result))); + return result; +} + +template event_token impl_IClaimedCashDrawer::ReleaseDeviceRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->add_ReleaseDeviceRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedCashDrawer::ReleaseDeviceRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedCashDrawer::remove_ReleaseDeviceRequested, ReleaseDeviceRequested(handler)); +} + +template void impl_IClaimedCashDrawer::ReleaseDeviceRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedCashDrawer)->remove_ReleaseDeviceRequested(token)); +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILineDisplayStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ILineDisplayStatics)->abi_GetDefaultAsync(put_abi(result))); + return result; +} + +template hstring impl_ILineDisplayStatics::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(ILineDisplayStatics)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +template hstring impl_ILineDisplayStatics::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) const +{ + hstring value; + check_hresult(WINRT_SHIM(ILineDisplayStatics)->abi_GetDeviceSelectorWithConnectionTypes(connectionTypes, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IClaimedLineDisplayStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IClaimedLineDisplayStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template hstring impl_IClaimedLineDisplayStatics::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(IClaimedLineDisplayStatics)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +template hstring impl_IClaimedLineDisplayStatics::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedLineDisplayStatics)->abi_GetDeviceSelectorWithConnectionTypes(connectionTypes, put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_ILineDisplayWindow::SizeInCharacters() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->get_SizeInCharacters(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ILineDisplayWindow::InterCharacterWaitInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->get_InterCharacterWaitInterval(put_abi(value))); + return value; +} + +template void impl_ILineDisplayWindow::InterCharacterWaitInterval(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ILineDisplayWindow)->put_InterCharacterWaitInterval(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayWindow::TryRefreshAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->abi_TryRefreshAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayWindow::TryDisplayTextAsync(hstring_view text, Windows::Devices::PointOfService::LineDisplayTextAttribute displayAttribute) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->abi_TryDisplayTextAsync(get_abi(text), displayAttribute, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayWindow::TryDisplayTextAsync(hstring_view text, Windows::Devices::PointOfService::LineDisplayTextAttribute displayAttribute, const Windows::Foundation::Point & startPosition) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->abi_TryDisplayTextAtPositionAsync(get_abi(text), displayAttribute, get_abi(startPosition), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayWindow::TryDisplayTextAsync(hstring_view text) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->abi_TryDisplayTextNormalAsync(get_abi(text), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayWindow::TryScrollTextAsync(Windows::Devices::PointOfService::LineDisplayScrollDirection direction, uint32_t numberOfColumnsOrRows) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->abi_TryScrollTextAsync(direction, numberOfColumnsOrRows, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplayWindow::TryClearTextAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILineDisplayWindow)->abi_TryClearTextAsync(put_abi(operation))); + return operation; +} + +template bool impl_ILineDisplayCapabilities::IsStatisticsReportingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_IsStatisticsReportingSupported(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::IsStatisticsUpdatingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_IsStatisticsUpdatingSupported(&value)); + return value; +} + +template Windows::Devices::PointOfService::UnifiedPosPowerReportingType impl_ILineDisplayCapabilities::PowerReportingType() const +{ + Windows::Devices::PointOfService::UnifiedPosPowerReportingType value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_PowerReportingType(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::CanChangeScreenSize() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanChangeScreenSize(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::CanDisplayBitmaps() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanDisplayBitmaps(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::CanReadCharacterAtCursor() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanReadCharacterAtCursor(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::CanMapCharacterSets() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanMapCharacterSets(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::CanDisplayCustomGlyphs() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanDisplayCustomGlyphs(&value)); + return value; +} + +template Windows::Devices::PointOfService::LineDisplayTextAttributeGranularity impl_ILineDisplayCapabilities::CanReverse() const +{ + Windows::Devices::PointOfService::LineDisplayTextAttributeGranularity value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanReverse(&value)); + return value; +} + +template Windows::Devices::PointOfService::LineDisplayTextAttributeGranularity impl_ILineDisplayCapabilities::CanBlink() const +{ + Windows::Devices::PointOfService::LineDisplayTextAttributeGranularity value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanBlink(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::CanChangeBlinkRate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_CanChangeBlinkRate(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::IsBrightnessSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_IsBrightnessSupported(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::IsCursorSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_IsCursorSupported(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::IsHorizontalMarqueeSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_IsHorizontalMarqueeSupported(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::IsVerticalMarqueeSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_IsVerticalMarqueeSupported(&value)); + return value; +} + +template bool impl_ILineDisplayCapabilities::IsInterCharacterWaitSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_IsInterCharacterWaitSupported(&value)); + return value; +} + +template uint32_t impl_ILineDisplayCapabilities::SupportedDescriptors() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_SupportedDescriptors(&value)); + return value; +} + +template uint32_t impl_ILineDisplayCapabilities::SupportedWindows() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILineDisplayCapabilities)->get_SupportedWindows(&value)); + return value; +} + +template hstring impl_ILineDisplay::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILineDisplay)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::LineDisplayCapabilities impl_ILineDisplay::Capabilities() const +{ + Windows::Devices::PointOfService::LineDisplayCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(ILineDisplay)->get_Capabilities(put_abi(value))); + return value; +} + +template hstring impl_ILineDisplay::PhysicalDeviceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILineDisplay)->get_PhysicalDeviceName(put_abi(value))); + return value; +} + +template hstring impl_ILineDisplay::PhysicalDeviceDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILineDisplay)->get_PhysicalDeviceDescription(put_abi(value))); + return value; +} + +template hstring impl_ILineDisplay::DeviceControlDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILineDisplay)->get_DeviceControlDescription(put_abi(value))); + return value; +} + +template hstring impl_ILineDisplay::DeviceControlVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILineDisplay)->get_DeviceControlVersion(put_abi(value))); + return value; +} + +template hstring impl_ILineDisplay::DeviceServiceVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILineDisplay)->get_DeviceServiceVersion(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ILineDisplay::ClaimAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ILineDisplay)->abi_ClaimAsync(put_abi(result))); + return result; +} + +template hstring impl_IClaimedLineDisplay::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::LineDisplayCapabilities impl_IClaimedLineDisplay::Capabilities() const +{ + Windows::Devices::PointOfService::LineDisplayCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_Capabilities(put_abi(value))); + return value; +} + +template hstring impl_IClaimedLineDisplay::PhysicalDeviceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_PhysicalDeviceName(put_abi(value))); + return value; +} + +template hstring impl_IClaimedLineDisplay::PhysicalDeviceDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_PhysicalDeviceDescription(put_abi(value))); + return value; +} + +template hstring impl_IClaimedLineDisplay::DeviceControlDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_DeviceControlDescription(put_abi(value))); + return value; +} + +template hstring impl_IClaimedLineDisplay::DeviceControlVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_DeviceControlVersion(put_abi(value))); + return value; +} + +template hstring impl_IClaimedLineDisplay::DeviceServiceVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_DeviceServiceVersion(put_abi(value))); + return value; +} + +template Windows::Devices::PointOfService::LineDisplayWindow impl_IClaimedLineDisplay::DefaultWindow() const +{ + Windows::Devices::PointOfService::LineDisplayWindow value { nullptr }; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->get_DefaultWindow(put_abi(value))); + return value; +} + +template void impl_IClaimedLineDisplay::RetainDevice() const +{ + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->abi_RetainDevice()); +} + +template event_token impl_IClaimedLineDisplay::ReleaseDeviceRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->add_ReleaseDeviceRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IClaimedLineDisplay::ReleaseDeviceRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::PointOfService::IClaimedLineDisplay::remove_ReleaseDeviceRequested, ReleaseDeviceRequested(handler)); +} + +template void impl_IClaimedLineDisplay::ReleaseDeviceRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IClaimedLineDisplay)->remove_ReleaseDeviceRequested(token)); +} + +inline Windows::Foundation::IAsyncOperation BarcodeScanner::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation BarcodeScanner::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring BarcodeScanner::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring BarcodeScanner::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) +{ + return get_activation_factory().GetDeviceSelector(connectionTypes); +} + +inline uint32_t BarcodeSymbologies::Unknown() +{ + return get_activation_factory().Unknown(); +} + +inline uint32_t BarcodeSymbologies::Ean8() +{ + return get_activation_factory().Ean8(); +} + +inline uint32_t BarcodeSymbologies::Ean8Add2() +{ + return get_activation_factory().Ean8Add2(); +} + +inline uint32_t BarcodeSymbologies::Ean8Add5() +{ + return get_activation_factory().Ean8Add5(); +} + +inline uint32_t BarcodeSymbologies::Eanv() +{ + return get_activation_factory().Eanv(); +} + +inline uint32_t BarcodeSymbologies::EanvAdd2() +{ + return get_activation_factory().EanvAdd2(); +} + +inline uint32_t BarcodeSymbologies::EanvAdd5() +{ + return get_activation_factory().EanvAdd5(); +} + +inline uint32_t BarcodeSymbologies::Ean13() +{ + return get_activation_factory().Ean13(); +} + +inline uint32_t BarcodeSymbologies::Ean13Add2() +{ + return get_activation_factory().Ean13Add2(); +} + +inline uint32_t BarcodeSymbologies::Ean13Add5() +{ + return get_activation_factory().Ean13Add5(); +} + +inline uint32_t BarcodeSymbologies::Isbn() +{ + return get_activation_factory().Isbn(); +} + +inline uint32_t BarcodeSymbologies::IsbnAdd5() +{ + return get_activation_factory().IsbnAdd5(); +} + +inline uint32_t BarcodeSymbologies::Ismn() +{ + return get_activation_factory().Ismn(); +} + +inline uint32_t BarcodeSymbologies::IsmnAdd2() +{ + return get_activation_factory().IsmnAdd2(); +} + +inline uint32_t BarcodeSymbologies::IsmnAdd5() +{ + return get_activation_factory().IsmnAdd5(); +} + +inline uint32_t BarcodeSymbologies::Issn() +{ + return get_activation_factory().Issn(); +} + +inline uint32_t BarcodeSymbologies::IssnAdd2() +{ + return get_activation_factory().IssnAdd2(); +} + +inline uint32_t BarcodeSymbologies::IssnAdd5() +{ + return get_activation_factory().IssnAdd5(); +} + +inline uint32_t BarcodeSymbologies::Ean99() +{ + return get_activation_factory().Ean99(); +} + +inline uint32_t BarcodeSymbologies::Ean99Add2() +{ + return get_activation_factory().Ean99Add2(); +} + +inline uint32_t BarcodeSymbologies::Ean99Add5() +{ + return get_activation_factory().Ean99Add5(); +} + +inline uint32_t BarcodeSymbologies::Upca() +{ + return get_activation_factory().Upca(); +} + +inline uint32_t BarcodeSymbologies::UpcaAdd2() +{ + return get_activation_factory().UpcaAdd2(); +} + +inline uint32_t BarcodeSymbologies::UpcaAdd5() +{ + return get_activation_factory().UpcaAdd5(); +} + +inline uint32_t BarcodeSymbologies::Upce() +{ + return get_activation_factory().Upce(); +} + +inline uint32_t BarcodeSymbologies::UpceAdd2() +{ + return get_activation_factory().UpceAdd2(); +} + +inline uint32_t BarcodeSymbologies::UpceAdd5() +{ + return get_activation_factory().UpceAdd5(); +} + +inline uint32_t BarcodeSymbologies::UpcCoupon() +{ + return get_activation_factory().UpcCoupon(); +} + +inline uint32_t BarcodeSymbologies::TfStd() +{ + return get_activation_factory().TfStd(); +} + +inline uint32_t BarcodeSymbologies::TfDis() +{ + return get_activation_factory().TfDis(); +} + +inline uint32_t BarcodeSymbologies::TfInt() +{ + return get_activation_factory().TfInt(); +} + +inline uint32_t BarcodeSymbologies::TfInd() +{ + return get_activation_factory().TfInd(); +} + +inline uint32_t BarcodeSymbologies::TfMat() +{ + return get_activation_factory().TfMat(); +} + +inline uint32_t BarcodeSymbologies::TfIata() +{ + return get_activation_factory().TfIata(); +} + +inline uint32_t BarcodeSymbologies::Gs1DatabarType1() +{ + return get_activation_factory().Gs1DatabarType1(); +} + +inline uint32_t BarcodeSymbologies::Gs1DatabarType2() +{ + return get_activation_factory().Gs1DatabarType2(); +} + +inline uint32_t BarcodeSymbologies::Gs1DatabarType3() +{ + return get_activation_factory().Gs1DatabarType3(); +} + +inline uint32_t BarcodeSymbologies::Code39() +{ + return get_activation_factory().Code39(); +} + +inline uint32_t BarcodeSymbologies::Code39Ex() +{ + return get_activation_factory().Code39Ex(); +} + +inline uint32_t BarcodeSymbologies::Trioptic39() +{ + return get_activation_factory().Trioptic39(); +} + +inline uint32_t BarcodeSymbologies::Code32() +{ + return get_activation_factory().Code32(); +} + +inline uint32_t BarcodeSymbologies::Pzn() +{ + return get_activation_factory().Pzn(); +} + +inline uint32_t BarcodeSymbologies::Code93() +{ + return get_activation_factory().Code93(); +} + +inline uint32_t BarcodeSymbologies::Code93Ex() +{ + return get_activation_factory().Code93Ex(); +} + +inline uint32_t BarcodeSymbologies::Code128() +{ + return get_activation_factory().Code128(); +} + +inline uint32_t BarcodeSymbologies::Gs1128() +{ + return get_activation_factory().Gs1128(); +} + +inline uint32_t BarcodeSymbologies::Gs1128Coupon() +{ + return get_activation_factory().Gs1128Coupon(); +} + +inline uint32_t BarcodeSymbologies::UccEan128() +{ + return get_activation_factory().UccEan128(); +} + +inline uint32_t BarcodeSymbologies::Sisac() +{ + return get_activation_factory().Sisac(); +} + +inline uint32_t BarcodeSymbologies::Isbt() +{ + return get_activation_factory().Isbt(); +} + +inline uint32_t BarcodeSymbologies::Codabar() +{ + return get_activation_factory().Codabar(); +} + +inline uint32_t BarcodeSymbologies::Code11() +{ + return get_activation_factory().Code11(); +} + +inline uint32_t BarcodeSymbologies::Msi() +{ + return get_activation_factory().Msi(); +} + +inline uint32_t BarcodeSymbologies::Plessey() +{ + return get_activation_factory().Plessey(); +} + +inline uint32_t BarcodeSymbologies::Telepen() +{ + return get_activation_factory().Telepen(); +} + +inline uint32_t BarcodeSymbologies::Code16k() +{ + return get_activation_factory().Code16k(); +} + +inline uint32_t BarcodeSymbologies::CodablockA() +{ + return get_activation_factory().CodablockA(); +} + +inline uint32_t BarcodeSymbologies::CodablockF() +{ + return get_activation_factory().CodablockF(); +} + +inline uint32_t BarcodeSymbologies::Codablock128() +{ + return get_activation_factory().Codablock128(); +} + +inline uint32_t BarcodeSymbologies::Code49() +{ + return get_activation_factory().Code49(); +} + +inline uint32_t BarcodeSymbologies::Aztec() +{ + return get_activation_factory().Aztec(); +} + +inline uint32_t BarcodeSymbologies::DataCode() +{ + return get_activation_factory().DataCode(); +} + +inline uint32_t BarcodeSymbologies::DataMatrix() +{ + return get_activation_factory().DataMatrix(); +} + +inline uint32_t BarcodeSymbologies::HanXin() +{ + return get_activation_factory().HanXin(); +} + +inline uint32_t BarcodeSymbologies::Maxicode() +{ + return get_activation_factory().Maxicode(); +} + +inline uint32_t BarcodeSymbologies::MicroPdf417() +{ + return get_activation_factory().MicroPdf417(); +} + +inline uint32_t BarcodeSymbologies::MicroQr() +{ + return get_activation_factory().MicroQr(); +} + +inline uint32_t BarcodeSymbologies::Pdf417() +{ + return get_activation_factory().Pdf417(); +} + +inline uint32_t BarcodeSymbologies::Qr() +{ + return get_activation_factory().Qr(); +} + +inline uint32_t BarcodeSymbologies::MsTag() +{ + return get_activation_factory().MsTag(); +} + +inline uint32_t BarcodeSymbologies::Ccab() +{ + return get_activation_factory().Ccab(); +} + +inline uint32_t BarcodeSymbologies::Ccc() +{ + return get_activation_factory().Ccc(); +} + +inline uint32_t BarcodeSymbologies::Tlc39() +{ + return get_activation_factory().Tlc39(); +} + +inline uint32_t BarcodeSymbologies::AusPost() +{ + return get_activation_factory().AusPost(); +} + +inline uint32_t BarcodeSymbologies::CanPost() +{ + return get_activation_factory().CanPost(); +} + +inline uint32_t BarcodeSymbologies::ChinaPost() +{ + return get_activation_factory().ChinaPost(); +} + +inline uint32_t BarcodeSymbologies::DutchKix() +{ + return get_activation_factory().DutchKix(); +} + +inline uint32_t BarcodeSymbologies::InfoMail() +{ + return get_activation_factory().InfoMail(); +} + +inline uint32_t BarcodeSymbologies::ItalianPost25() +{ + return get_activation_factory().ItalianPost25(); +} + +inline uint32_t BarcodeSymbologies::ItalianPost39() +{ + return get_activation_factory().ItalianPost39(); +} + +inline uint32_t BarcodeSymbologies::JapanPost() +{ + return get_activation_factory().JapanPost(); +} + +inline uint32_t BarcodeSymbologies::KoreanPost() +{ + return get_activation_factory().KoreanPost(); +} + +inline uint32_t BarcodeSymbologies::SwedenPost() +{ + return get_activation_factory().SwedenPost(); +} + +inline uint32_t BarcodeSymbologies::UkPost() +{ + return get_activation_factory().UkPost(); +} + +inline uint32_t BarcodeSymbologies::UsIntelligent() +{ + return get_activation_factory().UsIntelligent(); +} + +inline uint32_t BarcodeSymbologies::UsIntelligentPkg() +{ + return get_activation_factory().UsIntelligentPkg(); +} + +inline uint32_t BarcodeSymbologies::UsPlanet() +{ + return get_activation_factory().UsPlanet(); +} + +inline uint32_t BarcodeSymbologies::UsPostNet() +{ + return get_activation_factory().UsPostNet(); +} + +inline uint32_t BarcodeSymbologies::Us4StateFics() +{ + return get_activation_factory().Us4StateFics(); +} + +inline uint32_t BarcodeSymbologies::OcrA() +{ + return get_activation_factory().OcrA(); +} + +inline uint32_t BarcodeSymbologies::OcrB() +{ + return get_activation_factory().OcrB(); +} + +inline uint32_t BarcodeSymbologies::Micr() +{ + return get_activation_factory().Micr(); +} + +inline uint32_t BarcodeSymbologies::ExtendedBase() +{ + return get_activation_factory().ExtendedBase(); +} + +inline hstring BarcodeSymbologies::GetName(uint32_t scanDataType) +{ + return get_activation_factory().GetName(scanDataType); +} + +inline uint32_t BarcodeSymbologies::Gs1DWCode() +{ + return get_activation_factory().Gs1DWCode(); +} + +inline Windows::Foundation::IAsyncOperation CashDrawer::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation CashDrawer::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring CashDrawer::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring CashDrawer::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) +{ + return get_activation_factory().GetDeviceSelector(connectionTypes); +} + +inline Windows::Foundation::IAsyncOperation ClaimedLineDisplay::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring ClaimedLineDisplay::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring ClaimedLineDisplay::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) +{ + return get_activation_factory().GetDeviceSelector(connectionTypes); +} + +inline Windows::Foundation::IAsyncOperation LineDisplay::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation LineDisplay::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline hstring LineDisplay::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring LineDisplay::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) +{ + return get_activation_factory().GetDeviceSelector(connectionTypes); +} + +inline Windows::Foundation::IAsyncOperation MagneticStripeReader::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation MagneticStripeReader::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring MagneticStripeReader::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring MagneticStripeReader::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) +{ + return get_activation_factory().GetDeviceSelector(connectionTypes); +} + +inline uint32_t MagneticStripeReaderCardTypes::Unknown() +{ + return get_activation_factory().Unknown(); +} + +inline uint32_t MagneticStripeReaderCardTypes::Bank() +{ + return get_activation_factory().Bank(); +} + +inline uint32_t MagneticStripeReaderCardTypes::Aamva() +{ + return get_activation_factory().Aamva(); +} + +inline uint32_t MagneticStripeReaderCardTypes::ExtendedBase() +{ + return get_activation_factory().ExtendedBase(); +} + +inline uint32_t MagneticStripeReaderEncryptionAlgorithms::None() +{ + return get_activation_factory().None(); +} + +inline uint32_t MagneticStripeReaderEncryptionAlgorithms::TripleDesDukpt() +{ + return get_activation_factory().TripleDesDukpt(); +} + +inline uint32_t MagneticStripeReaderEncryptionAlgorithms::ExtendedBase() +{ + return get_activation_factory().ExtendedBase(); +} + +inline Windows::Foundation::IAsyncOperation PosPrinter::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation PosPrinter::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring PosPrinter::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring PosPrinter::GetDeviceSelector(Windows::Devices::PointOfService::PosConnectionTypes connectionTypes) +{ + return get_activation_factory().GetDeviceSelector(connectionTypes); +} + +inline uint32_t PosPrinterCharacterSetIds::Utf16LE() +{ + return get_activation_factory().Utf16LE(); +} + +inline uint32_t PosPrinterCharacterSetIds::Ascii() +{ + return get_activation_factory().Ascii(); +} + +inline uint32_t PosPrinterCharacterSetIds::Ansi() +{ + return get_activation_factory().Ansi(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScanner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScanner2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerCapabilities1 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerImagePreviewReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeScannerStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeSymbologiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeSymbologiesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IBarcodeSymbologyAttributes & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerCloseAlarm & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerEventSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerEventSourceEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICashDrawerStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedBarcodeScanner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedBarcodeScanner1 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedBarcodeScanner2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedCashDrawer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedJournalPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedLineDisplay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedLineDisplayStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedMagneticStripeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedPosPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedReceiptPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IClaimedSlipPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICommonClaimedPosPrinterStation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICommonPosPrintStationCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ICommonReceiptSlipCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IJournalPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ILineDisplay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ILineDisplayCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ILineDisplayStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ILineDisplayWindow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderAamvaCardDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderBankCardDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderCardTypesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderEncryptionAlgorithmsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderTrackData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IMagneticStripeReaderVendorSpecificCardDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterCharacterSetIdsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterJob & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterReleaseDeviceRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IPosPrinterStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IReceiptOrSlipJob & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IReceiptPrintJob & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IReceiptPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ISlipPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::IUnifiedPosErrorData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeScanner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeScannerCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeScannerDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeScannerErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeScannerImagePreviewReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeScannerReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeScannerStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::BarcodeSymbologyAttributes & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawerCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawerCloseAlarm & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawerClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawerEventSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawerOpenedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawerStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::CashDrawerStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedBarcodeScanner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedCashDrawer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedJournalPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedLineDisplay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedMagneticStripeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedPosPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedReceiptPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ClaimedSlipPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::JournalPrintJob & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::JournalPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::LineDisplay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::LineDisplayCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::LineDisplayWindow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderAamvaCardDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderBankCardDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderTrackData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::MagneticStripeReaderVendorSpecificCardDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::PosPrinter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::PosPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::PosPrinterReleaseDeviceRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::PosPrinterStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::PosPrinterStatusUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ReceiptPrintJob & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::ReceiptPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::SlipPrintJob & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::SlipPrinterCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::PointOfService::UnifiedPosErrorData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Portable.h b/10.0.15042.0/winrt/Windows.Devices.Portable.h new file mode 100644 index 000000000..6ea7ab1f2 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Portable.h @@ -0,0 +1,159 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Devices.Portable.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(Windows::Devices::Portable::ServiceDeviceType serviceType, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector(serviceType)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromServiceId(GUID serviceId, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelectorFromServiceId(serviceId)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromId(impl::abi_arg_in deviceId, impl::abi_arg_out deviceRoot) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceRoot = detach_abi(this->shim().FromId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *deviceRoot = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Portable { + +template Windows::Storage::StorageFolder impl_IStorageDeviceStatics::FromId(hstring_view deviceId) const +{ + Windows::Storage::StorageFolder deviceRoot { nullptr }; + check_hresult(WINRT_SHIM(IStorageDeviceStatics)->abi_FromId(get_abi(deviceId), put_abi(deviceRoot))); + return deviceRoot; +} + +template hstring impl_IStorageDeviceStatics::GetDeviceSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(IStorageDeviceStatics)->abi_GetDeviceSelector(put_abi(selector))); + return selector; +} + +template hstring impl_IServiceDeviceStatics::GetDeviceSelector(Windows::Devices::Portable::ServiceDeviceType serviceType) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IServiceDeviceStatics)->abi_GetDeviceSelector(serviceType, put_abi(selector))); + return selector; +} + +template hstring impl_IServiceDeviceStatics::GetDeviceSelectorFromServiceId(GUID serviceId) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IServiceDeviceStatics)->abi_GetDeviceSelectorFromServiceId(serviceId, put_abi(selector))); + return selector; +} + +inline hstring ServiceDevice::GetDeviceSelector(Windows::Devices::Portable::ServiceDeviceType serviceType) +{ + return get_activation_factory().GetDeviceSelector(serviceType); +} + +inline hstring ServiceDevice::GetDeviceSelectorFromServiceId(GUID serviceId) +{ + return get_activation_factory().GetDeviceSelectorFromServiceId(serviceId); +} + +inline Windows::Storage::StorageFolder StorageDevice::FromId(hstring_view deviceId) +{ + return get_activation_factory().FromId(deviceId); +} + +inline hstring StorageDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Portable::IServiceDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Portable::IStorageDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Power.h b/10.0.15042.0/winrt/Windows.Devices.Power.h new file mode 100644 index 000000000..e9741caab --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Power.h @@ -0,0 +1,362 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.Power.3.h" +#include "internal/Windows.Devices.Power.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetReport(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetReport()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReportUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReportUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReportUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChargeRateInMilliwatts(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChargeRateInMilliwatts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesignCapacityInMilliwattHours(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesignCapacityInMilliwattHours()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullChargeCapacityInMilliwattHours(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullChargeCapacityInMilliwattHours()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemainingCapacityInMilliwattHours(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemainingCapacityInMilliwattHours()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::System::Power::BatteryStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AggregateBattery(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AggregateBattery()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Power { + +template hstring impl_IBattery::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBattery)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Power::BatteryReport impl_IBattery::GetReport() const +{ + Windows::Devices::Power::BatteryReport result { nullptr }; + check_hresult(WINRT_SHIM(IBattery)->abi_GetReport(put_abi(result))); + return result; +} + +template event_token impl_IBattery::ReportUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBattery)->add_ReportUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBattery::ReportUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Power::IBattery::remove_ReportUpdated, ReportUpdated(handler)); +} + +template void impl_IBattery::ReportUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IBattery)->remove_ReportUpdated(token)); +} + +template Windows::Foundation::IReference impl_IBatteryReport::ChargeRateInMilliwatts() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBatteryReport)->get_ChargeRateInMilliwatts(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IBatteryReport::DesignCapacityInMilliwattHours() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBatteryReport)->get_DesignCapacityInMilliwattHours(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IBatteryReport::FullChargeCapacityInMilliwattHours() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBatteryReport)->get_FullChargeCapacityInMilliwattHours(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IBatteryReport::RemainingCapacityInMilliwattHours() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBatteryReport)->get_RemainingCapacityInMilliwattHours(put_abi(value))); + return value; +} + +template Windows::System::Power::BatteryStatus impl_IBatteryReport::Status() const +{ + Windows::System::Power::BatteryStatus value {}; + check_hresult(WINRT_SHIM(IBatteryReport)->get_Status(&value)); + return value; +} + +template Windows::Devices::Power::Battery impl_IBatteryStatics::AggregateBattery() const +{ + Windows::Devices::Power::Battery result { nullptr }; + check_hresult(WINRT_SHIM(IBatteryStatics)->get_AggregateBattery(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IBatteryStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IBatteryStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template hstring impl_IBatteryStatics::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(IBatteryStatics)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +inline Windows::Devices::Power::Battery Battery::AggregateBattery() +{ + return get_activation_factory().AggregateBattery(); +} + +inline Windows::Foundation::IAsyncOperation Battery::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring Battery::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Power::IBattery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Power::IBatteryReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Power::IBatteryStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Power::Battery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Power::BatteryReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Printers.Extensions.h b/10.0.15042.0/winrt/Windows.Devices.Printers.Extensions.h new file mode 100644 index 000000000..4d6f001f5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Printers.Extensions.h @@ -0,0 +1,780 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Printers.Extensions.3.h" +#include "Windows.Devices.Printers.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceID(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceID()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPrintModelPackage(impl::abi_arg_out printModelPackage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *printModelPackage = detach_abi(this->shim().GetPrintModelPackage()); + return S_OK; + } + catch (...) + { + *printModelPackage = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPrintReady(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrintReady()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPrintReady(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPrintReady(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PrintRequested(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().PrintRequested(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PrintRequested(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintRequested(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PrinterChanged(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().PrinterChanged(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PrinterChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrinterChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::Printers::Extensions::Print3DWorkflowStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetExtendedStatus(Windows::Devices::Printers::Extensions::Print3DWorkflowDetail value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetExtendedStatus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSourceChanged(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSourceChanged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NewDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromDeviceId(impl::abi_arg_in deviceId, impl::abi_arg_out context) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *context = detach_abi(this->shim().FromDeviceId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *context = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrinterName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrinterName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EventData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EventData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EventData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EventData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrinterExtensionContext(impl::abi_arg_out context) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *context = detach_abi(this->shim().PrinterExtensionContext()); + return S_OK; + } + catch (...) + { + *context = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SaveRequested(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().SaveRequested(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SaveRequested(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SaveRequested(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Cancel() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Save(impl::abi_arg_in printerExtensionContext) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Save(*reinterpret_cast(&printerExtensionContext)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out context) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *context = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *context = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Printers::Extensions { + +template Windows::Devices::Printers::Extensions::Print3DWorkflowStatus impl_IPrint3DWorkflowPrintRequestedEventArgs::Status() const +{ + Windows::Devices::Printers::Extensions::Print3DWorkflowStatus value {}; + check_hresult(WINRT_SHIM(IPrint3DWorkflowPrintRequestedEventArgs)->get_Status(&value)); + return value; +} + +template void impl_IPrint3DWorkflowPrintRequestedEventArgs::SetExtendedStatus(Windows::Devices::Printers::Extensions::Print3DWorkflowDetail value) const +{ + check_hresult(WINRT_SHIM(IPrint3DWorkflowPrintRequestedEventArgs)->abi_SetExtendedStatus(value)); +} + +template void impl_IPrint3DWorkflowPrintRequestedEventArgs::SetSource(const Windows::Foundation::IInspectable & source) const +{ + check_hresult(WINRT_SHIM(IPrint3DWorkflowPrintRequestedEventArgs)->abi_SetSource(get_abi(source))); +} + +template void impl_IPrint3DWorkflowPrintRequestedEventArgs::SetSourceChanged(bool value) const +{ + check_hresult(WINRT_SHIM(IPrint3DWorkflowPrintRequestedEventArgs)->abi_SetSourceChanged(value)); +} + +template hstring impl_IPrint3DWorkflowPrinterChangedEventArgs::NewDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrint3DWorkflowPrinterChangedEventArgs)->get_NewDeviceId(put_abi(value))); + return value; +} + +template hstring impl_IPrint3DWorkflow::DeviceID() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrint3DWorkflow)->get_DeviceID(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IPrint3DWorkflow::GetPrintModelPackage() const +{ + Windows::Foundation::IInspectable printModelPackage; + check_hresult(WINRT_SHIM(IPrint3DWorkflow)->abi_GetPrintModelPackage(put_abi(printModelPackage))); + return printModelPackage; +} + +template bool impl_IPrint3DWorkflow::IsPrintReady() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPrint3DWorkflow)->get_IsPrintReady(&value)); + return value; +} + +template void impl_IPrint3DWorkflow::IsPrintReady(bool value) const +{ + check_hresult(WINRT_SHIM(IPrint3DWorkflow)->put_IsPrintReady(value)); +} + +template event_token impl_IPrint3DWorkflow::PrintRequested(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrint3DWorkflow)->add_PrintRequested(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrint3DWorkflow::PrintRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Printers::Extensions::IPrint3DWorkflow::remove_PrintRequested, PrintRequested(eventHandler)); +} + +template void impl_IPrint3DWorkflow::PrintRequested(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrint3DWorkflow)->remove_PrintRequested(eventCookie)); +} + +template event_token impl_IPrint3DWorkflow2::PrinterChanged(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrint3DWorkflow2)->add_PrinterChanged(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrint3DWorkflow2::PrinterChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Printers::Extensions::IPrint3DWorkflow2::remove_PrinterChanged, PrinterChanged(eventHandler)); +} + +template void impl_IPrint3DWorkflow2::PrinterChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrint3DWorkflow2)->remove_PrinterChanged(eventCookie)); +} + +template void impl_IPrintTaskConfigurationSaveRequestedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IPrintTaskConfigurationSaveRequestedDeferral)->abi_Complete()); +} + +template void impl_IPrintTaskConfigurationSaveRequest::Cancel() const +{ + check_hresult(WINRT_SHIM(IPrintTaskConfigurationSaveRequest)->abi_Cancel()); +} + +template void impl_IPrintTaskConfigurationSaveRequest::Save(const Windows::Foundation::IInspectable & printerExtensionContext) const +{ + check_hresult(WINRT_SHIM(IPrintTaskConfigurationSaveRequest)->abi_Save(get_abi(printerExtensionContext))); +} + +template Windows::Devices::Printers::Extensions::PrintTaskConfigurationSaveRequestedDeferral impl_IPrintTaskConfigurationSaveRequest::GetDeferral() const +{ + Windows::Devices::Printers::Extensions::PrintTaskConfigurationSaveRequestedDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskConfigurationSaveRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::Foundation::DateTime impl_IPrintTaskConfigurationSaveRequest::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPrintTaskConfigurationSaveRequest)->get_Deadline(put_abi(value))); + return value; +} + +template Windows::Devices::Printers::Extensions::PrintTaskConfigurationSaveRequest impl_IPrintTaskConfigurationSaveRequestedEventArgs::Request() const +{ + Windows::Devices::Printers::Extensions::PrintTaskConfigurationSaveRequest context { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskConfigurationSaveRequestedEventArgs)->get_Request(put_abi(context))); + return context; +} + +template Windows::Foundation::IInspectable impl_IPrintTaskConfiguration::PrinterExtensionContext() const +{ + Windows::Foundation::IInspectable context; + check_hresult(WINRT_SHIM(IPrintTaskConfiguration)->get_PrinterExtensionContext(put_abi(context))); + return context; +} + +template event_token impl_IPrintTaskConfiguration::SaveRequested(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintTaskConfiguration)->add_SaveRequested(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintTaskConfiguration::SaveRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Printers::Extensions::IPrintTaskConfiguration::remove_SaveRequested, SaveRequested(eventHandler)); +} + +template void impl_IPrintTaskConfiguration::SaveRequested(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintTaskConfiguration)->remove_SaveRequested(eventCookie)); +} + +template hstring impl_IPrintNotificationEventDetails::PrinterName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrintNotificationEventDetails)->get_PrinterName(put_abi(value))); + return value; +} + +template hstring impl_IPrintNotificationEventDetails::EventData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrintNotificationEventDetails)->get_EventData(put_abi(value))); + return value; +} + +template void impl_IPrintNotificationEventDetails::EventData(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrintNotificationEventDetails)->put_EventData(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IPrintExtensionContextStatic::FromDeviceId(hstring_view deviceId) const +{ + Windows::Foundation::IInspectable context; + check_hresult(WINRT_SHIM(IPrintExtensionContextStatic)->abi_FromDeviceId(get_abi(deviceId), put_abi(context))); + return context; +} + +inline Windows::Foundation::IInspectable PrintExtensionContext::FromDeviceId(hstring_view deviceId) +{ + return get_activation_factory().FromDeviceId(deviceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrint3DWorkflow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrint3DWorkflow2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrint3DWorkflowPrintRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrint3DWorkflowPrinterChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrintExtensionContextStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrintNotificationEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrintTaskConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrintTaskConfigurationSaveRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrintTaskConfigurationSaveRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::IPrintTaskConfigurationSaveRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::Print3DWorkflow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::Print3DWorkflowPrintRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::Print3DWorkflowPrinterChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::PrintNotificationEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::PrintTaskConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::PrintTaskConfigurationSaveRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::PrintTaskConfigurationSaveRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Extensions::PrintTaskConfigurationSaveRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Printers.h b/10.0.15042.0/winrt/Windows.Devices.Printers.h new file mode 100644 index 000000000..4a11650f2 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Printers.h @@ -0,0 +1,225 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Printers.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrintSchema(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintSchema()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultPrintTicketAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultPrintTicketAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCapabilitiesAsync(impl::abi_arg_in constrainTicket, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCapabilitiesAsync(*reinterpret_cast(&constrainTicket))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MergeAndValidateWithDefaultPrintTicketAsync(impl::abi_arg_in deltaTicket, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().MergeAndValidateWithDefaultPrintTicketAsync(*reinterpret_cast(&deltaTicket))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Printers { + +template Windows::Foundation::IAsyncOperation impl_IPrint3DDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrint3DDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template hstring impl_IPrint3DDeviceStatics::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(IPrint3DDeviceStatics)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +template Windows::Devices::Printers::PrintSchema impl_IPrint3DDevice::PrintSchema() const +{ + Windows::Devices::Printers::PrintSchema value { nullptr }; + check_hresult(WINRT_SHIM(IPrint3DDevice)->get_PrintSchema(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPrintSchema::GetDefaultPrintTicketAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrintSchema)->abi_GetDefaultPrintTicketAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPrintSchema::GetCapabilitiesAsync(const Windows::Storage::Streams::IRandomAccessStreamWithContentType & constrainTicket) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrintSchema)->abi_GetCapabilitiesAsync(get_abi(constrainTicket), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPrintSchema::MergeAndValidateWithDefaultPrintTicketAsync(const Windows::Storage::Streams::IRandomAccessStreamWithContentType & deltaTicket) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrintSchema)->abi_MergeAndValidateWithDefaultPrintTicketAsync(get_abi(deltaTicket), put_abi(operation))); + return operation; +} + +inline Windows::Foundation::IAsyncOperation Print3DDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring Print3DDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::IPrint3DDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::IPrint3DDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::IPrintSchema & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::Print3DDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Printers::PrintSchema & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Pwm.Provider.h b/10.0.15042.0/winrt/Windows.Devices.Pwm.Provider.h new file mode 100644 index 000000000..9b31e9c1b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Pwm.Provider.h @@ -0,0 +1,273 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Pwm.Provider.3.h" +#include "Windows.Devices.Pwm.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PinCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDesiredFrequency(double frequency, double * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetDesiredFrequency(frequency)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcquirePin(int32_t pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcquirePin(pin); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReleasePin(int32_t pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleasePin(pin); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnablePin(int32_t pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnablePin(pin); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisablePin(int32_t pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisablePin(pin); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPulseParameters(int32_t pin, double dutyCycle, bool invertPolarity) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPulseParameters(pin, dutyCycle, invertPolarity); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllers(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetControllers()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Pwm::Provider { + +template int32_t impl_IPwmControllerProvider::PinCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPwmControllerProvider)->get_PinCount(&value)); + return value; +} + +template double impl_IPwmControllerProvider::ActualFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPwmControllerProvider)->get_ActualFrequency(&value)); + return value; +} + +template double impl_IPwmControllerProvider::SetDesiredFrequency(double frequency) const +{ + double result {}; + check_hresult(WINRT_SHIM(IPwmControllerProvider)->abi_SetDesiredFrequency(frequency, &result)); + return result; +} + +template double impl_IPwmControllerProvider::MaxFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPwmControllerProvider)->get_MaxFrequency(&value)); + return value; +} + +template double impl_IPwmControllerProvider::MinFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPwmControllerProvider)->get_MinFrequency(&value)); + return value; +} + +template void impl_IPwmControllerProvider::AcquirePin(int32_t pin) const +{ + check_hresult(WINRT_SHIM(IPwmControllerProvider)->abi_AcquirePin(pin)); +} + +template void impl_IPwmControllerProvider::ReleasePin(int32_t pin) const +{ + check_hresult(WINRT_SHIM(IPwmControllerProvider)->abi_ReleasePin(pin)); +} + +template void impl_IPwmControllerProvider::EnablePin(int32_t pin) const +{ + check_hresult(WINRT_SHIM(IPwmControllerProvider)->abi_EnablePin(pin)); +} + +template void impl_IPwmControllerProvider::DisablePin(int32_t pin) const +{ + check_hresult(WINRT_SHIM(IPwmControllerProvider)->abi_DisablePin(pin)); +} + +template void impl_IPwmControllerProvider::SetPulseParameters(int32_t pin, double dutyCycle, bool invertPolarity) const +{ + check_hresult(WINRT_SHIM(IPwmControllerProvider)->abi_SetPulseParameters(pin, dutyCycle, invertPolarity)); +} + +template Windows::Foundation::Collections::IVectorView impl_IPwmProvider::GetControllers() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IPwmProvider)->abi_GetControllers(put_abi(result))); + return result; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::Provider::IPwmControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::Provider::IPwmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Pwm.h b/10.0.15042.0/winrt/Windows.Devices.Pwm.h new file mode 100644 index 000000000..0a24288e7 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Pwm.h @@ -0,0 +1,533 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Devices.Pwm.Provider.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Pwm.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PinCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDesiredFrequency(double desiredFrequency, double * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetDesiredFrequency(desiredFrequency)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenPin(int32_t pinNumber, impl::abi_arg_out pin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pin = detach_abi(this->shim().OpenPin(pinNumber)); + return S_OK; + } + catch (...) + { + *pin = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllersAsync(impl::abi_arg_in provider, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetControllersAsync(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromFriendlyName(impl::abi_arg_in friendlyName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector(*reinterpret_cast(&friendlyName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Controller(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Controller()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetActiveDutyCyclePercentage(double * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetActiveDutyCyclePercentage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetActiveDutyCyclePercentage(double dutyCyclePercentage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetActiveDutyCyclePercentage(dutyCyclePercentage); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Polarity(Windows::Devices::Pwm::PwmPulsePolarity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Polarity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Polarity(Windows::Devices::Pwm::PwmPulsePolarity value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Polarity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStarted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStarted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Pwm { + +template int32_t impl_IPwmController::PinCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPwmController)->get_PinCount(&value)); + return value; +} + +template double impl_IPwmController::ActualFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPwmController)->get_ActualFrequency(&value)); + return value; +} + +template double impl_IPwmController::SetDesiredFrequency(double desiredFrequency) const +{ + double result {}; + check_hresult(WINRT_SHIM(IPwmController)->abi_SetDesiredFrequency(desiredFrequency, &result)); + return result; +} + +template double impl_IPwmController::MinFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPwmController)->get_MinFrequency(&value)); + return value; +} + +template double impl_IPwmController::MaxFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPwmController)->get_MaxFrequency(&value)); + return value; +} + +template Windows::Devices::Pwm::PwmPin impl_IPwmController::OpenPin(int32_t pinNumber) const +{ + Windows::Devices::Pwm::PwmPin pin { nullptr }; + check_hresult(WINRT_SHIM(IPwmController)->abi_OpenPin(pinNumber, put_abi(pin))); + return pin; +} + +template Windows::Foundation::IAsyncOperation> impl_IPwmControllerStatics::GetControllersAsync(const Windows::Devices::Pwm::Provider::IPwmProvider & provider) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPwmControllerStatics)->abi_GetControllersAsync(get_abi(provider), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPwmControllerStatics2::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPwmControllerStatics2)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IPwmControllerStatics3::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(IPwmControllerStatics3)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +template hstring impl_IPwmControllerStatics3::GetDeviceSelector(hstring_view friendlyName) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPwmControllerStatics3)->abi_GetDeviceSelectorFromFriendlyName(get_abi(friendlyName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPwmControllerStatics3::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPwmControllerStatics3)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Devices::Pwm::PwmController impl_IPwmPin::Controller() const +{ + Windows::Devices::Pwm::PwmController value { nullptr }; + check_hresult(WINRT_SHIM(IPwmPin)->get_Controller(put_abi(value))); + return value; +} + +template double impl_IPwmPin::GetActiveDutyCyclePercentage() const +{ + double result {}; + check_hresult(WINRT_SHIM(IPwmPin)->abi_GetActiveDutyCyclePercentage(&result)); + return result; +} + +template void impl_IPwmPin::SetActiveDutyCyclePercentage(double dutyCyclePercentage) const +{ + check_hresult(WINRT_SHIM(IPwmPin)->abi_SetActiveDutyCyclePercentage(dutyCyclePercentage)); +} + +template Windows::Devices::Pwm::PwmPulsePolarity impl_IPwmPin::Polarity() const +{ + Windows::Devices::Pwm::PwmPulsePolarity value {}; + check_hresult(WINRT_SHIM(IPwmPin)->get_Polarity(&value)); + return value; +} + +template void impl_IPwmPin::Polarity(Windows::Devices::Pwm::PwmPulsePolarity value) const +{ + check_hresult(WINRT_SHIM(IPwmPin)->put_Polarity(value)); +} + +template void impl_IPwmPin::Start() const +{ + check_hresult(WINRT_SHIM(IPwmPin)->abi_Start()); +} + +template void impl_IPwmPin::Stop() const +{ + check_hresult(WINRT_SHIM(IPwmPin)->abi_Stop()); +} + +template bool impl_IPwmPin::IsStarted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPwmPin)->get_IsStarted(&value)); + return value; +} + +inline Windows::Foundation::IAsyncOperation> PwmController::GetControllersAsync(const Windows::Devices::Pwm::Provider::IPwmProvider & provider) +{ + return get_activation_factory().GetControllersAsync(provider); +} + +inline Windows::Foundation::IAsyncOperation PwmController::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline hstring PwmController::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring PwmController::GetDeviceSelector(hstring_view friendlyName) +{ + return get_activation_factory().GetDeviceSelector(friendlyName); +} + +inline Windows::Foundation::IAsyncOperation PwmController::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::IPwmController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::IPwmControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::IPwmControllerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::IPwmControllerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::IPwmPin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::PwmController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Pwm::PwmPin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Radios.h b/10.0.15042.0/winrt/Windows.Devices.Radios.h new file mode 100644 index 000000000..0b1a4b895 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Radios.h @@ -0,0 +1,299 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Radios.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetStateAsync(Windows::Devices::Radios::RadioState value, impl::abi_arg_out> retval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *retval = detach_abi(this->shim().SetStateAsync(value)); + return S_OK; + } + catch (...) + { + *retval = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Devices::Radios::RadioState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Devices::Radios::RadioKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetRadiosAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRadiosAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Radios { + +template Windows::Foundation::IAsyncOperation> impl_IRadioStatics::GetRadiosAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IRadioStatics)->abi_GetRadiosAsync(put_abi(value))); + return value; +} + +template hstring impl_IRadioStatics::GetDeviceSelector() const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IRadioStatics)->abi_GetDeviceSelector(put_abi(deviceSelector))); + return deviceSelector; +} + +template Windows::Foundation::IAsyncOperation impl_IRadioStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IRadioStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRadioStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IRadioStatics)->abi_RequestAccessAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRadio::SetStateAsync(Windows::Devices::Radios::RadioState value) const +{ + Windows::Foundation::IAsyncOperation retval; + check_hresult(WINRT_SHIM(IRadio)->abi_SetStateAsync(value, put_abi(retval))); + return retval; +} + +template event_token impl_IRadio::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IRadio)->add_StateChanged(get_abi(handler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IRadio::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Radios::IRadio::remove_StateChanged, StateChanged(handler)); +} + +template void impl_IRadio::StateChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IRadio)->remove_StateChanged(eventCookie)); +} + +template Windows::Devices::Radios::RadioState impl_IRadio::State() const +{ + Windows::Devices::Radios::RadioState value {}; + check_hresult(WINRT_SHIM(IRadio)->get_State(&value)); + return value; +} + +template hstring impl_IRadio::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRadio)->get_Name(put_abi(value))); + return value; +} + +template Windows::Devices::Radios::RadioKind impl_IRadio::Kind() const +{ + Windows::Devices::Radios::RadioKind value {}; + check_hresult(WINRT_SHIM(IRadio)->get_Kind(&value)); + return value; +} + +inline Windows::Foundation::IAsyncOperation> Radio::GetRadiosAsync() +{ + return get_activation_factory().GetRadiosAsync(); +} + +inline hstring Radio::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation Radio::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation Radio::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Radios::IRadio & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Radios::IRadioStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Radios::Radio & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Scanners.h b/10.0.15042.0/winrt/Windows.Devices.Scanners.h new file mode 100644 index 000000000..cf8dae0e6 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Scanners.h @@ -0,0 +1,1511 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Printing.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Devices.Scanners.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultScanSource(Windows::Devices::Scanners::ImageScannerScanSource * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultScanSource()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsScanSourceSupported(Windows::Devices::Scanners::ImageScannerScanSource value, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsScanSourceSupported(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlatbedConfiguration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlatbedConfiguration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FeederConfiguration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FeederConfiguration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoConfiguration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoConfiguration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsPreviewSupported(Windows::Devices::Scanners::ImageScannerScanSource scanSource, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsPreviewSupported(scanSource)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScanPreviewToStreamAsync(Windows::Devices::Scanners::ImageScannerScanSource scanSource, impl::abi_arg_in targetStream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ScanPreviewToStreamAsync(scanSource, *reinterpret_cast(&targetStream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScanFilesToFolderAsync(Windows::Devices::Scanners::ImageScannerScanSource scanSource, impl::abi_arg_in storageFolder, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ScanFilesToFolderAsync(scanSource, *reinterpret_cast(&storageFolder))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanAutoDetectPageSize(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanAutoDetectPageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoDetectPageSize(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoDetectPageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoDetectPageSize(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoDetectPageSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageSize(Windows::Graphics::Printing::PrintMediaSize * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PageSize(Windows::Graphics::Printing::PrintMediaSize value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageOrientation(Windows::Graphics::Printing::PrintOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PageOrientation(Windows::Graphics::Printing::PrintOrientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageOrientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageSizeDimensions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageSizeDimensions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsPageSizeSupported(Windows::Graphics::Printing::PrintMediaSize pageSize, Windows::Graphics::Printing::PrintOrientation pageOrientation, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsPageSizeSupported(pageSize, pageOrientation)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxNumberOfPages(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxNumberOfPages()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxNumberOfPages(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxNumberOfPages(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanScanDuplex(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanScanDuplex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duplex(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duplex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duplex(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duplex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanScanAhead(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanScanAhead()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanAhead(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanAhead()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScanAhead(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScanAhead(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultFormat(Windows::Devices::Scanners::ImageScannerFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Format(Windows::Devices::Scanners::ImageScannerFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Format(Windows::Devices::Scanners::ImageScannerFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Format(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsFormatSupported(Windows::Devices::Scanners::ImageScannerFormat value, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsFormatSupported(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Succeeded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Succeeded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Format(Windows::Devices::Scanners::ImageScannerFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ScannedFiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScannedFiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinScanArea(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinScanArea()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxScanArea(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxScanArea()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedScanRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedScanRegion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedScanRegion(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedScanRegion(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoCroppingMode(Windows::Devices::Scanners::ImageScannerAutoCroppingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoCroppingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoCroppingMode(Windows::Devices::Scanners::ImageScannerAutoCroppingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoCroppingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsAutoCroppingModeSupported(Windows::Devices::Scanners::ImageScannerAutoCroppingMode value, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsAutoCroppingModeSupported(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinResolution(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinResolution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxResolution(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxResolution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpticalResolution(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalResolution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredResolution(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredResolution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredResolution(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredResolution(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualResolution(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualResolution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultColorMode(Windows::Devices::Scanners::ImageScannerColorMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultColorMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorMode(Windows::Devices::Scanners::ImageScannerColorMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ColorMode(Windows::Devices::Scanners::ImageScannerColorMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ColorMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsColorModeSupported(Windows::Devices::Scanners::ImageScannerColorMode value, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsColorModeSupported(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinBrightness(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinBrightness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxBrightness(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxBrightness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrightnessStep(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrightnessStep()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultBrightness(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultBrightness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Brightness(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Brightness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Brightness(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Brightness(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinContrast(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinContrast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxContrast(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxContrast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContrastStep(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContrastStep()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultContrast(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultContrast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contrast(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contrast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Contrast(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Contrast(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Scanners { + +template Windows::Devices::Scanners::ImageScannerFormat impl_IImageScannerFormatConfiguration::DefaultFormat() const +{ + Windows::Devices::Scanners::ImageScannerFormat value {}; + check_hresult(WINRT_SHIM(IImageScannerFormatConfiguration)->get_DefaultFormat(&value)); + return value; +} + +template Windows::Devices::Scanners::ImageScannerFormat impl_IImageScannerFormatConfiguration::Format() const +{ + Windows::Devices::Scanners::ImageScannerFormat value {}; + check_hresult(WINRT_SHIM(IImageScannerFormatConfiguration)->get_Format(&value)); + return value; +} + +template void impl_IImageScannerFormatConfiguration::Format(Windows::Devices::Scanners::ImageScannerFormat value) const +{ + check_hresult(WINRT_SHIM(IImageScannerFormatConfiguration)->put_Format(value)); +} + +template bool impl_IImageScannerFormatConfiguration::IsFormatSupported(Windows::Devices::Scanners::ImageScannerFormat value) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IImageScannerFormatConfiguration)->abi_IsFormatSupported(value, &result)); + return result; +} + +template Windows::Foundation::Size impl_IImageScannerSourceConfiguration::MinScanArea() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MinScanArea(put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_IImageScannerSourceConfiguration::MaxScanArea() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MaxScanArea(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IImageScannerSourceConfiguration::SelectedScanRegion() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_SelectedScanRegion(put_abi(value))); + return value; +} + +template void impl_IImageScannerSourceConfiguration::SelectedScanRegion(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->put_SelectedScanRegion(get_abi(value))); +} + +template Windows::Devices::Scanners::ImageScannerAutoCroppingMode impl_IImageScannerSourceConfiguration::AutoCroppingMode() const +{ + Windows::Devices::Scanners::ImageScannerAutoCroppingMode value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_AutoCroppingMode(&value)); + return value; +} + +template void impl_IImageScannerSourceConfiguration::AutoCroppingMode(Windows::Devices::Scanners::ImageScannerAutoCroppingMode value) const +{ + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->put_AutoCroppingMode(value)); +} + +template bool impl_IImageScannerSourceConfiguration::IsAutoCroppingModeSupported(Windows::Devices::Scanners::ImageScannerAutoCroppingMode value) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->abi_IsAutoCroppingModeSupported(value, &result)); + return result; +} + +template Windows::Devices::Scanners::ImageScannerResolution impl_IImageScannerSourceConfiguration::MinResolution() const +{ + Windows::Devices::Scanners::ImageScannerResolution value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MinResolution(put_abi(value))); + return value; +} + +template Windows::Devices::Scanners::ImageScannerResolution impl_IImageScannerSourceConfiguration::MaxResolution() const +{ + Windows::Devices::Scanners::ImageScannerResolution value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MaxResolution(put_abi(value))); + return value; +} + +template Windows::Devices::Scanners::ImageScannerResolution impl_IImageScannerSourceConfiguration::OpticalResolution() const +{ + Windows::Devices::Scanners::ImageScannerResolution value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_OpticalResolution(put_abi(value))); + return value; +} + +template Windows::Devices::Scanners::ImageScannerResolution impl_IImageScannerSourceConfiguration::DesiredResolution() const +{ + Windows::Devices::Scanners::ImageScannerResolution value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_DesiredResolution(put_abi(value))); + return value; +} + +template void impl_IImageScannerSourceConfiguration::DesiredResolution(const Windows::Devices::Scanners::ImageScannerResolution & value) const +{ + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->put_DesiredResolution(get_abi(value))); +} + +template Windows::Devices::Scanners::ImageScannerResolution impl_IImageScannerSourceConfiguration::ActualResolution() const +{ + Windows::Devices::Scanners::ImageScannerResolution value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_ActualResolution(put_abi(value))); + return value; +} + +template Windows::Devices::Scanners::ImageScannerColorMode impl_IImageScannerSourceConfiguration::DefaultColorMode() const +{ + Windows::Devices::Scanners::ImageScannerColorMode value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_DefaultColorMode(&value)); + return value; +} + +template Windows::Devices::Scanners::ImageScannerColorMode impl_IImageScannerSourceConfiguration::ColorMode() const +{ + Windows::Devices::Scanners::ImageScannerColorMode value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_ColorMode(&value)); + return value; +} + +template void impl_IImageScannerSourceConfiguration::ColorMode(Windows::Devices::Scanners::ImageScannerColorMode value) const +{ + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->put_ColorMode(value)); +} + +template bool impl_IImageScannerSourceConfiguration::IsColorModeSupported(Windows::Devices::Scanners::ImageScannerColorMode value) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->abi_IsColorModeSupported(value, &result)); + return result; +} + +template int32_t impl_IImageScannerSourceConfiguration::MinBrightness() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MinBrightness(&value)); + return value; +} + +template int32_t impl_IImageScannerSourceConfiguration::MaxBrightness() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MaxBrightness(&value)); + return value; +} + +template uint32_t impl_IImageScannerSourceConfiguration::BrightnessStep() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_BrightnessStep(&value)); + return value; +} + +template int32_t impl_IImageScannerSourceConfiguration::DefaultBrightness() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_DefaultBrightness(&value)); + return value; +} + +template int32_t impl_IImageScannerSourceConfiguration::Brightness() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_Brightness(&value)); + return value; +} + +template void impl_IImageScannerSourceConfiguration::Brightness(int32_t value) const +{ + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->put_Brightness(value)); +} + +template int32_t impl_IImageScannerSourceConfiguration::MinContrast() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MinContrast(&value)); + return value; +} + +template int32_t impl_IImageScannerSourceConfiguration::MaxContrast() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_MaxContrast(&value)); + return value; +} + +template uint32_t impl_IImageScannerSourceConfiguration::ContrastStep() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_ContrastStep(&value)); + return value; +} + +template int32_t impl_IImageScannerSourceConfiguration::DefaultContrast() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_DefaultContrast(&value)); + return value; +} + +template int32_t impl_IImageScannerSourceConfiguration::Contrast() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->get_Contrast(&value)); + return value; +} + +template void impl_IImageScannerSourceConfiguration::Contrast(int32_t value) const +{ + check_hresult(WINRT_SHIM(IImageScannerSourceConfiguration)->put_Contrast(value)); +} + +template bool impl_IImageScannerFeederConfiguration::CanAutoDetectPageSize() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_CanAutoDetectPageSize(&value)); + return value; +} + +template bool impl_IImageScannerFeederConfiguration::AutoDetectPageSize() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_AutoDetectPageSize(&value)); + return value; +} + +template void impl_IImageScannerFeederConfiguration::AutoDetectPageSize(bool value) const +{ + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->put_AutoDetectPageSize(value)); +} + +template Windows::Graphics::Printing::PrintMediaSize impl_IImageScannerFeederConfiguration::PageSize() const +{ + Windows::Graphics::Printing::PrintMediaSize value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_PageSize(&value)); + return value; +} + +template void impl_IImageScannerFeederConfiguration::PageSize(Windows::Graphics::Printing::PrintMediaSize value) const +{ + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->put_PageSize(value)); +} + +template Windows::Graphics::Printing::PrintOrientation impl_IImageScannerFeederConfiguration::PageOrientation() const +{ + Windows::Graphics::Printing::PrintOrientation value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_PageOrientation(&value)); + return value; +} + +template void impl_IImageScannerFeederConfiguration::PageOrientation(Windows::Graphics::Printing::PrintOrientation value) const +{ + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->put_PageOrientation(value)); +} + +template Windows::Foundation::Size impl_IImageScannerFeederConfiguration::PageSizeDimensions() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_PageSizeDimensions(put_abi(value))); + return value; +} + +template bool impl_IImageScannerFeederConfiguration::IsPageSizeSupported(Windows::Graphics::Printing::PrintMediaSize pageSize, Windows::Graphics::Printing::PrintOrientation pageOrientation) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->abi_IsPageSizeSupported(pageSize, pageOrientation, &result)); + return result; +} + +template uint32_t impl_IImageScannerFeederConfiguration::MaxNumberOfPages() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_MaxNumberOfPages(&value)); + return value; +} + +template void impl_IImageScannerFeederConfiguration::MaxNumberOfPages(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->put_MaxNumberOfPages(value)); +} + +template bool impl_IImageScannerFeederConfiguration::CanScanDuplex() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_CanScanDuplex(&value)); + return value; +} + +template bool impl_IImageScannerFeederConfiguration::Duplex() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_Duplex(&value)); + return value; +} + +template void impl_IImageScannerFeederConfiguration::Duplex(bool value) const +{ + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->put_Duplex(value)); +} + +template bool impl_IImageScannerFeederConfiguration::CanScanAhead() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_CanScanAhead(&value)); + return value; +} + +template bool impl_IImageScannerFeederConfiguration::ScanAhead() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->get_ScanAhead(&value)); + return value; +} + +template void impl_IImageScannerFeederConfiguration::ScanAhead(bool value) const +{ + check_hresult(WINRT_SHIM(IImageScannerFeederConfiguration)->put_ScanAhead(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_IImageScannerScanResult::ScannedFiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IImageScannerScanResult)->get_ScannedFiles(put_abi(value))); + return value; +} + +template bool impl_IImageScannerPreviewResult::Succeeded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IImageScannerPreviewResult)->get_Succeeded(&value)); + return value; +} + +template Windows::Devices::Scanners::ImageScannerFormat impl_IImageScannerPreviewResult::Format() const +{ + Windows::Devices::Scanners::ImageScannerFormat value {}; + check_hresult(WINRT_SHIM(IImageScannerPreviewResult)->get_Format(&value)); + return value; +} + +template hstring impl_IImageScanner::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IImageScanner)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Scanners::ImageScannerScanSource impl_IImageScanner::DefaultScanSource() const +{ + Windows::Devices::Scanners::ImageScannerScanSource value {}; + check_hresult(WINRT_SHIM(IImageScanner)->get_DefaultScanSource(&value)); + return value; +} + +template bool impl_IImageScanner::IsScanSourceSupported(Windows::Devices::Scanners::ImageScannerScanSource value) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IImageScanner)->abi_IsScanSourceSupported(value, &result)); + return result; +} + +template Windows::Devices::Scanners::ImageScannerFlatbedConfiguration impl_IImageScanner::FlatbedConfiguration() const +{ + Windows::Devices::Scanners::ImageScannerFlatbedConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IImageScanner)->get_FlatbedConfiguration(put_abi(value))); + return value; +} + +template Windows::Devices::Scanners::ImageScannerFeederConfiguration impl_IImageScanner::FeederConfiguration() const +{ + Windows::Devices::Scanners::ImageScannerFeederConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IImageScanner)->get_FeederConfiguration(put_abi(value))); + return value; +} + +template Windows::Devices::Scanners::ImageScannerAutoConfiguration impl_IImageScanner::AutoConfiguration() const +{ + Windows::Devices::Scanners::ImageScannerAutoConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IImageScanner)->get_AutoConfiguration(put_abi(value))); + return value; +} + +template bool impl_IImageScanner::IsPreviewSupported(Windows::Devices::Scanners::ImageScannerScanSource scanSource) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IImageScanner)->abi_IsPreviewSupported(scanSource, &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IImageScanner::ScanPreviewToStreamAsync(Windows::Devices::Scanners::ImageScannerScanSource scanSource, const Windows::Storage::Streams::IRandomAccessStream & targetStream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IImageScanner)->abi_ScanPreviewToStreamAsync(scanSource, get_abi(targetStream), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IImageScanner::ScanFilesToFolderAsync(Windows::Devices::Scanners::ImageScannerScanSource scanSource, const Windows::Storage::StorageFolder & storageFolder) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IImageScanner)->abi_ScanFilesToFolderAsync(scanSource, get_abi(storageFolder), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IImageScannerStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IImageScannerStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(asyncInfo))); + return asyncInfo; +} + +template hstring impl_IImageScannerStatics::GetDeviceSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(IImageScannerStatics)->abi_GetDeviceSelector(put_abi(selector))); + return selector; +} + +inline Windows::Foundation::IAsyncOperation ImageScanner::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring ImageScanner::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::IImageScanner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::IImageScannerFeederConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::IImageScannerFormatConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::IImageScannerPreviewResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::IImageScannerScanResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::IImageScannerSourceConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::IImageScannerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::ImageScanner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::ImageScannerAutoConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::ImageScannerFeederConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::ImageScannerFlatbedConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::ImageScannerPreviewResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Scanners::ImageScannerScanResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Sensors.Custom.h b/10.0.15042.0/winrt/Windows.Devices.Sensors.Custom.h new file mode 100644 index 000000000..e465ef462 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Sensors.Custom.h @@ -0,0 +1,374 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Sensors.Custom.3.h" +#include "Windows.Devices.Sensors.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(GUID interfaceId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector(interfaceId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in sensorId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&sensorId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Sensors::Custom { + +template hstring impl_ICustomSensorStatics::GetDeviceSelector(GUID interfaceId) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICustomSensorStatics)->abi_GetDeviceSelector(interfaceId, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ICustomSensorStatics::FromIdAsync(hstring_view sensorId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ICustomSensorStatics)->abi_FromIdAsync(get_abi(sensorId), put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::Custom::CustomSensorReading impl_ICustomSensor::GetCurrentReading() const +{ + Windows::Devices::Sensors::Custom::CustomSensorReading value { nullptr }; + check_hresult(WINRT_SHIM(ICustomSensor)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_ICustomSensor::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICustomSensor)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_ICustomSensor::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICustomSensor)->put_ReportInterval(value)); +} + +template uint32_t impl_ICustomSensor::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICustomSensor)->get_ReportInterval(&value)); + return value; +} + +template hstring impl_ICustomSensor::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICustomSensor)->get_DeviceId(put_abi(value))); + return value; +} + +template event_token impl_ICustomSensor::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICustomSensor)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICustomSensor::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::Custom::ICustomSensor::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_ICustomSensor::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ICustomSensor)->remove_ReadingChanged(token)); +} + +template Windows::Foundation::DateTime impl_ICustomSensorReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICustomSensorReading)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ICustomSensorReading::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ICustomSensorReading)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::Custom::CustomSensorReading impl_ICustomSensorReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::Custom::CustomSensorReading value { nullptr }; + check_hresult(WINRT_SHIM(ICustomSensorReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +inline hstring CustomSensor::GetDeviceSelector(GUID interfaceId) +{ + return get_activation_factory().GetDeviceSelector(interfaceId); +} + +inline Windows::Foundation::IAsyncOperation CustomSensor::FromIdAsync(hstring_view sensorId) +{ + return get_activation_factory().FromIdAsync(sensorId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Custom::ICustomSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Custom::ICustomSensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Custom::ICustomSensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Custom::ICustomSensorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Custom::CustomSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Custom::CustomSensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Custom::CustomSensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Sensors.h b/10.0.15042.0/winrt/Windows.Devices.Sensors.h new file mode 100644 index 000000000..207a8ba9d --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Sensors.h @@ -0,0 +1,6418 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Display.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Sensors.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Shaken(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Shaken(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Shaken(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Shaken(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingTransform(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingTransform(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReportLatency(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportLatency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportLatency(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportLatency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxBatchSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxBatchSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReadingType(Windows::Devices::Sensors::AccelerometerReadingType * type) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *type = detach_abi(this->shim().ReadingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccelerationX(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccelerationX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccelerationY(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccelerationY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccelerationZ(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccelerationZ()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultWithAccelerometerReadingType(Windows::Devices::Sensors::AccelerometerReadingType readingType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault(readingType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReadingAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCurrentReadingAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubscribedActivities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscribedActivities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerInMilliwatts(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerInMilliwatts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedActivities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedActivities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Activity(Windows::Devices::Sensors::ActivityType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Activity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Confidence(Windows::Devices::Sensors::ActivitySensorReadingConfidence * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Confidence()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSystemHistoryAsync(impl::abi_arg_in fromTime, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSystemHistoryAsync(*reinterpret_cast(&fromTime))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSystemHistoryWithDurationAsync(impl::abi_arg_in fromTime, impl::abi_arg_in duration, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSystemHistoryAsync(*reinterpret_cast(&fromTime), *reinterpret_cast(&duration))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadReports(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadReports()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AltitudeChangeInMeters(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AltitudeChangeInMeters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StationPressureInHectopascals(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StationPressureInHectopascals()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingTransform(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingTransform(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeadingMagneticNorth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeadingMagneticNorth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeadingTrueNorth(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeadingTrueNorth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeadingAccuracy(Windows::Devices::Sensors::MagnetometerAccuracy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeadingAccuracy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingTransform(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingTransform(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AngularVelocityX(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AngularVelocityX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AngularVelocityY(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AngularVelocityY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AngularVelocityZ(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AngularVelocityZ()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingTransform(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingTransform(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingType(Windows::Devices::Sensors::SensorReadingType * type) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *type = detach_abi(this->shim().ReadingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PitchDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PitchDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RollDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RollDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YawDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YawDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_YawAccuracy(Windows::Devices::Sensors::MagnetometerAccuracy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YawAccuracy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultForRelativeReadings(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultForRelativeReadings()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultWithSensorReadingType(Windows::Devices::Sensors::SensorReadingType sensorReadingtype, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault(sensorReadingtype)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IlluminanceInLux(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IlluminanceInLux()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingTransform(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingTransform(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MagneticFieldX(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MagneticFieldX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MagneticFieldY(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MagneticFieldY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MagneticFieldZ(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MagneticFieldZ()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DirectionalAccuracy(Windows::Devices::Sensors::MagnetometerAccuracy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DirectionalAccuracy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingTransform(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingTransform(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingType(Windows::Devices::Sensors::SensorReadingType * type) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *type = detach_abi(this->shim().ReadingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationMatrix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationMatrix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Quaternion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Quaternion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_YawAccuracy(Windows::Devices::Sensors::MagnetometerAccuracy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YawAccuracy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultForRelativeReadings(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultForRelativeReadings()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultWithSensorReadingType(Windows::Devices::Sensors::SensorReadingType sensorReadingtype, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault(sensorReadingtype)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultWithSensorReadingTypeAndSensorOptimizationGoal(Windows::Devices::Sensors::SensorReadingType sensorReadingType, Windows::Devices::Sensors::SensorOptimizationGoal optimizationGoal, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault(sensorReadingType, optimizationGoal)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerInMilliwatts(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerInMilliwatts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReportInterval(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInterval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReportInterval(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReportInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReadings(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReadings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in sensor, int32_t stepGoal, impl::abi_arg_out threshold) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *threshold = detach_abi(this->shim().Create(*reinterpret_cast(&sensor), stepGoal)); + return S_OK; + } + catch (...) + { + *threshold = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StepKind(Windows::Devices::Sensors::PedometerStepKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StepKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CumulativeSteps(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CumulativeSteps()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CumulativeStepsDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CumulativeStepsDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSystemHistoryAsync(impl::abi_arg_in fromTime, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetSystemHistoryAsync(*reinterpret_cast(&fromTime))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSystemHistoryWithDurationAsync(impl::abi_arg_in fromTime, impl::abi_arg_in duration, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetSystemHistoryAsync(*reinterpret_cast(&fromTime), *reinterpret_cast(&duration))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetReadingsFromTriggerDetails(impl::abi_arg_in triggerDetails, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetReadingsFromTriggerDetails(*reinterpret_cast(&triggerDetails))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDistanceInMillimeters(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDistanceInMillimeters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinDistanceInMillimeters(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinDistanceInMillimeters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReadingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReadingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDisplayOnOffController(impl::abi_arg_out controller) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *controller = detach_abi(this->shim().CreateDisplayOnOffController()); + return S_OK; + } + catch (...) + { + *controller = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in sensor, impl::abi_arg_out threshold) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *threshold = detach_abi(this->shim().Create(*reinterpret_cast(&sensor))); + return S_OK; + } + catch (...) + { + *threshold = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDetected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDetected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DistanceInMillimeters(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DistanceInMillimeters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromId(impl::abi_arg_in sensorId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromId(*reinterpret_cast(&sensorId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetReadingsFromTriggerDetails(impl::abi_arg_in triggerDetails, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetReadingsFromTriggerDetails(*reinterpret_cast(&triggerDetails))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SensorType(Windows::Devices::Sensors::SensorType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SensorType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_W(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().W()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Y(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Y()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Z(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Z()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_M11(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M11()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M12(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M12()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M13(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M13()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M21(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M21()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M22(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M22()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M23(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M23()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M31(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M31()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M32(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_M33(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().M33()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentOrientation(Windows::Devices::Sensors::SimpleOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OrientationChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OrientationChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OrientationChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OrientationChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadingTransform(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadingTransform(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadingTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::Devices::Sensors::SimpleOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Sensors { + +template hstring impl_ISensorDataThresholdTriggerDetails::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISensorDataThresholdTriggerDetails)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::SensorType impl_ISensorDataThresholdTriggerDetails::SensorType() const +{ + Windows::Devices::Sensors::SensorType value {}; + check_hresult(WINRT_SHIM(ISensorDataThresholdTriggerDetails)->get_SensorType(&value)); + return value; +} + +template hstring impl_IAccelerometerDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAccelerometerDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::Accelerometer impl_IAccelerometerStatics::GetDefault() const +{ + Windows::Devices::Sensors::Accelerometer result { nullptr }; + check_hresult(WINRT_SHIM(IAccelerometerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::Accelerometer impl_IAccelerometerStatics2::GetDefault(Windows::Devices::Sensors::AccelerometerReadingType readingType) const +{ + Windows::Devices::Sensors::Accelerometer result { nullptr }; + check_hresult(WINRT_SHIM(IAccelerometerStatics2)->abi_GetDefaultWithAccelerometerReadingType(readingType, put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::AccelerometerReading impl_IAccelerometer::GetCurrentReading() const +{ + Windows::Devices::Sensors::AccelerometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IAccelerometer)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_IAccelerometer::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAccelerometer)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IAccelerometer::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAccelerometer)->put_ReportInterval(value)); +} + +template uint32_t impl_IAccelerometer::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAccelerometer)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IAccelerometer::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAccelerometer)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAccelerometer::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IAccelerometer::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IAccelerometer::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAccelerometer)->remove_ReadingChanged(token)); +} + +template event_token impl_IAccelerometer::Shaken(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAccelerometer)->add_Shaken(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAccelerometer::Shaken(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IAccelerometer::remove_Shaken, Shaken(handler)); +} + +template void impl_IAccelerometer::Shaken(event_token token) const +{ + check_hresult(WINRT_SHIM(IAccelerometer)->remove_Shaken(token)); +} + +template void impl_IAccelerometer2::ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(IAccelerometer2)->put_ReadingTransform(value)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_IAccelerometer2::ReadingTransform() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IAccelerometer2)->get_ReadingTransform(&value)); + return value; +} + +template void impl_IAccelerometer3::ReportLatency(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAccelerometer3)->put_ReportLatency(value)); +} + +template uint32_t impl_IAccelerometer3::ReportLatency() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAccelerometer3)->get_ReportLatency(&value)); + return value; +} + +template uint32_t impl_IAccelerometer3::MaxBatchSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAccelerometer3)->get_MaxBatchSize(&value)); + return value; +} + +template Windows::Devices::Sensors::AccelerometerReadingType impl_IAccelerometer4::ReadingType() const +{ + Windows::Devices::Sensors::AccelerometerReadingType type {}; + check_hresult(WINRT_SHIM(IAccelerometer4)->get_ReadingType(&type)); + return type; +} + +template Windows::Foundation::DateTime impl_IAccelerometerReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAccelerometerReading)->get_Timestamp(put_abi(value))); + return value; +} + +template double impl_IAccelerometerReading::AccelerationX() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAccelerometerReading)->get_AccelerationX(&value)); + return value; +} + +template double impl_IAccelerometerReading::AccelerationY() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAccelerometerReading)->get_AccelerationY(&value)); + return value; +} + +template double impl_IAccelerometerReading::AccelerationZ() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAccelerometerReading)->get_AccelerationZ(&value)); + return value; +} + +template Windows::Devices::Sensors::AccelerometerReading impl_IAccelerometerReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::AccelerometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IAccelerometerReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAccelerometerShakenEventArgs::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAccelerometerShakenEventArgs)->get_Timestamp(put_abi(value))); + return value; +} + +template hstring impl_IInclinometerDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInclinometerDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::Inclinometer impl_IInclinometerStatics::GetDefault() const +{ + Windows::Devices::Sensors::Inclinometer result { nullptr }; + check_hresult(WINRT_SHIM(IInclinometerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::Inclinometer impl_IInclinometerStatics2::GetDefaultForRelativeReadings() const +{ + Windows::Devices::Sensors::Inclinometer result { nullptr }; + check_hresult(WINRT_SHIM(IInclinometerStatics2)->abi_GetDefaultForRelativeReadings(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::Inclinometer impl_IInclinometerStatics3::GetDefault(Windows::Devices::Sensors::SensorReadingType sensorReadingtype) const +{ + Windows::Devices::Sensors::Inclinometer result { nullptr }; + check_hresult(WINRT_SHIM(IInclinometerStatics3)->abi_GetDefaultWithSensorReadingType(sensorReadingtype, put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::InclinometerReading impl_IInclinometer::GetCurrentReading() const +{ + Windows::Devices::Sensors::InclinometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IInclinometer)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_IInclinometer::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IInclinometer)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IInclinometer::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IInclinometer)->put_ReportInterval(value)); +} + +template uint32_t impl_IInclinometer::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IInclinometer)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IInclinometer::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IInclinometer)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IInclinometer::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IInclinometer::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IInclinometer::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IInclinometer)->remove_ReadingChanged(token)); +} + +template void impl_IInclinometer2::ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(IInclinometer2)->put_ReadingTransform(value)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_IInclinometer2::ReadingTransform() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IInclinometer2)->get_ReadingTransform(&value)); + return value; +} + +template Windows::Devices::Sensors::SensorReadingType impl_IInclinometer2::ReadingType() const +{ + Windows::Devices::Sensors::SensorReadingType type {}; + check_hresult(WINRT_SHIM(IInclinometer2)->get_ReadingType(&type)); + return type; +} + +template Windows::Foundation::DateTime impl_IInclinometerReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IInclinometerReading)->get_Timestamp(put_abi(value))); + return value; +} + +template float impl_IInclinometerReading::PitchDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInclinometerReading)->get_PitchDegrees(&value)); + return value; +} + +template float impl_IInclinometerReading::RollDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInclinometerReading)->get_RollDegrees(&value)); + return value; +} + +template float impl_IInclinometerReading::YawDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInclinometerReading)->get_YawDegrees(&value)); + return value; +} + +template Windows::Devices::Sensors::MagnetometerAccuracy impl_IInclinometerReadingYawAccuracy::YawAccuracy() const +{ + Windows::Devices::Sensors::MagnetometerAccuracy value {}; + check_hresult(WINRT_SHIM(IInclinometerReadingYawAccuracy)->get_YawAccuracy(&value)); + return value; +} + +template Windows::Devices::Sensors::InclinometerReading impl_IInclinometerReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::InclinometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IInclinometerReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template hstring impl_IGyrometerDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGyrometerDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::Gyrometer impl_IGyrometerStatics::GetDefault() const +{ + Windows::Devices::Sensors::Gyrometer result { nullptr }; + check_hresult(WINRT_SHIM(IGyrometerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::GyrometerReading impl_IGyrometer::GetCurrentReading() const +{ + Windows::Devices::Sensors::GyrometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IGyrometer)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_IGyrometer::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGyrometer)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IGyrometer::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IGyrometer)->put_ReportInterval(value)); +} + +template uint32_t impl_IGyrometer::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGyrometer)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IGyrometer::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGyrometer)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGyrometer::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IGyrometer::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IGyrometer::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGyrometer)->remove_ReadingChanged(token)); +} + +template void impl_IGyrometer2::ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(IGyrometer2)->put_ReadingTransform(value)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_IGyrometer2::ReadingTransform() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IGyrometer2)->get_ReadingTransform(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IGyrometerReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IGyrometerReading)->get_Timestamp(put_abi(value))); + return value; +} + +template double impl_IGyrometerReading::AngularVelocityX() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGyrometerReading)->get_AngularVelocityX(&value)); + return value; +} + +template double impl_IGyrometerReading::AngularVelocityY() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGyrometerReading)->get_AngularVelocityY(&value)); + return value; +} + +template double impl_IGyrometerReading::AngularVelocityZ() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGyrometerReading)->get_AngularVelocityZ(&value)); + return value; +} + +template Windows::Devices::Sensors::GyrometerReading impl_IGyrometerReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::GyrometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IGyrometerReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template hstring impl_ICompassDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICompassDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::Compass impl_ICompassStatics::GetDefault() const +{ + Windows::Devices::Sensors::Compass result { nullptr }; + check_hresult(WINRT_SHIM(ICompassStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::CompassReading impl_ICompass::GetCurrentReading() const +{ + Windows::Devices::Sensors::CompassReading value { nullptr }; + check_hresult(WINRT_SHIM(ICompass)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_ICompass::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICompass)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_ICompass::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICompass)->put_ReportInterval(value)); +} + +template uint32_t impl_ICompass::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICompass)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_ICompass::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICompass)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICompass::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::ICompass::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_ICompass::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ICompass)->remove_ReadingChanged(token)); +} + +template void impl_ICompass2::ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(ICompass2)->put_ReadingTransform(value)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_ICompass2::ReadingTransform() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(ICompass2)->get_ReadingTransform(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ICompassReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICompassReading)->get_Timestamp(put_abi(value))); + return value; +} + +template double impl_ICompassReading::HeadingMagneticNorth() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICompassReading)->get_HeadingMagneticNorth(&value)); + return value; +} + +template Windows::Foundation::IReference impl_ICompassReading::HeadingTrueNorth() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICompassReading)->get_HeadingTrueNorth(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::MagnetometerAccuracy impl_ICompassReadingHeadingAccuracy::HeadingAccuracy() const +{ + Windows::Devices::Sensors::MagnetometerAccuracy value {}; + check_hresult(WINRT_SHIM(ICompassReadingHeadingAccuracy)->get_HeadingAccuracy(&value)); + return value; +} + +template Windows::Devices::Sensors::CompassReading impl_ICompassReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::CompassReading value { nullptr }; + check_hresult(WINRT_SHIM(ICompassReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template hstring impl_ILightSensorDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILightSensorDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::LightSensor impl_ILightSensorStatics::GetDefault() const +{ + Windows::Devices::Sensors::LightSensor result { nullptr }; + check_hresult(WINRT_SHIM(ILightSensorStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::LightSensorReading impl_ILightSensor::GetCurrentReading() const +{ + Windows::Devices::Sensors::LightSensorReading value { nullptr }; + check_hresult(WINRT_SHIM(ILightSensor)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_ILightSensor::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILightSensor)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_ILightSensor::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ILightSensor)->put_ReportInterval(value)); +} + +template uint32_t impl_ILightSensor::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILightSensor)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_ILightSensor::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILightSensor)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILightSensor::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::ILightSensor::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_ILightSensor::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ILightSensor)->remove_ReadingChanged(token)); +} + +template Windows::Foundation::DateTime impl_ILightSensorReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ILightSensorReading)->get_Timestamp(put_abi(value))); + return value; +} + +template float impl_ILightSensorReading::IlluminanceInLux() const +{ + float value {}; + check_hresult(WINRT_SHIM(ILightSensorReading)->get_IlluminanceInLux(&value)); + return value; +} + +template Windows::Devices::Sensors::LightSensorReading impl_ILightSensorReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::LightSensorReading value { nullptr }; + check_hresult(WINRT_SHIM(ILightSensorReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template float impl_ISensorRotationMatrix::M11() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M11(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M12() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M12(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M13() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M13(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M21() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M21(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M22() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M22(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M23() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M23(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M31() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M31(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M32() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M32(&value)); + return value; +} + +template float impl_ISensorRotationMatrix::M33() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorRotationMatrix)->get_M33(&value)); + return value; +} + +template float impl_ISensorQuaternion::W() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorQuaternion)->get_W(&value)); + return value; +} + +template float impl_ISensorQuaternion::X() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorQuaternion)->get_X(&value)); + return value; +} + +template float impl_ISensorQuaternion::Y() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorQuaternion)->get_Y(&value)); + return value; +} + +template float impl_ISensorQuaternion::Z() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISensorQuaternion)->get_Z(&value)); + return value; +} + +template hstring impl_IOrientationSensorDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOrientationSensorDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::OrientationSensor impl_IOrientationSensorStatics::GetDefault() const +{ + Windows::Devices::Sensors::OrientationSensor result { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensorStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::OrientationSensor impl_IOrientationSensorStatics2::GetDefaultForRelativeReadings() const +{ + Windows::Devices::Sensors::OrientationSensor result { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensorStatics2)->abi_GetDefaultForRelativeReadings(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::OrientationSensor impl_IOrientationSensorStatics3::GetDefault(Windows::Devices::Sensors::SensorReadingType sensorReadingtype) const +{ + Windows::Devices::Sensors::OrientationSensor result { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensorStatics3)->abi_GetDefaultWithSensorReadingType(sensorReadingtype, put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::OrientationSensor impl_IOrientationSensorStatics3::GetDefault(Windows::Devices::Sensors::SensorReadingType sensorReadingType, Windows::Devices::Sensors::SensorOptimizationGoal optimizationGoal) const +{ + Windows::Devices::Sensors::OrientationSensor result { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensorStatics3)->abi_GetDefaultWithSensorReadingTypeAndSensorOptimizationGoal(sensorReadingType, optimizationGoal, put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::OrientationSensorReading impl_IOrientationSensor::GetCurrentReading() const +{ + Windows::Devices::Sensors::OrientationSensorReading value { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensor)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_IOrientationSensor::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IOrientationSensor)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IOrientationSensor::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IOrientationSensor)->put_ReportInterval(value)); +} + +template uint32_t impl_IOrientationSensor::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IOrientationSensor)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IOrientationSensor::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IOrientationSensor)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IOrientationSensor::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IOrientationSensor::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IOrientationSensor::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IOrientationSensor)->remove_ReadingChanged(token)); +} + +template void impl_IOrientationSensor2::ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(IOrientationSensor2)->put_ReadingTransform(value)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_IOrientationSensor2::ReadingTransform() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IOrientationSensor2)->get_ReadingTransform(&value)); + return value; +} + +template Windows::Devices::Sensors::SensorReadingType impl_IOrientationSensor2::ReadingType() const +{ + Windows::Devices::Sensors::SensorReadingType type {}; + check_hresult(WINRT_SHIM(IOrientationSensor2)->get_ReadingType(&type)); + return type; +} + +template Windows::Foundation::DateTime impl_IOrientationSensorReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IOrientationSensorReading)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::SensorRotationMatrix impl_IOrientationSensorReading::RotationMatrix() const +{ + Windows::Devices::Sensors::SensorRotationMatrix value { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensorReading)->get_RotationMatrix(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::SensorQuaternion impl_IOrientationSensorReading::Quaternion() const +{ + Windows::Devices::Sensors::SensorQuaternion value { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensorReading)->get_Quaternion(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::MagnetometerAccuracy impl_IOrientationSensorReadingYawAccuracy::YawAccuracy() const +{ + Windows::Devices::Sensors::MagnetometerAccuracy value {}; + check_hresult(WINRT_SHIM(IOrientationSensorReadingYawAccuracy)->get_YawAccuracy(&value)); + return value; +} + +template Windows::Devices::Sensors::OrientationSensorReading impl_IOrientationSensorReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::OrientationSensorReading value { nullptr }; + check_hresult(WINRT_SHIM(IOrientationSensorReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template hstring impl_ISimpleOrientationSensorDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISimpleOrientationSensorDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::SimpleOrientationSensor impl_ISimpleOrientationSensorStatics::GetDefault() const +{ + Windows::Devices::Sensors::SimpleOrientationSensor result { nullptr }; + check_hresult(WINRT_SHIM(ISimpleOrientationSensorStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::SimpleOrientation impl_ISimpleOrientationSensor::GetCurrentOrientation() const +{ + Windows::Devices::Sensors::SimpleOrientation value {}; + check_hresult(WINRT_SHIM(ISimpleOrientationSensor)->abi_GetCurrentOrientation(&value)); + return value; +} + +template event_token impl_ISimpleOrientationSensor::OrientationChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISimpleOrientationSensor)->add_OrientationChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISimpleOrientationSensor::OrientationChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::ISimpleOrientationSensor::remove_OrientationChanged, OrientationChanged(handler)); +} + +template void impl_ISimpleOrientationSensor::OrientationChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISimpleOrientationSensor)->remove_OrientationChanged(token)); +} + +template void impl_ISimpleOrientationSensor2::ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(ISimpleOrientationSensor2)->put_ReadingTransform(value)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_ISimpleOrientationSensor2::ReadingTransform() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(ISimpleOrientationSensor2)->get_ReadingTransform(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ISimpleOrientationSensorOrientationChangedEventArgs::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISimpleOrientationSensorOrientationChangedEventArgs)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::SimpleOrientation impl_ISimpleOrientationSensorOrientationChangedEventArgs::Orientation() const +{ + Windows::Devices::Sensors::SimpleOrientation value {}; + check_hresult(WINRT_SHIM(ISimpleOrientationSensorOrientationChangedEventArgs)->get_Orientation(&value)); + return value; +} + +template hstring impl_IMagnetometerDeviceId::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMagnetometerDeviceId)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::Magnetometer impl_IMagnetometerStatics::GetDefault() const +{ + Windows::Devices::Sensors::Magnetometer result { nullptr }; + check_hresult(WINRT_SHIM(IMagnetometerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::MagnetometerReading impl_IMagnetometer::GetCurrentReading() const +{ + Windows::Devices::Sensors::MagnetometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IMagnetometer)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template uint32_t impl_IMagnetometer::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagnetometer)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IMagnetometer::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMagnetometer)->put_ReportInterval(value)); +} + +template uint32_t impl_IMagnetometer::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMagnetometer)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IMagnetometer::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMagnetometer)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMagnetometer::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IMagnetometer::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IMagnetometer::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMagnetometer)->remove_ReadingChanged(token)); +} + +template void impl_IMagnetometer2::ReadingTransform(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(IMagnetometer2)->put_ReadingTransform(value)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_IMagnetometer2::ReadingTransform() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IMagnetometer2)->get_ReadingTransform(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IMagnetometerReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IMagnetometerReading)->get_Timestamp(put_abi(value))); + return value; +} + +template float impl_IMagnetometerReading::MagneticFieldX() const +{ + float value {}; + check_hresult(WINRT_SHIM(IMagnetometerReading)->get_MagneticFieldX(&value)); + return value; +} + +template float impl_IMagnetometerReading::MagneticFieldY() const +{ + float value {}; + check_hresult(WINRT_SHIM(IMagnetometerReading)->get_MagneticFieldY(&value)); + return value; +} + +template float impl_IMagnetometerReading::MagneticFieldZ() const +{ + float value {}; + check_hresult(WINRT_SHIM(IMagnetometerReading)->get_MagneticFieldZ(&value)); + return value; +} + +template Windows::Devices::Sensors::MagnetometerAccuracy impl_IMagnetometerReading::DirectionalAccuracy() const +{ + Windows::Devices::Sensors::MagnetometerAccuracy value {}; + check_hresult(WINRT_SHIM(IMagnetometerReading)->get_DirectionalAccuracy(&value)); + return value; +} + +template Windows::Devices::Sensors::MagnetometerReading impl_IMagnetometerReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::MagnetometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IMagnetometerReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IActivitySensorStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IActivitySensorStatics)->abi_GetDefaultAsync(put_abi(result))); + return result; +} + +template hstring impl_IActivitySensorStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IActivitySensorStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IActivitySensorStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IActivitySensorStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IActivitySensorStatics::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IActivitySensorStatics)->abi_GetSystemHistoryAsync(get_abi(fromTime), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IActivitySensorStatics::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime, const Windows::Foundation::TimeSpan & duration) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IActivitySensorStatics)->abi_GetSystemHistoryWithDurationAsync(get_abi(fromTime), get_abi(duration), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IActivitySensor::GetCurrentReadingAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IActivitySensor)->abi_GetCurrentReadingAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IActivitySensor::SubscribedActivities() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IActivitySensor)->get_SubscribedActivities(put_abi(value))); + return value; +} + +template double impl_IActivitySensor::PowerInMilliwatts() const +{ + double value {}; + check_hresult(WINRT_SHIM(IActivitySensor)->get_PowerInMilliwatts(&value)); + return value; +} + +template hstring impl_IActivitySensor::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IActivitySensor)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IActivitySensor::SupportedActivities() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IActivitySensor)->get_SupportedActivities(put_abi(value))); + return value; +} + +template uint32_t impl_IActivitySensor::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IActivitySensor)->get_MinimumReportInterval(&value)); + return value; +} + +template event_token impl_IActivitySensor::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IActivitySensor)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IActivitySensor::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IActivitySensor::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IActivitySensor::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IActivitySensor)->remove_ReadingChanged(token)); +} + +template Windows::Foundation::DateTime impl_IActivitySensorReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IActivitySensorReading)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::ActivityType impl_IActivitySensorReading::Activity() const +{ + Windows::Devices::Sensors::ActivityType value {}; + check_hresult(WINRT_SHIM(IActivitySensorReading)->get_Activity(&value)); + return value; +} + +template Windows::Devices::Sensors::ActivitySensorReadingConfidence impl_IActivitySensorReading::Confidence() const +{ + Windows::Devices::Sensors::ActivitySensorReadingConfidence value {}; + check_hresult(WINRT_SHIM(IActivitySensorReading)->get_Confidence(&value)); + return value; +} + +template Windows::Devices::Sensors::ActivitySensorReading impl_IActivitySensorReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::ActivitySensorReading value { nullptr }; + check_hresult(WINRT_SHIM(IActivitySensorReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::ActivitySensorReading impl_IActivitySensorReadingChangeReport::Reading() const +{ + Windows::Devices::Sensors::ActivitySensorReading value { nullptr }; + check_hresult(WINRT_SHIM(IActivitySensorReadingChangeReport)->get_Reading(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IActivitySensorTriggerDetails::ReadReports() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IActivitySensorTriggerDetails)->abi_ReadReports(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::Barometer impl_IBarometerStatics::GetDefault() const +{ + Windows::Devices::Sensors::Barometer result { nullptr }; + check_hresult(WINRT_SHIM(IBarometerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::BarometerReading impl_IBarometer::GetCurrentReading() const +{ + Windows::Devices::Sensors::BarometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IBarometer)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template hstring impl_IBarometer::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBarometer)->get_DeviceId(put_abi(value))); + return value; +} + +template uint32_t impl_IBarometer::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarometer)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IBarometer::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBarometer)->put_ReportInterval(value)); +} + +template uint32_t impl_IBarometer::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBarometer)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IBarometer::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBarometer)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBarometer::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IBarometer::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IBarometer::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBarometer)->remove_ReadingChanged(token)); +} + +template Windows::Foundation::DateTime impl_IBarometerReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IBarometerReading)->get_Timestamp(put_abi(value))); + return value; +} + +template double impl_IBarometerReading::StationPressureInHectopascals() const +{ + double value {}; + check_hresult(WINRT_SHIM(IBarometerReading)->get_StationPressureInHectopascals(&value)); + return value; +} + +template Windows::Devices::Sensors::BarometerReading impl_IBarometerReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::BarometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IBarometerReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::PedometerStepKind impl_IPedometerReading::StepKind() const +{ + Windows::Devices::Sensors::PedometerStepKind value {}; + check_hresult(WINRT_SHIM(IPedometerReading)->get_StepKind(&value)); + return value; +} + +template int32_t impl_IPedometerReading::CumulativeSteps() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPedometerReading)->get_CumulativeSteps(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IPedometerReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPedometerReading)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPedometerReading::CumulativeStepsDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPedometerReading)->get_CumulativeStepsDuration(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::PedometerReading impl_IPedometerReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::PedometerReading value { nullptr }; + check_hresult(WINRT_SHIM(IPedometerReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPedometerStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPedometerStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPedometerStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPedometerStatics)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IPedometerStatics::GetDeviceSelector() const +{ + hstring result; + check_hresult(WINRT_SHIM(IPedometerStatics)->abi_GetDeviceSelector(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IPedometerStatics::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPedometerStatics)->abi_GetSystemHistoryAsync(get_abi(fromTime), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPedometerStatics::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime, const Windows::Foundation::TimeSpan & duration) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPedometerStatics)->abi_GetSystemHistoryWithDurationAsync(get_abi(fromTime), get_abi(duration), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IPedometerStatics2::GetReadingsFromTriggerDetails(const Windows::Devices::Sensors::SensorDataThresholdTriggerDetails & triggerDetails) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IPedometerStatics2)->abi_GetReadingsFromTriggerDetails(get_abi(triggerDetails), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IMapView impl_IPedometer2::GetCurrentReadings() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPedometer2)->abi_GetCurrentReadings(put_abi(value))); + return value; +} + +template hstring impl_IPedometer::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPedometer)->get_DeviceId(put_abi(value))); + return value; +} + +template double impl_IPedometer::PowerInMilliwatts() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPedometer)->get_PowerInMilliwatts(&value)); + return value; +} + +template uint32_t impl_IPedometer::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPedometer)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IPedometer::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPedometer)->put_ReportInterval(value)); +} + +template uint32_t impl_IPedometer::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPedometer)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IPedometer::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPedometer)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPedometer::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IPedometer::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IPedometer::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPedometer)->remove_ReadingChanged(token)); +} + +template Windows::Devices::Sensors::PedometerDataThreshold impl_IPedometerDataThresholdFactory::Create(const Windows::Devices::Sensors::Pedometer & sensor, int32_t stepGoal) const +{ + Windows::Devices::Sensors::PedometerDataThreshold threshold { nullptr }; + check_hresult(WINRT_SHIM(IPedometerDataThresholdFactory)->abi_Create(get_abi(sensor), stepGoal, put_abi(threshold))); + return threshold; +} + +template hstring impl_IProximitySensorStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProximitySensorStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::ProximitySensor impl_IProximitySensorStatics::FromId(hstring_view sensorId) const +{ + Windows::Devices::Sensors::ProximitySensor result { nullptr }; + check_hresult(WINRT_SHIM(IProximitySensorStatics)->abi_FromId(get_abi(sensorId), put_abi(result))); + return result; +} + +template hstring impl_IProximitySensor::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProximitySensor)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IProximitySensor::MaxDistanceInMillimeters() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IProximitySensor)->get_MaxDistanceInMillimeters(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IProximitySensor::MinDistanceInMillimeters() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IProximitySensor)->get_MinDistanceInMillimeters(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::ProximitySensorReading impl_IProximitySensor::GetCurrentReading() const +{ + Windows::Devices::Sensors::ProximitySensorReading value { nullptr }; + check_hresult(WINRT_SHIM(IProximitySensor)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template event_token impl_IProximitySensor::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IProximitySensor)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IProximitySensor::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IProximitySensor::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IProximitySensor::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IProximitySensor)->remove_ReadingChanged(token)); +} + +template Windows::Devices::Sensors::ProximitySensorDisplayOnOffController impl_IProximitySensor::CreateDisplayOnOffController() const +{ + Windows::Devices::Sensors::ProximitySensorDisplayOnOffController controller { nullptr }; + check_hresult(WINRT_SHIM(IProximitySensor)->abi_CreateDisplayOnOffController(put_abi(controller))); + return controller; +} + +template Windows::Devices::Sensors::ProximitySensorReading impl_IProximitySensorReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::ProximitySensorReading value { nullptr }; + check_hresult(WINRT_SHIM(IProximitySensorReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IProximitySensorReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IProximitySensorReading)->get_Timestamp(put_abi(value))); + return value; +} + +template bool impl_IProximitySensorReading::IsDetected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProximitySensorReading)->get_IsDetected(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IProximitySensorReading::DistanceInMillimeters() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IProximitySensorReading)->get_DistanceInMillimeters(put_abi(value))); + return value; +} + +template Windows::Devices::Sensors::ProximitySensorDataThreshold impl_IProximitySensorDataThresholdFactory::Create(const Windows::Devices::Sensors::ProximitySensor & sensor) const +{ + Windows::Devices::Sensors::ProximitySensorDataThreshold threshold { nullptr }; + check_hresult(WINRT_SHIM(IProximitySensorDataThresholdFactory)->abi_Create(get_abi(sensor), put_abi(threshold))); + return threshold; +} + +template Windows::Foundation::Collections::IVectorView impl_IProximitySensorStatics2::GetReadingsFromTriggerDetails(const Windows::Devices::Sensors::SensorDataThresholdTriggerDetails & triggerDetails) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IProximitySensorStatics2)->abi_GetReadingsFromTriggerDetails(get_abi(triggerDetails), put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::Altimeter impl_IAltimeterStatics::GetDefault() const +{ + Windows::Devices::Sensors::Altimeter result { nullptr }; + check_hresult(WINRT_SHIM(IAltimeterStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template Windows::Devices::Sensors::AltimeterReading impl_IAltimeter::GetCurrentReading() const +{ + Windows::Devices::Sensors::AltimeterReading value { nullptr }; + check_hresult(WINRT_SHIM(IAltimeter)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template hstring impl_IAltimeter::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAltimeter)->get_DeviceId(put_abi(value))); + return value; +} + +template uint32_t impl_IAltimeter::MinimumReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAltimeter)->get_MinimumReportInterval(&value)); + return value; +} + +template void impl_IAltimeter::ReportInterval(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAltimeter)->put_ReportInterval(value)); +} + +template uint32_t impl_IAltimeter::ReportInterval() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAltimeter)->get_ReportInterval(&value)); + return value; +} + +template event_token impl_IAltimeter::ReadingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAltimeter)->add_ReadingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAltimeter::ReadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sensors::IAltimeter::remove_ReadingChanged, ReadingChanged(handler)); +} + +template void impl_IAltimeter::ReadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAltimeter)->remove_ReadingChanged(token)); +} + +template Windows::Foundation::DateTime impl_IAltimeterReading::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAltimeterReading)->get_Timestamp(put_abi(value))); + return value; +} + +template double impl_IAltimeterReading::AltitudeChangeInMeters() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAltimeterReading)->get_AltitudeChangeInMeters(&value)); + return value; +} + +template Windows::Devices::Sensors::AltimeterReading impl_IAltimeterReadingChangedEventArgs::Reading() const +{ + Windows::Devices::Sensors::AltimeterReading value { nullptr }; + check_hresult(WINRT_SHIM(IAltimeterReadingChangedEventArgs)->get_Reading(put_abi(value))); + return value; +} + +inline Windows::Devices::Sensors::Accelerometer Accelerometer::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::Accelerometer Accelerometer::GetDefault(Windows::Devices::Sensors::AccelerometerReadingType readingType) +{ + return get_activation_factory().GetDefault(readingType); +} + +inline Windows::Foundation::IAsyncOperation ActivitySensor::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline hstring ActivitySensor::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation ActivitySensor::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation> ActivitySensor::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime) +{ + return get_activation_factory().GetSystemHistoryAsync(fromTime); +} + +inline Windows::Foundation::IAsyncOperation> ActivitySensor::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime, const Windows::Foundation::TimeSpan & duration) +{ + return get_activation_factory().GetSystemHistoryAsync(fromTime, duration); +} + +inline Windows::Devices::Sensors::Altimeter Altimeter::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::Barometer Barometer::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::Compass Compass::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::Gyrometer Gyrometer::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::Inclinometer Inclinometer::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::Inclinometer Inclinometer::GetDefaultForRelativeReadings() +{ + return get_activation_factory().GetDefaultForRelativeReadings(); +} + +inline Windows::Devices::Sensors::Inclinometer Inclinometer::GetDefault(Windows::Devices::Sensors::SensorReadingType sensorReadingtype) +{ + return get_activation_factory().GetDefault(sensorReadingtype); +} + +inline Windows::Devices::Sensors::LightSensor LightSensor::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::Magnetometer Magnetometer::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::OrientationSensor OrientationSensor::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sensors::OrientationSensor OrientationSensor::GetDefaultForRelativeReadings() +{ + return get_activation_factory().GetDefaultForRelativeReadings(); +} + +inline Windows::Devices::Sensors::OrientationSensor OrientationSensor::GetDefault(Windows::Devices::Sensors::SensorReadingType sensorReadingtype) +{ + return get_activation_factory().GetDefault(sensorReadingtype); +} + +inline Windows::Devices::Sensors::OrientationSensor OrientationSensor::GetDefault(Windows::Devices::Sensors::SensorReadingType sensorReadingType, Windows::Devices::Sensors::SensorOptimizationGoal optimizationGoal) +{ + return get_activation_factory().GetDefault(sensorReadingType, optimizationGoal); +} + +inline Windows::Foundation::IAsyncOperation Pedometer::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation Pedometer::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline hstring Pedometer::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation> Pedometer::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime) +{ + return get_activation_factory().GetSystemHistoryAsync(fromTime); +} + +inline Windows::Foundation::IAsyncOperation> Pedometer::GetSystemHistoryAsync(const Windows::Foundation::DateTime & fromTime, const Windows::Foundation::TimeSpan & duration) +{ + return get_activation_factory().GetSystemHistoryAsync(fromTime, duration); +} + +inline Windows::Foundation::Collections::IVectorView Pedometer::GetReadingsFromTriggerDetails(const Windows::Devices::Sensors::SensorDataThresholdTriggerDetails & triggerDetails) +{ + return get_activation_factory().GetReadingsFromTriggerDetails(triggerDetails); +} + +inline PedometerDataThreshold::PedometerDataThreshold(const Windows::Devices::Sensors::Pedometer & sensor, int32_t stepGoal) : + PedometerDataThreshold(get_activation_factory().Create(sensor, stepGoal)) +{} + +inline hstring ProximitySensor::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Devices::Sensors::ProximitySensor ProximitySensor::FromId(hstring_view sensorId) +{ + return get_activation_factory().FromId(sensorId); +} + +inline Windows::Foundation::Collections::IVectorView ProximitySensor::GetReadingsFromTriggerDetails(const Windows::Devices::Sensors::SensorDataThresholdTriggerDetails & triggerDetails) +{ + return get_activation_factory().GetReadingsFromTriggerDetails(triggerDetails); +} + +inline ProximitySensorDataThreshold::ProximitySensorDataThreshold(const Windows::Devices::Sensors::ProximitySensor & sensor) : + ProximitySensorDataThreshold(get_activation_factory().Create(sensor)) +{} + +inline Windows::Devices::Sensors::SimpleOrientationSensor SimpleOrientationSensor::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometer3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometer4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometerDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometerShakenEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAccelerometerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IActivitySensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IActivitySensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IActivitySensorReadingChangeReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IActivitySensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IActivitySensorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IActivitySensorTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAltimeter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAltimeterReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAltimeterReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IAltimeterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IBarometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IBarometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IBarometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IBarometerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ICompass & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ICompass2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ICompassDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ICompassReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ICompassReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ICompassReadingHeadingAccuracy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ICompassStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IGyrometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IGyrometer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IGyrometerDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IGyrometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IGyrometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IGyrometerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometerDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometerReadingYawAccuracy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IInclinometerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ILightSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ILightSensorDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ILightSensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ILightSensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ILightSensorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IMagnetometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IMagnetometer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IMagnetometerDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IMagnetometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IMagnetometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IMagnetometerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensor2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensorDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensorReadingYawAccuracy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensorStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IOrientationSensorStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IPedometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IPedometer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IPedometerDataThresholdFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IPedometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IPedometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IPedometerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IPedometerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IProximitySensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IProximitySensorDataThresholdFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IProximitySensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IProximitySensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IProximitySensorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::IProximitySensorStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISensorDataThreshold & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISensorDataThresholdTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISensorQuaternion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISensorRotationMatrix & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISimpleOrientationSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISimpleOrientationSensor2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISimpleOrientationSensorDeviceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISimpleOrientationSensorOrientationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ISimpleOrientationSensorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Accelerometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::AccelerometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::AccelerometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::AccelerometerShakenEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ActivitySensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ActivitySensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ActivitySensorReadingChangeReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ActivitySensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ActivitySensorTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Altimeter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::AltimeterReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::AltimeterReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Barometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::BarometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::BarometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Compass & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::CompassReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::CompassReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Gyrometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::GyrometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::GyrometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Inclinometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::InclinometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::InclinometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::LightSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::LightSensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::LightSensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Magnetometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::MagnetometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::MagnetometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::OrientationSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::OrientationSensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::OrientationSensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::Pedometer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::PedometerDataThreshold & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::PedometerReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::PedometerReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ProximitySensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ProximitySensorDataThreshold & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ProximitySensorDisplayOnOffController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ProximitySensorReading & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::ProximitySensorReadingChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::SensorDataThresholdTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::SensorQuaternion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::SensorRotationMatrix & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::SimpleOrientationSensor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sensors::SimpleOrientationSensorOrientationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.SerialCommunication.h b/10.0.15042.0/winrt/Windows.Devices.SerialCommunication.h new file mode 100644 index 000000000..8ce3a53c4 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.SerialCommunication.h @@ -0,0 +1,938 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.SerialCommunication.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Devices::SerialCommunication::SerialError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PinChange(Windows::Devices::SerialCommunication::SerialPinChange * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BaudRate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BaudRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BaudRate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BaudRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BreakSignalState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BreakSignalState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BreakSignalState(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BreakSignalState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytesReceived(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesReceived()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CarrierDetectState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CarrierDetectState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClearToSendState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClearToSendState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataBits(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataBits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataBits(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataBits(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataSetReadyState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataSetReadyState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Handshake(Windows::Devices::SerialCommunication::SerialHandshake * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handshake()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handshake(Windows::Devices::SerialCommunication::SerialHandshake value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handshake(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDataTerminalReadyEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDataTerminalReadyEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDataTerminalReadyEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDataTerminalReadyEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRequestToSendEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRequestToSendEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRequestToSendEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRequestToSendEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Parity(Windows::Devices::SerialCommunication::SerialParity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Parity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Parity(Windows::Devices::SerialCommunication::SerialParity value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Parity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PortName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PortName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReadTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StopBits(Windows::Devices::SerialCommunication::SerialStopBitCount * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StopBits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StopBits(Windows::Devices::SerialCommunication::SerialStopBitCount value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopBits(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsbVendorId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsbVendorId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsbProductId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsbProductId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WriteTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ErrorReceived(impl::abi_arg_in> reportHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ErrorReceived(*reinterpret_cast *>(&reportHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ErrorReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ErrorReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PinChanged(impl::abi_arg_in> reportHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PinChanged(*reinterpret_cast *>(&reportHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PinChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PinChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromPortName(impl::abi_arg_in portName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector(*reinterpret_cast(&portName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromUsbVidPid(uint16_t vendorId, uint16_t productId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelectorFromUsbVidPid(vendorId, productId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::SerialCommunication { + +template hstring impl_ISerialDeviceStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISerialDeviceStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_ISerialDeviceStatics::GetDeviceSelector(hstring_view portName) const +{ + hstring result; + check_hresult(WINRT_SHIM(ISerialDeviceStatics)->abi_GetDeviceSelectorFromPortName(get_abi(portName), put_abi(result))); + return result; +} + +template hstring impl_ISerialDeviceStatics::GetDeviceSelectorFromUsbVidPid(uint16_t vendorId, uint16_t productId) const +{ + hstring result; + check_hresult(WINRT_SHIM(ISerialDeviceStatics)->abi_GetDeviceSelectorFromUsbVidPid(vendorId, productId, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISerialDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISerialDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template uint32_t impl_ISerialDevice::BaudRate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_BaudRate(&value)); + return value; +} + +template void impl_ISerialDevice::BaudRate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_BaudRate(value)); +} + +template bool impl_ISerialDevice::BreakSignalState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_BreakSignalState(&value)); + return value; +} + +template void impl_ISerialDevice::BreakSignalState(bool value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_BreakSignalState(value)); +} + +template uint32_t impl_ISerialDevice::BytesReceived() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_BytesReceived(&value)); + return value; +} + +template bool impl_ISerialDevice::CarrierDetectState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_CarrierDetectState(&value)); + return value; +} + +template bool impl_ISerialDevice::ClearToSendState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_ClearToSendState(&value)); + return value; +} + +template uint16_t impl_ISerialDevice::DataBits() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_DataBits(&value)); + return value; +} + +template void impl_ISerialDevice::DataBits(uint16_t value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_DataBits(value)); +} + +template bool impl_ISerialDevice::DataSetReadyState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_DataSetReadyState(&value)); + return value; +} + +template Windows::Devices::SerialCommunication::SerialHandshake impl_ISerialDevice::Handshake() const +{ + Windows::Devices::SerialCommunication::SerialHandshake value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_Handshake(&value)); + return value; +} + +template void impl_ISerialDevice::Handshake(Windows::Devices::SerialCommunication::SerialHandshake value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_Handshake(value)); +} + +template bool impl_ISerialDevice::IsDataTerminalReadyEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_IsDataTerminalReadyEnabled(&value)); + return value; +} + +template void impl_ISerialDevice::IsDataTerminalReadyEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_IsDataTerminalReadyEnabled(value)); +} + +template bool impl_ISerialDevice::IsRequestToSendEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_IsRequestToSendEnabled(&value)); + return value; +} + +template void impl_ISerialDevice::IsRequestToSendEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_IsRequestToSendEnabled(value)); +} + +template Windows::Devices::SerialCommunication::SerialParity impl_ISerialDevice::Parity() const +{ + Windows::Devices::SerialCommunication::SerialParity value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_Parity(&value)); + return value; +} + +template void impl_ISerialDevice::Parity(Windows::Devices::SerialCommunication::SerialParity value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_Parity(value)); +} + +template hstring impl_ISerialDevice::PortName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISerialDevice)->get_PortName(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISerialDevice::ReadTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_ReadTimeout(put_abi(value))); + return value; +} + +template void impl_ISerialDevice::ReadTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_ReadTimeout(get_abi(value))); +} + +template Windows::Devices::SerialCommunication::SerialStopBitCount impl_ISerialDevice::StopBits() const +{ + Windows::Devices::SerialCommunication::SerialStopBitCount value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_StopBits(&value)); + return value; +} + +template void impl_ISerialDevice::StopBits(Windows::Devices::SerialCommunication::SerialStopBitCount value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_StopBits(value)); +} + +template uint16_t impl_ISerialDevice::UsbVendorId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_UsbVendorId(&value)); + return value; +} + +template uint16_t impl_ISerialDevice::UsbProductId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_UsbProductId(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISerialDevice::WriteTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISerialDevice)->get_WriteTimeout(put_abi(value))); + return value; +} + +template void impl_ISerialDevice::WriteTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->put_WriteTimeout(get_abi(value))); +} + +template Windows::Storage::Streams::IInputStream impl_ISerialDevice::InputStream() const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(ISerialDevice)->get_InputStream(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IOutputStream impl_ISerialDevice::OutputStream() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(ISerialDevice)->get_OutputStream(put_abi(value))); + return value; +} + +template event_token impl_ISerialDevice::ErrorReceived(const Windows::Foundation::TypedEventHandler & reportHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISerialDevice)->add_ErrorReceived(get_abi(reportHandler), &token)); + return token; +} + +template event_revoker impl_ISerialDevice::ErrorReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & reportHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::SerialCommunication::ISerialDevice::remove_ErrorReceived, ErrorReceived(reportHandler)); +} + +template void impl_ISerialDevice::ErrorReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->remove_ErrorReceived(token)); +} + +template event_token impl_ISerialDevice::PinChanged(const Windows::Foundation::TypedEventHandler & reportHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISerialDevice)->add_PinChanged(get_abi(reportHandler), &token)); + return token; +} + +template event_revoker impl_ISerialDevice::PinChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & reportHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::SerialCommunication::ISerialDevice::remove_PinChanged, PinChanged(reportHandler)); +} + +template void impl_ISerialDevice::PinChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISerialDevice)->remove_PinChanged(token)); +} + +template Windows::Devices::SerialCommunication::SerialError impl_IErrorReceivedEventArgs::Error() const +{ + Windows::Devices::SerialCommunication::SerialError value {}; + check_hresult(WINRT_SHIM(IErrorReceivedEventArgs)->get_Error(&value)); + return value; +} + +template Windows::Devices::SerialCommunication::SerialPinChange impl_IPinChangedEventArgs::PinChange() const +{ + Windows::Devices::SerialCommunication::SerialPinChange value {}; + check_hresult(WINRT_SHIM(IPinChangedEventArgs)->get_PinChange(&value)); + return value; +} + +inline hstring SerialDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring SerialDevice::GetDeviceSelector(hstring_view portName) +{ + return get_activation_factory().GetDeviceSelector(portName); +} + +inline hstring SerialDevice::GetDeviceSelectorFromUsbVidPid(uint16_t vendorId, uint16_t productId) +{ + return get_activation_factory().GetDeviceSelectorFromUsbVidPid(vendorId, productId); +} + +inline Windows::Foundation::IAsyncOperation SerialDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SerialCommunication::IErrorReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SerialCommunication::IPinChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SerialCommunication::ISerialDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SerialCommunication::ISerialDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SerialCommunication::ErrorReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SerialCommunication::PinChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SerialCommunication::SerialDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.SmartCards.h b/10.0.15042.0/winrt/Windows.Devices.SmartCards.h new file mode 100644 index 000000000..5c0bcb1e9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.SmartCards.h @@ -0,0 +1,5009 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Security.Cryptography.Core.3.h" +#include "internal/Windows.Devices.SmartCards.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Devices::SmartCards { + +template SmartCardPinResetHandler::SmartCardPinResetHandler(L lambda) : + SmartCardPinResetHandler(impl::make_delegate, SmartCardPinResetHandler>(std::forward(lambda))) +{} + +template SmartCardPinResetHandler::SmartCardPinResetHandler(F * function) : + SmartCardPinResetHandler([=](auto && ... args) { function(args ...); }) +{} + +template SmartCardPinResetHandler::SmartCardPinResetHandler(O * object, M method) : + SmartCardPinResetHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SmartCardPinResetHandler::operator()(const Windows::Devices::SmartCards::SmartCardProvisioning & sender, const Windows::Devices::SmartCards::SmartCardPinResetRequest & request) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(request))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SmartCard(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartCard()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SmartCard(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartCard()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStatusAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetStatusAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnswerToResetAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAnswerToResetAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppletIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppletIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmartCardEmulationCategory(Windows::Devices::SmartCards::SmartCardEmulationCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartCardEmulationCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmartCardEmulationCategory(Windows::Devices::SmartCards::SmartCardEmulationCategory value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmartCardEmulationCategory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmartCardEmulationType(Windows::Devices::SmartCards::SmartCardEmulationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartCardEmulationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmartCardEmulationType(Windows::Devices::SmartCards::SmartCardEmulationType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmartCardEmulationType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutomaticEnablement(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutomaticEnablement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutomaticEnablement(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutomaticEnablement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in displayName, impl::abi_arg_in> appletIds, Windows::Devices::SmartCards::SmartCardEmulationCategory emulationCategory, Windows::Devices::SmartCards::SmartCardEmulationType emulationType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&displayName), *reinterpret_cast *>(&appletIds), emulationCategory, emulationType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivationPolicy(Windows::Devices::SmartCards::SmartCardAppletIdGroupActivationPolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivationPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppletIdGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppletIdGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestActivationPolicyChangeAsync(Windows::Devices::SmartCards::SmartCardAppletIdGroupActivationPolicy policy, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestActivationPolicyChangeAsync(policy)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAutomaticResponseApdusAsync(impl::abi_arg_in> apdus, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SetAutomaticResponseApdusAsync(*reinterpret_cast *>(&apdus))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxAppletIds(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAppletIds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CommandApdu(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandApdu()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommandApdu(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommandApdu(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandApduBitMask(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandApduBitMask()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommandApduBitMask(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommandApduBitMask(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldMatchLength(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldMatchLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShouldMatchLength(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShouldMatchLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppletId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppletId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppletId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppletId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseApdu(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseApdu()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ResponseApdu(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResponseApdu(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputState(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputState()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputState(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputState(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputState(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputState()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutputState(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutputState(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowWhenCryptogramGeneratorNotPrepared(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowWhenCryptogramGeneratorNotPrepared()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowWhenCryptogramGeneratorNotPrepared(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowWhenCryptogramGeneratorNotPrepared(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in commandApdu, impl::abi_arg_in responseApdu, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&commandApdu), *reinterpret_cast(&responseApdu))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Challenge(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Challenge()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_VerifyResponseAsync(impl::abi_arg_in response, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().VerifyResponseAsync(*reinterpret_cast(&response))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProvisionAsync(impl::abi_arg_in response, bool formatCard, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProvisionAsync(*reinterpret_cast(&response), formatCard)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProvisionAsyncWithNewCardId(impl::abi_arg_in response, bool formatCard, GUID newCardId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProvisionAsync(*reinterpret_cast(&response), formatCard, newCardId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeAdministrativeKeyAsync(impl::abi_arg_in response, impl::abi_arg_in newAdministrativeKey, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ChangeAdministrativeKeyAsync(*reinterpret_cast(&response), *reinterpret_cast(&newAdministrativeKey))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConnectAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TransmitAsync(impl::abi_arg_in command, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TransmitAsync(*reinterpret_cast(&command))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedCryptogramMaterialTypes(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SupportedCryptogramMaterialTypes()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCryptogramAlgorithms(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SupportedCryptogramAlgorithms()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCryptogramMaterialPackageFormats(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SupportedCryptogramMaterialPackageFormats()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCryptogramMaterialPackageConfirmationResponseFormats(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SupportedCryptogramMaterialPackageConfirmationResponseFormats()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedSmartCardCryptogramStorageKeyCapabilities(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SupportedSmartCardCryptogramStorageKeyCapabilities()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteCryptogramMaterialStorageKeyAsync(impl::abi_arg_in storageKeyName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteCryptogramMaterialStorageKeyAsync(*reinterpret_cast(&storageKeyName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCryptogramMaterialStorageKeyAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, impl::abi_arg_in storageKeyName, Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyAlgorithm algorithm, Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities capabilities, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCryptogramMaterialStorageKeyAsync(promptingBehavior, *reinterpret_cast(&storageKeyName), algorithm, capabilities)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCryptogramMaterialStorageKeyInfoAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, impl::abi_arg_in storageKeyName, Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType format, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestCryptogramMaterialStorageKeyInfoAsync(promptingBehavior, *reinterpret_cast(&storageKeyName), format)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportCryptogramMaterialPackageAsync(Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat format, impl::abi_arg_in storageKeyName, impl::abi_arg_in materialPackageName, impl::abi_arg_in cryptogramMaterialPackage, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ImportCryptogramMaterialPackageAsync(format, *reinterpret_cast(&storageKeyName), *reinterpret_cast(&materialPackageName), *reinterpret_cast(&cryptogramMaterialPackage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryProvePossessionOfCryptogramMaterialPackageAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat responseFormat, impl::abi_arg_in materialPackageName, impl::abi_arg_in materialName, impl::abi_arg_in challenge, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryProvePossessionOfCryptogramMaterialPackageAsync(promptingBehavior, responseFormat, *reinterpret_cast(&materialPackageName), *reinterpret_cast(&materialName), *reinterpret_cast(&challenge))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestUnlockCryptogramMaterialForUseAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestUnlockCryptogramMaterialForUseAsync(promptingBehavior)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteCryptogramMaterialPackageAsync(impl::abi_arg_in materialPackageName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteCryptogramMaterialPackageAsync(*reinterpret_cast(&materialPackageName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ValidateRequestApduAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, impl::abi_arg_in apduToValidate, impl::abi_arg_in> cryptogramPlacementSteps, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ValidateRequestApduAsync(promptingBehavior, *reinterpret_cast(&apduToValidate), *reinterpret_cast *>(&cryptogramPlacementSteps))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllCryptogramStorageKeyCharacteristicsAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAllCryptogramStorageKeyCharacteristicsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllCryptogramMaterialPackageCharacteristicsAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAllCryptogramMaterialPackageCharacteristicsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync(impl::abi_arg_in storageKeyName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAllCryptogramMaterialPackageCharacteristicsAsync(*reinterpret_cast(&storageKeyName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllCryptogramMaterialCharacteristicsAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, impl::abi_arg_in materialPackageName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAllCryptogramMaterialCharacteristicsAsync(promptingBehavior, *reinterpret_cast(&materialPackageName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSmartCardCryptogramGeneratorAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSmartCardCryptogramGeneratorAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OperationStatus(Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Characteristics(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OperationStatus(Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Characteristics(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OperationStatus(Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Characteristics(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Characteristics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaterialName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowedAlgorithms(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedAlgorithms()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowedProofOfPossessionAlgorithms(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedProofOfPossessionAlgorithms()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowedValidations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedValidations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialType(Windows::Devices::SmartCards::SmartCardCryptogramMaterialType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionMethod(Windows::Devices::SmartCards::SmartCardCryptogramMaterialProtectionMethod * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionMethod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionVersion(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionVersion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PackageName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StorageKeyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageKeyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateImported(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateImported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageFormat(Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OperationStatus(Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Proof(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Proof()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Algorithm(Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Algorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Algorithm(Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Algorithm(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CryptogramMaterialPackageName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CryptogramMaterialPackageName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CryptogramMaterialPackageName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CryptogramMaterialPackageName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CryptogramMaterialName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CryptogramMaterialName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CryptogramMaterialName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CryptogramMaterialName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateOffset(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TemplateOffset(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TemplateOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CryptogramOffset(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CryptogramOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CryptogramOffset(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CryptogramOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CryptogramLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CryptogramLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CryptogramLength(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CryptogramLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CryptogramPlacementOptions(Windows::Devices::SmartCards::SmartCardCryptogramPlacementOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CryptogramPlacementOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CryptogramPlacementOptions(Windows::Devices::SmartCards::SmartCardCryptogramPlacementOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CryptogramPlacementOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChainedOutputStep(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChainedOutputStep()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChainedOutputStep(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChainedOutputStep(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StorageKeyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageKeyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateCreated(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateCreated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Algorithm(Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Algorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OperationStatus(Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublicKeyBlobType(Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublicKeyBlobType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublicKey(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublicKey()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttestationStatus(Windows::Devices::SmartCards::SmartCardCryptographicKeyAttestationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttestationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Attestation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Attestation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttestationCertificateChain(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttestationCertificateChain()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Capabilities(Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OperationalRequirements(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperationalRequirements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnablementPolicy(Windows::Devices::SmartCards::SmartCardEmulatorEnablementPolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnablementPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ApduReceived(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ApduReceived(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ApduReceived(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApduReceived(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ConnectionDeactivated(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ConnectionDeactivated(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ConnectionDeactivated(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConnectionDeactivated(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsHostCardEmulationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHostCardEmulationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CommandApdu(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandApdu()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRespondAsync(impl::abi_arg_in responseApdu, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryRespondAsync(*reinterpret_cast(&responseApdu))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutomaticResponseStatus(Windows::Devices::SmartCards::SmartCardAutomaticResponseStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutomaticResponseStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRespondWithStateAsync(impl::abi_arg_in responseApdu, impl::abi_arg_in> nextState, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryRespondAsync(*reinterpret_cast(&responseApdu), *reinterpret_cast *>(&nextState))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryRespondWithCryptogramsAsync(impl::abi_arg_in responseTemplate, impl::abi_arg_in> cryptogramPlacementSteps, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryRespondWithCryptogramsAsync(*reinterpret_cast(&responseTemplate), *reinterpret_cast *>(&cryptogramPlacementSteps))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRespondWithCryptogramsAndStateAsync(impl::abi_arg_in responseTemplate, impl::abi_arg_in> cryptogramPlacementSteps, impl::abi_arg_in> nextState, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryRespondWithCryptogramsAsync(*reinterpret_cast(&responseTemplate), *reinterpret_cast *>(&cryptogramPlacementSteps), *reinterpret_cast *>(&nextState))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConnectionProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reason(Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(Windows::Devices::SmartCards::SmartCardEmulatorConnectionSource * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAppletIdGroupRegistrationsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAppletIdGroupRegistrationsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterAppletIdGroupAsync(impl::abi_arg_in appletIdGroup, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterAppletIdGroupAsync(*reinterpret_cast(&appletIdGroup))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterAppletIdGroupAsync(impl::abi_arg_in registration, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnregisterAppletIdGroupAsync(*reinterpret_cast(®istration))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxAppletIdGroupRegistrations(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAppletIdGroupRegistrations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinLength(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLength(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UppercaseLetters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UppercaseLetters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UppercaseLetters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UppercaseLetters(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LowercaseLetters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LowercaseLetters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LowercaseLetters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LowercaseLetters(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Digits(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Digits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Digits(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Digits(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpecialCharacters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpecialCharacters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpecialCharacters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpecialCharacters(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Challenge(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Challenge()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetResponse(impl::abi_arg_in response) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetResponse(*reinterpret_cast(&response)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SmartCard(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartCard()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIdAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetIdAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNameAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetNameAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChallengeContextAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetChallengeContextAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPinChangeAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestPinChangeAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPinResetAsync(impl::abi_arg_in handler, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestPinResetAsync(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAuthorityKeyContainerNameAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAuthorityKeyContainerNameAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromSmartCardAsync(impl::abi_arg_in card, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromSmartCardAsync(*reinterpret_cast(&card))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestVirtualSmartCardCreationAsync(impl::abi_arg_in friendlyName, impl::abi_arg_in administrativeKey, impl::abi_arg_in pinPolicy, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestVirtualSmartCardCreationAsync(*reinterpret_cast(&friendlyName), *reinterpret_cast(&administrativeKey), *reinterpret_cast(&pinPolicy))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestVirtualSmartCardCreationAsyncWithCardId(impl::abi_arg_in friendlyName, impl::abi_arg_in administrativeKey, impl::abi_arg_in pinPolicy, GUID cardId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestVirtualSmartCardCreationAsync(*reinterpret_cast(&friendlyName), *reinterpret_cast(&administrativeKey), *reinterpret_cast(&pinPolicy), cardId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestVirtualSmartCardDeletionAsync(impl::abi_arg_in card, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestVirtualSmartCardDeletionAsync(*reinterpret_cast(&card))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAttestedVirtualSmartCardCreationAsync(impl::abi_arg_in friendlyName, impl::abi_arg_in administrativeKey, impl::abi_arg_in pinPolicy, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAttestedVirtualSmartCardCreationAsync(*reinterpret_cast(&friendlyName), *reinterpret_cast(&administrativeKey), *reinterpret_cast(&pinPolicy))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAttestedVirtualSmartCardCreationAsyncWithCardId(impl::abi_arg_in friendlyName, impl::abi_arg_in administrativeKey, impl::abi_arg_in pinPolicy, GUID cardId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAttestedVirtualSmartCardCreationAsync(*reinterpret_cast(&friendlyName), *reinterpret_cast(&administrativeKey), *reinterpret_cast(&pinPolicy), cardId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Devices::SmartCards::SmartCardReaderKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStatusAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetStatusAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllCardsAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindAllCardsAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CardAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CardAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CardAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CardAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CardRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CardRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CardRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CardRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorWithKind(Windows::Devices::SmartCards::SmartCardReaderKind kind, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector(kind)); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TriggerType(Windows::Devices::SmartCards::SmartCardTriggerType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriggerType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceAppletId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceAppletId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriggerData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriggerData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Emulator(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Emulator()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryLaunchCurrentAppAsync(impl::abi_arg_in arguments, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryLaunchCurrentAppAsync(*reinterpret_cast(&arguments))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryLaunchCurrentAppWithBehaviorAsync(impl::abi_arg_in arguments, Windows::Devices::SmartCards::SmartCardLaunchBehavior behavior, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryLaunchCurrentAppAsync(*reinterpret_cast(&arguments), behavior)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SmartCard(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartCard()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::SmartCards { + +template hstring impl_ISmartCardReaderStatics::GetDeviceSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(ISmartCardReaderStatics)->abi_GetDeviceSelector(put_abi(selector))); + return selector; +} + +template hstring impl_ISmartCardReaderStatics::GetDeviceSelector(Windows::Devices::SmartCards::SmartCardReaderKind kind) const +{ + hstring selector; + check_hresult(WINRT_SHIM(ISmartCardReaderStatics)->abi_GetDeviceSelectorWithKind(kind, put_abi(selector))); + return selector; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardReaderStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardReaderStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template hstring impl_ISmartCardReader::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardReader)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_ISmartCardReader::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardReader)->get_Name(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardReaderKind impl_ISmartCardReader::Kind() const +{ + Windows::Devices::SmartCards::SmartCardReaderKind value {}; + check_hresult(WINRT_SHIM(ISmartCardReader)->get_Kind(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardReader::GetStatusAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardReader)->abi_GetStatusAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_ISmartCardReader::FindAllCardsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ISmartCardReader)->abi_FindAllCardsAsync(put_abi(result))); + return result; +} + +template event_token impl_ISmartCardReader::CardAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISmartCardReader)->add_CardAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISmartCardReader::CardAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::SmartCards::ISmartCardReader::remove_CardAdded, CardAdded(handler)); +} + +template void impl_ISmartCardReader::CardAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(ISmartCardReader)->remove_CardAdded(token)); +} + +template event_token impl_ISmartCardReader::CardRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISmartCardReader)->add_CardRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISmartCardReader::CardRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::SmartCards::ISmartCardReader::remove_CardRemoved, CardRemoved(handler)); +} + +template void impl_ISmartCardReader::CardRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(ISmartCardReader)->remove_CardRemoved(token)); +} + +template Windows::Devices::SmartCards::SmartCard impl_ICardAddedEventArgs::SmartCard() const +{ + Windows::Devices::SmartCards::SmartCard value { nullptr }; + check_hresult(WINRT_SHIM(ICardAddedEventArgs)->get_SmartCard(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCard impl_ICardRemovedEventArgs::SmartCard() const +{ + Windows::Devices::SmartCards::SmartCard value { nullptr }; + check_hresult(WINRT_SHIM(ICardRemovedEventArgs)->get_SmartCard(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardReader impl_ISmartCard::Reader() const +{ + Windows::Devices::SmartCards::SmartCardReader value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCard)->get_Reader(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCard::GetStatusAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCard)->abi_GetStatusAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCard::GetAnswerToResetAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCard)->abi_GetAnswerToResetAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioningStatics::FromSmartCardAsync(const Windows::Devices::SmartCards::SmartCard & card) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioningStatics)->abi_FromSmartCardAsync(get_abi(card), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioningStatics::RequestVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioningStatics)->abi_RequestVirtualSmartCardCreationAsync(get_abi(friendlyName), get_abi(administrativeKey), get_abi(pinPolicy), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioningStatics::RequestVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy, GUID cardId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioningStatics)->abi_RequestVirtualSmartCardCreationAsyncWithCardId(get_abi(friendlyName), get_abi(administrativeKey), get_abi(pinPolicy), cardId, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioningStatics::RequestVirtualSmartCardDeletionAsync(const Windows::Devices::SmartCards::SmartCard & card) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioningStatics)->abi_RequestVirtualSmartCardDeletionAsync(get_abi(card), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioningStatics2::RequestAttestedVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioningStatics2)->abi_RequestAttestedVirtualSmartCardCreationAsync(get_abi(friendlyName), get_abi(administrativeKey), get_abi(pinPolicy), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioningStatics2::RequestAttestedVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy, GUID cardId) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioningStatics2)->abi_RequestAttestedVirtualSmartCardCreationAsyncWithCardId(get_abi(friendlyName), get_abi(administrativeKey), get_abi(pinPolicy), cardId, put_abi(result))); + return result; +} + +template Windows::Devices::SmartCards::SmartCard impl_ISmartCardProvisioning::SmartCard() const +{ + Windows::Devices::SmartCards::SmartCard value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardProvisioning)->get_SmartCard(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioning::GetIdAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioning)->abi_GetIdAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioning::GetNameAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioning)->abi_GetNameAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioning::GetChallengeContextAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioning)->abi_GetChallengeContextAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioning::RequestPinChangeAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioning)->abi_RequestPinChangeAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioning::RequestPinResetAsync(const Windows::Devices::SmartCards::SmartCardPinResetHandler & handler) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioning)->abi_RequestPinResetAsync(get_abi(handler), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardProvisioning2::GetAuthorityKeyContainerNameAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardProvisioning2)->abi_GetAuthorityKeyContainerNameAsync(put_abi(result))); + return result; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardPinResetRequest::Challenge() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardPinResetRequest)->get_Challenge(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISmartCardPinResetRequest::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmartCardPinResetRequest)->get_Deadline(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardPinResetDeferral impl_ISmartCardPinResetRequest::GetDeferral() const +{ + Windows::Devices::SmartCards::SmartCardPinResetDeferral result { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardPinResetRequest)->abi_GetDeferral(put_abi(result))); + return result; +} + +template void impl_ISmartCardPinResetRequest::SetResponse(const Windows::Storage::Streams::IBuffer & response) const +{ + check_hresult(WINRT_SHIM(ISmartCardPinResetRequest)->abi_SetResponse(get_abi(response))); +} + +template void impl_ISmartCardPinResetDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ISmartCardPinResetDeferral)->abi_Complete()); +} + +template uint32_t impl_ISmartCardPinPolicy::MinLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->get_MinLength(&value)); + return value; +} + +template void impl_ISmartCardPinPolicy::MinLength(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->put_MinLength(value)); +} + +template uint32_t impl_ISmartCardPinPolicy::MaxLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->get_MaxLength(&value)); + return value; +} + +template void impl_ISmartCardPinPolicy::MaxLength(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->put_MaxLength(value)); +} + +template Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption impl_ISmartCardPinPolicy::UppercaseLetters() const +{ + Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value {}; + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->get_UppercaseLetters(&value)); + return value; +} + +template void impl_ISmartCardPinPolicy::UppercaseLetters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) const +{ + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->put_UppercaseLetters(value)); +} + +template Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption impl_ISmartCardPinPolicy::LowercaseLetters() const +{ + Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value {}; + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->get_LowercaseLetters(&value)); + return value; +} + +template void impl_ISmartCardPinPolicy::LowercaseLetters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) const +{ + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->put_LowercaseLetters(value)); +} + +template Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption impl_ISmartCardPinPolicy::Digits() const +{ + Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value {}; + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->get_Digits(&value)); + return value; +} + +template void impl_ISmartCardPinPolicy::Digits(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) const +{ + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->put_Digits(value)); +} + +template Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption impl_ISmartCardPinPolicy::SpecialCharacters() const +{ + Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value {}; + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->get_SpecialCharacters(&value)); + return value; +} + +template void impl_ISmartCardPinPolicy::SpecialCharacters(Windows::Devices::SmartCards::SmartCardPinCharacterPolicyOption value) const +{ + check_hresult(WINRT_SHIM(ISmartCardPinPolicy)->put_SpecialCharacters(value)); +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardConnect::ConnectAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardConnect)->abi_ConnectAsync(put_abi(result))); + return result; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardChallengeContext::Challenge() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardChallengeContext)->get_Challenge(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardChallengeContext::VerifyResponseAsync(const Windows::Storage::Streams::IBuffer & response) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardChallengeContext)->abi_VerifyResponseAsync(get_abi(response), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISmartCardChallengeContext::ProvisionAsync(const Windows::Storage::Streams::IBuffer & response, bool formatCard) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISmartCardChallengeContext)->abi_ProvisionAsync(get_abi(response), formatCard, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISmartCardChallengeContext::ProvisionAsync(const Windows::Storage::Streams::IBuffer & response, bool formatCard, GUID newCardId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISmartCardChallengeContext)->abi_ProvisionAsyncWithNewCardId(get_abi(response), formatCard, newCardId, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISmartCardChallengeContext::ChangeAdministrativeKeyAsync(const Windows::Storage::Streams::IBuffer & response, const Windows::Storage::Streams::IBuffer & newAdministrativeKey) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISmartCardChallengeContext)->abi_ChangeAdministrativeKeyAsync(get_abi(response), get_abi(newAdministrativeKey), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardConnection::TransmitAsync(const Windows::Storage::Streams::IBuffer & command) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardConnection)->abi_TransmitAsync(get_abi(command), put_abi(result))); + return result; +} + +template Windows::Devices::SmartCards::SmartCardTriggerType impl_ISmartCardTriggerDetails::TriggerType() const +{ + Windows::Devices::SmartCards::SmartCardTriggerType value {}; + check_hresult(WINRT_SHIM(ISmartCardTriggerDetails)->get_TriggerType(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardTriggerDetails::SourceAppletId() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardTriggerDetails)->get_SourceAppletId(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardTriggerDetails::TriggerData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardTriggerDetails)->get_TriggerData(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardEmulator impl_ISmartCardTriggerDetails2::Emulator() const +{ + Windows::Devices::SmartCards::SmartCardEmulator value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardTriggerDetails2)->get_Emulator(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardTriggerDetails2::TryLaunchCurrentAppAsync(hstring_view arguments) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardTriggerDetails2)->abi_TryLaunchCurrentAppAsync(get_abi(arguments), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardTriggerDetails2::TryLaunchCurrentAppAsync(hstring_view arguments, Windows::Devices::SmartCards::SmartCardLaunchBehavior behavior) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardTriggerDetails2)->abi_TryLaunchCurrentAppWithBehaviorAsync(get_abi(arguments), behavior, put_abi(result))); + return result; +} + +template Windows::Devices::SmartCards::SmartCard impl_ISmartCardTriggerDetails3::SmartCard() const +{ + Windows::Devices::SmartCards::SmartCard value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardTriggerDetails3)->get_SmartCard(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardEmulatorStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorStatics)->abi_GetDefaultAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_ISmartCardEmulatorStatics2::GetAppletIdGroupRegistrationsAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorStatics2)->abi_GetAppletIdGroupRegistrationsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardEmulatorStatics2::RegisterAppletIdGroupAsync(const Windows::Devices::SmartCards::SmartCardAppletIdGroup & appletIdGroup) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorStatics2)->abi_RegisterAppletIdGroupAsync(get_abi(appletIdGroup), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISmartCardEmulatorStatics2::UnregisterAppletIdGroupAsync(const Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration & registration) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorStatics2)->abi_UnregisterAppletIdGroupAsync(get_abi(registration), put_abi(result))); + return result; +} + +template uint16_t impl_ISmartCardEmulatorStatics2::MaxAppletIdGroupRegistrations() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulatorStatics2)->get_MaxAppletIdGroupRegistrations(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardEmulatorEnablementPolicy impl_ISmartCardEmulator::EnablementPolicy() const +{ + Windows::Devices::SmartCards::SmartCardEmulatorEnablementPolicy value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulator)->get_EnablementPolicy(&value)); + return value; +} + +template event_token impl_ISmartCardEmulator2::ApduReceived(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISmartCardEmulator2)->add_ApduReceived(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISmartCardEmulator2::ApduReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::SmartCards::ISmartCardEmulator2::remove_ApduReceived, ApduReceived(value)); +} + +template void impl_ISmartCardEmulator2::ApduReceived(event_token value) const +{ + check_hresult(WINRT_SHIM(ISmartCardEmulator2)->remove_ApduReceived(value)); +} + +template event_token impl_ISmartCardEmulator2::ConnectionDeactivated(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISmartCardEmulator2)->add_ConnectionDeactivated(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISmartCardEmulator2::ConnectionDeactivated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::SmartCards::ISmartCardEmulator2::remove_ConnectionDeactivated, ConnectionDeactivated(value)); +} + +template void impl_ISmartCardEmulator2::ConnectionDeactivated(event_token value) const +{ + check_hresult(WINRT_SHIM(ISmartCardEmulator2)->remove_ConnectionDeactivated(value)); +} + +template void impl_ISmartCardEmulator2::Start() const +{ + check_hresult(WINRT_SHIM(ISmartCardEmulator2)->abi_Start()); +} + +template bool impl_ISmartCardEmulator2::IsHostCardEmulationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulator2)->abi_IsHostCardEmulationSupported(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardEmulatorApduReceivedEventArgs::CommandApdu() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgs)->get_CommandApdu(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardEmulatorConnectionProperties impl_ISmartCardEmulatorApduReceivedEventArgs::ConnectionProperties() const +{ + Windows::Devices::SmartCards::SmartCardEmulatorConnectionProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgs)->get_ConnectionProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardEmulatorApduReceivedEventArgs::TryRespondAsync(const Windows::Storage::Streams::IBuffer & responseApdu) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgs)->abi_TryRespondAsync(get_abi(responseApdu), put_abi(result))); + return result; +} + +template Windows::Devices::SmartCards::SmartCardAutomaticResponseStatus impl_ISmartCardEmulatorApduReceivedEventArgs::AutomaticResponseStatus() const +{ + Windows::Devices::SmartCards::SmartCardAutomaticResponseStatus value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgs)->get_AutomaticResponseStatus(&value)); + return value; +} + +template uint32_t impl_ISmartCardEmulatorApduReceivedEventArgs2::State() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgs2)->get_State(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardEmulatorApduReceivedEventArgs2::TryRespondAsync(const Windows::Storage::Streams::IBuffer & responseApdu, const optional & nextState) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgs2)->abi_TryRespondWithStateAsync(get_abi(responseApdu), get_abi(nextState), put_abi(result))); + return result; +} + +template GUID impl_ISmartCardEmulatorConnectionProperties::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulatorConnectionProperties)->get_Id(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardEmulatorConnectionSource impl_ISmartCardEmulatorConnectionProperties::Source() const +{ + Windows::Devices::SmartCards::SmartCardEmulatorConnectionSource value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulatorConnectionProperties)->get_Source(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardEmulatorConnectionProperties impl_ISmartCardEmulatorConnectionDeactivatedEventArgs::ConnectionProperties() const +{ + Windows::Devices::SmartCards::SmartCardEmulatorConnectionProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardEmulatorConnectionDeactivatedEventArgs)->get_ConnectionProperties(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedReason impl_ISmartCardEmulatorConnectionDeactivatedEventArgs::Reason() const +{ + Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedReason value {}; + check_hresult(WINRT_SHIM(ISmartCardEmulatorConnectionDeactivatedEventArgs)->get_Reason(&value)); + return value; +} + +template hstring impl_ISmartCardAppletIdGroup::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_ISmartCardAppletIdGroup::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->put_DisplayName(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_ISmartCardAppletIdGroup::AppletIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->get_AppletIds(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardEmulationCategory impl_ISmartCardAppletIdGroup::SmartCardEmulationCategory() const +{ + Windows::Devices::SmartCards::SmartCardEmulationCategory value {}; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->get_SmartCardEmulationCategory(&value)); + return value; +} + +template void impl_ISmartCardAppletIdGroup::SmartCardEmulationCategory(Windows::Devices::SmartCards::SmartCardEmulationCategory value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->put_SmartCardEmulationCategory(value)); +} + +template Windows::Devices::SmartCards::SmartCardEmulationType impl_ISmartCardAppletIdGroup::SmartCardEmulationType() const +{ + Windows::Devices::SmartCards::SmartCardEmulationType value {}; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->get_SmartCardEmulationType(&value)); + return value; +} + +template void impl_ISmartCardAppletIdGroup::SmartCardEmulationType(Windows::Devices::SmartCards::SmartCardEmulationType value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->put_SmartCardEmulationType(value)); +} + +template bool impl_ISmartCardAppletIdGroup::AutomaticEnablement() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->get_AutomaticEnablement(&value)); + return value; +} + +template void impl_ISmartCardAppletIdGroup::AutomaticEnablement(bool value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroup)->put_AutomaticEnablement(value)); +} + +template Windows::Devices::SmartCards::SmartCardAppletIdGroup impl_ISmartCardAppletIdGroupFactory::Create(hstring_view displayName, const Windows::Foundation::Collections::IVector & appletIds, Windows::Devices::SmartCards::SmartCardEmulationCategory emulationCategory, Windows::Devices::SmartCards::SmartCardEmulationType emulationType) const +{ + Windows::Devices::SmartCards::SmartCardAppletIdGroup result { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroupFactory)->abi_Create(get_abi(displayName), get_abi(appletIds), emulationCategory, emulationType, put_abi(result))); + return result; +} + +template uint16_t impl_ISmartCardAppletIdGroupStatics::MaxAppletIds() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroupStatics)->get_MaxAppletIds(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardAppletIdGroupActivationPolicy impl_ISmartCardAppletIdGroupRegistration::ActivationPolicy() const +{ + Windows::Devices::SmartCards::SmartCardAppletIdGroupActivationPolicy value {}; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroupRegistration)->get_ActivationPolicy(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardAppletIdGroup impl_ISmartCardAppletIdGroupRegistration::AppletIdGroup() const +{ + Windows::Devices::SmartCards::SmartCardAppletIdGroup value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroupRegistration)->get_AppletIdGroup(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardAppletIdGroupRegistration::RequestActivationPolicyChangeAsync(Windows::Devices::SmartCards::SmartCardAppletIdGroupActivationPolicy policy) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroupRegistration)->abi_RequestActivationPolicyChangeAsync(policy, put_abi(result))); + return result; +} + +template GUID impl_ISmartCardAppletIdGroupRegistration::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroupRegistration)->get_Id(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISmartCardAppletIdGroupRegistration::SetAutomaticResponseApdusAsync(iterable apdus) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISmartCardAppletIdGroupRegistration)->abi_SetAutomaticResponseApdusAsync(get_abi(apdus), put_abi(result))); + return result; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardAutomaticResponseApdu::CommandApdu() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->get_CommandApdu(put_abi(value))); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu::CommandApdu(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->put_CommandApdu(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardAutomaticResponseApdu::CommandApduBitMask() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->get_CommandApduBitMask(put_abi(value))); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu::CommandApduBitMask(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->put_CommandApduBitMask(get_abi(value))); +} + +template bool impl_ISmartCardAutomaticResponseApdu::ShouldMatchLength() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->get_ShouldMatchLength(&value)); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu::ShouldMatchLength(bool value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->put_ShouldMatchLength(value)); +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardAutomaticResponseApdu::AppletId() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->get_AppletId(put_abi(value))); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu::AppletId(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->put_AppletId(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardAutomaticResponseApdu::ResponseApdu() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->get_ResponseApdu(put_abi(value))); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu::ResponseApdu(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu)->put_ResponseApdu(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ISmartCardAutomaticResponseApdu2::InputState() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu2)->get_InputState(put_abi(value))); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu2::InputState(const optional & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu2)->put_InputState(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ISmartCardAutomaticResponseApdu2::OutputState() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu2)->get_OutputState(put_abi(value))); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu2::OutputState(const optional & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu2)->put_OutputState(get_abi(value))); +} + +template bool impl_ISmartCardAutomaticResponseApdu3::AllowWhenCryptogramGeneratorNotPrepared() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu3)->get_AllowWhenCryptogramGeneratorNotPrepared(&value)); + return value; +} + +template void impl_ISmartCardAutomaticResponseApdu3::AllowWhenCryptogramGeneratorNotPrepared(bool value) const +{ + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApdu3)->put_AllowWhenCryptogramGeneratorNotPrepared(value)); +} + +template Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu impl_ISmartCardAutomaticResponseApduFactory::Create(const Windows::Storage::Streams::IBuffer & commandApdu, const Windows::Storage::Streams::IBuffer & responseApdu) const +{ + Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu result { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardAutomaticResponseApduFactory)->abi_Create(get_abi(commandApdu), get_abi(responseApdu), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardEmulatorApduReceivedEventArgsWithCryptograms::TryRespondWithCryptogramsAsync(const Windows::Storage::Streams::IBuffer & responseTemplate, iterable cryptogramPlacementSteps) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgsWithCryptograms)->abi_TryRespondWithCryptogramsAsync(get_abi(responseTemplate), get_abi(cryptogramPlacementSteps), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardEmulatorApduReceivedEventArgsWithCryptograms::TryRespondWithCryptogramsAsync(const Windows::Storage::Streams::IBuffer & responseTemplate, iterable cryptogramPlacementSteps, const optional & nextState) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardEmulatorApduReceivedEventArgsWithCryptograms)->abi_TryRespondWithCryptogramsAndStateAsync(get_abi(responseTemplate), get_abi(cryptogramPlacementSteps), get_abi(nextState), put_abi(result))); + return result; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus impl_ISmartCardCryptogramStorageKeyInfo::OperationStatus() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo)->get_OperationStatus(&value)); + return value; +} + +template Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType impl_ISmartCardCryptogramStorageKeyInfo::PublicKeyBlobType() const +{ + Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo)->get_PublicKeyBlobType(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardCryptogramStorageKeyInfo::PublicKey() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo)->get_PublicKey(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptographicKeyAttestationStatus impl_ISmartCardCryptogramStorageKeyInfo::AttestationStatus() const +{ + Windows::Devices::SmartCards::SmartCardCryptographicKeyAttestationStatus value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo)->get_AttestationStatus(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardCryptogramStorageKeyInfo::Attestation() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo)->get_Attestation(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardCryptogramStorageKeyInfo::AttestationCertificateChain() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo)->get_AttestationCertificateChain(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities impl_ISmartCardCryptogramStorageKeyInfo::Capabilities() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo)->get_Capabilities(&value)); + return value; +} + +template hstring impl_ISmartCardCryptogramStorageKeyInfo2::OperationalRequirements() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyInfo2)->get_OperationalRequirements(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus impl_ISmartCardCryptogramMaterialPossessionProof::OperationStatus() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialPossessionProof)->get_OperationStatus(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardCryptogramMaterialPossessionProof::Proof() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialPossessionProof)->get_Proof(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm impl_ISmartCardCryptogramPlacementStep::Algorithm() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_Algorithm(&value)); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::Algorithm(Windows::Devices::SmartCards::SmartCardCryptogramAlgorithm value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_Algorithm(value)); +} + +template Windows::Storage::Streams::IBuffer impl_ISmartCardCryptogramPlacementStep::SourceData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_SourceData(put_abi(value))); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::SourceData(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_SourceData(get_abi(value))); +} + +template hstring impl_ISmartCardCryptogramPlacementStep::CryptogramMaterialPackageName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_CryptogramMaterialPackageName(put_abi(value))); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::CryptogramMaterialPackageName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_CryptogramMaterialPackageName(get_abi(value))); +} + +template hstring impl_ISmartCardCryptogramPlacementStep::CryptogramMaterialName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_CryptogramMaterialName(put_abi(value))); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::CryptogramMaterialName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_CryptogramMaterialName(get_abi(value))); +} + +template int32_t impl_ISmartCardCryptogramPlacementStep::TemplateOffset() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_TemplateOffset(&value)); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::TemplateOffset(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_TemplateOffset(value)); +} + +template int32_t impl_ISmartCardCryptogramPlacementStep::CryptogramOffset() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_CryptogramOffset(&value)); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::CryptogramOffset(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_CryptogramOffset(value)); +} + +template int32_t impl_ISmartCardCryptogramPlacementStep::CryptogramLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_CryptogramLength(&value)); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::CryptogramLength(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_CryptogramLength(value)); +} + +template Windows::Devices::SmartCards::SmartCardCryptogramPlacementOptions impl_ISmartCardCryptogramPlacementStep::CryptogramPlacementOptions() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramPlacementOptions value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_CryptogramPlacementOptions(&value)); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::CryptogramPlacementOptions(Windows::Devices::SmartCards::SmartCardCryptogramPlacementOptions value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_CryptogramPlacementOptions(value)); +} + +template Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep impl_ISmartCardCryptogramPlacementStep::ChainedOutputStep() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep value { nullptr }; + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->get_ChainedOutputStep(put_abi(value))); + return value; +} + +template void impl_ISmartCardCryptogramPlacementStep::ChainedOutputStep(const Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep & value) const +{ + check_hresult(WINRT_SHIM(ISmartCardCryptogramPlacementStep)->put_ChainedOutputStep(get_abi(value))); +} + +template hstring impl_ISmartCardCryptogramStorageKeyCharacteristics::StorageKeyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyCharacteristics)->get_StorageKeyName(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISmartCardCryptogramStorageKeyCharacteristics::DateCreated() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyCharacteristics)->get_DateCreated(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyAlgorithm impl_ISmartCardCryptogramStorageKeyCharacteristics::Algorithm() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyAlgorithm value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyCharacteristics)->get_Algorithm(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities impl_ISmartCardCryptogramStorageKeyCharacteristics::Capabilities() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramStorageKeyCharacteristics)->get_Capabilities(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus impl_ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult::OperationStatus() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult)->get_OperationStatus(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult::Characteristics() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult)->get_Characteristics(put_abi(value))); + return value; +} + +template hstring impl_ISmartCardCryptogramMaterialPackageCharacteristics::PackageName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialPackageCharacteristics)->get_PackageName(put_abi(value))); + return value; +} + +template hstring impl_ISmartCardCryptogramMaterialPackageCharacteristics::StorageKeyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialPackageCharacteristics)->get_StorageKeyName(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISmartCardCryptogramMaterialPackageCharacteristics::DateImported() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialPackageCharacteristics)->get_DateImported(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat impl_ISmartCardCryptogramMaterialPackageCharacteristics::PackageFormat() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialPackageCharacteristics)->get_PackageFormat(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus impl_ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult::OperationStatus() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult)->get_OperationStatus(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult::Characteristics() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult)->get_Characteristics(put_abi(value))); + return value; +} + +template hstring impl_ISmartCardCryptogramMaterialCharacteristics::MaterialName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_MaterialName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramMaterialCharacteristics::AllowedAlgorithms() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_AllowedAlgorithms(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramMaterialCharacteristics::AllowedProofOfPossessionAlgorithms() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_AllowedProofOfPossessionAlgorithms(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramMaterialCharacteristics::AllowedValidations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_AllowedValidations(put_abi(value))); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramMaterialType impl_ISmartCardCryptogramMaterialCharacteristics::MaterialType() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramMaterialType value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_MaterialType(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramMaterialProtectionMethod impl_ISmartCardCryptogramMaterialCharacteristics::ProtectionMethod() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramMaterialProtectionMethod value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_ProtectionMethod(&value)); + return value; +} + +template int32_t impl_ISmartCardCryptogramMaterialCharacteristics::ProtectionVersion() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_ProtectionVersion(&value)); + return value; +} + +template int32_t impl_ISmartCardCryptogramMaterialCharacteristics::MaterialLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramMaterialCharacteristics)->get_MaterialLength(&value)); + return value; +} + +template Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus impl_ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult::OperationStatus() const +{ + Windows::Devices::SmartCards::SmartCardCryptogramGeneratorOperationStatus value {}; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult)->get_OperationStatus(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult::Characteristics() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult)->get_Characteristics(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGeneratorStatics::GetSmartCardCryptogramGeneratorAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGeneratorStatics)->abi_GetSmartCardCryptogramGeneratorAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGenerator::SupportedCryptogramMaterialTypes() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->get_SupportedCryptogramMaterialTypes(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGenerator::SupportedCryptogramAlgorithms() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->get_SupportedCryptogramAlgorithms(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGenerator::SupportedCryptogramMaterialPackageFormats() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->get_SupportedCryptogramMaterialPackageFormats(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGenerator::SupportedCryptogramMaterialPackageConfirmationResponseFormats() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->get_SupportedCryptogramMaterialPackageConfirmationResponseFormats(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmartCardCryptogramGenerator::SupportedSmartCardCryptogramStorageKeyCapabilities() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->get_SupportedSmartCardCryptogramStorageKeyCapabilities(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator::DeleteCryptogramMaterialStorageKeyAsync(hstring_view storageKeyName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->abi_DeleteCryptogramMaterialStorageKeyAsync(get_abi(storageKeyName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator::CreateCryptogramMaterialStorageKeyAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, hstring_view storageKeyName, Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyAlgorithm algorithm, Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCapabilities capabilities) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->abi_CreateCryptogramMaterialStorageKeyAsync(promptingBehavior, get_abi(storageKeyName), algorithm, capabilities, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator::RequestCryptogramMaterialStorageKeyInfoAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, hstring_view storageKeyName, Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType format) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->abi_RequestCryptogramMaterialStorageKeyInfoAsync(promptingBehavior, get_abi(storageKeyName), format, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator::ImportCryptogramMaterialPackageAsync(Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageFormat format, hstring_view storageKeyName, hstring_view materialPackageName, const Windows::Storage::Streams::IBuffer & cryptogramMaterialPackage) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->abi_ImportCryptogramMaterialPackageAsync(format, get_abi(storageKeyName), get_abi(materialPackageName), get_abi(cryptogramMaterialPackage), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator::TryProvePossessionOfCryptogramMaterialPackageAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageConfirmationResponseFormat responseFormat, hstring_view materialPackageName, hstring_view materialName, const Windows::Storage::Streams::IBuffer & challenge) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->abi_TryProvePossessionOfCryptogramMaterialPackageAsync(promptingBehavior, responseFormat, get_abi(materialPackageName), get_abi(materialName), get_abi(challenge), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator::RequestUnlockCryptogramMaterialForUseAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->abi_RequestUnlockCryptogramMaterialForUseAsync(promptingBehavior, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator::DeleteCryptogramMaterialPackageAsync(hstring_view materialPackageName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator)->abi_DeleteCryptogramMaterialPackageAsync(get_abi(materialPackageName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator2::ValidateRequestApduAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, const Windows::Storage::Streams::IBuffer & apduToValidate, iterable cryptogramPlacementSteps) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator2)->abi_ValidateRequestApduAsync(promptingBehavior, get_abi(apduToValidate), get_abi(cryptogramPlacementSteps), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator2::GetAllCryptogramStorageKeyCharacteristicsAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator2)->abi_GetAllCryptogramStorageKeyCharacteristicsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator2::GetAllCryptogramMaterialPackageCharacteristicsAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator2)->abi_GetAllCryptogramMaterialPackageCharacteristicsAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator2::GetAllCryptogramMaterialPackageCharacteristicsAsync(hstring_view storageKeyName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator2)->abi_GetAllCryptogramMaterialPackageCharacteristicsWithStorageKeyAsync(get_abi(storageKeyName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISmartCardCryptogramGenerator2::GetAllCryptogramMaterialCharacteristicsAsync(Windows::Devices::SmartCards::SmartCardUnlockPromptingBehavior promptingBehavior, hstring_view materialPackageName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISmartCardCryptogramGenerator2)->abi_GetAllCryptogramMaterialCharacteristicsAsync(promptingBehavior, get_abi(materialPackageName), put_abi(result))); + return result; +} + +inline SmartCardAppletIdGroup::SmartCardAppletIdGroup() : + SmartCardAppletIdGroup(activate_instance()) +{} + +inline SmartCardAppletIdGroup::SmartCardAppletIdGroup(hstring_view displayName, const Windows::Foundation::Collections::IVector & appletIds, Windows::Devices::SmartCards::SmartCardEmulationCategory emulationCategory, Windows::Devices::SmartCards::SmartCardEmulationType emulationType) : + SmartCardAppletIdGroup(get_activation_factory().Create(displayName, appletIds, emulationCategory, emulationType)) +{} + +inline uint16_t SmartCardAppletIdGroup::MaxAppletIds() +{ + return get_activation_factory().MaxAppletIds(); +} + +inline SmartCardAutomaticResponseApdu::SmartCardAutomaticResponseApdu(const Windows::Storage::Streams::IBuffer & commandApdu, const Windows::Storage::Streams::IBuffer & responseApdu) : + SmartCardAutomaticResponseApdu(get_activation_factory().Create(commandApdu, responseApdu)) +{} + +inline Windows::Foundation::IAsyncOperation SmartCardCryptogramGenerator::GetSmartCardCryptogramGeneratorAsync() +{ + return get_activation_factory().GetSmartCardCryptogramGeneratorAsync(); +} + +inline SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult() : + SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult(activate_instance()) +{} + +inline SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult() : + SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult(activate_instance()) +{} + +inline SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult() : + SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult(activate_instance()) +{} + +inline SmartCardCryptogramMaterialCharacteristics::SmartCardCryptogramMaterialCharacteristics() : + SmartCardCryptogramMaterialCharacteristics(activate_instance()) +{} + +inline SmartCardCryptogramMaterialPackageCharacteristics::SmartCardCryptogramMaterialPackageCharacteristics() : + SmartCardCryptogramMaterialPackageCharacteristics(activate_instance()) +{} + +inline SmartCardCryptogramPlacementStep::SmartCardCryptogramPlacementStep() : + SmartCardCryptogramPlacementStep(activate_instance()) +{} + +inline SmartCardCryptogramStorageKeyCharacteristics::SmartCardCryptogramStorageKeyCharacteristics() : + SmartCardCryptogramStorageKeyCharacteristics(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation SmartCardEmulator::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation> SmartCardEmulator::GetAppletIdGroupRegistrationsAsync() +{ + return get_activation_factory().GetAppletIdGroupRegistrationsAsync(); +} + +inline Windows::Foundation::IAsyncOperation SmartCardEmulator::RegisterAppletIdGroupAsync(const Windows::Devices::SmartCards::SmartCardAppletIdGroup & appletIdGroup) +{ + return get_activation_factory().RegisterAppletIdGroupAsync(appletIdGroup); +} + +inline Windows::Foundation::IAsyncAction SmartCardEmulator::UnregisterAppletIdGroupAsync(const Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration & registration) +{ + return get_activation_factory().UnregisterAppletIdGroupAsync(registration); +} + +inline uint16_t SmartCardEmulator::MaxAppletIdGroupRegistrations() +{ + return get_activation_factory().MaxAppletIdGroupRegistrations(); +} + +inline SmartCardPinPolicy::SmartCardPinPolicy() : + SmartCardPinPolicy(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation SmartCardProvisioning::FromSmartCardAsync(const Windows::Devices::SmartCards::SmartCard & card) +{ + return get_activation_factory().FromSmartCardAsync(card); +} + +inline Windows::Foundation::IAsyncOperation SmartCardProvisioning::RequestVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy) +{ + return get_activation_factory().RequestVirtualSmartCardCreationAsync(friendlyName, administrativeKey, pinPolicy); +} + +inline Windows::Foundation::IAsyncOperation SmartCardProvisioning::RequestVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy, GUID cardId) +{ + return get_activation_factory().RequestVirtualSmartCardCreationAsync(friendlyName, administrativeKey, pinPolicy, cardId); +} + +inline Windows::Foundation::IAsyncOperation SmartCardProvisioning::RequestVirtualSmartCardDeletionAsync(const Windows::Devices::SmartCards::SmartCard & card) +{ + return get_activation_factory().RequestVirtualSmartCardDeletionAsync(card); +} + +inline Windows::Foundation::IAsyncOperation SmartCardProvisioning::RequestAttestedVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy) +{ + return get_activation_factory().RequestAttestedVirtualSmartCardCreationAsync(friendlyName, administrativeKey, pinPolicy); +} + +inline Windows::Foundation::IAsyncOperation SmartCardProvisioning::RequestAttestedVirtualSmartCardCreationAsync(hstring_view friendlyName, const Windows::Storage::Streams::IBuffer & administrativeKey, const Windows::Devices::SmartCards::SmartCardPinPolicy & pinPolicy, GUID cardId) +{ + return get_activation_factory().RequestAttestedVirtualSmartCardCreationAsync(friendlyName, administrativeKey, pinPolicy, cardId); +} + +inline hstring SmartCardReader::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring SmartCardReader::GetDeviceSelector(Windows::Devices::SmartCards::SmartCardReaderKind kind) +{ + return get_activation_factory().GetDeviceSelector(kind); +} + +inline Windows::Foundation::IAsyncOperation SmartCardReader::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ICardAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ICardRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCard & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAppletIdGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAppletIdGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAppletIdGroupRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAppletIdGroupStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApdu3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardAutomaticResponseApduFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardChallengeContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardConnect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramGenerator2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramGeneratorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialCharacteristics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPackageCharacteristics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramMaterialPossessionProof & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramPlacementStep & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyCharacteristics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardCryptogramStorageKeyInfo2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulator2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulatorApduReceivedEventArgsWithCryptograms & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionDeactivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulatorConnectionProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulatorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardEmulatorStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardPinPolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardPinResetDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardPinResetRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardProvisioning & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardProvisioning2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardProvisioningStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardProvisioningStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardReaderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::ISmartCardTriggerDetails3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::CardAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::CardRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCard & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardAppletIdGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardAppletIdGroupRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardAutomaticResponseApdu & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardChallengeContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramMaterialPackageCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramGetAllCryptogramStorageKeyCharacteristicsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramMaterialCharacteristics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPackageCharacteristics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramMaterialPossessionProof & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramPlacementStep & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyCharacteristics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardCryptogramStorageKeyInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardEmulator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardEmulatorApduReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardEmulatorConnectionDeactivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardEmulatorConnectionProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardPinPolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardPinResetDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardPinResetRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardProvisioning & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::SmartCards::SmartCardTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Sms.h b/10.0.15042.0/winrt/Windows.Devices.Sms.h new file mode 100644 index 000000000..9d1baa895 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Sms.h @@ -0,0 +1,4381 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Sms.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Devices::Sms { + +template SmsDeviceStatusChangedEventHandler::SmsDeviceStatusChangedEventHandler(L lambda) : + SmsDeviceStatusChangedEventHandler(impl::make_delegate, SmsDeviceStatusChangedEventHandler>(std::forward(lambda))) +{} + +template SmsDeviceStatusChangedEventHandler::SmsDeviceStatusChangedEventHandler(F * function) : + SmsDeviceStatusChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template SmsDeviceStatusChangedEventHandler::SmsDeviceStatusChangedEventHandler(O * object, M method) : + SmsDeviceStatusChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SmsDeviceStatusChangedEventHandler::operator()(const Windows::Devices::Sms::SmsDevice & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +template SmsMessageReceivedEventHandler::SmsMessageReceivedEventHandler(L lambda) : + SmsMessageReceivedEventHandler(impl::make_delegate, SmsMessageReceivedEventHandler>(std::forward(lambda))) +{} + +template SmsMessageReceivedEventHandler::SmsMessageReceivedEventHandler(F * function) : + SmsMessageReceivedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template SmsMessageReceivedEventHandler::SmsMessageReceivedEventHandler(O * object, M method) : + SmsMessageReceivedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SmsMessageReceivedEventHandler::operator()(const Windows::Devices::Sms::SmsDevice & sender, const Windows::Devices::Sms::SmsMessageReceivedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_To(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_To(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().To(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_From(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().From()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Body(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Body(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallbackNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallbackNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CallbackNumber(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CallbackNumber(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDeliveryNotificationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDeliveryNotificationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDeliveryNotificationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDeliveryNotificationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RetryAttemptCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RetryAttemptCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RetryAttemptCount(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RetryAttemptCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Encoding(Windows::Devices::Sms::SmsEncoding * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Encoding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Encoding(Windows::Devices::Sms::SmsEncoding value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Encoding(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PortNumber(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PortNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PortNumber(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PortNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TeleserviceId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TeleserviceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TeleserviceId(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TeleserviceId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtocolId(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtocolId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BinaryBody(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BinaryBody()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BinaryBody(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BinaryBody(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Format(Windows::Devices::Sms::SmsDataFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Format(Windows::Devices::Sms::SmsDataFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Format(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetData(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().GetData()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetData(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetData(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_To(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Channel(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GeographicalScope(Windows::Devices::Sms::SmsGeographicalScope * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeographicalScope()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageCode(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdateNumber(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastType(Windows::Devices::Sms::SmsBroadcastType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEmergencyAlert(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEmergencyAlert()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsUserPopupRequested(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUserPopupRequested()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendMessageAsync(impl::abi_arg_in message, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SendMessageAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CalculateLength(impl::abi_arg_in message, impl::abi_arg_out encodedLength) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *encodedLength = detach_abi(this->shim().CalculateLength(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccountPhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountPhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CellularClass(Windows::Devices::Sms::CellularClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CellularClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageStore(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageStore()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceStatus(Windows::Devices::Sms::SmsDeviceStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SmsMessageReceived(impl::abi_arg_in eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().SmsMessageReceived(*reinterpret_cast(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SmsMessageReceived(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmsMessageReceived(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SmsDeviceStatusChanged(impl::abi_arg_in eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().SmsDeviceStatusChanged(*reinterpret_cast(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SmsDeviceStatusChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmsDeviceStatusChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SmscAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmscAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmscAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmscAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccountPhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountPhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CellularClass(Windows::Devices::Sms::CellularClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CellularClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceStatus(Windows::Devices::Sms::SmsDeviceStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CalculateLength(impl::abi_arg_in message, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalculateLength(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendMessageAndGetResultAsync(impl::abi_arg_in message, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SendMessageAndGetResultAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DeviceStatusChanged(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().DeviceStatusChanged(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DeviceStatusChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeviceStatusChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromId(impl::abi_arg_in deviceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromParentId(impl::abi_arg_in parentDeviceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromParentId(*reinterpret_cast(&parentDeviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DeleteMessageAsync(uint32_t messageId, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().DeleteMessageAsync(messageId)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteMessagesAsync(Windows::Devices::Sms::SmsMessageFilter messageFilter, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().DeleteMessagesAsync(messageFilter)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessageAsync(uint32_t messageId, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetMessageAsync(messageId)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMessagesAsync(Windows::Devices::Sms::SmsMessageFilter messageFilter, impl::abi_arg_out, int32_t>> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetMessagesAsync(messageFilter)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxMessages(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxMessages()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out phstrDeviceClassSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *phstrDeviceClassSelector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *phstrDeviceClassSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromNetworkAccountIdAsync(impl::abi_arg_in networkAccountId, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FromNetworkAccountIdAsync(*reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MessageType(Windows::Devices::Sms::SmsMessageType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImsiPrefixes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImsiPrefixes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SenderNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SenderNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextMessagePrefixes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextMessagePrefixes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PortNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PortNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CellularClass(Windows::Devices::Sms::CellularClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CellularClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CellularClass(Windows::Devices::Sms::CellularClass value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CellularClass(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TeleserviceIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TeleserviceIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WapApplicationIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WapApplicationIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WapContentTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WapContentTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastChannels(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastChannels()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFilterRule(Windows::Devices::Sms::SmsMessageType messageType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFilterRule(messageType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActionType(Windows::Devices::Sms::SmsFilterActionType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActionType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rules(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rules()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFilterRules(Windows::Devices::Sms::SmsFilterActionType actionType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFilterRules(actionType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageClass(Windows::Devices::Sms::SmsMessageClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MessageType(Windows::Devices::Sms::SmsMessageType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CellularClass(Windows::Devices::Sms::CellularClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CellularClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageClass(Windows::Devices::Sms::SmsMessageClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimIccId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimIccId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BinaryMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BinaryMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MessageType(Windows::Devices::Sms::SmsMessageType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WapMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WapMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VoicemailMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VoicemailMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StatusMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StatusMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Drop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Drop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Accept() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Accept(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Unregister() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unregister(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MessageReceived(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().MessageReceived(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageReceived(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageReceived(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllRegistrations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllRegistrations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Register(impl::abi_arg_in id, impl::abi_arg_in filterRules, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Register(*reinterpret_cast(&id), *reinterpret_cast(&filterRules))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MessageClass(Windows::Devices::Sms::SmsMessageClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BinaryMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BinaryMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSuccessful(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSuccessful()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageReferenceNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageReferenceNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CellularClass(Windows::Devices::Sms::CellularClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CellularClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModemErrorCode(Windows::Devices::Sms::SmsModemErrorCode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModemErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsErrorTransient(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsErrorTransient()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkCauseCode(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkCauseCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportFailureCause(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportFailureCause()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_To(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_From(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().From()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageReferenceNumber(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageReferenceNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceCenterTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceCenterTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DischargeTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DischargeTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PartReferenceId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartReferenceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PartNumber(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PartCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_To(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_To(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().To(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_From(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().From()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_From(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().From(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Body(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Body(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Encoding(Windows::Devices::Sms::SmsEncoding * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Encoding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Encoding(Windows::Devices::Sms::SmsEncoding value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Encoding(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ToBinaryMessages(Windows::Devices::Sms::SmsDataFormat format, impl::abi_arg_out> messages) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messages = detach_abi(this->shim().ToBinaryMessages(format)); + return S_OK; + } + catch (...) + { + *messages = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_To(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_To(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().To(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_From(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().From()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Body(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Body(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Encoding(Windows::Devices::Sms::SmsEncoding * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Encoding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Encoding(Windows::Devices::Sms::SmsEncoding value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Encoding(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallbackNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallbackNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CallbackNumber(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CallbackNumber(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDeliveryNotificationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDeliveryNotificationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDeliveryNotificationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDeliveryNotificationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RetryAttemptCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RetryAttemptCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RetryAttemptCount(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RetryAttemptCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TeleserviceId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TeleserviceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromBinaryMessage(impl::abi_arg_in binaryMessage, impl::abi_arg_out textMessage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textMessage = detach_abi(this->shim().FromBinaryMessage(*reinterpret_cast(&binaryMessage))); + return S_OK; + } + catch (...) + { + *textMessage = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromBinaryData(Windows::Devices::Sms::SmsDataFormat format, uint32_t __valueSize, impl::abi_arg_in * value, impl::abi_arg_out textMessage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textMessage = detach_abi(this->shim().FromBinaryData(format, array_view(value, value + __valueSize))); + return S_OK; + } + catch (...) + { + *textMessage = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_To(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageCount(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageCount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_To(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().To()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_From(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().From()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BinaryBody(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BinaryBody()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Headers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Headers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Sms { + +template Windows::Devices::Sms::SmsMessageType impl_ISmsMessageBase::MessageType() const +{ + Windows::Devices::Sms::SmsMessageType value {}; + check_hresult(WINRT_SHIM(ISmsMessageBase)->get_MessageType(&value)); + return value; +} + +template hstring impl_ISmsMessageBase::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsMessageBase)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::CellularClass impl_ISmsMessageBase::CellularClass() const +{ + Windows::Devices::Sms::CellularClass value {}; + check_hresult(WINRT_SHIM(ISmsMessageBase)->get_CellularClass(&value)); + return value; +} + +template Windows::Devices::Sms::SmsMessageClass impl_ISmsMessageBase::MessageClass() const +{ + Windows::Devices::Sms::SmsMessageClass value {}; + check_hresult(WINRT_SHIM(ISmsMessageBase)->get_MessageClass(&value)); + return value; +} + +template hstring impl_ISmsMessageBase::SimIccId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsMessageBase)->get_SimIccId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISmsTextMessage2::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_Timestamp(put_abi(value))); + return value; +} + +template hstring impl_ISmsTextMessage2::To() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_To(put_abi(value))); + return value; +} + +template void impl_ISmsTextMessage2::To(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage2)->put_To(get_abi(value))); +} + +template hstring impl_ISmsTextMessage2::From() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_From(put_abi(value))); + return value; +} + +template hstring impl_ISmsTextMessage2::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_Body(put_abi(value))); + return value; +} + +template void impl_ISmsTextMessage2::Body(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage2)->put_Body(get_abi(value))); +} + +template Windows::Devices::Sms::SmsEncoding impl_ISmsTextMessage2::Encoding() const +{ + Windows::Devices::Sms::SmsEncoding value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_Encoding(&value)); + return value; +} + +template void impl_ISmsTextMessage2::Encoding(Windows::Devices::Sms::SmsEncoding value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage2)->put_Encoding(value)); +} + +template hstring impl_ISmsTextMessage2::CallbackNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_CallbackNumber(put_abi(value))); + return value; +} + +template void impl_ISmsTextMessage2::CallbackNumber(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage2)->put_CallbackNumber(get_abi(value))); +} + +template bool impl_ISmsTextMessage2::IsDeliveryNotificationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_IsDeliveryNotificationEnabled(&value)); + return value; +} + +template void impl_ISmsTextMessage2::IsDeliveryNotificationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage2)->put_IsDeliveryNotificationEnabled(value)); +} + +template int32_t impl_ISmsTextMessage2::RetryAttemptCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_RetryAttemptCount(&value)); + return value; +} + +template void impl_ISmsTextMessage2::RetryAttemptCount(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage2)->put_RetryAttemptCount(value)); +} + +template int32_t impl_ISmsTextMessage2::TeleserviceId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_TeleserviceId(&value)); + return value; +} + +template int32_t impl_ISmsTextMessage2::ProtocolId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage2)->get_ProtocolId(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ISmsWapMessage::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsWapMessage)->get_Timestamp(put_abi(value))); + return value; +} + +template hstring impl_ISmsWapMessage::To() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsWapMessage)->get_To(put_abi(value))); + return value; +} + +template hstring impl_ISmsWapMessage::From() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsWapMessage)->get_From(put_abi(value))); + return value; +} + +template hstring impl_ISmsWapMessage::ApplicationId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsWapMessage)->get_ApplicationId(put_abi(value))); + return value; +} + +template hstring impl_ISmsWapMessage::ContentType() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsWapMessage)->get_ContentType(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISmsWapMessage::BinaryBody() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmsWapMessage)->get_BinaryBody(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_ISmsWapMessage::Headers() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(ISmsWapMessage)->get_Headers(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISmsAppMessage::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_Timestamp(put_abi(value))); + return value; +} + +template hstring impl_ISmsAppMessage::To() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_To(put_abi(value))); + return value; +} + +template void impl_ISmsAppMessage::To(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_To(get_abi(value))); +} + +template hstring impl_ISmsAppMessage::From() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_From(put_abi(value))); + return value; +} + +template hstring impl_ISmsAppMessage::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_Body(put_abi(value))); + return value; +} + +template void impl_ISmsAppMessage::Body(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_Body(get_abi(value))); +} + +template hstring impl_ISmsAppMessage::CallbackNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_CallbackNumber(put_abi(value))); + return value; +} + +template void impl_ISmsAppMessage::CallbackNumber(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_CallbackNumber(get_abi(value))); +} + +template bool impl_ISmsAppMessage::IsDeliveryNotificationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_IsDeliveryNotificationEnabled(&value)); + return value; +} + +template void impl_ISmsAppMessage::IsDeliveryNotificationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_IsDeliveryNotificationEnabled(value)); +} + +template int32_t impl_ISmsAppMessage::RetryAttemptCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_RetryAttemptCount(&value)); + return value; +} + +template void impl_ISmsAppMessage::RetryAttemptCount(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_RetryAttemptCount(value)); +} + +template Windows::Devices::Sms::SmsEncoding impl_ISmsAppMessage::Encoding() const +{ + Windows::Devices::Sms::SmsEncoding value {}; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_Encoding(&value)); + return value; +} + +template void impl_ISmsAppMessage::Encoding(Windows::Devices::Sms::SmsEncoding value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_Encoding(value)); +} + +template int32_t impl_ISmsAppMessage::PortNumber() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_PortNumber(&value)); + return value; +} + +template void impl_ISmsAppMessage::PortNumber(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_PortNumber(value)); +} + +template int32_t impl_ISmsAppMessage::TeleserviceId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_TeleserviceId(&value)); + return value; +} + +template void impl_ISmsAppMessage::TeleserviceId(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_TeleserviceId(value)); +} + +template int32_t impl_ISmsAppMessage::ProtocolId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_ProtocolId(&value)); + return value; +} + +template void impl_ISmsAppMessage::ProtocolId(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_ProtocolId(value)); +} + +template Windows::Storage::Streams::IBuffer impl_ISmsAppMessage::BinaryBody() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISmsAppMessage)->get_BinaryBody(put_abi(value))); + return value; +} + +template void impl_ISmsAppMessage::BinaryBody(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(ISmsAppMessage)->put_BinaryBody(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_ISmsBroadcastMessage::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_Timestamp(put_abi(value))); + return value; +} + +template hstring impl_ISmsBroadcastMessage::To() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_To(put_abi(value))); + return value; +} + +template hstring impl_ISmsBroadcastMessage::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_Body(put_abi(value))); + return value; +} + +template int32_t impl_ISmsBroadcastMessage::Channel() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_Channel(&value)); + return value; +} + +template Windows::Devices::Sms::SmsGeographicalScope impl_ISmsBroadcastMessage::GeographicalScope() const +{ + Windows::Devices::Sms::SmsGeographicalScope value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_GeographicalScope(&value)); + return value; +} + +template int32_t impl_ISmsBroadcastMessage::MessageCode() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_MessageCode(&value)); + return value; +} + +template int32_t impl_ISmsBroadcastMessage::UpdateNumber() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_UpdateNumber(&value)); + return value; +} + +template Windows::Devices::Sms::SmsBroadcastType impl_ISmsBroadcastMessage::BroadcastType() const +{ + Windows::Devices::Sms::SmsBroadcastType value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_BroadcastType(&value)); + return value; +} + +template bool impl_ISmsBroadcastMessage::IsEmergencyAlert() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_IsEmergencyAlert(&value)); + return value; +} + +template bool impl_ISmsBroadcastMessage::IsUserPopupRequested() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmsBroadcastMessage)->get_IsUserPopupRequested(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ISmsVoicemailMessage::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsVoicemailMessage)->get_Timestamp(put_abi(value))); + return value; +} + +template hstring impl_ISmsVoicemailMessage::To() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsVoicemailMessage)->get_To(put_abi(value))); + return value; +} + +template hstring impl_ISmsVoicemailMessage::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsVoicemailMessage)->get_Body(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISmsVoicemailMessage::MessageCount() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISmsVoicemailMessage)->get_MessageCount(put_abi(value))); + return value; +} + +template hstring impl_ISmsStatusMessage::To() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsStatusMessage)->get_To(put_abi(value))); + return value; +} + +template hstring impl_ISmsStatusMessage::From() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsStatusMessage)->get_From(put_abi(value))); + return value; +} + +template hstring impl_ISmsStatusMessage::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsStatusMessage)->get_Body(put_abi(value))); + return value; +} + +template int32_t impl_ISmsStatusMessage::Status() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsStatusMessage)->get_Status(&value)); + return value; +} + +template int32_t impl_ISmsStatusMessage::MessageReferenceNumber() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsStatusMessage)->get_MessageReferenceNumber(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ISmsStatusMessage::ServiceCenterTimestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsStatusMessage)->get_ServiceCenterTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ISmsStatusMessage::DischargeTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsStatusMessage)->get_DischargeTime(put_abi(value))); + return value; +} + +template bool impl_ISmsSendMessageResult::IsSuccessful() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmsSendMessageResult)->get_IsSuccessful(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmsSendMessageResult::MessageReferenceNumbers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmsSendMessageResult)->get_MessageReferenceNumbers(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::CellularClass impl_ISmsSendMessageResult::CellularClass() const +{ + Windows::Devices::Sms::CellularClass value {}; + check_hresult(WINRT_SHIM(ISmsSendMessageResult)->get_CellularClass(&value)); + return value; +} + +template Windows::Devices::Sms::SmsModemErrorCode impl_ISmsSendMessageResult::ModemErrorCode() const +{ + Windows::Devices::Sms::SmsModemErrorCode value {}; + check_hresult(WINRT_SHIM(ISmsSendMessageResult)->get_ModemErrorCode(&value)); + return value; +} + +template bool impl_ISmsSendMessageResult::IsErrorTransient() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISmsSendMessageResult)->get_IsErrorTransient(&value)); + return value; +} + +template int32_t impl_ISmsSendMessageResult::NetworkCauseCode() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsSendMessageResult)->get_NetworkCauseCode(&value)); + return value; +} + +template int32_t impl_ISmsSendMessageResult::TransportFailureCause() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISmsSendMessageResult)->get_TransportFailureCause(&value)); + return value; +} + +template hstring impl_ISmsDevice2Statics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsDevice2Statics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsDevice2 impl_ISmsDevice2Statics::FromId(hstring_view deviceId) const +{ + Windows::Devices::Sms::SmsDevice2 value { nullptr }; + check_hresult(WINRT_SHIM(ISmsDevice2Statics)->abi_FromId(get_abi(deviceId), put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsDevice2 impl_ISmsDevice2Statics::GetDefault() const +{ + Windows::Devices::Sms::SmsDevice2 value { nullptr }; + check_hresult(WINRT_SHIM(ISmsDevice2Statics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsDevice2 impl_ISmsDevice2Statics::FromParentId(hstring_view parentDeviceId) const +{ + Windows::Devices::Sms::SmsDevice2 value { nullptr }; + check_hresult(WINRT_SHIM(ISmsDevice2Statics)->abi_FromParentId(get_abi(parentDeviceId), put_abi(value))); + return value; +} + +template hstring impl_ISmsDevice2::SmscAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsDevice2)->get_SmscAddress(put_abi(value))); + return value; +} + +template void impl_ISmsDevice2::SmscAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsDevice2)->put_SmscAddress(get_abi(value))); +} + +template hstring impl_ISmsDevice2::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsDevice2)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_ISmsDevice2::ParentDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsDevice2)->get_ParentDeviceId(put_abi(value))); + return value; +} + +template hstring impl_ISmsDevice2::AccountPhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsDevice2)->get_AccountPhoneNumber(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::CellularClass impl_ISmsDevice2::CellularClass() const +{ + Windows::Devices::Sms::CellularClass value {}; + check_hresult(WINRT_SHIM(ISmsDevice2)->get_CellularClass(&value)); + return value; +} + +template Windows::Devices::Sms::SmsDeviceStatus impl_ISmsDevice2::DeviceStatus() const +{ + Windows::Devices::Sms::SmsDeviceStatus value {}; + check_hresult(WINRT_SHIM(ISmsDevice2)->get_DeviceStatus(&value)); + return value; +} + +template Windows::Devices::Sms::SmsEncodedLength impl_ISmsDevice2::CalculateLength(const Windows::Devices::Sms::ISmsMessageBase & message) const +{ + Windows::Devices::Sms::SmsEncodedLength value {}; + check_hresult(WINRT_SHIM(ISmsDevice2)->abi_CalculateLength(get_abi(message), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISmsDevice2::SendMessageAndGetResultAsync(const Windows::Devices::Sms::ISmsMessageBase & message) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ISmsDevice2)->abi_SendMessageAndGetResultAsync(get_abi(message), put_abi(asyncInfo))); + return asyncInfo; +} + +template event_token impl_ISmsDevice2::DeviceStatusChanged(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(ISmsDevice2)->add_DeviceStatusChanged(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_ISmsDevice2::DeviceStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sms::ISmsDevice2::remove_DeviceStatusChanged, DeviceStatusChanged(eventHandler)); +} + +template void impl_ISmsDevice2::DeviceStatusChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(ISmsDevice2)->remove_DeviceStatusChanged(eventCookie)); +} + +template Windows::Devices::Sms::SmsMessageType impl_ISmsMessageReceivedTriggerDetails::MessageType() const +{ + Windows::Devices::Sms::SmsMessageType value {}; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->get_MessageType(&value)); + return value; +} + +template Windows::Devices::Sms::SmsTextMessage2 impl_ISmsMessageReceivedTriggerDetails::TextMessage() const +{ + Windows::Devices::Sms::SmsTextMessage2 value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->get_TextMessage(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsWapMessage impl_ISmsMessageReceivedTriggerDetails::WapMessage() const +{ + Windows::Devices::Sms::SmsWapMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->get_WapMessage(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsAppMessage impl_ISmsMessageReceivedTriggerDetails::AppMessage() const +{ + Windows::Devices::Sms::SmsAppMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->get_AppMessage(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsBroadcastMessage impl_ISmsMessageReceivedTriggerDetails::BroadcastMessage() const +{ + Windows::Devices::Sms::SmsBroadcastMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->get_BroadcastMessage(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsVoicemailMessage impl_ISmsMessageReceivedTriggerDetails::VoicemailMessage() const +{ + Windows::Devices::Sms::SmsVoicemailMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->get_VoicemailMessage(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsStatusMessage impl_ISmsMessageReceivedTriggerDetails::StatusMessage() const +{ + Windows::Devices::Sms::SmsStatusMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->get_StatusMessage(put_abi(value))); + return value; +} + +template void impl_ISmsMessageReceivedTriggerDetails::Drop() const +{ + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->abi_Drop()); +} + +template void impl_ISmsMessageReceivedTriggerDetails::Accept() const +{ + check_hresult(WINRT_SHIM(ISmsMessageReceivedTriggerDetails)->abi_Accept()); +} + +template Windows::Devices::Sms::SmsMessageType impl_ISmsFilterRule::MessageType() const +{ + Windows::Devices::Sms::SmsMessageType value {}; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_MessageType(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::ImsiPrefixes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_ImsiPrefixes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::DeviceIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_DeviceIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::SenderNumbers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_SenderNumbers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::TextMessagePrefixes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_TextMessagePrefixes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::PortNumbers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_PortNumbers(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::CellularClass impl_ISmsFilterRule::CellularClass() const +{ + Windows::Devices::Sms::CellularClass value {}; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_CellularClass(&value)); + return value; +} + +template void impl_ISmsFilterRule::CellularClass(Windows::Devices::Sms::CellularClass value) const +{ + check_hresult(WINRT_SHIM(ISmsFilterRule)->put_CellularClass(value)); +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::ProtocolIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_ProtocolIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::TeleserviceIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_TeleserviceIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::WapApplicationIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_WapApplicationIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::WapContentTypes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_WapContentTypes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::BroadcastTypes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_BroadcastTypes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRule::BroadcastChannels() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRule)->get_BroadcastChannels(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsFilterRule impl_ISmsFilterRuleFactory::CreateFilterRule(Windows::Devices::Sms::SmsMessageType messageType) const +{ + Windows::Devices::Sms::SmsFilterRule value { nullptr }; + check_hresult(WINRT_SHIM(ISmsFilterRuleFactory)->abi_CreateFilterRule(messageType, put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsFilterActionType impl_ISmsFilterRules::ActionType() const +{ + Windows::Devices::Sms::SmsFilterActionType value {}; + check_hresult(WINRT_SHIM(ISmsFilterRules)->get_ActionType(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISmsFilterRules::Rules() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISmsFilterRules)->get_Rules(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsFilterRules impl_ISmsFilterRulesFactory::CreateFilterRules(Windows::Devices::Sms::SmsFilterActionType actionType) const +{ + Windows::Devices::Sms::SmsFilterRules value { nullptr }; + check_hresult(WINRT_SHIM(ISmsFilterRulesFactory)->abi_CreateFilterRules(actionType, put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISmsMessageRegistrationStatics::AllRegistrations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISmsMessageRegistrationStatics)->get_AllRegistrations(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsMessageRegistration impl_ISmsMessageRegistrationStatics::Register(hstring_view id, const Windows::Devices::Sms::SmsFilterRules & filterRules) const +{ + Windows::Devices::Sms::SmsMessageRegistration value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageRegistrationStatics)->abi_Register(get_abi(id), get_abi(filterRules), put_abi(value))); + return value; +} + +template hstring impl_ISmsMessageRegistration::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsMessageRegistration)->get_Id(put_abi(value))); + return value; +} + +template void impl_ISmsMessageRegistration::Unregister() const +{ + check_hresult(WINRT_SHIM(ISmsMessageRegistration)->abi_Unregister()); +} + +template event_token impl_ISmsMessageRegistration::MessageReceived(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(ISmsMessageRegistration)->add_MessageReceived(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_ISmsMessageRegistration::MessageReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sms::ISmsMessageRegistration::remove_MessageReceived, MessageReceived(eventHandler)); +} + +template void impl_ISmsMessageRegistration::MessageReceived(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(ISmsMessageRegistration)->remove_MessageReceived(eventCookie)); +} + +template uint32_t impl_ISmsMessage::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmsMessage)->get_Id(&value)); + return value; +} + +template Windows::Devices::Sms::SmsMessageClass impl_ISmsMessage::MessageClass() const +{ + Windows::Devices::Sms::SmsMessageClass value {}; + check_hresult(WINRT_SHIM(ISmsMessage)->get_MessageClass(&value)); + return value; +} + +template Windows::Devices::Sms::SmsDataFormat impl_ISmsBinaryMessage::Format() const +{ + Windows::Devices::Sms::SmsDataFormat value {}; + check_hresult(WINRT_SHIM(ISmsBinaryMessage)->get_Format(&value)); + return value; +} + +template void impl_ISmsBinaryMessage::Format(Windows::Devices::Sms::SmsDataFormat value) const +{ + check_hresult(WINRT_SHIM(ISmsBinaryMessage)->put_Format(value)); +} + +template com_array impl_ISmsBinaryMessage::GetData() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ISmsBinaryMessage)->abi_GetData(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template void impl_ISmsBinaryMessage::SetData(array_view value) const +{ + check_hresult(WINRT_SHIM(ISmsBinaryMessage)->abi_SetData(value.size(), get_abi(value))); +} + +template Windows::Foundation::DateTime impl_ISmsTextMessage::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_Timestamp(put_abi(value))); + return value; +} + +template uint32_t impl_ISmsTextMessage::PartReferenceId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_PartReferenceId(&value)); + return value; +} + +template uint32_t impl_ISmsTextMessage::PartNumber() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_PartNumber(&value)); + return value; +} + +template uint32_t impl_ISmsTextMessage::PartCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_PartCount(&value)); + return value; +} + +template hstring impl_ISmsTextMessage::To() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_To(put_abi(value))); + return value; +} + +template void impl_ISmsTextMessage::To(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage)->put_To(get_abi(value))); +} + +template hstring impl_ISmsTextMessage::From() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_From(put_abi(value))); + return value; +} + +template void impl_ISmsTextMessage::From(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage)->put_From(get_abi(value))); +} + +template hstring impl_ISmsTextMessage::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_Body(put_abi(value))); + return value; +} + +template void impl_ISmsTextMessage::Body(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage)->put_Body(get_abi(value))); +} + +template Windows::Devices::Sms::SmsEncoding impl_ISmsTextMessage::Encoding() const +{ + Windows::Devices::Sms::SmsEncoding value {}; + check_hresult(WINRT_SHIM(ISmsTextMessage)->get_Encoding(&value)); + return value; +} + +template void impl_ISmsTextMessage::Encoding(Windows::Devices::Sms::SmsEncoding value) const +{ + check_hresult(WINRT_SHIM(ISmsTextMessage)->put_Encoding(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_ISmsTextMessage::ToBinaryMessages(Windows::Devices::Sms::SmsDataFormat format) const +{ + Windows::Foundation::Collections::IVectorView messages; + check_hresult(WINRT_SHIM(ISmsTextMessage)->abi_ToBinaryMessages(format, put_abi(messages))); + return messages; +} + +template Windows::Devices::Sms::SmsTextMessage impl_ISmsTextMessageStatics::FromBinaryMessage(const Windows::Devices::Sms::SmsBinaryMessage & binaryMessage) const +{ + Windows::Devices::Sms::SmsTextMessage textMessage { nullptr }; + check_hresult(WINRT_SHIM(ISmsTextMessageStatics)->abi_FromBinaryMessage(get_abi(binaryMessage), put_abi(textMessage))); + return textMessage; +} + +template Windows::Devices::Sms::SmsTextMessage impl_ISmsTextMessageStatics::FromBinaryData(Windows::Devices::Sms::SmsDataFormat format, array_view value) const +{ + Windows::Devices::Sms::SmsTextMessage textMessage { nullptr }; + check_hresult(WINRT_SHIM(ISmsTextMessageStatics)->abi_FromBinaryData(format, value.size(), get_abi(value), put_abi(textMessage))); + return textMessage; +} + +template Windows::Foundation::IAsyncAction impl_ISmsDeviceMessageStore::DeleteMessageAsync(uint32_t messageId) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(ISmsDeviceMessageStore)->abi_DeleteMessageAsync(messageId, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_ISmsDeviceMessageStore::DeleteMessagesAsync(Windows::Devices::Sms::SmsMessageFilter messageFilter) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(ISmsDeviceMessageStore)->abi_DeleteMessagesAsync(messageFilter, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_ISmsDeviceMessageStore::GetMessageAsync(uint32_t messageId) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ISmsDeviceMessageStore)->abi_GetMessageAsync(messageId, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperationWithProgress, int32_t> impl_ISmsDeviceMessageStore::GetMessagesAsync(Windows::Devices::Sms::SmsMessageFilter messageFilter) const +{ + Windows::Foundation::IAsyncOperationWithProgress, int32_t> asyncInfo; + check_hresult(WINRT_SHIM(ISmsDeviceMessageStore)->abi_GetMessagesAsync(messageFilter, put_abi(asyncInfo))); + return asyncInfo; +} + +template uint32_t impl_ISmsDeviceMessageStore::MaxMessages() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmsDeviceMessageStore)->get_MaxMessages(&value)); + return value; +} + +template Windows::Devices::Sms::SmsTextMessage impl_ISmsMessageReceivedEventArgs::TextMessage() const +{ + Windows::Devices::Sms::SmsTextMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedEventArgs)->get_TextMessage(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsBinaryMessage impl_ISmsMessageReceivedEventArgs::BinaryMessage() const +{ + Windows::Devices::Sms::SmsBinaryMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsMessageReceivedEventArgs)->get_BinaryMessage(put_abi(value))); + return value; +} + +template hstring impl_ISmsDeviceStatics::GetDeviceSelector() const +{ + hstring phstrDeviceClassSelector; + check_hresult(WINRT_SHIM(ISmsDeviceStatics)->abi_GetDeviceSelector(put_abi(phstrDeviceClassSelector))); + return phstrDeviceClassSelector; +} + +template Windows::Foundation::IAsyncOperation impl_ISmsDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ISmsDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_ISmsDeviceStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ISmsDeviceStatics)->abi_GetDefaultAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_ISmsDeviceStatics2::FromNetworkAccountIdAsync(hstring_view networkAccountId) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ISmsDeviceStatics2)->abi_FromNetworkAccountIdAsync(get_abi(networkAccountId), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Devices::Sms::SendSmsMessageOperation impl_ISmsDevice::SendMessageAsync(const Windows::Devices::Sms::ISmsMessage & message) const +{ + Windows::Devices::Sms::SendSmsMessageOperation asyncInfo { nullptr }; + check_hresult(WINRT_SHIM(ISmsDevice)->abi_SendMessageAsync(get_abi(message), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Devices::Sms::SmsEncodedLength impl_ISmsDevice::CalculateLength(const Windows::Devices::Sms::SmsTextMessage & message) const +{ + Windows::Devices::Sms::SmsEncodedLength encodedLength {}; + check_hresult(WINRT_SHIM(ISmsDevice)->abi_CalculateLength(get_abi(message), put_abi(encodedLength))); + return encodedLength; +} + +template hstring impl_ISmsDevice::AccountPhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsDevice)->get_AccountPhoneNumber(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::CellularClass impl_ISmsDevice::CellularClass() const +{ + Windows::Devices::Sms::CellularClass value {}; + check_hresult(WINRT_SHIM(ISmsDevice)->get_CellularClass(&value)); + return value; +} + +template Windows::Devices::Sms::SmsDeviceMessageStore impl_ISmsDevice::MessageStore() const +{ + Windows::Devices::Sms::SmsDeviceMessageStore value { nullptr }; + check_hresult(WINRT_SHIM(ISmsDevice)->get_MessageStore(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::SmsDeviceStatus impl_ISmsDevice::DeviceStatus() const +{ + Windows::Devices::Sms::SmsDeviceStatus value {}; + check_hresult(WINRT_SHIM(ISmsDevice)->get_DeviceStatus(&value)); + return value; +} + +template event_token impl_ISmsDevice::SmsMessageReceived(const Windows::Devices::Sms::SmsMessageReceivedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(ISmsDevice)->add_SmsMessageReceived(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_ISmsDevice::SmsMessageReceived(auto_revoke_t, const Windows::Devices::Sms::SmsMessageReceivedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sms::ISmsDevice::remove_SmsMessageReceived, SmsMessageReceived(eventHandler)); +} + +template void impl_ISmsDevice::SmsMessageReceived(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(ISmsDevice)->remove_SmsMessageReceived(eventCookie)); +} + +template event_token impl_ISmsDevice::SmsDeviceStatusChanged(const Windows::Devices::Sms::SmsDeviceStatusChangedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(ISmsDevice)->add_SmsDeviceStatusChanged(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_ISmsDevice::SmsDeviceStatusChanged(auto_revoke_t, const Windows::Devices::Sms::SmsDeviceStatusChangedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Sms::ISmsDevice::remove_SmsDeviceStatusChanged, SmsDeviceStatusChanged(eventHandler)); +} + +template void impl_ISmsDevice::SmsDeviceStatusChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(ISmsDevice)->remove_SmsDeviceStatusChanged(eventCookie)); +} + +template hstring impl_ISmsReceivedEventDetails::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmsReceivedEventDetails)->get_DeviceId(put_abi(value))); + return value; +} + +template uint32_t impl_ISmsReceivedEventDetails::MessageIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISmsReceivedEventDetails)->get_MessageIndex(&value)); + return value; +} + +template Windows::Devices::Sms::SmsMessageClass impl_ISmsReceivedEventDetails2::MessageClass() const +{ + Windows::Devices::Sms::SmsMessageClass value {}; + check_hresult(WINRT_SHIM(ISmsReceivedEventDetails2)->get_MessageClass(&value)); + return value; +} + +template Windows::Devices::Sms::SmsBinaryMessage impl_ISmsReceivedEventDetails2::BinaryMessage() const +{ + Windows::Devices::Sms::SmsBinaryMessage value { nullptr }; + check_hresult(WINRT_SHIM(ISmsReceivedEventDetails2)->get_BinaryMessage(put_abi(value))); + return value; +} + +inline SmsAppMessage::SmsAppMessage() : + SmsAppMessage(activate_instance()) +{} + +inline SmsBinaryMessage::SmsBinaryMessage() : + SmsBinaryMessage(activate_instance()) +{} + +inline hstring SmsDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation SmsDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation SmsDevice::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation SmsDevice::FromNetworkAccountIdAsync(hstring_view networkAccountId) +{ + return get_activation_factory().FromNetworkAccountIdAsync(networkAccountId); +} + +inline hstring SmsDevice2::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Devices::Sms::SmsDevice2 SmsDevice2::FromId(hstring_view deviceId) +{ + return get_activation_factory().FromId(deviceId); +} + +inline Windows::Devices::Sms::SmsDevice2 SmsDevice2::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Devices::Sms::SmsDevice2 SmsDevice2::FromParentId(hstring_view parentDeviceId) +{ + return get_activation_factory().FromParentId(parentDeviceId); +} + +inline SmsFilterRule::SmsFilterRule(Windows::Devices::Sms::SmsMessageType messageType) : + SmsFilterRule(get_activation_factory().CreateFilterRule(messageType)) +{} + +inline SmsFilterRules::SmsFilterRules(Windows::Devices::Sms::SmsFilterActionType actionType) : + SmsFilterRules(get_activation_factory().CreateFilterRules(actionType)) +{} + +inline Windows::Foundation::Collections::IVectorView SmsMessageRegistration::AllRegistrations() +{ + return get_activation_factory().AllRegistrations(); +} + +inline Windows::Devices::Sms::SmsMessageRegistration SmsMessageRegistration::Register(hstring_view id, const Windows::Devices::Sms::SmsFilterRules & filterRules) +{ + return get_activation_factory().Register(id, filterRules); +} + +inline SmsTextMessage::SmsTextMessage() : + SmsTextMessage(activate_instance()) +{} + +inline Windows::Devices::Sms::SmsTextMessage SmsTextMessage::FromBinaryMessage(const Windows::Devices::Sms::SmsBinaryMessage & binaryMessage) +{ + return get_activation_factory().FromBinaryMessage(binaryMessage); +} + +inline Windows::Devices::Sms::SmsTextMessage SmsTextMessage::FromBinaryData(Windows::Devices::Sms::SmsDataFormat format, array_view value) +{ + return get_activation_factory().FromBinaryData(format, value); +} + +inline SmsTextMessage2::SmsTextMessage2() : + SmsTextMessage2(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsAppMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsBinaryMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsBroadcastMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsDevice2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsDevice2Statics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsDeviceMessageStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsDeviceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsFilterRule & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsFilterRuleFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsFilterRules & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsFilterRulesFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsMessageBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsMessageReceivedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsMessageRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsMessageRegistrationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsReceivedEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsReceivedEventDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsSendMessageResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsStatusMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsTextMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsTextMessage2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsTextMessageStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsVoicemailMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::ISmsWapMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::DeleteSmsMessageOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::DeleteSmsMessagesOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::GetSmsDeviceOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::GetSmsMessageOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::GetSmsMessagesOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SendSmsMessageOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsAppMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsBinaryMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsBroadcastMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsDevice2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsDeviceMessageStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsFilterRule & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsFilterRules & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsMessageReceivedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsMessageRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsReceivedEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsSendMessageResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsStatusMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsTextMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsTextMessage2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsVoicemailMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Sms::SmsWapMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Spi.Provider.h b/10.0.15042.0/winrt/Windows.Devices.Spi.Provider.h new file mode 100644 index 000000000..ec830327b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Spi.Provider.h @@ -0,0 +1,489 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Spi.Provider.3.h" +#include "Windows.Devices.Spi.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChipSelectLine(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChipSelectLine()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChipSelectLine(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChipSelectLine(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Devices::Spi::Provider::ProviderSpiMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Devices::Spi::Provider::ProviderSpiMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataBitLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataBitLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataBitLength(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataBitLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClockFrequency(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClockFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClockFrequency(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClockFrequency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Devices::Spi::Provider::ProviderSpiSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SharingMode(Windows::Devices::Spi::Provider::ProviderSpiSharingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SharingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(int32_t chipSelectLine, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(chipSelectLine)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceProvider(impl::abi_arg_in settings, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceProvider(*reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Write(uint32_t __bufferSize, impl::abi_arg_in * buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Write(array_view(buffer, buffer + __bufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Read(uint32_t __bufferSize, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Read(*buffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferSequential(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferSequential(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferFullDuplex(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferFullDuplex(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetControllersAsync(impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetControllersAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Spi::Provider { + +template Windows::Devices::Spi::Provider::ProviderSpiConnectionSettings impl_IProviderSpiConnectionSettingsFactory::Create(int32_t chipSelectLine) const +{ + Windows::Devices::Spi::Provider::ProviderSpiConnectionSettings value { nullptr }; + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettingsFactory)->abi_Create(chipSelectLine, put_abi(value))); + return value; +} + +template int32_t impl_IProviderSpiConnectionSettings::ChipSelectLine() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->get_ChipSelectLine(&value)); + return value; +} + +template void impl_IProviderSpiConnectionSettings::ChipSelectLine(int32_t value) const +{ + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->put_ChipSelectLine(value)); +} + +template Windows::Devices::Spi::Provider::ProviderSpiMode impl_IProviderSpiConnectionSettings::Mode() const +{ + Windows::Devices::Spi::Provider::ProviderSpiMode value {}; + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->get_Mode(&value)); + return value; +} + +template void impl_IProviderSpiConnectionSettings::Mode(Windows::Devices::Spi::Provider::ProviderSpiMode value) const +{ + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->put_Mode(value)); +} + +template int32_t impl_IProviderSpiConnectionSettings::DataBitLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->get_DataBitLength(&value)); + return value; +} + +template void impl_IProviderSpiConnectionSettings::DataBitLength(int32_t value) const +{ + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->put_DataBitLength(value)); +} + +template int32_t impl_IProviderSpiConnectionSettings::ClockFrequency() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->get_ClockFrequency(&value)); + return value; +} + +template void impl_IProviderSpiConnectionSettings::ClockFrequency(int32_t value) const +{ + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->put_ClockFrequency(value)); +} + +template Windows::Devices::Spi::Provider::ProviderSpiSharingMode impl_IProviderSpiConnectionSettings::SharingMode() const +{ + Windows::Devices::Spi::Provider::ProviderSpiSharingMode value {}; + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->get_SharingMode(&value)); + return value; +} + +template void impl_IProviderSpiConnectionSettings::SharingMode(Windows::Devices::Spi::Provider::ProviderSpiSharingMode value) const +{ + check_hresult(WINRT_SHIM(IProviderSpiConnectionSettings)->put_SharingMode(value)); +} + +template Windows::Devices::Spi::Provider::ISpiDeviceProvider impl_ISpiControllerProvider::GetDeviceProvider(const Windows::Devices::Spi::Provider::ProviderSpiConnectionSettings & settings) const +{ + Windows::Devices::Spi::Provider::ISpiDeviceProvider result; + check_hresult(WINRT_SHIM(ISpiControllerProvider)->abi_GetDeviceProvider(get_abi(settings), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_ISpiProvider::GetControllersAsync() const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(ISpiProvider)->abi_GetControllersAsync(put_abi(result))); + return result; +} + +template hstring impl_ISpiDeviceProvider::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpiDeviceProvider)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Spi::Provider::ProviderSpiConnectionSettings impl_ISpiDeviceProvider::ConnectionSettings() const +{ + Windows::Devices::Spi::Provider::ProviderSpiConnectionSettings value { nullptr }; + check_hresult(WINRT_SHIM(ISpiDeviceProvider)->get_ConnectionSettings(put_abi(value))); + return value; +} + +template void impl_ISpiDeviceProvider::Write(array_view buffer) const +{ + check_hresult(WINRT_SHIM(ISpiDeviceProvider)->abi_Write(buffer.size(), get_abi(buffer))); +} + +template void impl_ISpiDeviceProvider::Read(array_view buffer) const +{ + check_hresult(WINRT_SHIM(ISpiDeviceProvider)->abi_Read(buffer.size(), get_abi(buffer))); +} + +template void impl_ISpiDeviceProvider::TransferSequential(array_view writeBuffer, array_view readBuffer) const +{ + check_hresult(WINRT_SHIM(ISpiDeviceProvider)->abi_TransferSequential(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer))); +} + +template void impl_ISpiDeviceProvider::TransferFullDuplex(array_view writeBuffer, array_view readBuffer) const +{ + check_hresult(WINRT_SHIM(ISpiDeviceProvider)->abi_TransferFullDuplex(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer))); +} + +inline ProviderSpiConnectionSettings::ProviderSpiConnectionSettings(int32_t chipSelectLine) : + ProviderSpiConnectionSettings(get_activation_factory().Create(chipSelectLine)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::Provider::IProviderSpiConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::Provider::IProviderSpiConnectionSettingsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::Provider::ISpiControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::Provider::ISpiDeviceProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::Provider::ISpiProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::Provider::ProviderSpiConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Spi.h b/10.0.15042.0/winrt/Windows.Devices.Spi.h new file mode 100644 index 000000000..fe084f55c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Spi.h @@ -0,0 +1,770 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Spi.Provider.3.h" +#include "internal/Windows.Devices.Spi.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChipSelectLineCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChipSelectLineCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinClockFrequency(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinClockFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxClockFrequency(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxClockFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedDataBitLengths(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedDataBitLengths()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChipSelectLine(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChipSelectLine()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChipSelectLine(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChipSelectLine(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Devices::Spi::SpiMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Devices::Spi::SpiMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataBitLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataBitLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataBitLength(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataBitLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClockFrequency(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClockFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClockFrequency(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClockFrequency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Devices::Spi::SpiSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SharingMode(Windows::Devices::Spi::SpiSharingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SharingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(int32_t chipSelectLine, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(chipSelectLine)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDevice(impl::abi_arg_in settings, impl::abi_arg_out device) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *device = detach_abi(this->shim().GetDevice(*reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *device = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDefaultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetControllersAsync(impl::abi_arg_in provider, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetControllersAsync(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Write(uint32_t __bufferSize, impl::abi_arg_in * buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Write(array_view(buffer, buffer + __bufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Read(uint32_t __bufferSize, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Read(*buffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferSequential(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferSequential(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferFullDuplex(uint32_t __writeBufferSize, impl::abi_arg_in * writeBuffer, uint32_t __readBufferSize, impl::abi_arg_out readBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferFullDuplex(array_view(writeBuffer, writeBuffer + __writeBufferSize), *readBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromFriendlyName(impl::abi_arg_in friendlyName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(*reinterpret_cast(&friendlyName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBusInfo(impl::abi_arg_in busId, impl::abi_arg_out busInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *busInfo = detach_abi(this->shim().GetBusInfo(*reinterpret_cast(&busId))); + return S_OK; + } + catch (...) + { + *busInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in busId, impl::abi_arg_in settings, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&busId), *reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Spi { + +template Windows::Devices::Spi::SpiConnectionSettings impl_ISpiConnectionSettingsFactory::Create(int32_t chipSelectLine) const +{ + Windows::Devices::Spi::SpiConnectionSettings value { nullptr }; + check_hresult(WINRT_SHIM(ISpiConnectionSettingsFactory)->abi_Create(chipSelectLine, put_abi(value))); + return value; +} + +template int32_t impl_ISpiConnectionSettings::ChipSelectLine() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->get_ChipSelectLine(&value)); + return value; +} + +template void impl_ISpiConnectionSettings::ChipSelectLine(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->put_ChipSelectLine(value)); +} + +template Windows::Devices::Spi::SpiMode impl_ISpiConnectionSettings::Mode() const +{ + Windows::Devices::Spi::SpiMode value {}; + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->get_Mode(&value)); + return value; +} + +template void impl_ISpiConnectionSettings::Mode(Windows::Devices::Spi::SpiMode value) const +{ + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->put_Mode(value)); +} + +template int32_t impl_ISpiConnectionSettings::DataBitLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->get_DataBitLength(&value)); + return value; +} + +template void impl_ISpiConnectionSettings::DataBitLength(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->put_DataBitLength(value)); +} + +template int32_t impl_ISpiConnectionSettings::ClockFrequency() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->get_ClockFrequency(&value)); + return value; +} + +template void impl_ISpiConnectionSettings::ClockFrequency(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->put_ClockFrequency(value)); +} + +template Windows::Devices::Spi::SpiSharingMode impl_ISpiConnectionSettings::SharingMode() const +{ + Windows::Devices::Spi::SpiSharingMode value {}; + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->get_SharingMode(&value)); + return value; +} + +template void impl_ISpiConnectionSettings::SharingMode(Windows::Devices::Spi::SpiSharingMode value) const +{ + check_hresult(WINRT_SHIM(ISpiConnectionSettings)->put_SharingMode(value)); +} + +template int32_t impl_ISpiBusInfo::ChipSelectLineCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISpiBusInfo)->get_ChipSelectLineCount(&value)); + return value; +} + +template int32_t impl_ISpiBusInfo::MinClockFrequency() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISpiBusInfo)->get_MinClockFrequency(&value)); + return value; +} + +template int32_t impl_ISpiBusInfo::MaxClockFrequency() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISpiBusInfo)->get_MaxClockFrequency(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpiBusInfo::SupportedDataBitLengths() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISpiBusInfo)->get_SupportedDataBitLengths(put_abi(value))); + return value; +} + +template hstring impl_ISpiDeviceStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpiDeviceStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_ISpiDeviceStatics::GetDeviceSelector(hstring_view friendlyName) const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpiDeviceStatics)->abi_GetDeviceSelectorFromFriendlyName(get_abi(friendlyName), put_abi(value))); + return value; +} + +template Windows::Devices::Spi::SpiBusInfo impl_ISpiDeviceStatics::GetBusInfo(hstring_view busId) const +{ + Windows::Devices::Spi::SpiBusInfo busInfo { nullptr }; + check_hresult(WINRT_SHIM(ISpiDeviceStatics)->abi_GetBusInfo(get_abi(busId), put_abi(busInfo))); + return busInfo; +} + +template Windows::Foundation::IAsyncOperation impl_ISpiDeviceStatics::FromIdAsync(hstring_view busId, const Windows::Devices::Spi::SpiConnectionSettings & settings) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISpiDeviceStatics)->abi_FromIdAsync(get_abi(busId), get_abi(settings), put_abi(operation))); + return operation; +} + +template Windows::Devices::Spi::SpiDevice impl_ISpiController::GetDevice(const Windows::Devices::Spi::SpiConnectionSettings & settings) const +{ + Windows::Devices::Spi::SpiDevice device { nullptr }; + check_hresult(WINRT_SHIM(ISpiController)->abi_GetDevice(get_abi(settings), put_abi(device))); + return device; +} + +template Windows::Foundation::IAsyncOperation impl_ISpiControllerStatics::GetDefaultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISpiControllerStatics)->abi_GetDefaultAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ISpiControllerStatics::GetControllersAsync(const Windows::Devices::Spi::Provider::ISpiProvider & provider) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ISpiControllerStatics)->abi_GetControllersAsync(get_abi(provider), put_abi(operation))); + return operation; +} + +template hstring impl_ISpiDevice::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpiDevice)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Devices::Spi::SpiConnectionSettings impl_ISpiDevice::ConnectionSettings() const +{ + Windows::Devices::Spi::SpiConnectionSettings value { nullptr }; + check_hresult(WINRT_SHIM(ISpiDevice)->get_ConnectionSettings(put_abi(value))); + return value; +} + +template void impl_ISpiDevice::Write(array_view buffer) const +{ + check_hresult(WINRT_SHIM(ISpiDevice)->abi_Write(buffer.size(), get_abi(buffer))); +} + +template void impl_ISpiDevice::Read(array_view buffer) const +{ + check_hresult(WINRT_SHIM(ISpiDevice)->abi_Read(buffer.size(), get_abi(buffer))); +} + +template void impl_ISpiDevice::TransferSequential(array_view writeBuffer, array_view readBuffer) const +{ + check_hresult(WINRT_SHIM(ISpiDevice)->abi_TransferSequential(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer))); +} + +template void impl_ISpiDevice::TransferFullDuplex(array_view writeBuffer, array_view readBuffer) const +{ + check_hresult(WINRT_SHIM(ISpiDevice)->abi_TransferFullDuplex(writeBuffer.size(), get_abi(writeBuffer), readBuffer.size(), get_abi(readBuffer))); +} + +inline SpiConnectionSettings::SpiConnectionSettings(int32_t chipSelectLine) : + SpiConnectionSettings(get_activation_factory().Create(chipSelectLine)) +{} + +inline Windows::Foundation::IAsyncOperation SpiController::GetDefaultAsync() +{ + return get_activation_factory().GetDefaultAsync(); +} + +inline Windows::Foundation::IAsyncOperation> SpiController::GetControllersAsync(const Windows::Devices::Spi::Provider::ISpiProvider & provider) +{ + return get_activation_factory().GetControllersAsync(provider); +} + +inline hstring SpiDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline hstring SpiDevice::GetDeviceSelector(hstring_view friendlyName) +{ + return get_activation_factory().GetDeviceSelector(friendlyName); +} + +inline Windows::Devices::Spi::SpiBusInfo SpiDevice::GetBusInfo(hstring_view busId) +{ + return get_activation_factory().GetBusInfo(busId); +} + +inline Windows::Foundation::IAsyncOperation SpiDevice::FromIdAsync(hstring_view busId, const Windows::Devices::Spi::SpiConnectionSettings & settings) +{ + return get_activation_factory().FromIdAsync(busId, settings); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::ISpiBusInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::ISpiConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::ISpiConnectionSettingsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::ISpiController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::ISpiControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::ISpiDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::ISpiDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::SpiBusInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::SpiConnectionSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::SpiController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Spi::SpiDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.Usb.h b/10.0.15042.0/winrt/Windows.Devices.Usb.h new file mode 100644 index 000000000..645384d38 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.Usb.h @@ -0,0 +1,3493 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Usb.3.h" +#include "Windows.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPacketSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPacketSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndpointNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pipe(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pipe()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxTransferSizeBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxTransferSizeBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearStallAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClearStallAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReadOptions(Windows::Devices::Usb::UsbReadOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadOptions(Windows::Devices::Usb::UsbReadOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FlushBuffer() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlushBuffer(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPacketSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPacketSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndpointNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pipe(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pipe()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearStallAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClearStallAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WriteOptions(Windows::Devices::Usb::UsbWriteOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteOptions(Windows::Devices::Usb::UsbWriteOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UsbInterfaces(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsbInterfaces()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConfigurationDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfigurationDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Descriptors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Descriptors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConfigurationValue(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfigurationValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPowerMilliamps(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPowerMilliamps()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelfPowered(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelfPowered()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteWakeup(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteWakeup()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryParse(impl::abi_arg_in descriptor, impl::abi_arg_out parsed, bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TryParse(*reinterpret_cast(&descriptor), *parsed)); + return S_OK; + } + catch (...) + { + *parsed = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Parse(impl::abi_arg_in descriptor, impl::abi_arg_out parsed) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *parsed = detach_abi(this->shim().Parse(*reinterpret_cast(&descriptor))); + return S_OK; + } + catch (...) + { + *parsed = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Direction(Windows::Devices::Usb::UsbTransferDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Direction(Windows::Devices::Usb::UsbTransferDirection value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Direction(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlTransferType(Windows::Devices::Usb::UsbControlTransferType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlTransferType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ControlTransferType(Windows::Devices::Usb::UsbControlTransferType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ControlTransferType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recipient(Windows::Devices::Usb::UsbControlRecipient * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recipient()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Recipient(Windows::Devices::Usb::UsbControlRecipient value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Recipient(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AsByte(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AsByte()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AsByte(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AsByte(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Length(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DescriptorType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DescriptorType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadDescriptorBuffer(impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadDescriptorBuffer(*reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendControlOutTransferAsync(impl::abi_arg_in setupPacket, impl::abi_arg_in buffer, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendControlOutTransferAsync(*reinterpret_cast(&setupPacket), *reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendControlOutTransferAsyncNoBuffer(impl::abi_arg_in setupPacket, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendControlOutTransferAsync(*reinterpret_cast(&setupPacket))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendControlInTransferAsync(impl::abi_arg_in setupPacket, impl::abi_arg_in buffer, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendControlInTransferAsync(*reinterpret_cast(&setupPacket), *reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendControlInTransferAsyncNoBuffer(impl::abi_arg_in setupPacket, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendControlInTransferAsync(*reinterpret_cast(&setupPacket))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultInterface(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultInterface()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Configuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Configuration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClassCode(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClassCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClassCode(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClassCode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubclassCode(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubclassCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SubclassCode(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SubclassCode(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolCode(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtocolCode(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtocolCode(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CdcControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CdcControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Physical(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Physical()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PersonalHealthcare(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PersonalHealthcare()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActiveSync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActiveSync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PalmSync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PalmSync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceFirmwareUpdate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceFirmwareUpdate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Irda(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Irda()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Measurement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Measurement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VendorSpecific(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VendorSpecific()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BcdUsb(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BcdUsb()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPacketSize0(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPacketSize0()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VendorId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VendorId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProductId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BcdDeviceRevision(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BcdDeviceRevision()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfConfigurations(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfConfigurations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(uint32_t vendorId, uint32_t productId, GUID winUsbInterfaceClass, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(vendorId, productId, winUsbInterfaceClass)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorGuidOnly(GUID winUsbInterfaceClass, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(winUsbInterfaceClass)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorVidPidOnly(uint32_t vendorId, uint32_t productId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(vendorId, productId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceClassSelector(impl::abi_arg_in usbClass, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceClassSelector(*reinterpret_cast(&usbClass))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EndpointNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direction(Windows::Devices::Usb::UsbTransferDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndpointType(Windows::Devices::Usb::UsbEndpointType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AsBulkInEndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AsBulkInEndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AsInterruptInEndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AsInterruptInEndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AsBulkOutEndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AsBulkOutEndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AsInterruptOutEndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AsInterruptOutEndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryParse(impl::abi_arg_in descriptor, impl::abi_arg_out parsed, bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TryParse(*reinterpret_cast(&descriptor), *parsed)); + return S_OK; + } + catch (...) + { + *parsed = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Parse(impl::abi_arg_in descriptor, impl::abi_arg_out parsed) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *parsed = detach_abi(this->shim().Parse(*reinterpret_cast(&descriptor))); + return S_OK; + } + catch (...) + { + *parsed = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BulkInPipes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BulkInPipes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterruptInPipes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterruptInPipes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BulkOutPipes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BulkOutPipes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterruptOutPipes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterruptOutPipes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterfaceSettings(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterfaceSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterfaceNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterfaceNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Descriptors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Descriptors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClassCode(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClassCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubclassCode(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubclassCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtocolCode(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtocolCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateSettingNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateSettingNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterfaceNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterfaceNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryParse(impl::abi_arg_in descriptor, impl::abi_arg_out parsed, bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TryParse(*reinterpret_cast(&descriptor), *parsed)); + return S_OK; + } + catch (...) + { + *parsed = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Parse(impl::abi_arg_in descriptor, impl::abi_arg_out parsed) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *parsed = detach_abi(this->shim().Parse(*reinterpret_cast(&descriptor))); + return S_OK; + } + catch (...) + { + *parsed = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BulkInEndpoints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BulkInEndpoints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterruptInEndpoints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterruptInEndpoints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BulkOutEndpoints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BulkOutEndpoints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterruptOutEndpoints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterruptOutEndpoints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Selected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Selected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectSettingAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SelectSettingAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterfaceDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterfaceDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Descriptors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Descriptors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPacketSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPacketSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndpointNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Interval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Interval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pipe(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pipe()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InterruptData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterruptData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearStallAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClearStallAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DataReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DataReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DataReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPacketSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPacketSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndpointNumber(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Interval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Interval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pipe(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pipe()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EndpointDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearStallAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ClearStallAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WriteOptions(Windows::Devices::Usb::UsbWriteOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteOptions(Windows::Devices::Usb::UsbWriteOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequestType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Request(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Request(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Request(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Index(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Index()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Index(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Index(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Length(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Length(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithEightByteBuffer(impl::abi_arg_in eightByteBuffer, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithEightByteBuffer(*reinterpret_cast(&eightByteBuffer))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::Usb { + +template Windows::Devices::Usb::UsbTransferDirection impl_IUsbControlRequestType::Direction() const +{ + Windows::Devices::Usb::UsbTransferDirection value {}; + check_hresult(WINRT_SHIM(IUsbControlRequestType)->get_Direction(&value)); + return value; +} + +template void impl_IUsbControlRequestType::Direction(Windows::Devices::Usb::UsbTransferDirection value) const +{ + check_hresult(WINRT_SHIM(IUsbControlRequestType)->put_Direction(value)); +} + +template Windows::Devices::Usb::UsbControlTransferType impl_IUsbControlRequestType::ControlTransferType() const +{ + Windows::Devices::Usb::UsbControlTransferType value {}; + check_hresult(WINRT_SHIM(IUsbControlRequestType)->get_ControlTransferType(&value)); + return value; +} + +template void impl_IUsbControlRequestType::ControlTransferType(Windows::Devices::Usb::UsbControlTransferType value) const +{ + check_hresult(WINRT_SHIM(IUsbControlRequestType)->put_ControlTransferType(value)); +} + +template Windows::Devices::Usb::UsbControlRecipient impl_IUsbControlRequestType::Recipient() const +{ + Windows::Devices::Usb::UsbControlRecipient value {}; + check_hresult(WINRT_SHIM(IUsbControlRequestType)->get_Recipient(&value)); + return value; +} + +template void impl_IUsbControlRequestType::Recipient(Windows::Devices::Usb::UsbControlRecipient value) const +{ + check_hresult(WINRT_SHIM(IUsbControlRequestType)->put_Recipient(value)); +} + +template uint8_t impl_IUsbControlRequestType::AsByte() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbControlRequestType)->get_AsByte(&value)); + return value; +} + +template void impl_IUsbControlRequestType::AsByte(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IUsbControlRequestType)->put_AsByte(value)); +} + +template Windows::Devices::Usb::UsbSetupPacket impl_IUsbSetupPacketFactory::CreateWithEightByteBuffer(const Windows::Storage::Streams::IBuffer & eightByteBuffer) const +{ + Windows::Devices::Usb::UsbSetupPacket value { nullptr }; + check_hresult(WINRT_SHIM(IUsbSetupPacketFactory)->abi_CreateWithEightByteBuffer(get_abi(eightByteBuffer), put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbControlRequestType impl_IUsbSetupPacket::RequestType() const +{ + Windows::Devices::Usb::UsbControlRequestType value { nullptr }; + check_hresult(WINRT_SHIM(IUsbSetupPacket)->get_RequestType(put_abi(value))); + return value; +} + +template void impl_IUsbSetupPacket::RequestType(const Windows::Devices::Usb::UsbControlRequestType & value) const +{ + check_hresult(WINRT_SHIM(IUsbSetupPacket)->put_RequestType(get_abi(value))); +} + +template uint8_t impl_IUsbSetupPacket::Request() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbSetupPacket)->get_Request(&value)); + return value; +} + +template void impl_IUsbSetupPacket::Request(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IUsbSetupPacket)->put_Request(value)); +} + +template uint32_t impl_IUsbSetupPacket::Value() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbSetupPacket)->get_Value(&value)); + return value; +} + +template void impl_IUsbSetupPacket::Value(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IUsbSetupPacket)->put_Value(value)); +} + +template uint32_t impl_IUsbSetupPacket::Index() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbSetupPacket)->get_Index(&value)); + return value; +} + +template void impl_IUsbSetupPacket::Index(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IUsbSetupPacket)->put_Index(value)); +} + +template uint32_t impl_IUsbSetupPacket::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbSetupPacket)->get_Length(&value)); + return value; +} + +template void impl_IUsbSetupPacket::Length(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IUsbSetupPacket)->put_Length(value)); +} + +template uint8_t impl_IUsbDeviceClass::ClassCode() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbDeviceClass)->get_ClassCode(&value)); + return value; +} + +template void impl_IUsbDeviceClass::ClassCode(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IUsbDeviceClass)->put_ClassCode(value)); +} + +template Windows::Foundation::IReference impl_IUsbDeviceClass::SubclassCode() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUsbDeviceClass)->get_SubclassCode(put_abi(value))); + return value; +} + +template void impl_IUsbDeviceClass::SubclassCode(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUsbDeviceClass)->put_SubclassCode(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IUsbDeviceClass::ProtocolCode() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IUsbDeviceClass)->get_ProtocolCode(put_abi(value))); + return value; +} + +template void impl_IUsbDeviceClass::ProtocolCode(const optional & value) const +{ + check_hresult(WINRT_SHIM(IUsbDeviceClass)->put_ProtocolCode(get_abi(value))); +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::CdcControl() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_CdcControl(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::Physical() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_Physical(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::PersonalHealthcare() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_PersonalHealthcare(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::ActiveSync() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_ActiveSync(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::PalmSync() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_PalmSync(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::DeviceFirmwareUpdate() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_DeviceFirmwareUpdate(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::Irda() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_Irda(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::Measurement() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_Measurement(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceClass impl_IUsbDeviceClassesStatics::VendorSpecific() const +{ + Windows::Devices::Usb::UsbDeviceClass value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDeviceClassesStatics)->get_VendorSpecific(put_abi(value))); + return value; +} + +template hstring impl_IUsbDeviceStatics::GetDeviceSelector(uint32_t vendorId, uint32_t productId, GUID winUsbInterfaceClass) const +{ + hstring value; + check_hresult(WINRT_SHIM(IUsbDeviceStatics)->abi_GetDeviceSelector(vendorId, productId, winUsbInterfaceClass, put_abi(value))); + return value; +} + +template hstring impl_IUsbDeviceStatics::GetDeviceSelector(GUID winUsbInterfaceClass) const +{ + hstring value; + check_hresult(WINRT_SHIM(IUsbDeviceStatics)->abi_GetDeviceSelectorGuidOnly(winUsbInterfaceClass, put_abi(value))); + return value; +} + +template hstring impl_IUsbDeviceStatics::GetDeviceSelector(uint32_t vendorId, uint32_t productId) const +{ + hstring value; + check_hresult(WINRT_SHIM(IUsbDeviceStatics)->abi_GetDeviceSelectorVidPidOnly(vendorId, productId, put_abi(value))); + return value; +} + +template hstring impl_IUsbDeviceStatics::GetDeviceClassSelector(const Windows::Devices::Usb::UsbDeviceClass & usbClass) const +{ + hstring value; + check_hresult(WINRT_SHIM(IUsbDeviceStatics)->abi_GetDeviceClassSelector(get_abi(usbClass), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUsbDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUsbDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUsbDevice::SendControlOutTransferAsync(const Windows::Devices::Usb::UsbSetupPacket & setupPacket, const Windows::Storage::Streams::IBuffer & buffer) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUsbDevice)->abi_SendControlOutTransferAsync(get_abi(setupPacket), get_abi(buffer), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUsbDevice::SendControlOutTransferAsync(const Windows::Devices::Usb::UsbSetupPacket & setupPacket) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUsbDevice)->abi_SendControlOutTransferAsyncNoBuffer(get_abi(setupPacket), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUsbDevice::SendControlInTransferAsync(const Windows::Devices::Usb::UsbSetupPacket & setupPacket, const Windows::Storage::Streams::IBuffer & buffer) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUsbDevice)->abi_SendControlInTransferAsync(get_abi(setupPacket), get_abi(buffer), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUsbDevice::SendControlInTransferAsync(const Windows::Devices::Usb::UsbSetupPacket & setupPacket) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUsbDevice)->abi_SendControlInTransferAsyncNoBuffer(get_abi(setupPacket), put_abi(operation))); + return operation; +} + +template Windows::Devices::Usb::UsbInterface impl_IUsbDevice::DefaultInterface() const +{ + Windows::Devices::Usb::UsbInterface value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDevice)->get_DefaultInterface(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbDeviceDescriptor impl_IUsbDevice::DeviceDescriptor() const +{ + Windows::Devices::Usb::UsbDeviceDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDevice)->get_DeviceDescriptor(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbConfiguration impl_IUsbDevice::Configuration() const +{ + Windows::Devices::Usb::UsbConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IUsbDevice)->get_Configuration(put_abi(value))); + return value; +} + +template uint32_t impl_IUsbDeviceDescriptor::BcdUsb() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbDeviceDescriptor)->get_BcdUsb(&value)); + return value; +} + +template uint8_t impl_IUsbDeviceDescriptor::MaxPacketSize0() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbDeviceDescriptor)->get_MaxPacketSize0(&value)); + return value; +} + +template uint32_t impl_IUsbDeviceDescriptor::VendorId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbDeviceDescriptor)->get_VendorId(&value)); + return value; +} + +template uint32_t impl_IUsbDeviceDescriptor::ProductId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbDeviceDescriptor)->get_ProductId(&value)); + return value; +} + +template uint32_t impl_IUsbDeviceDescriptor::BcdDeviceRevision() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbDeviceDescriptor)->get_BcdDeviceRevision(&value)); + return value; +} + +template uint8_t impl_IUsbDeviceDescriptor::NumberOfConfigurations() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbDeviceDescriptor)->get_NumberOfConfigurations(&value)); + return value; +} + +template uint8_t impl_IUsbConfigurationDescriptor::ConfigurationValue() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbConfigurationDescriptor)->get_ConfigurationValue(&value)); + return value; +} + +template uint32_t impl_IUsbConfigurationDescriptor::MaxPowerMilliamps() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbConfigurationDescriptor)->get_MaxPowerMilliamps(&value)); + return value; +} + +template bool impl_IUsbConfigurationDescriptor::SelfPowered() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUsbConfigurationDescriptor)->get_SelfPowered(&value)); + return value; +} + +template bool impl_IUsbConfigurationDescriptor::RemoteWakeup() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUsbConfigurationDescriptor)->get_RemoteWakeup(&value)); + return value; +} + +template bool impl_IUsbConfigurationDescriptorStatics::TryParse(const Windows::Devices::Usb::UsbDescriptor & descriptor, Windows::Devices::Usb::UsbConfigurationDescriptor & parsed) const +{ + bool success {}; + check_hresult(WINRT_SHIM(IUsbConfigurationDescriptorStatics)->abi_TryParse(get_abi(descriptor), put_abi(parsed), &success)); + return success; +} + +template Windows::Devices::Usb::UsbConfigurationDescriptor impl_IUsbConfigurationDescriptorStatics::Parse(const Windows::Devices::Usb::UsbDescriptor & descriptor) const +{ + Windows::Devices::Usb::UsbConfigurationDescriptor parsed { nullptr }; + check_hresult(WINRT_SHIM(IUsbConfigurationDescriptorStatics)->abi_Parse(get_abi(descriptor), put_abi(parsed))); + return parsed; +} + +template uint8_t impl_IUsbInterfaceDescriptor::ClassCode() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterfaceDescriptor)->get_ClassCode(&value)); + return value; +} + +template uint8_t impl_IUsbInterfaceDescriptor::SubclassCode() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterfaceDescriptor)->get_SubclassCode(&value)); + return value; +} + +template uint8_t impl_IUsbInterfaceDescriptor::ProtocolCode() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterfaceDescriptor)->get_ProtocolCode(&value)); + return value; +} + +template uint8_t impl_IUsbInterfaceDescriptor::AlternateSettingNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterfaceDescriptor)->get_AlternateSettingNumber(&value)); + return value; +} + +template uint8_t impl_IUsbInterfaceDescriptor::InterfaceNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterfaceDescriptor)->get_InterfaceNumber(&value)); + return value; +} + +template bool impl_IUsbInterfaceDescriptorStatics::TryParse(const Windows::Devices::Usb::UsbDescriptor & descriptor, Windows::Devices::Usb::UsbInterfaceDescriptor & parsed) const +{ + bool success {}; + check_hresult(WINRT_SHIM(IUsbInterfaceDescriptorStatics)->abi_TryParse(get_abi(descriptor), put_abi(parsed), &success)); + return success; +} + +template Windows::Devices::Usb::UsbInterfaceDescriptor impl_IUsbInterfaceDescriptorStatics::Parse(const Windows::Devices::Usb::UsbDescriptor & descriptor) const +{ + Windows::Devices::Usb::UsbInterfaceDescriptor parsed { nullptr }; + check_hresult(WINRT_SHIM(IUsbInterfaceDescriptorStatics)->abi_Parse(get_abi(descriptor), put_abi(parsed))); + return parsed; +} + +template uint8_t impl_IUsbEndpointDescriptor::EndpointNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptor)->get_EndpointNumber(&value)); + return value; +} + +template Windows::Devices::Usb::UsbTransferDirection impl_IUsbEndpointDescriptor::Direction() const +{ + Windows::Devices::Usb::UsbTransferDirection value {}; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptor)->get_Direction(&value)); + return value; +} + +template Windows::Devices::Usb::UsbEndpointType impl_IUsbEndpointDescriptor::EndpointType() const +{ + Windows::Devices::Usb::UsbEndpointType value {}; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptor)->get_EndpointType(&value)); + return value; +} + +template Windows::Devices::Usb::UsbBulkInEndpointDescriptor impl_IUsbEndpointDescriptor::AsBulkInEndpointDescriptor() const +{ + Windows::Devices::Usb::UsbBulkInEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptor)->get_AsBulkInEndpointDescriptor(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbInterruptInEndpointDescriptor impl_IUsbEndpointDescriptor::AsInterruptInEndpointDescriptor() const +{ + Windows::Devices::Usb::UsbInterruptInEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptor)->get_AsInterruptInEndpointDescriptor(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbBulkOutEndpointDescriptor impl_IUsbEndpointDescriptor::AsBulkOutEndpointDescriptor() const +{ + Windows::Devices::Usb::UsbBulkOutEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptor)->get_AsBulkOutEndpointDescriptor(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbInterruptOutEndpointDescriptor impl_IUsbEndpointDescriptor::AsInterruptOutEndpointDescriptor() const +{ + Windows::Devices::Usb::UsbInterruptOutEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptor)->get_AsInterruptOutEndpointDescriptor(put_abi(value))); + return value; +} + +template bool impl_IUsbEndpointDescriptorStatics::TryParse(const Windows::Devices::Usb::UsbDescriptor & descriptor, Windows::Devices::Usb::UsbEndpointDescriptor & parsed) const +{ + bool success {}; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptorStatics)->abi_TryParse(get_abi(descriptor), put_abi(parsed), &success)); + return success; +} + +template Windows::Devices::Usb::UsbEndpointDescriptor impl_IUsbEndpointDescriptorStatics::Parse(const Windows::Devices::Usb::UsbDescriptor & descriptor) const +{ + Windows::Devices::Usb::UsbEndpointDescriptor parsed { nullptr }; + check_hresult(WINRT_SHIM(IUsbEndpointDescriptorStatics)->abi_Parse(get_abi(descriptor), put_abi(parsed))); + return parsed; +} + +template uint8_t impl_IUsbDescriptor::Length() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbDescriptor)->get_Length(&value)); + return value; +} + +template uint8_t impl_IUsbDescriptor::DescriptorType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbDescriptor)->get_DescriptorType(&value)); + return value; +} + +template void impl_IUsbDescriptor::ReadDescriptorBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(IUsbDescriptor)->abi_ReadDescriptorBuffer(get_abi(buffer))); +} + +template Windows::Storage::Streams::IBuffer impl_IUsbInterruptInEventArgs::InterruptData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IUsbInterruptInEventArgs)->get_InterruptData(put_abi(value))); + return value; +} + +template uint32_t impl_IUsbBulkInPipe::MaxTransferSizeBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbBulkInPipe)->get_MaxTransferSizeBytes(&value)); + return value; +} + +template Windows::Devices::Usb::UsbBulkInEndpointDescriptor impl_IUsbBulkInPipe::EndpointDescriptor() const +{ + Windows::Devices::Usb::UsbBulkInEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbBulkInPipe)->get_EndpointDescriptor(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUsbBulkInPipe::ClearStallAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IUsbBulkInPipe)->abi_ClearStallAsync(put_abi(operation))); + return operation; +} + +template void impl_IUsbBulkInPipe::ReadOptions(Windows::Devices::Usb::UsbReadOptions value) const +{ + check_hresult(WINRT_SHIM(IUsbBulkInPipe)->put_ReadOptions(value)); +} + +template Windows::Devices::Usb::UsbReadOptions impl_IUsbBulkInPipe::ReadOptions() const +{ + Windows::Devices::Usb::UsbReadOptions value {}; + check_hresult(WINRT_SHIM(IUsbBulkInPipe)->get_ReadOptions(&value)); + return value; +} + +template void impl_IUsbBulkInPipe::FlushBuffer() const +{ + check_hresult(WINRT_SHIM(IUsbBulkInPipe)->abi_FlushBuffer()); +} + +template Windows::Storage::Streams::IInputStream impl_IUsbBulkInPipe::InputStream() const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(IUsbBulkInPipe)->get_InputStream(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbInterruptInEndpointDescriptor impl_IUsbInterruptInPipe::EndpointDescriptor() const +{ + Windows::Devices::Usb::UsbInterruptInEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbInterruptInPipe)->get_EndpointDescriptor(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUsbInterruptInPipe::ClearStallAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IUsbInterruptInPipe)->abi_ClearStallAsync(put_abi(operation))); + return operation; +} + +template event_token impl_IUsbInterruptInPipe::DataReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUsbInterruptInPipe)->add_DataReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUsbInterruptInPipe::DataReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::Usb::IUsbInterruptInPipe::remove_DataReceived, DataReceived(handler)); +} + +template void impl_IUsbInterruptInPipe::DataReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IUsbInterruptInPipe)->remove_DataReceived(token)); +} + +template Windows::Devices::Usb::UsbBulkOutEndpointDescriptor impl_IUsbBulkOutPipe::EndpointDescriptor() const +{ + Windows::Devices::Usb::UsbBulkOutEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbBulkOutPipe)->get_EndpointDescriptor(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUsbBulkOutPipe::ClearStallAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IUsbBulkOutPipe)->abi_ClearStallAsync(put_abi(operation))); + return operation; +} + +template void impl_IUsbBulkOutPipe::WriteOptions(Windows::Devices::Usb::UsbWriteOptions value) const +{ + check_hresult(WINRT_SHIM(IUsbBulkOutPipe)->put_WriteOptions(value)); +} + +template Windows::Devices::Usb::UsbWriteOptions impl_IUsbBulkOutPipe::WriteOptions() const +{ + Windows::Devices::Usb::UsbWriteOptions value {}; + check_hresult(WINRT_SHIM(IUsbBulkOutPipe)->get_WriteOptions(&value)); + return value; +} + +template Windows::Storage::Streams::IOutputStream impl_IUsbBulkOutPipe::OutputStream() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(IUsbBulkOutPipe)->get_OutputStream(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbInterruptOutEndpointDescriptor impl_IUsbInterruptOutPipe::EndpointDescriptor() const +{ + Windows::Devices::Usb::UsbInterruptOutEndpointDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbInterruptOutPipe)->get_EndpointDescriptor(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUsbInterruptOutPipe::ClearStallAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IUsbInterruptOutPipe)->abi_ClearStallAsync(put_abi(operation))); + return operation; +} + +template void impl_IUsbInterruptOutPipe::WriteOptions(Windows::Devices::Usb::UsbWriteOptions value) const +{ + check_hresult(WINRT_SHIM(IUsbInterruptOutPipe)->put_WriteOptions(value)); +} + +template Windows::Devices::Usb::UsbWriteOptions impl_IUsbInterruptOutPipe::WriteOptions() const +{ + Windows::Devices::Usb::UsbWriteOptions value {}; + check_hresult(WINRT_SHIM(IUsbInterruptOutPipe)->get_WriteOptions(&value)); + return value; +} + +template Windows::Storage::Streams::IOutputStream impl_IUsbInterruptOutPipe::OutputStream() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(IUsbInterruptOutPipe)->get_OutputStream(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbConfiguration::UsbInterfaces() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbConfiguration)->get_UsbInterfaces(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbConfigurationDescriptor impl_IUsbConfiguration::ConfigurationDescriptor() const +{ + Windows::Devices::Usb::UsbConfigurationDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbConfiguration)->get_ConfigurationDescriptor(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbConfiguration::Descriptors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbConfiguration)->get_Descriptors(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterface::BulkInPipes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterface)->get_BulkInPipes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterface::InterruptInPipes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterface)->get_InterruptInPipes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterface::BulkOutPipes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterface)->get_BulkOutPipes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterface::InterruptOutPipes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterface)->get_InterruptOutPipes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterface::InterfaceSettings() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterface)->get_InterfaceSettings(put_abi(value))); + return value; +} + +template uint8_t impl_IUsbInterface::InterfaceNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterface)->get_InterfaceNumber(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterface::Descriptors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterface)->get_Descriptors(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterfaceSetting::BulkInEndpoints() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->get_BulkInEndpoints(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterfaceSetting::InterruptInEndpoints() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->get_InterruptInEndpoints(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterfaceSetting::BulkOutEndpoints() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->get_BulkOutEndpoints(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterfaceSetting::InterruptOutEndpoints() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->get_InterruptOutEndpoints(put_abi(value))); + return value; +} + +template bool impl_IUsbInterfaceSetting::Selected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->get_Selected(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUsbInterfaceSetting::SelectSettingAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->abi_SelectSettingAsync(put_abi(operation))); + return operation; +} + +template Windows::Devices::Usb::UsbInterfaceDescriptor impl_IUsbInterfaceSetting::InterfaceDescriptor() const +{ + Windows::Devices::Usb::UsbInterfaceDescriptor value { nullptr }; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->get_InterfaceDescriptor(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUsbInterfaceSetting::Descriptors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUsbInterfaceSetting)->get_Descriptors(put_abi(value))); + return value; +} + +template uint32_t impl_IUsbBulkInEndpointDescriptor::MaxPacketSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbBulkInEndpointDescriptor)->get_MaxPacketSize(&value)); + return value; +} + +template uint8_t impl_IUsbBulkInEndpointDescriptor::EndpointNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbBulkInEndpointDescriptor)->get_EndpointNumber(&value)); + return value; +} + +template Windows::Devices::Usb::UsbBulkInPipe impl_IUsbBulkInEndpointDescriptor::Pipe() const +{ + Windows::Devices::Usb::UsbBulkInPipe value { nullptr }; + check_hresult(WINRT_SHIM(IUsbBulkInEndpointDescriptor)->get_Pipe(put_abi(value))); + return value; +} + +template uint32_t impl_IUsbInterruptInEndpointDescriptor::MaxPacketSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbInterruptInEndpointDescriptor)->get_MaxPacketSize(&value)); + return value; +} + +template uint8_t impl_IUsbInterruptInEndpointDescriptor::EndpointNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterruptInEndpointDescriptor)->get_EndpointNumber(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IUsbInterruptInEndpointDescriptor::Interval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IUsbInterruptInEndpointDescriptor)->get_Interval(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbInterruptInPipe impl_IUsbInterruptInEndpointDescriptor::Pipe() const +{ + Windows::Devices::Usb::UsbInterruptInPipe value { nullptr }; + check_hresult(WINRT_SHIM(IUsbInterruptInEndpointDescriptor)->get_Pipe(put_abi(value))); + return value; +} + +template uint32_t impl_IUsbBulkOutEndpointDescriptor::MaxPacketSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbBulkOutEndpointDescriptor)->get_MaxPacketSize(&value)); + return value; +} + +template uint8_t impl_IUsbBulkOutEndpointDescriptor::EndpointNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbBulkOutEndpointDescriptor)->get_EndpointNumber(&value)); + return value; +} + +template Windows::Devices::Usb::UsbBulkOutPipe impl_IUsbBulkOutEndpointDescriptor::Pipe() const +{ + Windows::Devices::Usb::UsbBulkOutPipe value { nullptr }; + check_hresult(WINRT_SHIM(IUsbBulkOutEndpointDescriptor)->get_Pipe(put_abi(value))); + return value; +} + +template uint32_t impl_IUsbInterruptOutEndpointDescriptor::MaxPacketSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUsbInterruptOutEndpointDescriptor)->get_MaxPacketSize(&value)); + return value; +} + +template uint8_t impl_IUsbInterruptOutEndpointDescriptor::EndpointNumber() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUsbInterruptOutEndpointDescriptor)->get_EndpointNumber(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IUsbInterruptOutEndpointDescriptor::Interval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IUsbInterruptOutEndpointDescriptor)->get_Interval(put_abi(value))); + return value; +} + +template Windows::Devices::Usb::UsbInterruptOutPipe impl_IUsbInterruptOutEndpointDescriptor::Pipe() const +{ + Windows::Devices::Usb::UsbInterruptOutPipe value { nullptr }; + check_hresult(WINRT_SHIM(IUsbInterruptOutEndpointDescriptor)->get_Pipe(put_abi(value))); + return value; +} + +inline bool UsbConfigurationDescriptor::TryParse(const Windows::Devices::Usb::UsbDescriptor & descriptor, Windows::Devices::Usb::UsbConfigurationDescriptor & parsed) +{ + return get_activation_factory().TryParse(descriptor, parsed); +} + +inline Windows::Devices::Usb::UsbConfigurationDescriptor UsbConfigurationDescriptor::Parse(const Windows::Devices::Usb::UsbDescriptor & descriptor) +{ + return get_activation_factory().Parse(descriptor); +} + +inline UsbControlRequestType::UsbControlRequestType() : + UsbControlRequestType(activate_instance()) +{} + +inline hstring UsbDevice::GetDeviceSelector(uint32_t vendorId, uint32_t productId, GUID winUsbInterfaceClass) +{ + return get_activation_factory().GetDeviceSelector(vendorId, productId, winUsbInterfaceClass); +} + +inline hstring UsbDevice::GetDeviceSelector(GUID winUsbInterfaceClass) +{ + return get_activation_factory().GetDeviceSelector(winUsbInterfaceClass); +} + +inline hstring UsbDevice::GetDeviceSelector(uint32_t vendorId, uint32_t productId) +{ + return get_activation_factory().GetDeviceSelector(vendorId, productId); +} + +inline hstring UsbDevice::GetDeviceClassSelector(const Windows::Devices::Usb::UsbDeviceClass & usbClass) +{ + return get_activation_factory().GetDeviceClassSelector(usbClass); +} + +inline Windows::Foundation::IAsyncOperation UsbDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline UsbDeviceClass::UsbDeviceClass() : + UsbDeviceClass(activate_instance()) +{} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::CdcControl() +{ + return get_activation_factory().CdcControl(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::Physical() +{ + return get_activation_factory().Physical(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::PersonalHealthcare() +{ + return get_activation_factory().PersonalHealthcare(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::ActiveSync() +{ + return get_activation_factory().ActiveSync(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::PalmSync() +{ + return get_activation_factory().PalmSync(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::DeviceFirmwareUpdate() +{ + return get_activation_factory().DeviceFirmwareUpdate(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::Irda() +{ + return get_activation_factory().Irda(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::Measurement() +{ + return get_activation_factory().Measurement(); +} + +inline Windows::Devices::Usb::UsbDeviceClass UsbDeviceClasses::VendorSpecific() +{ + return get_activation_factory().VendorSpecific(); +} + +inline bool UsbEndpointDescriptor::TryParse(const Windows::Devices::Usb::UsbDescriptor & descriptor, Windows::Devices::Usb::UsbEndpointDescriptor & parsed) +{ + return get_activation_factory().TryParse(descriptor, parsed); +} + +inline Windows::Devices::Usb::UsbEndpointDescriptor UsbEndpointDescriptor::Parse(const Windows::Devices::Usb::UsbDescriptor & descriptor) +{ + return get_activation_factory().Parse(descriptor); +} + +inline bool UsbInterfaceDescriptor::TryParse(const Windows::Devices::Usb::UsbDescriptor & descriptor, Windows::Devices::Usb::UsbInterfaceDescriptor & parsed) +{ + return get_activation_factory().TryParse(descriptor, parsed); +} + +inline Windows::Devices::Usb::UsbInterfaceDescriptor UsbInterfaceDescriptor::Parse(const Windows::Devices::Usb::UsbDescriptor & descriptor) +{ + return get_activation_factory().Parse(descriptor); +} + +inline UsbSetupPacket::UsbSetupPacket() : + UsbSetupPacket(activate_instance()) +{} + +inline UsbSetupPacket::UsbSetupPacket(const Windows::Storage::Streams::IBuffer & eightByteBuffer) : + UsbSetupPacket(get_activation_factory().CreateWithEightByteBuffer(eightByteBuffer)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbBulkInEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbBulkInPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbBulkOutEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbBulkOutPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbConfigurationDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbConfigurationDescriptorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbControlRequestType & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbDeviceClass & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbDeviceClasses & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbDeviceClassesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbDeviceDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbEndpointDescriptorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterfaceDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterfaceDescriptorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterfaceSetting & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterruptInEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterruptInEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterruptInPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterruptOutEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbInterruptOutPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbSetupPacket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::IUsbSetupPacketFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbBulkInEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbBulkInPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbBulkOutEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbBulkOutPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbConfigurationDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbControlRequestType & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbDeviceClass & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbDeviceClasses & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbDeviceDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterfaceDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterfaceSetting & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterruptInEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterruptInEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterruptInPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterruptOutEndpointDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbInterruptOutPipe & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::Usb::UsbSetupPacket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.WiFi.h b/10.0.15042.0/winrt/Windows.Devices.WiFi.h new file mode 100644 index 000000000..f8a1b4669 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.WiFi.h @@ -0,0 +1,731 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.Connectivity.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.WiFi.3.h" +#include "Windows.Devices.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAdapter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAdapter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScanAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkReport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkReport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AvailableNetworksChanged(impl::abi_arg_in> args, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().AvailableNetworksChanged(*reinterpret_cast *>(&args))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AvailableNetworksChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AvailableNetworksChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_in availableNetwork, Windows::Devices::WiFi::WiFiReconnectionKind reconnectionKind, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&availableNetwork), reconnectionKind)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectWithPasswordCredentialAsync(impl::abi_arg_in availableNetwork, Windows::Devices::WiFi::WiFiReconnectionKind reconnectionKind, impl::abi_arg_in passwordCredential, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&availableNetwork), reconnectionKind, *reinterpret_cast(&passwordCredential))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectWithPasswordCredentialAndSsidAsync(impl::abi_arg_in availableNetwork, Windows::Devices::WiFi::WiFiReconnectionKind reconnectionKind, impl::abi_arg_in passwordCredential, impl::abi_arg_in ssid, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&availableNetwork), reconnectionKind, *reinterpret_cast(&passwordCredential), *reinterpret_cast(&ssid))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Disconnect() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disconnect(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAllAdaptersAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllAdaptersAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uptime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uptime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ssid(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ssid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bssid(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bssid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChannelCenterFrequencyInKilohertz(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChannelCenterFrequencyInKilohertz()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkRssiInDecibelMilliwatts(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkRssiInDecibelMilliwatts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignalBars(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignalBars()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkKind(Windows::Devices::WiFi::WiFiNetworkKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhyKind(Windows::Devices::WiFi::WiFiPhyKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhyKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecuritySettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecuritySettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BeaconInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BeaconInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsWiFiDirect(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWiFiDirect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConnectionStatus(Windows::Devices::WiFi::WiFiConnectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableNetworks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableNetworks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::WiFi { + +template Windows::Foundation::IAsyncOperation> impl_IWiFiAdapterStatics::FindAllAdaptersAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IWiFiAdapterStatics)->abi_FindAllAdaptersAsync(put_abi(value))); + return value; +} + +template hstring impl_IWiFiAdapterStatics::GetDeviceSelector() const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IWiFiAdapterStatics)->abi_GetDeviceSelector(put_abi(deviceSelector))); + return deviceSelector; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiAdapterStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IWiFiAdapterStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiAdapterStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IWiFiAdapterStatics)->abi_RequestAccessAsync(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkAdapter impl_IWiFiAdapter::NetworkAdapter() const +{ + Windows::Networking::Connectivity::NetworkAdapter value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiAdapter)->get_NetworkAdapter(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IWiFiAdapter::ScanAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IWiFiAdapter)->abi_ScanAsync(put_abi(value))); + return value; +} + +template Windows::Devices::WiFi::WiFiNetworkReport impl_IWiFiAdapter::NetworkReport() const +{ + Windows::Devices::WiFi::WiFiNetworkReport value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiAdapter)->get_NetworkReport(put_abi(value))); + return value; +} + +template event_token impl_IWiFiAdapter::AvailableNetworksChanged(const Windows::Foundation::TypedEventHandler & args) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IWiFiAdapter)->add_AvailableNetworksChanged(get_abi(args), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IWiFiAdapter::AvailableNetworksChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & args) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFi::IWiFiAdapter::remove_AvailableNetworksChanged, AvailableNetworksChanged(args)); +} + +template void impl_IWiFiAdapter::AvailableNetworksChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IWiFiAdapter)->remove_AvailableNetworksChanged(eventCookie)); +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiAdapter::ConnectAsync(const Windows::Devices::WiFi::WiFiAvailableNetwork & availableNetwork, Windows::Devices::WiFi::WiFiReconnectionKind reconnectionKind) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IWiFiAdapter)->abi_ConnectAsync(get_abi(availableNetwork), reconnectionKind, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiAdapter::ConnectAsync(const Windows::Devices::WiFi::WiFiAvailableNetwork & availableNetwork, Windows::Devices::WiFi::WiFiReconnectionKind reconnectionKind, const Windows::Security::Credentials::PasswordCredential & passwordCredential) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IWiFiAdapter)->abi_ConnectWithPasswordCredentialAsync(get_abi(availableNetwork), reconnectionKind, get_abi(passwordCredential), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiAdapter::ConnectAsync(const Windows::Devices::WiFi::WiFiAvailableNetwork & availableNetwork, Windows::Devices::WiFi::WiFiReconnectionKind reconnectionKind, const Windows::Security::Credentials::PasswordCredential & passwordCredential, hstring_view ssid) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IWiFiAdapter)->abi_ConnectWithPasswordCredentialAndSsidAsync(get_abi(availableNetwork), reconnectionKind, get_abi(passwordCredential), get_abi(ssid), put_abi(value))); + return value; +} + +template void impl_IWiFiAdapter::Disconnect() const +{ + check_hresult(WINRT_SHIM(IWiFiAdapter)->abi_Disconnect()); +} + +template Windows::Foundation::DateTime impl_IWiFiNetworkReport::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IWiFiNetworkReport)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWiFiNetworkReport::AvailableNetworks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWiFiNetworkReport)->get_AvailableNetworks(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IWiFiAvailableNetwork::Uptime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_Uptime(put_abi(value))); + return value; +} + +template hstring impl_IWiFiAvailableNetwork::Ssid() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_Ssid(put_abi(value))); + return value; +} + +template hstring impl_IWiFiAvailableNetwork::Bssid() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_Bssid(put_abi(value))); + return value; +} + +template int32_t impl_IWiFiAvailableNetwork::ChannelCenterFrequencyInKilohertz() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_ChannelCenterFrequencyInKilohertz(&value)); + return value; +} + +template double impl_IWiFiAvailableNetwork::NetworkRssiInDecibelMilliwatts() const +{ + double value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_NetworkRssiInDecibelMilliwatts(&value)); + return value; +} + +template uint8_t impl_IWiFiAvailableNetwork::SignalBars() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_SignalBars(&value)); + return value; +} + +template Windows::Devices::WiFi::WiFiNetworkKind impl_IWiFiAvailableNetwork::NetworkKind() const +{ + Windows::Devices::WiFi::WiFiNetworkKind value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_NetworkKind(&value)); + return value; +} + +template Windows::Devices::WiFi::WiFiPhyKind impl_IWiFiAvailableNetwork::PhyKind() const +{ + Windows::Devices::WiFi::WiFiPhyKind value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_PhyKind(&value)); + return value; +} + +template Windows::Networking::Connectivity::NetworkSecuritySettings impl_IWiFiAvailableNetwork::SecuritySettings() const +{ + Windows::Networking::Connectivity::NetworkSecuritySettings value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_SecuritySettings(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IWiFiAvailableNetwork::BeaconInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_BeaconInterval(put_abi(value))); + return value; +} + +template bool impl_IWiFiAvailableNetwork::IsWiFiDirect() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWiFiAvailableNetwork)->get_IsWiFiDirect(&value)); + return value; +} + +template Windows::Devices::WiFi::WiFiConnectionStatus impl_IWiFiConnectionResult::ConnectionStatus() const +{ + Windows::Devices::WiFi::WiFiConnectionStatus value {}; + check_hresult(WINRT_SHIM(IWiFiConnectionResult)->get_ConnectionStatus(&value)); + return value; +} + +inline Windows::Foundation::IAsyncOperation> WiFiAdapter::FindAllAdaptersAsync() +{ + return get_activation_factory().FindAllAdaptersAsync(); +} + +inline hstring WiFiAdapter::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation WiFiAdapter::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline Windows::Foundation::IAsyncOperation WiFiAdapter::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::IWiFiAdapter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::IWiFiAdapterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::IWiFiAvailableNetwork & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::IWiFiConnectionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::IWiFiNetworkReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::WiFiAdapter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::WiFiAvailableNetwork & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::WiFiConnectionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFi::WiFiNetworkReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.WiFiDirect.Services.h b/10.0.15042.0/winrt/Windows.Devices.WiFiDirect.Services.h new file mode 100644 index 000000000..dcd876fac --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.WiFiDirect.Services.h @@ -0,0 +1,1730 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "internal/Windows.Devices.WiFiDirect.Services.3.h" +#include "Windows.Devices.WiFiDirect.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteServiceInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteServiceInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedConfigurationMethods(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedConfigurationMethods()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferGroupOwnerMode(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferGroupOwnerMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferGroupOwnerMode(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferGroupOwnerMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SessionInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SessionInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceError(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SessionDeferred(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SessionDeferred(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SessionDeferred(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SessionDeferred(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProvisioningInfoAsync(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceConfigurationMethod selectedConfigurationMethod, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetProvisioningInfoAsync(selectedConfigurationMethod)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConnectAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsyncWithPin(impl::abi_arg_in pin, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&pin))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceNamePrefixes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceNamePrefixes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServiceInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoAcceptSession(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoAcceptSession()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoAcceptSession(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoAcceptSession(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferGroupOwnerMode(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferGroupOwnerMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferGroupOwnerMode(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferGroupOwnerMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredConfigurationMethods(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredConfigurationMethods()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceStatus(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServiceStatus(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceStatus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomServiceStatusCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomServiceStatusCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomServiceStatusCode(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomServiceStatusCode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeferredSessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeferredSessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeferredSessionInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeferredSessionInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisementStatus(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceAdvertisementStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisementStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceError(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SessionRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SessionRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SessionRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SessionRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AutoAcceptSessionConnected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AutoAcceptSessionConnected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AutoAcceptSessionConnected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoAcceptSessionConnected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AdvertisementStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AdvertisementStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AdvertisementStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdvertisementStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_in deviceInfo, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&deviceInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsyncWithPin(impl::abi_arg_in deviceInfo, impl::abi_arg_in pin, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&deviceInfo), *reinterpret_cast(&pin))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWiFiDirectServiceAdvertiser(impl::abi_arg_in serviceName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWiFiDirectServiceAdvertiser(*reinterpret_cast(&serviceName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedConfigurationMethod(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceConfigurationMethod * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedConfigurationMethod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGroupFormationNeeded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGroupFormationNeeded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EndpointPairs(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndpointPairs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Protocol(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceIPProtocol * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Protocol()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorStatus(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionErrorStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvertisementId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisementId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConnectionEndpointPairs(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectionEndpointPairs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SessionStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SessionStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SessionStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SessionStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStreamSocketListenerAsync(impl::abi_arg_in value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AddStreamSocketListenerAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDatagramSocketAsync(impl::abi_arg_in value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AddDatagramSocketAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemotePortAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemotePortAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemotePortAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemotePortAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeferredSessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeferredSessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProvisioningInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProvisioningInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSessionRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSessionRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSelector(impl::abi_arg_in serviceName, impl::abi_arg_out serviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceSelector = detach_abi(this->shim().GetSelector(*reinterpret_cast(&serviceName))); + return S_OK; + } + catch (...) + { + *serviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSelectorWithFilter(impl::abi_arg_in serviceName, impl::abi_arg_in serviceInfoFilter, impl::abi_arg_out serviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceSelector = detach_abi(this->shim().GetSelector(*reinterpret_cast(&serviceName), *reinterpret_cast(&serviceInfoFilter))); + return S_OK; + } + catch (...) + { + *serviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::WiFiDirect::Services { + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceConfigurationMethod impl_IWiFiDirectServiceProvisioningInfo::SelectedConfigurationMethod() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceConfigurationMethod value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceProvisioningInfo)->get_SelectedConfigurationMethod(&value)); + return value; +} + +template bool impl_IWiFiDirectServiceProvisioningInfo::IsGroupFormationNeeded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceProvisioningInfo)->get_IsGroupFormationNeeded(&value)); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSession impl_IWiFiDirectServiceAutoAcceptSessionConnectedEventArgs::Session() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSession value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAutoAcceptSessionConnectedEventArgs)->get_Session(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectServiceAutoAcceptSessionConnectedEventArgs::SessionInfo() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAutoAcceptSessionConnectedEventArgs)->get_SessionInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWiFiDirectServiceRemotePortAddedEventArgs::EndpointPairs() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceRemotePortAddedEventArgs)->get_EndpointPairs(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceIPProtocol impl_IWiFiDirectServiceRemotePortAddedEventArgs::Protocol() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceIPProtocol value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceRemotePortAddedEventArgs)->get_Protocol(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectServiceSessionDeferredEventArgs::DeferredSessionInfo() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSessionDeferredEventArgs)->get_DeferredSessionInfo(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionRequest impl_IWiFiDirectServiceSessionRequestedEventArgs::GetSessionRequest() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionRequest value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSessionRequestedEventArgs)->abi_GetSessionRequest(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IWiFiDirectServiceSessionRequest::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSessionRequest)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceProvisioningInfo impl_IWiFiDirectServiceSessionRequest::ProvisioningInfo() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceProvisioningInfo value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSessionRequest)->get_ProvisioningInfo(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectServiceSessionRequest::SessionInfo() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSessionRequest)->get_SessionInfo(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceAdvertiser impl_IWiFiDirectServiceAdvertiserFactory::CreateWiFiDirectServiceAdvertiser(hstring_view serviceName) const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceAdvertiser result { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiserFactory)->abi_CreateWiFiDirectServiceAdvertiser(get_abi(serviceName), put_abi(result))); + return result; +} + +template hstring impl_IWiFiDirectServiceAdvertiser::ServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_ServiceName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IWiFiDirectServiceAdvertiser::ServiceNamePrefixes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_ServiceNamePrefixes(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectServiceAdvertiser::ServiceInfo() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_ServiceInfo(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectServiceAdvertiser::ServiceInfo(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->put_ServiceInfo(get_abi(value))); +} + +template bool impl_IWiFiDirectServiceAdvertiser::AutoAcceptSession() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_AutoAcceptSession(&value)); + return value; +} + +template void impl_IWiFiDirectServiceAdvertiser::AutoAcceptSession(bool value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->put_AutoAcceptSession(value)); +} + +template bool impl_IWiFiDirectServiceAdvertiser::PreferGroupOwnerMode() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_PreferGroupOwnerMode(&value)); + return value; +} + +template void impl_IWiFiDirectServiceAdvertiser::PreferGroupOwnerMode(bool value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->put_PreferGroupOwnerMode(value)); +} + +template Windows::Foundation::Collections::IVector impl_IWiFiDirectServiceAdvertiser::PreferredConfigurationMethods() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_PreferredConfigurationMethods(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceStatus impl_IWiFiDirectServiceAdvertiser::ServiceStatus() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceStatus value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_ServiceStatus(&value)); + return value; +} + +template void impl_IWiFiDirectServiceAdvertiser::ServiceStatus(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceStatus value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->put_ServiceStatus(value)); +} + +template uint32_t impl_IWiFiDirectServiceAdvertiser::CustomServiceStatusCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_CustomServiceStatusCode(&value)); + return value; +} + +template void impl_IWiFiDirectServiceAdvertiser::CustomServiceStatusCode(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->put_CustomServiceStatusCode(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectServiceAdvertiser::DeferredSessionInfo() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_DeferredSessionInfo(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectServiceAdvertiser::DeferredSessionInfo(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->put_DeferredSessionInfo(get_abi(value))); +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceAdvertisementStatus impl_IWiFiDirectServiceAdvertiser::AdvertisementStatus() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceAdvertisementStatus value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_AdvertisementStatus(&value)); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceError impl_IWiFiDirectServiceAdvertiser::ServiceError() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceError value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->get_ServiceError(&value)); + return value; +} + +template event_token impl_IWiFiDirectServiceAdvertiser::SessionRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->add_SessionRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectServiceAdvertiser::SessionRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceAdvertiser::remove_SessionRequested, SessionRequested(handler)); +} + +template void impl_IWiFiDirectServiceAdvertiser::SessionRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->remove_SessionRequested(token)); +} + +template event_token impl_IWiFiDirectServiceAdvertiser::AutoAcceptSessionConnected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->add_AutoAcceptSessionConnected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectServiceAdvertiser::AutoAcceptSessionConnected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceAdvertiser::remove_AutoAcceptSessionConnected, AutoAcceptSessionConnected(handler)); +} + +template void impl_IWiFiDirectServiceAdvertiser::AutoAcceptSessionConnected(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->remove_AutoAcceptSessionConnected(token)); +} + +template event_token impl_IWiFiDirectServiceAdvertiser::AdvertisementStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->add_AdvertisementStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectServiceAdvertiser::AdvertisementStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceAdvertiser::remove_AdvertisementStatusChanged, AdvertisementStatusChanged(handler)); +} + +template void impl_IWiFiDirectServiceAdvertiser::AdvertisementStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->remove_AdvertisementStatusChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectServiceAdvertiser::ConnectAsync(const Windows::Devices::Enumeration::DeviceInformation & deviceInfo) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->abi_ConnectAsync(get_abi(deviceInfo), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectServiceAdvertiser::ConnectAsync(const Windows::Devices::Enumeration::DeviceInformation & deviceInfo, hstring_view pin) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->abi_ConnectAsyncWithPin(get_abi(deviceInfo), get_abi(pin), put_abi(result))); + return result; +} + +template void impl_IWiFiDirectServiceAdvertiser::Start() const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->abi_Start()); +} + +template void impl_IWiFiDirectServiceAdvertiser::Stop() const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceAdvertiser)->abi_Stop()); +} + +template hstring impl_IWiFiDirectServiceStatics::GetSelector(hstring_view serviceName) const +{ + hstring serviceSelector; + check_hresult(WINRT_SHIM(IWiFiDirectServiceStatics)->abi_GetSelector(get_abi(serviceName), put_abi(serviceSelector))); + return serviceSelector; +} + +template hstring impl_IWiFiDirectServiceStatics::GetSelector(hstring_view serviceName, const Windows::Storage::Streams::IBuffer & serviceInfoFilter) const +{ + hstring serviceSelector; + check_hresult(WINRT_SHIM(IWiFiDirectServiceStatics)->abi_GetSelectorWithFilter(get_abi(serviceName), get_abi(serviceInfoFilter), put_abi(serviceSelector))); + return serviceSelector; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectServiceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IWiFiDirectServiceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectService::RemoteServiceInfo() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectService)->get_RemoteServiceInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWiFiDirectService::SupportedConfigurationMethods() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWiFiDirectService)->get_SupportedConfigurationMethods(put_abi(value))); + return value; +} + +template bool impl_IWiFiDirectService::PreferGroupOwnerMode() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWiFiDirectService)->get_PreferGroupOwnerMode(&value)); + return value; +} + +template void impl_IWiFiDirectService::PreferGroupOwnerMode(bool value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectService)->put_PreferGroupOwnerMode(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectService::SessionInfo() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectService)->get_SessionInfo(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectService::SessionInfo(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectService)->put_SessionInfo(get_abi(value))); +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceError impl_IWiFiDirectService::ServiceError() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceError value {}; + check_hresult(WINRT_SHIM(IWiFiDirectService)->get_ServiceError(&value)); + return value; +} + +template event_token impl_IWiFiDirectService::SessionDeferred(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectService)->add_SessionDeferred(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectService::SessionDeferred(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::Services::IWiFiDirectService::remove_SessionDeferred, SessionDeferred(handler)); +} + +template void impl_IWiFiDirectService::SessionDeferred(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectService)->remove_SessionDeferred(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectService::GetProvisioningInfoAsync(Windows::Devices::WiFiDirect::Services::WiFiDirectServiceConfigurationMethod selectedConfigurationMethod) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IWiFiDirectService)->abi_GetProvisioningInfoAsync(selectedConfigurationMethod, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectService::ConnectAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IWiFiDirectService)->abi_ConnectAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectService::ConnectAsync(hstring_view pin) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IWiFiDirectService)->abi_ConnectAsyncWithPin(get_abi(pin), put_abi(result))); + return result; +} + +template hstring impl_IWiFiDirectServiceSession::ServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->get_ServiceName(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionStatus impl_IWiFiDirectServiceSession::Status() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionStatus value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->get_Status(&value)); + return value; +} + +template Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionErrorStatus impl_IWiFiDirectServiceSession::ErrorStatus() const +{ + Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionErrorStatus value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->get_ErrorStatus(&value)); + return value; +} + +template uint32_t impl_IWiFiDirectServiceSession::SessionId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->get_SessionId(&value)); + return value; +} + +template uint32_t impl_IWiFiDirectServiceSession::AdvertisementId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->get_AdvertisementId(&value)); + return value; +} + +template hstring impl_IWiFiDirectServiceSession::ServiceAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->get_ServiceAddress(put_abi(value))); + return value; +} + +template hstring impl_IWiFiDirectServiceSession::SessionAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->get_SessionAddress(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWiFiDirectServiceSession::GetConnectionEndpointPairs() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->abi_GetConnectionEndpointPairs(put_abi(value))); + return value; +} + +template event_token impl_IWiFiDirectServiceSession::SessionStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->add_SessionStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectServiceSession::SessionStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceSession::remove_SessionStatusChanged, SessionStatusChanged(handler)); +} + +template void impl_IWiFiDirectServiceSession::SessionStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->remove_SessionStatusChanged(token)); +} + +template Windows::Foundation::IAsyncAction impl_IWiFiDirectServiceSession::AddStreamSocketListenerAsync(const Windows::Networking::Sockets::StreamSocketListener & value) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->abi_AddStreamSocketListenerAsync(get_abi(value), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IWiFiDirectServiceSession::AddDatagramSocketAsync(const Windows::Networking::Sockets::DatagramSocket & value) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->abi_AddDatagramSocketAsync(get_abi(value), put_abi(result))); + return result; +} + +template event_token impl_IWiFiDirectServiceSession::RemotePortAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->add_RemotePortAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectServiceSession::RemotePortAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceSession::remove_RemotePortAdded, RemotePortAdded(handler)); +} + +template void impl_IWiFiDirectServiceSession::RemotePortAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectServiceSession)->remove_RemotePortAdded(token)); +} + +inline hstring WiFiDirectService::GetSelector(hstring_view serviceName) +{ + return get_activation_factory().GetSelector(serviceName); +} + +inline hstring WiFiDirectService::GetSelector(hstring_view serviceName, const Windows::Storage::Streams::IBuffer & serviceInfoFilter) +{ + return get_activation_factory().GetSelector(serviceName, serviceInfoFilter); +} + +inline Windows::Foundation::IAsyncOperation WiFiDirectService::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline WiFiDirectServiceAdvertiser::WiFiDirectServiceAdvertiser(hstring_view serviceName) : + WiFiDirectServiceAdvertiser(get_activation_factory().CreateWiFiDirectServiceAdvertiser(serviceName)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceAdvertiser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceAdvertiserFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceAutoAcceptSessionConnectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceProvisioningInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceRemotePortAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceSessionDeferredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceSessionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceSessionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::IWiFiDirectServiceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceAdvertiser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceAutoAcceptSessionConnectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceProvisioningInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceRemotePortAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionDeferredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::Services::WiFiDirectServiceSessionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.WiFiDirect.h b/10.0.15042.0/winrt/Windows.Devices.WiFiDirect.h new file mode 100644 index 000000000..4fe0b2ceb --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.WiFiDirect.h @@ -0,0 +1,1411 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Devices.WiFiDirect.3.h" +#include "Windows.Devices.h" +#include "Windows.Devices.Enumeration.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InformationElements(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InformationElements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InformationElements(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InformationElements(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListenStateDiscoverability(Windows::Devices::WiFiDirect::WiFiDirectAdvertisementListenStateDiscoverability * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListenStateDiscoverability()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListenStateDiscoverability(Windows::Devices::WiFiDirect::WiFiDirectAdvertisementListenStateDiscoverability value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListenStateDiscoverability(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAutonomousGroupOwnerEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAutonomousGroupOwnerEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAutonomousGroupOwnerEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAutonomousGroupOwnerEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LegacySettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LegacySettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedConfigurationMethods(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedConfigurationMethods()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Advertisement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Advertisement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(Windows::Devices::WiFiDirect::WiFiDirectError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ConnectionRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ConnectionRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ConnectionRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConnectionRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupOwnerIntent(int16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupOwnerIntent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupOwnerIntent(int16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupOwnerIntent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreferenceOrderedConfigurationMethods(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferenceOrderedConfigurationMethods()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredPairingProcedure(Windows::Devices::WiFiDirect::WiFiDirectPairingProcedure * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredPairingProcedure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredPairingProcedure(Windows::Devices::WiFiDirect::WiFiDirectPairingProcedure value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredPairingProcedure(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDevicePairingKinds(Windows::Devices::WiFiDirect::WiFiDirectConfigurationMethod configurationMethod, Windows::Devices::Enumeration::DevicePairingKinds * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDevicePairingKinds(configurationMethod)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetConnectionRequest(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetConnectionRequest()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConnectionStatus(Windows::Devices::WiFiDirect::WiFiDirectConnectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ConnectionStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ConnectionStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ConnectionStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConnectionStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConnectionEndpointPairs(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectionEndpointPairs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out deviceSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceSelector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *deviceSelector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(Windows::Devices::WiFiDirect::WiFiDirectDeviceSelectorType type, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeviceSelector(type)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in deviceId, impl::abi_arg_in connectionParameters, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&connectionParameters))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Oui(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Oui()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Oui(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Oui(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OuiType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OuiType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OuiType(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OuiType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromBuffer(impl::abi_arg_in buffer, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromBuffer(*reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromDeviceInformation(impl::abi_arg_in deviceInformation, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromDeviceInformation(*reinterpret_cast(&deviceInformation))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ssid(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ssid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Ssid(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ssid(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Passphrase(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Passphrase()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Passphrase(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Passphrase(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices::WiFiDirect { + +template hstring impl_IWiFiDirectDeviceStatics::GetDeviceSelector() const +{ + hstring deviceSelector; + check_hresult(WINRT_SHIM(IWiFiDirectDeviceStatics)->abi_GetDeviceSelector(put_abi(deviceSelector))); + return deviceSelector; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectDeviceStatics::FromIdAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IWiFiDirectDeviceStatics)->abi_FromIdAsync(get_abi(deviceId), put_abi(asyncOp))); + return asyncOp; +} + +template hstring impl_IWiFiDirectDeviceStatics2::GetDeviceSelector(Windows::Devices::WiFiDirect::WiFiDirectDeviceSelectorType type) const +{ + hstring result; + check_hresult(WINRT_SHIM(IWiFiDirectDeviceStatics2)->abi_GetDeviceSelector(type, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IWiFiDirectDeviceStatics2::FromIdAsync(hstring_view deviceId, const Windows::Devices::WiFiDirect::WiFiDirectConnectionParameters & connectionParameters) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IWiFiDirectDeviceStatics2)->abi_FromIdAsync(get_abi(deviceId), get_abi(connectionParameters), put_abi(result))); + return result; +} + +template Windows::Devices::WiFiDirect::WiFiDirectConnectionStatus impl_IWiFiDirectDevice::ConnectionStatus() const +{ + Windows::Devices::WiFiDirect::WiFiDirectConnectionStatus value {}; + check_hresult(WINRT_SHIM(IWiFiDirectDevice)->get_ConnectionStatus(&value)); + return value; +} + +template hstring impl_IWiFiDirectDevice::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiDirectDevice)->get_DeviceId(put_abi(value))); + return value; +} + +template event_token impl_IWiFiDirectDevice::ConnectionStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectDevice)->add_ConnectionStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectDevice::ConnectionStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::IWiFiDirectDevice::remove_ConnectionStatusChanged, ConnectionStatusChanged(handler)); +} + +template void impl_IWiFiDirectDevice::ConnectionStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectDevice)->remove_ConnectionStatusChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IWiFiDirectDevice::GetConnectionEndpointPairs() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWiFiDirectDevice)->abi_GetConnectionEndpointPairs(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IWiFiDirectInformationElementStatics::CreateFromBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + Windows::Foundation::Collections::IVector result; + check_hresult(WINRT_SHIM(IWiFiDirectInformationElementStatics)->abi_CreateFromBuffer(get_abi(buffer), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IWiFiDirectInformationElementStatics::CreateFromDeviceInformation(const Windows::Devices::Enumeration::DeviceInformation & deviceInformation) const +{ + Windows::Foundation::Collections::IVector result; + check_hresult(WINRT_SHIM(IWiFiDirectInformationElementStatics)->abi_CreateFromDeviceInformation(get_abi(deviceInformation), put_abi(result))); + return result; +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectInformationElement::Oui() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectInformationElement)->get_Oui(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectInformationElement::Oui(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectInformationElement)->put_Oui(get_abi(value))); +} + +template uint8_t impl_IWiFiDirectInformationElement::OuiType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IWiFiDirectInformationElement)->get_OuiType(&value)); + return value; +} + +template void impl_IWiFiDirectInformationElement::OuiType(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectInformationElement)->put_OuiType(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IWiFiDirectInformationElement::Value() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IWiFiDirectInformationElement)->get_Value(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectInformationElement::Value(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectInformationElement)->put_Value(get_abi(value))); +} + +template bool impl_IWiFiDirectLegacySettings::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWiFiDirectLegacySettings)->get_IsEnabled(&value)); + return value; +} + +template void impl_IWiFiDirectLegacySettings::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectLegacySettings)->put_IsEnabled(value)); +} + +template hstring impl_IWiFiDirectLegacySettings::Ssid() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWiFiDirectLegacySettings)->get_Ssid(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectLegacySettings::Ssid(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectLegacySettings)->put_Ssid(get_abi(value))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IWiFiDirectLegacySettings::Passphrase() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectLegacySettings)->get_Passphrase(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectLegacySettings::Passphrase(const Windows::Security::Credentials::PasswordCredential & value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectLegacySettings)->put_Passphrase(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IWiFiDirectAdvertisement::InformationElements() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement)->get_InformationElements(put_abi(value))); + return value; +} + +template void impl_IWiFiDirectAdvertisement::InformationElements(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement)->put_InformationElements(get_abi(value))); +} + +template Windows::Devices::WiFiDirect::WiFiDirectAdvertisementListenStateDiscoverability impl_IWiFiDirectAdvertisement::ListenStateDiscoverability() const +{ + Windows::Devices::WiFiDirect::WiFiDirectAdvertisementListenStateDiscoverability value {}; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement)->get_ListenStateDiscoverability(&value)); + return value; +} + +template void impl_IWiFiDirectAdvertisement::ListenStateDiscoverability(Windows::Devices::WiFiDirect::WiFiDirectAdvertisementListenStateDiscoverability value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement)->put_ListenStateDiscoverability(value)); +} + +template bool impl_IWiFiDirectAdvertisement::IsAutonomousGroupOwnerEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement)->get_IsAutonomousGroupOwnerEnabled(&value)); + return value; +} + +template void impl_IWiFiDirectAdvertisement::IsAutonomousGroupOwnerEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement)->put_IsAutonomousGroupOwnerEnabled(value)); +} + +template Windows::Devices::WiFiDirect::WiFiDirectLegacySettings impl_IWiFiDirectAdvertisement::LegacySettings() const +{ + Windows::Devices::WiFiDirect::WiFiDirectLegacySettings value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement)->get_LegacySettings(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IWiFiDirectAdvertisement2::SupportedConfigurationMethods() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisement2)->get_SupportedConfigurationMethods(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisherStatus impl_IWiFiDirectAdvertisementPublisherStatusChangedEventArgs::Status() const +{ + Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisherStatus value {}; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisherStatusChangedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Devices::WiFiDirect::WiFiDirectError impl_IWiFiDirectAdvertisementPublisherStatusChangedEventArgs::Error() const +{ + Windows::Devices::WiFiDirect::WiFiDirectError value {}; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisherStatusChangedEventArgs)->get_Error(&value)); + return value; +} + +template Windows::Devices::WiFiDirect::WiFiDirectAdvertisement impl_IWiFiDirectAdvertisementPublisher::Advertisement() const +{ + Windows::Devices::WiFiDirect::WiFiDirectAdvertisement value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisher)->get_Advertisement(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisherStatus impl_IWiFiDirectAdvertisementPublisher::Status() const +{ + Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisherStatus value {}; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisher)->get_Status(&value)); + return value; +} + +template event_token impl_IWiFiDirectAdvertisementPublisher::StatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisher)->add_StatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectAdvertisementPublisher::StatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::IWiFiDirectAdvertisementPublisher::remove_StatusChanged, StatusChanged(handler)); +} + +template void impl_IWiFiDirectAdvertisementPublisher::StatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisher)->remove_StatusChanged(token)); +} + +template void impl_IWiFiDirectAdvertisementPublisher::Start() const +{ + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisher)->abi_Start()); +} + +template void impl_IWiFiDirectAdvertisementPublisher::Stop() const +{ + check_hresult(WINRT_SHIM(IWiFiDirectAdvertisementPublisher)->abi_Stop()); +} + +template Windows::Devices::Enumeration::DevicePairingKinds impl_IWiFiDirectConnectionParametersStatics::GetDevicePairingKinds(Windows::Devices::WiFiDirect::WiFiDirectConfigurationMethod configurationMethod) const +{ + Windows::Devices::Enumeration::DevicePairingKinds result {}; + check_hresult(WINRT_SHIM(IWiFiDirectConnectionParametersStatics)->abi_GetDevicePairingKinds(configurationMethod, &result)); + return result; +} + +template int16_t impl_IWiFiDirectConnectionParameters::GroupOwnerIntent() const +{ + int16_t value {}; + check_hresult(WINRT_SHIM(IWiFiDirectConnectionParameters)->get_GroupOwnerIntent(&value)); + return value; +} + +template void impl_IWiFiDirectConnectionParameters::GroupOwnerIntent(int16_t value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectConnectionParameters)->put_GroupOwnerIntent(value)); +} + +template Windows::Foundation::Collections::IVector impl_IWiFiDirectConnectionParameters2::PreferenceOrderedConfigurationMethods() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWiFiDirectConnectionParameters2)->get_PreferenceOrderedConfigurationMethods(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::WiFiDirectPairingProcedure impl_IWiFiDirectConnectionParameters2::PreferredPairingProcedure() const +{ + Windows::Devices::WiFiDirect::WiFiDirectPairingProcedure value {}; + check_hresult(WINRT_SHIM(IWiFiDirectConnectionParameters2)->get_PreferredPairingProcedure(&value)); + return value; +} + +template void impl_IWiFiDirectConnectionParameters2::PreferredPairingProcedure(Windows::Devices::WiFiDirect::WiFiDirectPairingProcedure value) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectConnectionParameters2)->put_PreferredPairingProcedure(value)); +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IWiFiDirectConnectionRequest::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectConnectionRequest)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Devices::WiFiDirect::WiFiDirectConnectionRequest impl_IWiFiDirectConnectionRequestedEventArgs::GetConnectionRequest() const +{ + Windows::Devices::WiFiDirect::WiFiDirectConnectionRequest result { nullptr }; + check_hresult(WINRT_SHIM(IWiFiDirectConnectionRequestedEventArgs)->abi_GetConnectionRequest(put_abi(result))); + return result; +} + +template event_token impl_IWiFiDirectConnectionListener::ConnectionRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWiFiDirectConnectionListener)->add_ConnectionRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWiFiDirectConnectionListener::ConnectionRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Devices::WiFiDirect::IWiFiDirectConnectionListener::remove_ConnectionRequested, ConnectionRequested(handler)); +} + +template void impl_IWiFiDirectConnectionListener::ConnectionRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IWiFiDirectConnectionListener)->remove_ConnectionRequested(token)); +} + +inline WiFiDirectAdvertisementPublisher::WiFiDirectAdvertisementPublisher() : + WiFiDirectAdvertisementPublisher(activate_instance()) +{} + +inline WiFiDirectConnectionListener::WiFiDirectConnectionListener() : + WiFiDirectConnectionListener(activate_instance()) +{} + +inline WiFiDirectConnectionParameters::WiFiDirectConnectionParameters() : + WiFiDirectConnectionParameters(activate_instance()) +{} + +inline Windows::Devices::Enumeration::DevicePairingKinds WiFiDirectConnectionParameters::GetDevicePairingKinds(Windows::Devices::WiFiDirect::WiFiDirectConfigurationMethod configurationMethod) +{ + return get_activation_factory().GetDevicePairingKinds(configurationMethod); +} + +inline hstring WiFiDirectDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Foundation::IAsyncOperation WiFiDirectDevice::FromIdAsync(hstring_view deviceId) +{ + return get_activation_factory().FromIdAsync(deviceId); +} + +inline hstring WiFiDirectDevice::GetDeviceSelector(Windows::Devices::WiFiDirect::WiFiDirectDeviceSelectorType type) +{ + return get_activation_factory().GetDeviceSelector(type); +} + +inline Windows::Foundation::IAsyncOperation WiFiDirectDevice::FromIdAsync(hstring_view deviceId, const Windows::Devices::WiFiDirect::WiFiDirectConnectionParameters & connectionParameters) +{ + return get_activation_factory().FromIdAsync(deviceId, connectionParameters); +} + +inline WiFiDirectInformationElement::WiFiDirectInformationElement() : + WiFiDirectInformationElement(activate_instance()) +{} + +inline Windows::Foundation::Collections::IVector WiFiDirectInformationElement::CreateFromBuffer(const Windows::Storage::Streams::IBuffer & buffer) +{ + return get_activation_factory().CreateFromBuffer(buffer); +} + +inline Windows::Foundation::Collections::IVector WiFiDirectInformationElement::CreateFromDeviceInformation(const Windows::Devices::Enumeration::DeviceInformation & deviceInformation) +{ + return get_activation_factory().CreateFromDeviceInformation(deviceInformation); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectAdvertisement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectAdvertisement2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectAdvertisementPublisher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectAdvertisementPublisherStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectConnectionListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectConnectionParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectConnectionParameters2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectConnectionParametersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectConnectionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectConnectionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectDeviceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectInformationElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectInformationElementStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::IWiFiDirectLegacySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectAdvertisement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectAdvertisementPublisherStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectConnectionListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectConnectionParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectConnectionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectConnectionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectInformationElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::WiFiDirect::WiFiDirectLegacySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Devices.h b/10.0.15042.0/winrt/Windows.Devices.h new file mode 100644 index 000000000..b87cba2ec --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Devices.h @@ -0,0 +1,285 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Devices.Adc.Provider.3.h" +#include "internal/Windows.Devices.Pwm.Provider.3.h" +#include "internal/Windows.Devices.Gpio.Provider.3.h" +#include "internal/Windows.Devices.I2c.Provider.3.h" +#include "internal/Windows.Devices.Spi.Provider.3.h" +#include "internal/Windows.Devices.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AdcControllerProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdcControllerProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PwmControllerProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PwmControllerProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GpioControllerProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GpioControllerProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_I2cControllerProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().I2cControllerProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpiControllerProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpiControllerProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in adc, impl::abi_arg_in pwm, impl::abi_arg_in gpio, impl::abi_arg_in i2c, impl::abi_arg_in spi, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&adc), *reinterpret_cast(&pwm), *reinterpret_cast(&gpio), *reinterpret_cast(&i2c), *reinterpret_cast(&spi))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultProvider(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultProvider(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Devices { + +template Windows::Devices::Adc::Provider::IAdcControllerProvider impl_ILowLevelDevicesAggregateProvider::AdcControllerProvider() const +{ + Windows::Devices::Adc::Provider::IAdcControllerProvider value; + check_hresult(WINRT_SHIM(ILowLevelDevicesAggregateProvider)->get_AdcControllerProvider(put_abi(value))); + return value; +} + +template Windows::Devices::Pwm::Provider::IPwmControllerProvider impl_ILowLevelDevicesAggregateProvider::PwmControllerProvider() const +{ + Windows::Devices::Pwm::Provider::IPwmControllerProvider value; + check_hresult(WINRT_SHIM(ILowLevelDevicesAggregateProvider)->get_PwmControllerProvider(put_abi(value))); + return value; +} + +template Windows::Devices::Gpio::Provider::IGpioControllerProvider impl_ILowLevelDevicesAggregateProvider::GpioControllerProvider() const +{ + Windows::Devices::Gpio::Provider::IGpioControllerProvider value; + check_hresult(WINRT_SHIM(ILowLevelDevicesAggregateProvider)->get_GpioControllerProvider(put_abi(value))); + return value; +} + +template Windows::Devices::I2c::Provider::II2cControllerProvider impl_ILowLevelDevicesAggregateProvider::I2cControllerProvider() const +{ + Windows::Devices::I2c::Provider::II2cControllerProvider value; + check_hresult(WINRT_SHIM(ILowLevelDevicesAggregateProvider)->get_I2cControllerProvider(put_abi(value))); + return value; +} + +template Windows::Devices::Spi::Provider::ISpiControllerProvider impl_ILowLevelDevicesAggregateProvider::SpiControllerProvider() const +{ + Windows::Devices::Spi::Provider::ISpiControllerProvider value; + check_hresult(WINRT_SHIM(ILowLevelDevicesAggregateProvider)->get_SpiControllerProvider(put_abi(value))); + return value; +} + +template Windows::Devices::LowLevelDevicesAggregateProvider impl_ILowLevelDevicesAggregateProviderFactory::Create(const Windows::Devices::Adc::Provider::IAdcControllerProvider & adc, const Windows::Devices::Pwm::Provider::IPwmControllerProvider & pwm, const Windows::Devices::Gpio::Provider::IGpioControllerProvider & gpio, const Windows::Devices::I2c::Provider::II2cControllerProvider & i2c, const Windows::Devices::Spi::Provider::ISpiControllerProvider & spi) const +{ + Windows::Devices::LowLevelDevicesAggregateProvider value { nullptr }; + check_hresult(WINRT_SHIM(ILowLevelDevicesAggregateProviderFactory)->abi_Create(get_abi(adc), get_abi(pwm), get_abi(gpio), get_abi(i2c), get_abi(spi), put_abi(value))); + return value; +} + +template Windows::Devices::ILowLevelDevicesAggregateProvider impl_ILowLevelDevicesControllerStatics::DefaultProvider() const +{ + Windows::Devices::ILowLevelDevicesAggregateProvider value; + check_hresult(WINRT_SHIM(ILowLevelDevicesControllerStatics)->get_DefaultProvider(put_abi(value))); + return value; +} + +template void impl_ILowLevelDevicesControllerStatics::DefaultProvider(const Windows::Devices::ILowLevelDevicesAggregateProvider & value) const +{ + check_hresult(WINRT_SHIM(ILowLevelDevicesControllerStatics)->put_DefaultProvider(get_abi(value))); +} + +inline LowLevelDevicesAggregateProvider::LowLevelDevicesAggregateProvider(const Windows::Devices::Adc::Provider::IAdcControllerProvider & adc, const Windows::Devices::Pwm::Provider::IPwmControllerProvider & pwm, const Windows::Devices::Gpio::Provider::IGpioControllerProvider & gpio, const Windows::Devices::I2c::Provider::II2cControllerProvider & i2c, const Windows::Devices::Spi::Provider::ISpiControllerProvider & spi) : + LowLevelDevicesAggregateProvider(get_activation_factory().Create(adc, pwm, gpio, i2c, spi)) +{} + +inline Windows::Devices::ILowLevelDevicesAggregateProvider LowLevelDevicesController::DefaultProvider() +{ + return get_activation_factory().DefaultProvider(); +} + +inline void LowLevelDevicesController::DefaultProvider(const Windows::Devices::ILowLevelDevicesAggregateProvider & value) +{ + get_activation_factory().DefaultProvider(value); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::ILowLevelDevicesAggregateProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::ILowLevelDevicesAggregateProviderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::ILowLevelDevicesController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::ILowLevelDevicesControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::LowLevelDevicesAggregateProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Devices::LowLevelDevicesController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Embedded.DeviceLockdown.h b/10.0.15042.0/winrt/Windows.Embedded.DeviceLockdown.h new file mode 100644 index 000000000..7101f45ae --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Embedded.DeviceLockdown.h @@ -0,0 +1,189 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Embedded.DeviceLockdown.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out phProfileName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *phProfileName = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *phProfileName = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSupportedLockdownProfiles(impl::abi_arg_out> ppProfileIDs) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppProfileIDs = detach_abi(this->shim().GetSupportedLockdownProfiles()); + return S_OK; + } + catch (...) + { + *ppProfileIDs = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentLockdownProfile(GUID * pProfileID) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pProfileID = detach_abi(this->shim().GetCurrentLockdownProfile()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyLockdownProfileAsync(GUID profileID, impl::abi_arg_out ppWaitableOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppWaitableOperation = detach_abi(this->shim().ApplyLockdownProfileAsync(profileID)); + return S_OK; + } + catch (...) + { + *ppWaitableOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLockdownProfileInformation(GUID profileID, impl::abi_arg_out ppInformation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppInformation = detach_abi(this->shim().GetLockdownProfileInformation(profileID)); + return S_OK; + } + catch (...) + { + *ppInformation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Embedded::DeviceLockdown { + +template hstring impl_IDeviceLockdownProfileInformation::Name() const +{ + hstring phProfileName; + check_hresult(WINRT_SHIM(IDeviceLockdownProfileInformation)->get_Name(put_abi(phProfileName))); + return phProfileName; +} + +template Windows::Foundation::Collections::IVectorView impl_IDeviceLockdownProfileStatics::GetSupportedLockdownProfiles() const +{ + Windows::Foundation::Collections::IVectorView ppProfileIDs; + check_hresult(WINRT_SHIM(IDeviceLockdownProfileStatics)->abi_GetSupportedLockdownProfiles(put_abi(ppProfileIDs))); + return ppProfileIDs; +} + +template GUID impl_IDeviceLockdownProfileStatics::GetCurrentLockdownProfile() const +{ + GUID pProfileID {}; + check_hresult(WINRT_SHIM(IDeviceLockdownProfileStatics)->abi_GetCurrentLockdownProfile(&pProfileID)); + return pProfileID; +} + +template Windows::Foundation::IAsyncAction impl_IDeviceLockdownProfileStatics::ApplyLockdownProfileAsync(GUID profileID) const +{ + Windows::Foundation::IAsyncAction ppWaitableOperation; + check_hresult(WINRT_SHIM(IDeviceLockdownProfileStatics)->abi_ApplyLockdownProfileAsync(profileID, put_abi(ppWaitableOperation))); + return ppWaitableOperation; +} + +template Windows::Embedded::DeviceLockdown::DeviceLockdownProfileInformation impl_IDeviceLockdownProfileStatics::GetLockdownProfileInformation(GUID profileID) const +{ + Windows::Embedded::DeviceLockdown::DeviceLockdownProfileInformation ppInformation { nullptr }; + check_hresult(WINRT_SHIM(IDeviceLockdownProfileStatics)->abi_GetLockdownProfileInformation(profileID, put_abi(ppInformation))); + return ppInformation; +} + +inline Windows::Foundation::Collections::IVectorView DeviceLockdownProfile::GetSupportedLockdownProfiles() +{ + return get_activation_factory().GetSupportedLockdownProfiles(); +} + +inline GUID DeviceLockdownProfile::GetCurrentLockdownProfile() +{ + return get_activation_factory().GetCurrentLockdownProfile(); +} + +inline Windows::Foundation::IAsyncAction DeviceLockdownProfile::ApplyLockdownProfileAsync(GUID profileID) +{ + return get_activation_factory().ApplyLockdownProfileAsync(profileID); +} + +inline Windows::Embedded::DeviceLockdown::DeviceLockdownProfileInformation DeviceLockdownProfile::GetLockdownProfileInformation(GUID profileID) +{ + return get_activation_factory().GetLockdownProfileInformation(profileID); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Embedded::DeviceLockdown::IDeviceLockdownProfileInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Embedded::DeviceLockdown::IDeviceLockdownProfileStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Embedded::DeviceLockdown::DeviceLockdownProfileInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Foundation.Collections.h b/10.0.15042.0/winrt/Windows.Foundation.Collections.h new file mode 100644 index 000000000..8db9729c8 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Foundation.Collections.h @@ -0,0 +1,76 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{}; + +} + +namespace Windows::Foundation::Collections { + +inline PropertySet::PropertySet() : + PropertySet(activate_instance()) +{} + +inline StringMap::StringMap() : + StringMap(activate_instance()) +{} + +inline ValueSet::ValueSet() : + ValueSet(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Collections::IPropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Collections::PropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Collections::StringMap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Collections::ValueSet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Foundation.Diagnostics.h b/10.0.15042.0/winrt/Windows.Foundation.Diagnostics.h new file mode 100644 index 000000000..2b3a92001 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Foundation.Diagnostics.h @@ -0,0 +1,4322 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.Diagnostics.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TraceOperationCreation(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, impl::abi_arg_in operationName, uint64_t relatedContext) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TraceOperationCreation(traceLevel, source, platformId, operationId, *reinterpret_cast(&operationName), relatedContext); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TraceOperationCompletion(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::AsyncStatus status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TraceOperationCompletion(traceLevel, source, platformId, operationId, status); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TraceOperationRelation(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::Diagnostics::CausalityRelation relation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TraceOperationRelation(traceLevel, source, platformId, operationId, relation); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TraceSynchronousWorkStart(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::Diagnostics::CausalitySynchronousWork work) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TraceSynchronousWorkStart(traceLevel, source, platformId, operationId, work); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TraceSynchronousWorkCompletion(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, Windows::Foundation::Diagnostics::CausalitySynchronousWork work) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TraceSynchronousWorkCompletion(traceLevel, source, work); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TracingStatusChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().TracingStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TracingStatusChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TracingStatusChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LongDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LongDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HelpUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HelpUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromHResultAsync(int32_t errorCode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFromHResultAsync(errorCode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetErrorOptions(Windows::Foundation::Diagnostics::ErrorOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetErrorOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetErrorOptions(Windows::Foundation::Diagnostics::ErrorOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetErrorOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddLoggingChannel(impl::abi_arg_in loggingChannel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddLoggingChannel(*reinterpret_cast(&loggingChannel)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddLoggingChannelWithLevel(impl::abi_arg_in loggingChannel, Windows::Foundation::Diagnostics::LoggingLevel maxLevel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddLoggingChannel(*reinterpret_cast(&loggingChannel), maxLevel); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveLoggingChannel(impl::abi_arg_in loggingChannel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveLoggingChannel(*reinterpret_cast(&loggingChannel)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CloseAndSaveToFileAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CloseAndSaveToFileAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LogFileGenerated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LogFileGenerated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LogFileGenerated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogFileGenerated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in name, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Channel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Channel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopActivity(impl::abi_arg_in stopEventName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopActivity(*reinterpret_cast(&stopEventName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopActivityWithFields(impl::abi_arg_in stopEventName, impl::abi_arg_in fields) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopActivity(*reinterpret_cast(&stopEventName), *reinterpret_cast(&fields)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopActivityWithFieldsAndOptions(impl::abi_arg_in stopEventName, impl::abi_arg_in fields, impl::abi_arg_in options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopActivity(*reinterpret_cast(&stopEventName), *reinterpret_cast(&fields), *reinterpret_cast(&options)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateLoggingActivity(impl::abi_arg_in activityName, impl::abi_arg_in loggingChannel, impl::abi_arg_out loggingActivity) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loggingActivity = detach_abi(this->shim().CreateLoggingActivity(*reinterpret_cast(&activityName), *reinterpret_cast(&loggingChannel))); + return S_OK; + } + catch (...) + { + *loggingActivity = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateLoggingActivityWithLevel(impl::abi_arg_in activityName, impl::abi_arg_in loggingChannel, Windows::Foundation::Diagnostics::LoggingLevel level, impl::abi_arg_out loggingActivity) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loggingActivity = detach_abi(this->shim().CreateLoggingActivityWithLevel(*reinterpret_cast(&activityName), *reinterpret_cast(&loggingChannel), level)); + return S_OK; + } + catch (...) + { + *loggingActivity = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Level(Windows::Foundation::Diagnostics::LoggingLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Level()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogMessage(impl::abi_arg_in eventString) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogMessage(*reinterpret_cast(&eventString)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogMessageWithLevel(impl::abi_arg_in eventString, Windows::Foundation::Diagnostics::LoggingLevel level) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogMessage(*reinterpret_cast(&eventString), level); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogValuePair(impl::abi_arg_in value1, int32_t value2) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogValuePair(*reinterpret_cast(&value1), value2); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogValuePairWithLevel(impl::abi_arg_in value1, int32_t value2, Windows::Foundation::Diagnostics::LoggingLevel level) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogValuePair(*reinterpret_cast(&value1), value2, level); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LoggingEnabled(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LoggingEnabled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LoggingEnabled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoggingEnabled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in name, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithOptions(impl::abi_arg_in name, impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithOptions(*reinterpret_cast(&name), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithOptionsAndId(impl::abi_arg_in name, impl::abi_arg_in options, GUID id, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithOptionsAndId(*reinterpret_cast(&name), *reinterpret_cast(&options), id)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Group(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Group()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Group(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Group(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(GUID group, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(group)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BeginStruct(impl::abi_arg_in name) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeginStruct(*reinterpret_cast(&name)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BeginStructWithTags(impl::abi_arg_in name, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeginStruct(*reinterpret_cast(&name), tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndStruct() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndStruct(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddEmpty(impl::abi_arg_in name) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddEmpty(*reinterpret_cast(&name)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddEmptyWithFormat(impl::abi_arg_in name, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddEmpty(*reinterpret_cast(&name), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddEmptyWithFormatAndTags(impl::abi_arg_in name, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddEmpty(*reinterpret_cast(&name), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt8(impl::abi_arg_in name, uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt8(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt8WithFormat(impl::abi_arg_in name, uint8_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt8(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt8WithFormatAndTags(impl::abi_arg_in name, uint8_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt8(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt8Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt8Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt8ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt8Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt8ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt8Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt16(impl::abi_arg_in name, int16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt16(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt16WithFormat(impl::abi_arg_in name, int16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt16(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt16WithFormatAndTags(impl::abi_arg_in name, int16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt16(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt16Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt16ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt16ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt16(impl::abi_arg_in name, uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt16(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt16WithFormat(impl::abi_arg_in name, uint16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt16(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt16WithFormatAndTags(impl::abi_arg_in name, uint16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt16(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt16Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt16ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt16ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt32(impl::abi_arg_in name, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt32(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt32WithFormat(impl::abi_arg_in name, int32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt32(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt32WithFormatAndTags(impl::abi_arg_in name, int32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt32(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt32Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt32Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt32ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt32Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt32ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt32Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt32(impl::abi_arg_in name, uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt32(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt32WithFormat(impl::abi_arg_in name, uint32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt32(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt32WithFormatAndTags(impl::abi_arg_in name, uint32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt32(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt32Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt32Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt32ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt32Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt32ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt32Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt64(impl::abi_arg_in name, int64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt64(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt64WithFormat(impl::abi_arg_in name, int64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt64(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt64WithFormatAndTags(impl::abi_arg_in name, int64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt64(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt64Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt64Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt64ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt64Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddInt64ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInt64Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt64(impl::abi_arg_in name, uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt64(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt64WithFormat(impl::abi_arg_in name, uint64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt64(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt64WithFormatAndTags(impl::abi_arg_in name, uint64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt64(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt64Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt64Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt64ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt64Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddUInt64ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddUInt64Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSingle(impl::abi_arg_in name, float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSingle(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSingleWithFormat(impl::abi_arg_in name, float value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSingle(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSingleWithFormatAndTags(impl::abi_arg_in name, float value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSingle(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSingleArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSingleArray(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSingleArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSingleArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSingleArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSingleArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDouble(impl::abi_arg_in name, double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDouble(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDoubleWithFormat(impl::abi_arg_in name, double value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDouble(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDoubleWithFormatAndTags(impl::abi_arg_in name, double value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDouble(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDoubleArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDoubleArray(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDoubleArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDoubleArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDoubleArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDoubleArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddChar16(impl::abi_arg_in name, wchar_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddChar16(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddChar16WithFormat(impl::abi_arg_in name, wchar_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddChar16(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddChar16WithFormatAndTags(impl::abi_arg_in name, wchar_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddChar16(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddChar16Array(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddChar16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddChar16ArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddChar16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddChar16ArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddChar16Array(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddBoolean(impl::abi_arg_in name, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddBoolean(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddBooleanWithFormat(impl::abi_arg_in name, bool value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddBoolean(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddBooleanWithFormatAndTags(impl::abi_arg_in name, bool value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddBoolean(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddBooleanArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddBooleanArray(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddBooleanArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddBooleanArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddBooleanArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddBooleanArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddString(impl::abi_arg_in name, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddString(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStringWithFormat(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddString(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStringWithFormatAndTags(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddString(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStringArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddStringArray(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStringArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddStringArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStringArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddStringArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddGuid(impl::abi_arg_in name, GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddGuid(*reinterpret_cast(&name), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddGuidWithFormat(impl::abi_arg_in name, GUID value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddGuid(*reinterpret_cast(&name), value, format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddGuidWithFormatAndTags(impl::abi_arg_in name, GUID value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddGuid(*reinterpret_cast(&name), value, format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddGuidArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddGuidArray(*reinterpret_cast(&name), array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddGuidArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddGuidArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddGuidArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddGuidArray(*reinterpret_cast(&name), array_view(value, value + __valueSize), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDateTime(impl::abi_arg_in name, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDateTime(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDateTimeWithFormat(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDateTime(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDateTimeWithFormatAndTags(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDateTime(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDateTimeArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDateTimeArray(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDateTimeArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDateTimeArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDateTimeArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDateTimeArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTimeSpan(impl::abi_arg_in name, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTimeSpan(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTimeSpanWithFormat(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTimeSpan(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTimeSpanWithFormatAndTags(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTimeSpan(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTimeSpanArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTimeSpanArray(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTimeSpanArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTimeSpanArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTimeSpanArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTimeSpanArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPoint(impl::abi_arg_in name, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddPoint(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPointWithFormat(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddPoint(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPointWithFormatAndTags(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddPoint(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPointArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddPointArray(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPointArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddPointArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPointArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddPointArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSize(impl::abi_arg_in name, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSize(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSizeWithFormat(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSize(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSizeWithFormatAndTags(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSize(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSizeArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSizeArray(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSizeArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSizeArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSizeArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSizeArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddRect(impl::abi_arg_in name, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddRect(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddRectWithFormat(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddRect(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddRectWithFormatAndTags(impl::abi_arg_in name, impl::abi_arg_in value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddRect(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddRectArray(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddRectArray(*reinterpret_cast(&name), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddRectArrayWithFormat(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddRectArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddRectArrayWithFormatAndTags(impl::abi_arg_in name, uint32_t __valueSize, impl::abi_arg_in * value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddRectArray(*reinterpret_cast(&name), *reinterpret_cast(&value), format, tags); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Keywords(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keywords()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Keywords(int64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Keywords(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tags(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tags()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Tags(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tags(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Task(int16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Task()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Task(int16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Task(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Opcode(Windows::Foundation::Diagnostics::LoggingOpcode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Opcode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Opcode(Windows::Foundation::Diagnostics::LoggingOpcode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opcode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ActivityId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActivityId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelatedActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelatedActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelatedActivityId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelatedActivityId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithKeywords(int64_t keywords, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithKeywords(keywords)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveToFileAsync(impl::abi_arg_in folder, impl::abi_arg_in fileName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveToFileAsync(*reinterpret_cast(&folder), *reinterpret_cast(&fileName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddLoggingChannel(impl::abi_arg_in loggingChannel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddLoggingChannel(*reinterpret_cast(&loggingChannel)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddLoggingChannelWithLevel(impl::abi_arg_in loggingChannel, Windows::Foundation::Diagnostics::LoggingLevel maxLevel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddLoggingChannel(*reinterpret_cast(&loggingChannel), maxLevel); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveLoggingChannel(impl::abi_arg_in loggingChannel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveLoggingChannel(*reinterpret_cast(&loggingChannel)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in name, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsEnabled(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEnabledWithLevel(Windows::Foundation::Diagnostics::LoggingLevel level, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsEnabled(level)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEnabledWithLevelAndKeywords(Windows::Foundation::Diagnostics::LoggingLevel level, int64_t keywords, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsEnabled(level, keywords)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogEvent(impl::abi_arg_in eventName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogEvent(*reinterpret_cast(&eventName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogEventWithFields(impl::abi_arg_in eventName, impl::abi_arg_in fields) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogEvent(*reinterpret_cast(&eventName), *reinterpret_cast(&fields)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogEventWithFieldsAndLevel(impl::abi_arg_in eventName, impl::abi_arg_in fields, Windows::Foundation::Diagnostics::LoggingLevel level) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogEvent(*reinterpret_cast(&eventName), *reinterpret_cast(&fields), level); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogEventWithFieldsAndOptions(impl::abi_arg_in eventName, impl::abi_arg_in fields, Windows::Foundation::Diagnostics::LoggingLevel level, impl::abi_arg_in options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogEvent(*reinterpret_cast(&eventName), *reinterpret_cast(&fields), level, *reinterpret_cast(&options)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartActivity(impl::abi_arg_in startEventName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StartActivity(*reinterpret_cast(&startEventName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartActivityWithFields(impl::abi_arg_in startEventName, impl::abi_arg_in fields, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StartActivity(*reinterpret_cast(&startEventName), *reinterpret_cast(&fields))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartActivityWithFieldsAndLevel(impl::abi_arg_in startEventName, impl::abi_arg_in fields, Windows::Foundation::Diagnostics::LoggingLevel level, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StartActivity(*reinterpret_cast(&startEventName), *reinterpret_cast(&fields), level)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartActivityWithFieldsAndOptions(impl::abi_arg_in startEventName, impl::abi_arg_in fields, Windows::Foundation::Diagnostics::LoggingLevel level, impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StartActivity(*reinterpret_cast(&startEventName), *reinterpret_cast(&fields), level, *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Enabled(bool * enabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *enabled = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TraceLevel(Windows::Foundation::Diagnostics::CausalityTraceLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TraceLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Foundation::Diagnostics { + +template bool impl_ITracingStatusChangedEventArgs::Enabled() const +{ + bool enabled {}; + check_hresult(WINRT_SHIM(ITracingStatusChangedEventArgs)->get_Enabled(&enabled)); + return enabled; +} + +template Windows::Foundation::Diagnostics::CausalityTraceLevel impl_ITracingStatusChangedEventArgs::TraceLevel() const +{ + Windows::Foundation::Diagnostics::CausalityTraceLevel value {}; + check_hresult(WINRT_SHIM(ITracingStatusChangedEventArgs)->get_TraceLevel(&value)); + return value; +} + +template void impl_IAsyncCausalityTracerStatics::TraceOperationCreation(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, hstring_view operationName, uint64_t relatedContext) const +{ + check_hresult(WINRT_SHIM(IAsyncCausalityTracerStatics)->abi_TraceOperationCreation(traceLevel, source, platformId, operationId, get_abi(operationName), relatedContext)); +} + +template void impl_IAsyncCausalityTracerStatics::TraceOperationCompletion(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::AsyncStatus status) const +{ + check_hresult(WINRT_SHIM(IAsyncCausalityTracerStatics)->abi_TraceOperationCompletion(traceLevel, source, platformId, operationId, status)); +} + +template void impl_IAsyncCausalityTracerStatics::TraceOperationRelation(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::Diagnostics::CausalityRelation relation) const +{ + check_hresult(WINRT_SHIM(IAsyncCausalityTracerStatics)->abi_TraceOperationRelation(traceLevel, source, platformId, operationId, relation)); +} + +template void impl_IAsyncCausalityTracerStatics::TraceSynchronousWorkStart(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::Diagnostics::CausalitySynchronousWork work) const +{ + check_hresult(WINRT_SHIM(IAsyncCausalityTracerStatics)->abi_TraceSynchronousWorkStart(traceLevel, source, platformId, operationId, work)); +} + +template void impl_IAsyncCausalityTracerStatics::TraceSynchronousWorkCompletion(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, Windows::Foundation::Diagnostics::CausalitySynchronousWork work) const +{ + check_hresult(WINRT_SHIM(IAsyncCausalityTracerStatics)->abi_TraceSynchronousWorkCompletion(traceLevel, source, work)); +} + +template event_token impl_IAsyncCausalityTracerStatics::TracingStatusChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IAsyncCausalityTracerStatics)->add_TracingStatusChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IAsyncCausalityTracerStatics::TracingStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Foundation::Diagnostics::IAsyncCausalityTracerStatics::remove_TracingStatusChanged, TracingStatusChanged(handler)); +} + +template void impl_IAsyncCausalityTracerStatics::TracingStatusChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IAsyncCausalityTracerStatics)->remove_TracingStatusChanged(cookie)); +} + +template void impl_IErrorReportingSettings::SetErrorOptions(Windows::Foundation::Diagnostics::ErrorOptions value) const +{ + check_hresult(WINRT_SHIM(IErrorReportingSettings)->abi_SetErrorOptions(value)); +} + +template Windows::Foundation::Diagnostics::ErrorOptions impl_IErrorReportingSettings::GetErrorOptions() const +{ + Windows::Foundation::Diagnostics::ErrorOptions value {}; + check_hresult(WINRT_SHIM(IErrorReportingSettings)->abi_GetErrorOptions(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IErrorDetailsStatics::CreateFromHResultAsync(int32_t errorCode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IErrorDetailsStatics)->abi_CreateFromHResultAsync(errorCode, put_abi(operation))); + return operation; +} + +template hstring impl_IErrorDetails::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IErrorDetails)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_IErrorDetails::LongDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IErrorDetails)->get_LongDescription(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IErrorDetails::HelpUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IErrorDetails)->get_HelpUri(put_abi(value))); + return value; +} + +template int64_t impl_ILoggingOptions::Keywords() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(ILoggingOptions)->get_Keywords(&value)); + return value; +} + +template void impl_ILoggingOptions::Keywords(int64_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingOptions)->put_Keywords(value)); +} + +template int32_t impl_ILoggingOptions::Tags() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ILoggingOptions)->get_Tags(&value)); + return value; +} + +template void impl_ILoggingOptions::Tags(int32_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingOptions)->put_Tags(value)); +} + +template int16_t impl_ILoggingOptions::Task() const +{ + int16_t value {}; + check_hresult(WINRT_SHIM(ILoggingOptions)->get_Task(&value)); + return value; +} + +template void impl_ILoggingOptions::Task(int16_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingOptions)->put_Task(value)); +} + +template Windows::Foundation::Diagnostics::LoggingOpcode impl_ILoggingOptions::Opcode() const +{ + Windows::Foundation::Diagnostics::LoggingOpcode value {}; + check_hresult(WINRT_SHIM(ILoggingOptions)->get_Opcode(&value)); + return value; +} + +template void impl_ILoggingOptions::Opcode(Windows::Foundation::Diagnostics::LoggingOpcode value) const +{ + check_hresult(WINRT_SHIM(ILoggingOptions)->put_Opcode(value)); +} + +template GUID impl_ILoggingOptions::ActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ILoggingOptions)->get_ActivityId(&value)); + return value; +} + +template void impl_ILoggingOptions::ActivityId(GUID value) const +{ + check_hresult(WINRT_SHIM(ILoggingOptions)->put_ActivityId(value)); +} + +template GUID impl_ILoggingOptions::RelatedActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ILoggingOptions)->get_RelatedActivityId(&value)); + return value; +} + +template void impl_ILoggingOptions::RelatedActivityId(GUID value) const +{ + check_hresult(WINRT_SHIM(ILoggingOptions)->put_RelatedActivityId(value)); +} + +template Windows::Foundation::Diagnostics::LoggingOptions impl_ILoggingOptionsFactory::CreateWithKeywords(int64_t keywords) const +{ + Windows::Foundation::Diagnostics::LoggingOptions result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingOptionsFactory)->abi_CreateWithKeywords(keywords, put_abi(result))); + return result; +} + +template GUID impl_ILoggingChannelOptions::Group() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ILoggingChannelOptions)->get_Group(&value)); + return value; +} + +template void impl_ILoggingChannelOptions::Group(GUID value) const +{ + check_hresult(WINRT_SHIM(ILoggingChannelOptions)->put_Group(value)); +} + +template Windows::Foundation::Diagnostics::LoggingChannelOptions impl_ILoggingChannelOptionsFactory::Create(GUID group) const +{ + Windows::Foundation::Diagnostics::LoggingChannelOptions result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingChannelOptionsFactory)->abi_Create(group, put_abi(result))); + return result; +} + +template void impl_ILoggingFields::Clear() const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_Clear()); +} + +template void impl_ILoggingFields::BeginStruct(hstring_view name) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_BeginStruct(get_abi(name))); +} + +template void impl_ILoggingFields::BeginStruct(hstring_view name, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_BeginStructWithTags(get_abi(name), tags)); +} + +template void impl_ILoggingFields::EndStruct() const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_EndStruct()); +} + +template void impl_ILoggingFields::AddEmpty(hstring_view name) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddEmpty(get_abi(name))); +} + +template void impl_ILoggingFields::AddEmpty(hstring_view name, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddEmptyWithFormat(get_abi(name), format)); +} + +template void impl_ILoggingFields::AddEmpty(hstring_view name, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddEmptyWithFormatAndTags(get_abi(name), format, tags)); +} + +template void impl_ILoggingFields::AddUInt8(hstring_view name, uint8_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt8(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddUInt8(hstring_view name, uint8_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt8WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddUInt8(hstring_view name, uint8_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt8WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddUInt8Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt8Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddUInt8Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt8ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddUInt8Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt8ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddInt16(hstring_view name, int16_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt16(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddInt16(hstring_view name, int16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt16WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddInt16(hstring_view name, int16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt16WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddInt16Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt16Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddInt16Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt16ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddInt16Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt16ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddUInt16(hstring_view name, uint16_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt16(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddUInt16(hstring_view name, uint16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt16WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddUInt16(hstring_view name, uint16_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt16WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddUInt16Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt16Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddUInt16Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt16ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddUInt16Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt16ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddInt32(hstring_view name, int32_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt32(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddInt32(hstring_view name, int32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt32WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddInt32(hstring_view name, int32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt32WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddInt32Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt32Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddInt32Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt32ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddInt32Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt32ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddUInt32(hstring_view name, uint32_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt32(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddUInt32(hstring_view name, uint32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt32WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddUInt32(hstring_view name, uint32_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt32WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddUInt32Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt32Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddUInt32Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt32ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddUInt32Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt32ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddInt64(hstring_view name, int64_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt64(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddInt64(hstring_view name, int64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt64WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddInt64(hstring_view name, int64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt64WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddInt64Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt64Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddInt64Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt64ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddInt64Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddInt64ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddUInt64(hstring_view name, uint64_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt64(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddUInt64(hstring_view name, uint64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt64WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddUInt64(hstring_view name, uint64_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt64WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddUInt64Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt64Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddUInt64Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt64ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddUInt64Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddUInt64ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddSingle(hstring_view name, float value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSingle(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddSingle(hstring_view name, float value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSingleWithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddSingle(hstring_view name, float value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSingleWithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddSingleArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSingleArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddSingleArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSingleArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddSingleArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSingleArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddDouble(hstring_view name, double value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDouble(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddDouble(hstring_view name, double value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDoubleWithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddDouble(hstring_view name, double value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDoubleWithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddDoubleArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDoubleArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddDoubleArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDoubleArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddDoubleArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDoubleArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddChar16(hstring_view name, wchar_t value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddChar16(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddChar16(hstring_view name, wchar_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddChar16WithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddChar16(hstring_view name, wchar_t value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddChar16WithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddChar16Array(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddChar16Array(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddChar16Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddChar16ArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddChar16Array(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddChar16ArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddBoolean(hstring_view name, bool value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddBoolean(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddBoolean(hstring_view name, bool value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddBooleanWithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddBoolean(hstring_view name, bool value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddBooleanWithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddBooleanArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddBooleanArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddBooleanArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddBooleanArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddBooleanArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddBooleanArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddString(hstring_view name, hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddString(get_abi(name), get_abi(value))); +} + +template void impl_ILoggingFields::AddString(hstring_view name, hstring_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddStringWithFormat(get_abi(name), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddString(hstring_view name, hstring_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddStringWithFormatAndTags(get_abi(name), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddStringArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddStringArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddStringArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddStringArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddStringArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddStringArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddGuid(hstring_view name, GUID value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddGuid(get_abi(name), value)); +} + +template void impl_ILoggingFields::AddGuid(hstring_view name, GUID value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddGuidWithFormat(get_abi(name), value, format)); +} + +template void impl_ILoggingFields::AddGuid(hstring_view name, GUID value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddGuidWithFormatAndTags(get_abi(name), value, format, tags)); +} + +template void impl_ILoggingFields::AddGuidArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddGuidArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddGuidArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddGuidArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddGuidArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddGuidArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddDateTime(hstring_view name, const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDateTime(get_abi(name), get_abi(value))); +} + +template void impl_ILoggingFields::AddDateTime(hstring_view name, const Windows::Foundation::DateTime & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDateTimeWithFormat(get_abi(name), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddDateTime(hstring_view name, const Windows::Foundation::DateTime & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDateTimeWithFormatAndTags(get_abi(name), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddDateTimeArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDateTimeArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddDateTimeArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDateTimeArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddDateTimeArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddDateTimeArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddTimeSpan(hstring_view name, const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddTimeSpan(get_abi(name), get_abi(value))); +} + +template void impl_ILoggingFields::AddTimeSpan(hstring_view name, const Windows::Foundation::TimeSpan & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddTimeSpanWithFormat(get_abi(name), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddTimeSpan(hstring_view name, const Windows::Foundation::TimeSpan & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddTimeSpanWithFormatAndTags(get_abi(name), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddTimeSpanArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddTimeSpanArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddTimeSpanArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddTimeSpanArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddTimeSpanArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddTimeSpanArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddPoint(hstring_view name, const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddPoint(get_abi(name), get_abi(value))); +} + +template void impl_ILoggingFields::AddPoint(hstring_view name, const Windows::Foundation::Point & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddPointWithFormat(get_abi(name), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddPoint(hstring_view name, const Windows::Foundation::Point & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddPointWithFormatAndTags(get_abi(name), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddPointArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddPointArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddPointArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddPointArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddPointArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddPointArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddSize(hstring_view name, const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSize(get_abi(name), get_abi(value))); +} + +template void impl_ILoggingFields::AddSize(hstring_view name, const Windows::Foundation::Size & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSizeWithFormat(get_abi(name), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddSize(hstring_view name, const Windows::Foundation::Size & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSizeWithFormatAndTags(get_abi(name), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddSizeArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSizeArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddSizeArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSizeArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddSizeArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddSizeArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddRect(hstring_view name, const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddRect(get_abi(name), get_abi(value))); +} + +template void impl_ILoggingFields::AddRect(hstring_view name, const Windows::Foundation::Rect & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddRectWithFormat(get_abi(name), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddRect(hstring_view name, const Windows::Foundation::Rect & value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddRectWithFormatAndTags(get_abi(name), get_abi(value), format, tags)); +} + +template void impl_ILoggingFields::AddRectArray(hstring_view name, array_view value) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddRectArray(get_abi(name), value.size(), get_abi(value))); +} + +template void impl_ILoggingFields::AddRectArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddRectArrayWithFormat(get_abi(name), value.size(), get_abi(value), format)); +} + +template void impl_ILoggingFields::AddRectArray(hstring_view name, array_view value, Windows::Foundation::Diagnostics::LoggingFieldFormat format, int32_t tags) const +{ + check_hresult(WINRT_SHIM(ILoggingFields)->abi_AddRectArrayWithFormatAndTags(get_abi(name), value.size(), get_abi(value), format, tags)); +} + +template bool impl_ILoggingTarget::IsEnabled() const +{ + bool result {}; + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_IsEnabled(&result)); + return result; +} + +template bool impl_ILoggingTarget::IsEnabled(Windows::Foundation::Diagnostics::LoggingLevel level) const +{ + bool result {}; + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_IsEnabledWithLevel(level, &result)); + return result; +} + +template bool impl_ILoggingTarget::IsEnabled(Windows::Foundation::Diagnostics::LoggingLevel level, int64_t keywords) const +{ + bool result {}; + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_IsEnabledWithLevelAndKeywords(level, keywords, &result)); + return result; +} + +template void impl_ILoggingTarget::LogEvent(hstring_view eventName) const +{ + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_LogEvent(get_abi(eventName))); +} + +template void impl_ILoggingTarget::LogEvent(hstring_view eventName, const Windows::Foundation::Diagnostics::LoggingFields & fields) const +{ + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_LogEventWithFields(get_abi(eventName), get_abi(fields))); +} + +template void impl_ILoggingTarget::LogEvent(hstring_view eventName, const Windows::Foundation::Diagnostics::LoggingFields & fields, Windows::Foundation::Diagnostics::LoggingLevel level) const +{ + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_LogEventWithFieldsAndLevel(get_abi(eventName), get_abi(fields), level)); +} + +template void impl_ILoggingTarget::LogEvent(hstring_view eventName, const Windows::Foundation::Diagnostics::LoggingFields & fields, Windows::Foundation::Diagnostics::LoggingLevel level, const Windows::Foundation::Diagnostics::LoggingOptions & options) const +{ + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_LogEventWithFieldsAndOptions(get_abi(eventName), get_abi(fields), level, get_abi(options))); +} + +template Windows::Foundation::Diagnostics::LoggingActivity impl_ILoggingTarget::StartActivity(hstring_view startEventName) const +{ + Windows::Foundation::Diagnostics::LoggingActivity result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_StartActivity(get_abi(startEventName), put_abi(result))); + return result; +} + +template Windows::Foundation::Diagnostics::LoggingActivity impl_ILoggingTarget::StartActivity(hstring_view startEventName, const Windows::Foundation::Diagnostics::LoggingFields & fields) const +{ + Windows::Foundation::Diagnostics::LoggingActivity result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_StartActivityWithFields(get_abi(startEventName), get_abi(fields), put_abi(result))); + return result; +} + +template Windows::Foundation::Diagnostics::LoggingActivity impl_ILoggingTarget::StartActivity(hstring_view startEventName, const Windows::Foundation::Diagnostics::LoggingFields & fields, Windows::Foundation::Diagnostics::LoggingLevel level) const +{ + Windows::Foundation::Diagnostics::LoggingActivity result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_StartActivityWithFieldsAndLevel(get_abi(startEventName), get_abi(fields), level, put_abi(result))); + return result; +} + +template Windows::Foundation::Diagnostics::LoggingActivity impl_ILoggingTarget::StartActivity(hstring_view startEventName, const Windows::Foundation::Diagnostics::LoggingFields & fields, Windows::Foundation::Diagnostics::LoggingLevel level, const Windows::Foundation::Diagnostics::LoggingOptions & options) const +{ + Windows::Foundation::Diagnostics::LoggingActivity result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingTarget)->abi_StartActivityWithFieldsAndOptions(get_abi(startEventName), get_abi(fields), level, get_abi(options), put_abi(result))); + return result; +} + +template hstring impl_ILoggingChannel::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILoggingChannel)->get_Name(put_abi(value))); + return value; +} + +template bool impl_ILoggingChannel::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILoggingChannel)->get_Enabled(&value)); + return value; +} + +template Windows::Foundation::Diagnostics::LoggingLevel impl_ILoggingChannel::Level() const +{ + Windows::Foundation::Diagnostics::LoggingLevel value {}; + check_hresult(WINRT_SHIM(ILoggingChannel)->get_Level(&value)); + return value; +} + +template void impl_ILoggingChannel::LogMessage(hstring_view eventString) const +{ + check_hresult(WINRT_SHIM(ILoggingChannel)->abi_LogMessage(get_abi(eventString))); +} + +template void impl_ILoggingChannel::LogMessage(hstring_view eventString, Windows::Foundation::Diagnostics::LoggingLevel level) const +{ + check_hresult(WINRT_SHIM(ILoggingChannel)->abi_LogMessageWithLevel(get_abi(eventString), level)); +} + +template void impl_ILoggingChannel::LogValuePair(hstring_view value1, int32_t value2) const +{ + check_hresult(WINRT_SHIM(ILoggingChannel)->abi_LogValuePair(get_abi(value1), value2)); +} + +template void impl_ILoggingChannel::LogValuePair(hstring_view value1, int32_t value2, Windows::Foundation::Diagnostics::LoggingLevel level) const +{ + check_hresult(WINRT_SHIM(ILoggingChannel)->abi_LogValuePairWithLevel(get_abi(value1), value2, level)); +} + +template event_token impl_ILoggingChannel::LoggingEnabled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILoggingChannel)->add_LoggingEnabled(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILoggingChannel::LoggingEnabled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Foundation::Diagnostics::ILoggingChannel::remove_LoggingEnabled, LoggingEnabled(handler)); +} + +template void impl_ILoggingChannel::LoggingEnabled(event_token token) const +{ + check_hresult(WINRT_SHIM(ILoggingChannel)->remove_LoggingEnabled(token)); +} + +template GUID impl_ILoggingChannel2::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ILoggingChannel2)->get_Id(&value)); + return value; +} + +template Windows::Foundation::Diagnostics::LoggingChannel impl_ILoggingChannelFactory::Create(hstring_view name) const +{ + Windows::Foundation::Diagnostics::LoggingChannel result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingChannelFactory)->abi_Create(get_abi(name), put_abi(result))); + return result; +} + +template Windows::Foundation::Diagnostics::LoggingChannel impl_ILoggingChannelFactory2::CreateWithOptions(hstring_view name, const Windows::Foundation::Diagnostics::LoggingChannelOptions & options) const +{ + Windows::Foundation::Diagnostics::LoggingChannel result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingChannelFactory2)->abi_CreateWithOptions(get_abi(name), get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::Diagnostics::LoggingChannel impl_ILoggingChannelFactory2::CreateWithOptionsAndId(hstring_view name, const Windows::Foundation::Diagnostics::LoggingChannelOptions & options, GUID id) const +{ + Windows::Foundation::Diagnostics::LoggingChannel result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingChannelFactory2)->abi_CreateWithOptionsAndId(get_abi(name), get_abi(options), id, put_abi(result))); + return result; +} + +template hstring impl_ILoggingActivity::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILoggingActivity)->get_Name(put_abi(value))); + return value; +} + +template GUID impl_ILoggingActivity::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ILoggingActivity)->get_Id(&value)); + return value; +} + +template Windows::Foundation::Diagnostics::LoggingChannel impl_ILoggingActivity2::Channel() const +{ + Windows::Foundation::Diagnostics::LoggingChannel value { nullptr }; + check_hresult(WINRT_SHIM(ILoggingActivity2)->get_Channel(put_abi(value))); + return value; +} + +template void impl_ILoggingActivity2::StopActivity(hstring_view stopEventName) const +{ + check_hresult(WINRT_SHIM(ILoggingActivity2)->abi_StopActivity(get_abi(stopEventName))); +} + +template void impl_ILoggingActivity2::StopActivity(hstring_view stopEventName, const Windows::Foundation::Diagnostics::LoggingFields & fields) const +{ + check_hresult(WINRT_SHIM(ILoggingActivity2)->abi_StopActivityWithFields(get_abi(stopEventName), get_abi(fields))); +} + +template void impl_ILoggingActivity2::StopActivity(hstring_view stopEventName, const Windows::Foundation::Diagnostics::LoggingFields & fields, const Windows::Foundation::Diagnostics::LoggingOptions & options) const +{ + check_hresult(WINRT_SHIM(ILoggingActivity2)->abi_StopActivityWithFieldsAndOptions(get_abi(stopEventName), get_abi(fields), get_abi(options))); +} + +template Windows::Foundation::Diagnostics::LoggingActivity impl_ILoggingActivityFactory::CreateLoggingActivity(hstring_view activityName, const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel) const +{ + Windows::Foundation::Diagnostics::LoggingActivity loggingActivity { nullptr }; + check_hresult(WINRT_SHIM(ILoggingActivityFactory)->abi_CreateLoggingActivity(get_abi(activityName), get_abi(loggingChannel), put_abi(loggingActivity))); + return loggingActivity; +} + +template Windows::Foundation::Diagnostics::LoggingActivity impl_ILoggingActivityFactory::CreateLoggingActivityWithLevel(hstring_view activityName, const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel, Windows::Foundation::Diagnostics::LoggingLevel level) const +{ + Windows::Foundation::Diagnostics::LoggingActivity loggingActivity { nullptr }; + check_hresult(WINRT_SHIM(ILoggingActivityFactory)->abi_CreateLoggingActivityWithLevel(get_abi(activityName), get_abi(loggingChannel), level, put_abi(loggingActivity))); + return loggingActivity; +} + +template hstring impl_ILoggingSession::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILoggingSession)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ILoggingSession::SaveToFileAsync(const Windows::Storage::IStorageFolder & folder, hstring_view fileName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILoggingSession)->abi_SaveToFileAsync(get_abi(folder), get_abi(fileName), put_abi(operation))); + return operation; +} + +template void impl_ILoggingSession::AddLoggingChannel(const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel) const +{ + check_hresult(WINRT_SHIM(ILoggingSession)->abi_AddLoggingChannel(get_abi(loggingChannel))); +} + +template void impl_ILoggingSession::AddLoggingChannel(const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel, Windows::Foundation::Diagnostics::LoggingLevel maxLevel) const +{ + check_hresult(WINRT_SHIM(ILoggingSession)->abi_AddLoggingChannelWithLevel(get_abi(loggingChannel), maxLevel)); +} + +template void impl_ILoggingSession::RemoveLoggingChannel(const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel) const +{ + check_hresult(WINRT_SHIM(ILoggingSession)->abi_RemoveLoggingChannel(get_abi(loggingChannel))); +} + +template Windows::Foundation::Diagnostics::LoggingSession impl_ILoggingSessionFactory::Create(hstring_view name) const +{ + Windows::Foundation::Diagnostics::LoggingSession result { nullptr }; + check_hresult(WINRT_SHIM(ILoggingSessionFactory)->abi_Create(get_abi(name), put_abi(result))); + return result; +} + +template Windows::Storage::StorageFile impl_ILogFileGeneratedEventArgs::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(ILogFileGeneratedEventArgs)->get_File(put_abi(value))); + return value; +} + +template hstring impl_IFileLoggingSession::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileLoggingSession)->get_Name(put_abi(value))); + return value; +} + +template void impl_IFileLoggingSession::AddLoggingChannel(const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel) const +{ + check_hresult(WINRT_SHIM(IFileLoggingSession)->abi_AddLoggingChannel(get_abi(loggingChannel))); +} + +template void impl_IFileLoggingSession::AddLoggingChannel(const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel, Windows::Foundation::Diagnostics::LoggingLevel maxLevel) const +{ + check_hresult(WINRT_SHIM(IFileLoggingSession)->abi_AddLoggingChannelWithLevel(get_abi(loggingChannel), maxLevel)); +} + +template void impl_IFileLoggingSession::RemoveLoggingChannel(const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel) const +{ + check_hresult(WINRT_SHIM(IFileLoggingSession)->abi_RemoveLoggingChannel(get_abi(loggingChannel))); +} + +template Windows::Foundation::IAsyncOperation impl_IFileLoggingSession::CloseAndSaveToFileAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IFileLoggingSession)->abi_CloseAndSaveToFileAsync(put_abi(operation))); + return operation; +} + +template event_token impl_IFileLoggingSession::LogFileGenerated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFileLoggingSession)->add_LogFileGenerated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IFileLoggingSession::LogFileGenerated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Foundation::Diagnostics::IFileLoggingSession::remove_LogFileGenerated, LogFileGenerated(handler)); +} + +template void impl_IFileLoggingSession::LogFileGenerated(event_token token) const +{ + check_hresult(WINRT_SHIM(IFileLoggingSession)->remove_LogFileGenerated(token)); +} + +template Windows::Foundation::Diagnostics::FileLoggingSession impl_IFileLoggingSessionFactory::Create(hstring_view name) const +{ + Windows::Foundation::Diagnostics::FileLoggingSession result { nullptr }; + check_hresult(WINRT_SHIM(IFileLoggingSessionFactory)->abi_Create(get_abi(name), put_abi(result))); + return result; +} + +inline void AsyncCausalityTracer::TraceOperationCreation(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, hstring_view operationName, uint64_t relatedContext) +{ + get_activation_factory().TraceOperationCreation(traceLevel, source, platformId, operationId, operationName, relatedContext); +} + +inline void AsyncCausalityTracer::TraceOperationCompletion(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::AsyncStatus status) +{ + get_activation_factory().TraceOperationCompletion(traceLevel, source, platformId, operationId, status); +} + +inline void AsyncCausalityTracer::TraceOperationRelation(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::Diagnostics::CausalityRelation relation) +{ + get_activation_factory().TraceOperationRelation(traceLevel, source, platformId, operationId, relation); +} + +inline void AsyncCausalityTracer::TraceSynchronousWorkStart(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, GUID platformId, uint64_t operationId, Windows::Foundation::Diagnostics::CausalitySynchronousWork work) +{ + get_activation_factory().TraceSynchronousWorkStart(traceLevel, source, platformId, operationId, work); +} + +inline void AsyncCausalityTracer::TraceSynchronousWorkCompletion(Windows::Foundation::Diagnostics::CausalityTraceLevel traceLevel, Windows::Foundation::Diagnostics::CausalitySource source, Windows::Foundation::Diagnostics::CausalitySynchronousWork work) +{ + get_activation_factory().TraceSynchronousWorkCompletion(traceLevel, source, work); +} + +inline event_token AsyncCausalityTracer::TracingStatusChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().TracingStatusChanged(handler); +} + +inline factory_event_revoker AsyncCausalityTracer::TracingStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Foundation::Diagnostics::IAsyncCausalityTracerStatics::remove_TracingStatusChanged, factory.TracingStatusChanged(handler) }; +} + +inline void AsyncCausalityTracer::TracingStatusChanged(event_token cookie) +{ + get_activation_factory().TracingStatusChanged(cookie); +} + +inline Windows::Foundation::IAsyncOperation ErrorDetails::CreateFromHResultAsync(int32_t errorCode) +{ + return get_activation_factory().CreateFromHResultAsync(errorCode); +} + +inline FileLoggingSession::FileLoggingSession(hstring_view name) : + FileLoggingSession(get_activation_factory().Create(name)) +{} + +inline LoggingActivity::LoggingActivity(hstring_view activityName, const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel) : + LoggingActivity(get_activation_factory().CreateLoggingActivity(activityName, loggingChannel)) +{} + +inline LoggingActivity::LoggingActivity(hstring_view activityName, const Windows::Foundation::Diagnostics::ILoggingChannel & loggingChannel, Windows::Foundation::Diagnostics::LoggingLevel level) : + LoggingActivity(get_activation_factory().CreateLoggingActivityWithLevel(activityName, loggingChannel, level)) +{} + +inline LoggingChannel::LoggingChannel(hstring_view name, const Windows::Foundation::Diagnostics::LoggingChannelOptions & options) : + LoggingChannel(get_activation_factory().CreateWithOptions(name, options)) +{} + +inline LoggingChannel::LoggingChannel(hstring_view name, const Windows::Foundation::Diagnostics::LoggingChannelOptions & options, GUID id) : + LoggingChannel(get_activation_factory().CreateWithOptionsAndId(name, options, id)) +{} + +inline LoggingChannel::LoggingChannel(hstring_view name) : + LoggingChannel(get_activation_factory().Create(name)) +{} + +inline LoggingChannelOptions::LoggingChannelOptions() : + LoggingChannelOptions(activate_instance()) +{} + +inline LoggingChannelOptions::LoggingChannelOptions(GUID group) : + LoggingChannelOptions(get_activation_factory().Create(group)) +{} + +inline LoggingFields::LoggingFields() : + LoggingFields(activate_instance()) +{} + +inline LoggingOptions::LoggingOptions() : + LoggingOptions(activate_instance()) +{} + +inline LoggingOptions::LoggingOptions(int64_t keywords) : + LoggingOptions(get_activation_factory().CreateWithKeywords(keywords)) +{} + +inline LoggingSession::LoggingSession(hstring_view name) : + LoggingSession(get_activation_factory().Create(name)) +{} + +inline RuntimeBrokerErrorSettings::RuntimeBrokerErrorSettings() : + RuntimeBrokerErrorSettings(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::IAsyncCausalityTracerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::IErrorDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::IErrorDetailsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::IErrorReportingSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::IFileLoggingSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::IFileLoggingSessionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILogFileGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingActivity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingActivity2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingActivityFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingChannel2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingChannelFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingChannelFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingChannelOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingChannelOptionsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingFields & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingOptionsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingSessionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ILoggingTarget & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ITracingStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::ErrorDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::FileLoggingSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::LogFileGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::LoggingActivity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::LoggingChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::LoggingChannelOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::LoggingFields & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::LoggingOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::LoggingSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::RuntimeBrokerErrorSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Diagnostics::TracingStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Foundation.Metadata.h b/10.0.15042.0/winrt/Windows.Foundation.Metadata.h new file mode 100644 index 000000000..d3fd1de92 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Foundation.Metadata.h @@ -0,0 +1,297 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Metadata.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsTypePresent(impl::abi_arg_in typeName, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTypePresent(*reinterpret_cast(&typeName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsMethodPresent(impl::abi_arg_in typeName, impl::abi_arg_in methodName, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMethodPresent(*reinterpret_cast(&typeName), *reinterpret_cast(&methodName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsMethodPresentWithArity(impl::abi_arg_in typeName, impl::abi_arg_in methodName, uint32_t inputParameterCount, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMethodPresent(*reinterpret_cast(&typeName), *reinterpret_cast(&methodName), inputParameterCount)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEventPresent(impl::abi_arg_in typeName, impl::abi_arg_in eventName, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEventPresent(*reinterpret_cast(&typeName), *reinterpret_cast(&eventName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsPropertyPresent(impl::abi_arg_in typeName, impl::abi_arg_in propertyName, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPropertyPresent(*reinterpret_cast(&typeName), *reinterpret_cast(&propertyName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsReadOnlyPropertyPresent(impl::abi_arg_in typeName, impl::abi_arg_in propertyName, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnlyPropertyPresent(*reinterpret_cast(&typeName), *reinterpret_cast(&propertyName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsWriteablePropertyPresent(impl::abi_arg_in typeName, impl::abi_arg_in propertyName, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWriteablePropertyPresent(*reinterpret_cast(&typeName), *reinterpret_cast(&propertyName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEnumNamedValuePresent(impl::abi_arg_in enumTypeName, impl::abi_arg_in valueName, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnumNamedValuePresent(*reinterpret_cast(&enumTypeName), *reinterpret_cast(&valueName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsApiContractPresentByMajor(impl::abi_arg_in contractName, uint16_t majorVersion, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsApiContractPresent(*reinterpret_cast(&contractName), majorVersion)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsApiContractPresentByMajorAndMinor(impl::abi_arg_in contractName, uint16_t majorVersion, uint16_t minorVersion, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsApiContractPresent(*reinterpret_cast(&contractName), majorVersion, minorVersion)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Foundation::Metadata { + +template bool impl_IApiInformationStatics::IsTypePresent(hstring_view typeName) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsTypePresent(get_abi(typeName), &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsMethodPresent(hstring_view typeName, hstring_view methodName) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsMethodPresent(get_abi(typeName), get_abi(methodName), &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsMethodPresent(hstring_view typeName, hstring_view methodName, uint32_t inputParameterCount) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsMethodPresentWithArity(get_abi(typeName), get_abi(methodName), inputParameterCount, &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsEventPresent(hstring_view typeName, hstring_view eventName) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsEventPresent(get_abi(typeName), get_abi(eventName), &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsPropertyPresent(hstring_view typeName, hstring_view propertyName) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsPropertyPresent(get_abi(typeName), get_abi(propertyName), &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsReadOnlyPropertyPresent(hstring_view typeName, hstring_view propertyName) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsReadOnlyPropertyPresent(get_abi(typeName), get_abi(propertyName), &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsWriteablePropertyPresent(hstring_view typeName, hstring_view propertyName) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsWriteablePropertyPresent(get_abi(typeName), get_abi(propertyName), &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsEnumNamedValuePresent(hstring_view enumTypeName, hstring_view valueName) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsEnumNamedValuePresent(get_abi(enumTypeName), get_abi(valueName), &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsApiContractPresent(hstring_view contractName, uint16_t majorVersion) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsApiContractPresentByMajor(get_abi(contractName), majorVersion, &value)); + return value; +} + +template bool impl_IApiInformationStatics::IsApiContractPresent(hstring_view contractName, uint16_t majorVersion, uint16_t minorVersion) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApiInformationStatics)->abi_IsApiContractPresentByMajorAndMinor(get_abi(contractName), majorVersion, minorVersion, &value)); + return value; +} + +inline bool ApiInformation::IsTypePresent(hstring_view typeName) +{ + return get_activation_factory().IsTypePresent(typeName); +} + +inline bool ApiInformation::IsMethodPresent(hstring_view typeName, hstring_view methodName) +{ + return get_activation_factory().IsMethodPresent(typeName, methodName); +} + +inline bool ApiInformation::IsMethodPresent(hstring_view typeName, hstring_view methodName, uint32_t inputParameterCount) +{ + return get_activation_factory().IsMethodPresent(typeName, methodName, inputParameterCount); +} + +inline bool ApiInformation::IsEventPresent(hstring_view typeName, hstring_view eventName) +{ + return get_activation_factory().IsEventPresent(typeName, eventName); +} + +inline bool ApiInformation::IsPropertyPresent(hstring_view typeName, hstring_view propertyName) +{ + return get_activation_factory().IsPropertyPresent(typeName, propertyName); +} + +inline bool ApiInformation::IsReadOnlyPropertyPresent(hstring_view typeName, hstring_view propertyName) +{ + return get_activation_factory().IsReadOnlyPropertyPresent(typeName, propertyName); +} + +inline bool ApiInformation::IsWriteablePropertyPresent(hstring_view typeName, hstring_view propertyName) +{ + return get_activation_factory().IsWriteablePropertyPresent(typeName, propertyName); +} + +inline bool ApiInformation::IsEnumNamedValuePresent(hstring_view enumTypeName, hstring_view valueName) +{ + return get_activation_factory().IsEnumNamedValuePresent(enumTypeName, valueName); +} + +inline bool ApiInformation::IsApiContractPresent(hstring_view contractName, uint16_t majorVersion) +{ + return get_activation_factory().IsApiContractPresent(contractName, majorVersion); +} + +inline bool ApiInformation::IsApiContractPresent(hstring_view contractName, uint16_t majorVersion, uint16_t minorVersion) +{ + return get_activation_factory().IsApiContractPresent(contractName, majorVersion, minorVersion); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Metadata::IApiInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Foundation.h b/10.0.15042.0/winrt/Windows.Foundation.h new file mode 100644 index 000000000..d857b2329 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Foundation.h @@ -0,0 +1,1120 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Foundation { + +template DeferralCompletedHandler::DeferralCompletedHandler(L lambda) : + DeferralCompletedHandler(impl::make_delegate, DeferralCompletedHandler>(std::forward(lambda))) +{} + +template DeferralCompletedHandler::DeferralCompletedHandler(F * function) : + DeferralCompletedHandler([=](auto && ... args) { function(args ...); }) +{} + +template DeferralCompletedHandler::DeferralCompletedHandler(O * object, M method) : + DeferralCompletedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DeferralCompletedHandler::operator()() const +{ + check_hresult((*(abi **)this)->abi_Invoke()); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Close() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in handler, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetActivationFactory(impl::abi_arg_in activatableClassId, impl::abi_arg_out factory) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *factory = detach_abi(this->shim().GetActivationFactory(*reinterpret_cast(&activatableClassId))); + return S_OK; + } + catch (...) + { + *factory = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateReference(impl::abi_arg_out reference) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *reference = detach_abi(this->shim().CreateReference()); + return S_OK; + } + catch (...) + { + *reference = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t capacity, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(capacity)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Capacity(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Closed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ToString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UnescapeComponent(impl::abi_arg_in toUnescape, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnescapeComponent(*reinterpret_cast(&toUnescape))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EscapeComponent(impl::abi_arg_in toEscape, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EscapeComponent(*reinterpret_cast(&toEscape))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AbsoluteUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Domain(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Domain()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extension(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Extension()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Fragment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Fragment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Host(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Host()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Password(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Password()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Query(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Query()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryParsed(impl::abi_arg_out ppWwwFormUrlDecoder) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppWwwFormUrlDecoder = detach_abi(this->shim().QueryParsed()); + return S_OK; + } + catch (...) + { + *ppWwwFormUrlDecoder = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SchemeName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SchemeName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Port(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Port()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Suspicious(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Suspicious()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Equals(impl::abi_arg_in pUri, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Equals(*reinterpret_cast(&pUri))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CombineUri(impl::abi_arg_in relativeUri, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CombineUri(*reinterpret_cast(&relativeUri))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateUri(impl::abi_arg_in uri, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateUri(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithRelativeUri(impl::abi_arg_in baseUri, impl::abi_arg_in relativeUri, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWithRelativeUri(*reinterpret_cast(&baseUri), *reinterpret_cast(&relativeUri))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AbsoluteCanonicalUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteCanonicalUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayIri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayIri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFirstValueByName(impl::abi_arg_in name, impl::abi_arg_out phstrValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *phstrValue = detach_abi(this->shim().GetFirstValueByName(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *phstrValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWwwFormUrlDecoder(impl::abi_arg_in query, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWwwFormUrlDecoder(*reinterpret_cast(&query))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Foundation { + +template void impl_IClosable::Close() const +{ + check_hresult(WINRT_SHIM(IClosable)->abi_Close()); +} + +template hstring impl_IStringable::ToString() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStringable)->abi_ToString(put_abi(value))); + return value; +} + +template void impl_IDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IDeferral)->abi_Complete()); +} + +template Windows::Foundation::Deferral impl_IDeferralFactory::Create(const Windows::Foundation::DeferralCompletedHandler & handler) const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IDeferralFactory)->abi_Create(get_abi(handler), put_abi(result))); + return result; +} + +template uint32_t impl_IMemoryBufferReference::Capacity() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMemoryBufferReference)->get_Capacity(&value)); + return value; +} + +template event_token impl_IMemoryBufferReference::Closed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMemoryBufferReference)->add_Closed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMemoryBufferReference::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Foundation::IMemoryBufferReference::remove_Closed, Closed(handler)); +} + +template void impl_IMemoryBufferReference::Closed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMemoryBufferReference)->remove_Closed(cookie)); +} + +template Windows::Foundation::IMemoryBufferReference impl_IMemoryBuffer::CreateReference() const +{ + Windows::Foundation::IMemoryBufferReference reference; + check_hresult(WINRT_SHIM(IMemoryBuffer)->abi_CreateReference(put_abi(reference))); + return reference; +} + +template Windows::Foundation::MemoryBuffer impl_IMemoryBufferFactory::Create(uint32_t capacity) const +{ + Windows::Foundation::MemoryBuffer value { nullptr }; + check_hresult(WINRT_SHIM(IMemoryBufferFactory)->abi_Create(capacity, put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::AbsoluteUri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_AbsoluteUri(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::DisplayUri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_DisplayUri(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::Domain() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Domain(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::Extension() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Extension(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::Fragment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Fragment(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::Host() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Host(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::Password() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Password(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::Path() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Path(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::Query() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Query(put_abi(value))); + return value; +} + +template Windows::Foundation::WwwFormUrlDecoder impl_IUriRuntimeClass::QueryParsed() const +{ + Windows::Foundation::WwwFormUrlDecoder ppWwwFormUrlDecoder { nullptr }; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_QueryParsed(put_abi(ppWwwFormUrlDecoder))); + return ppWwwFormUrlDecoder; +} + +template hstring impl_IUriRuntimeClass::RawUri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_RawUri(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::SchemeName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_SchemeName(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClass::UserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_UserName(put_abi(value))); + return value; +} + +template int32_t impl_IUriRuntimeClass::Port() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Port(&value)); + return value; +} + +template bool impl_IUriRuntimeClass::Suspicious() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->get_Suspicious(&value)); + return value; +} + +template bool impl_IUriRuntimeClass::Equals(const Windows::Foundation::Uri & pUri) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->abi_Equals(get_abi(pUri), &value)); + return value; +} + +template Windows::Foundation::Uri impl_IUriRuntimeClass::CombineUri(hstring_view relativeUri) const +{ + Windows::Foundation::Uri instance { nullptr }; + check_hresult(WINRT_SHIM(IUriRuntimeClass)->abi_CombineUri(get_abi(relativeUri), put_abi(instance))); + return instance; +} + +template hstring impl_IUriRuntimeClassWithAbsoluteCanonicalUri::AbsoluteCanonicalUri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClassWithAbsoluteCanonicalUri)->get_AbsoluteCanonicalUri(put_abi(value))); + return value; +} + +template hstring impl_IUriRuntimeClassWithAbsoluteCanonicalUri::DisplayIri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriRuntimeClassWithAbsoluteCanonicalUri)->get_DisplayIri(put_abi(value))); + return value; +} + +template hstring impl_IUriEscapeStatics::UnescapeComponent(hstring_view toUnescape) const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriEscapeStatics)->abi_UnescapeComponent(get_abi(toUnescape), put_abi(value))); + return value; +} + +template hstring impl_IUriEscapeStatics::EscapeComponent(hstring_view toEscape) const +{ + hstring value; + check_hresult(WINRT_SHIM(IUriEscapeStatics)->abi_EscapeComponent(get_abi(toEscape), put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IUriRuntimeClassFactory::CreateUri(hstring_view uri) const +{ + Windows::Foundation::Uri instance { nullptr }; + check_hresult(WINRT_SHIM(IUriRuntimeClassFactory)->abi_CreateUri(get_abi(uri), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Uri impl_IUriRuntimeClassFactory::CreateWithRelativeUri(hstring_view baseUri, hstring_view relativeUri) const +{ + Windows::Foundation::Uri instance { nullptr }; + check_hresult(WINRT_SHIM(IUriRuntimeClassFactory)->abi_CreateWithRelativeUri(get_abi(baseUri), get_abi(relativeUri), put_abi(instance))); + return instance; +} + +template hstring impl_IWwwFormUrlDecoderEntry::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWwwFormUrlDecoderEntry)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IWwwFormUrlDecoderEntry::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWwwFormUrlDecoderEntry)->get_Value(put_abi(value))); + return value; +} + +template hstring impl_IWwwFormUrlDecoderRuntimeClass::GetFirstValueByName(hstring_view name) const +{ + hstring phstrValue; + check_hresult(WINRT_SHIM(IWwwFormUrlDecoderRuntimeClass)->abi_GetFirstValueByName(get_abi(name), put_abi(phstrValue))); + return phstrValue; +} + +template Windows::Foundation::WwwFormUrlDecoder impl_IWwwFormUrlDecoderRuntimeClassFactory::CreateWwwFormUrlDecoder(hstring_view query) const +{ + Windows::Foundation::WwwFormUrlDecoder instance { nullptr }; + check_hresult(WINRT_SHIM(IWwwFormUrlDecoderRuntimeClassFactory)->abi_CreateWwwFormUrlDecoder(get_abi(query), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_IGetActivationFactory::GetActivationFactory(hstring_view activatableClassId) const +{ + Windows::Foundation::IInspectable factory; + check_hresult(WINRT_SHIM(IGetActivationFactory)->abi_GetActivationFactory(get_abi(activatableClassId), put_abi(factory))); + return factory; +} + +inline Deferral::Deferral(const Windows::Foundation::DeferralCompletedHandler & handler) : + Deferral(get_activation_factory().Create(handler)) +{} + +inline MemoryBuffer::MemoryBuffer(uint32_t capacity) : + MemoryBuffer(get_activation_factory().Create(capacity)) +{} + +inline Uri::Uri(hstring_view uri) : + Uri(get_activation_factory().CreateUri(uri)) +{} + +inline Uri::Uri(hstring_view baseUri, hstring_view relativeUri) : + Uri(get_activation_factory().CreateWithRelativeUri(baseUri, relativeUri)) +{} + +inline hstring Uri::UnescapeComponent(hstring_view toUnescape) +{ + return get_activation_factory().UnescapeComponent(toUnescape); +} + +inline hstring Uri::EscapeComponent(hstring_view toEscape) +{ + return get_activation_factory().EscapeComponent(toEscape); +} + +inline WwwFormUrlDecoder::WwwFormUrlDecoder(hstring_view query) : + WwwFormUrlDecoder(get_activation_factory().CreateWwwFormUrlDecoder(query)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IClosable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IDeferralFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IGetActivationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IMemoryBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IMemoryBufferFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IMemoryBufferReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IStringable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IUriEscapeStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IUriRuntimeClass & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IUriRuntimeClassFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IUriRuntimeClassWithAbsoluteCanonicalUri & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IWwwFormUrlDecoderEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IWwwFormUrlDecoderRuntimeClass & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::IWwwFormUrlDecoderRuntimeClassFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Deferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::MemoryBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::Uri & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::WwwFormUrlDecoder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Foundation::WwwFormUrlDecoderEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Gaming.Input.Custom.h b/10.0.15042.0/winrt/Windows.Gaming.Input.Custom.h new file mode 100644 index 000000000..cea2ccd87 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Gaming.Input.Custom.h @@ -0,0 +1,838 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Gaming.Input.3.h" +#include "internal/Windows.Gaming.Input.Custom.3.h" +#include "Windows.Gaming.Input.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateGameController(impl::abi_arg_in provider, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateGameController(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnGameControllerAdded(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnGameControllerAdded(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnGameControllerRemoved(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnGameControllerRemoved(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterCustomFactoryForGipInterface(impl::abi_arg_in factory, GUID interfaceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterCustomFactoryForGipInterface(*reinterpret_cast(&factory), interfaceId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterCustomFactoryForHardwareId(impl::abi_arg_in factory, uint16_t hardwareVendorId, uint16_t hardwareProductId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterCustomFactoryForHardwareId(*reinterpret_cast(&factory), hardwareVendorId, hardwareProductId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterCustomFactoryForXusbType(impl::abi_arg_in factory, Windows::Gaming::Input::Custom::XusbDeviceType xusbType, Windows::Gaming::Input::Custom::XusbDeviceSubtype xusbSubtype) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterCustomFactoryForXusbType(*reinterpret_cast(&factory), xusbType, xusbSubtype); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetFactoryControllerFromGameController(impl::abi_arg_in factory, impl::abi_arg_in gameController, impl::abi_arg_out factoryController) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *factoryController = detach_abi(this->shim().TryGetFactoryControllerFromGameController(*reinterpret_cast(&factory), *reinterpret_cast(&gameController))); + return S_OK; + } + catch (...) + { + *factoryController = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnInputResumed(uint64_t timestamp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnInputResumed(timestamp); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnInputSuspended(uint64_t timestamp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnInputSuspended(timestamp); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FirmwareVersionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirmwareVersionInfo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareProductId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareProductId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareVendorId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareVendorId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareVersionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareVersionInfo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsConnected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsConnected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FinalComponentId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FinalComponentId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Gaming::Input::Custom::GipFirmwareUpdateStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnKeyReceived(uint64_t timestamp, uint8_t keyCode, bool isPressed) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnKeyReceived(timestamp, keyCode, isPressed); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnMessageReceived(uint64_t timestamp, Windows::Gaming::Input::Custom::GipMessageClass messageClass, uint8_t messageId, uint8_t sequenceId, uint32_t __messageBufferSize, impl::abi_arg_in * messageBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnMessageReceived(timestamp, messageClass, messageId, sequenceId, array_view(messageBuffer, messageBuffer + __messageBufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendMessage(Windows::Gaming::Input::Custom::GipMessageClass messageClass, uint8_t messageId, uint32_t __messageBufferSize, impl::abi_arg_in * messageBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendMessage(messageClass, messageId, array_view(messageBuffer, messageBuffer + __messageBufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendReceiveMessage(Windows::Gaming::Input::Custom::GipMessageClass messageClass, uint8_t messageId, uint32_t __requestMessageBufferSize, impl::abi_arg_in * requestMessageBuffer, uint32_t __responseMessageBufferSize, impl::abi_arg_out responseMessageBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendReceiveMessage(messageClass, messageId, array_view(requestMessageBuffer, requestMessageBuffer + __requestMessageBufferSize), *responseMessageBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateFirmwareAsync(impl::abi_arg_in firmwareImage, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateFirmwareAsync(*reinterpret_cast(&firmwareImage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnInputReportReceived(uint64_t timestamp, uint8_t reportId, uint32_t __reportBufferSize, impl::abi_arg_in * reportBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnInputReportReceived(timestamp, reportId, array_view(reportBuffer, reportBuffer + __reportBufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UsageId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsageId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsagePage(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsagePage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFeatureReport(uint8_t reportId, uint32_t __reportBufferSize, impl::abi_arg_out reportBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetFeatureReport(reportId, *reportBuffer); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendFeatureReport(uint8_t reportId, uint32_t __reportBufferSize, impl::abi_arg_in * reportBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendFeatureReport(reportId, array_view(reportBuffer, reportBuffer + __reportBufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendOutputReport(uint8_t reportId, uint32_t __reportBufferSize, impl::abi_arg_in * reportBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendOutputReport(reportId, array_view(reportBuffer, reportBuffer + __reportBufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnInputReceived(uint64_t timestamp, uint8_t reportId, uint32_t __inputBufferSize, impl::abi_arg_in * inputBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnInputReceived(timestamp, reportId, array_view(inputBuffer, inputBuffer + __inputBufferSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetVibration(double lowFrequencyMotorSpeed, double highFrequencyMotorSpeed) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVibration(lowFrequencyMotorSpeed, highFrequencyMotorSpeed); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Gaming::Input::Custom { + +template void impl_IGameControllerInputSink::OnInputResumed(uint64_t timestamp) const +{ + check_hresult(WINRT_SHIM(IGameControllerInputSink)->abi_OnInputResumed(timestamp)); +} + +template void impl_IGameControllerInputSink::OnInputSuspended(uint64_t timestamp) const +{ + check_hresult(WINRT_SHIM(IGameControllerInputSink)->abi_OnInputSuspended(timestamp)); +} + +template void impl_IGipGameControllerInputSink::OnKeyReceived(uint64_t timestamp, uint8_t keyCode, bool isPressed) const +{ + check_hresult(WINRT_SHIM(IGipGameControllerInputSink)->abi_OnKeyReceived(timestamp, keyCode, isPressed)); +} + +template void impl_IGipGameControllerInputSink::OnMessageReceived(uint64_t timestamp, Windows::Gaming::Input::Custom::GipMessageClass messageClass, uint8_t messageId, uint8_t sequenceId, array_view messageBuffer) const +{ + check_hresult(WINRT_SHIM(IGipGameControllerInputSink)->abi_OnMessageReceived(timestamp, messageClass, messageId, sequenceId, messageBuffer.size(), get_abi(messageBuffer))); +} + +template void impl_IHidGameControllerInputSink::OnInputReportReceived(uint64_t timestamp, uint8_t reportId, array_view reportBuffer) const +{ + check_hresult(WINRT_SHIM(IHidGameControllerInputSink)->abi_OnInputReportReceived(timestamp, reportId, reportBuffer.size(), get_abi(reportBuffer))); +} + +template void impl_IXusbGameControllerInputSink::OnInputReceived(uint64_t timestamp, uint8_t reportId, array_view inputBuffer) const +{ + check_hresult(WINRT_SHIM(IXusbGameControllerInputSink)->abi_OnInputReceived(timestamp, reportId, inputBuffer.size(), get_abi(inputBuffer))); +} + +template uint32_t impl_IGipFirmwareUpdateResult::ExtendedErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGipFirmwareUpdateResult)->get_ExtendedErrorCode(&value)); + return value; +} + +template uint32_t impl_IGipFirmwareUpdateResult::FinalComponentId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IGipFirmwareUpdateResult)->get_FinalComponentId(&value)); + return value; +} + +template Windows::Gaming::Input::Custom::GipFirmwareUpdateStatus impl_IGipFirmwareUpdateResult::Status() const +{ + Windows::Gaming::Input::Custom::GipFirmwareUpdateStatus value {}; + check_hresult(WINRT_SHIM(IGipFirmwareUpdateResult)->get_Status(&value)); + return value; +} + +template Windows::Gaming::Input::Custom::GameControllerVersionInfo impl_IGameControllerProvider::FirmwareVersionInfo() const +{ + Windows::Gaming::Input::Custom::GameControllerVersionInfo value {}; + check_hresult(WINRT_SHIM(IGameControllerProvider)->get_FirmwareVersionInfo(put_abi(value))); + return value; +} + +template uint16_t impl_IGameControllerProvider::HardwareProductId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGameControllerProvider)->get_HardwareProductId(&value)); + return value; +} + +template uint16_t impl_IGameControllerProvider::HardwareVendorId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IGameControllerProvider)->get_HardwareVendorId(&value)); + return value; +} + +template Windows::Gaming::Input::Custom::GameControllerVersionInfo impl_IGameControllerProvider::HardwareVersionInfo() const +{ + Windows::Gaming::Input::Custom::GameControllerVersionInfo value {}; + check_hresult(WINRT_SHIM(IGameControllerProvider)->get_HardwareVersionInfo(put_abi(value))); + return value; +} + +template bool impl_IGameControllerProvider::IsConnected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGameControllerProvider)->get_IsConnected(&value)); + return value; +} + +template void impl_IGipGameControllerProvider::SendMessage(Windows::Gaming::Input::Custom::GipMessageClass messageClass, uint8_t messageId, array_view messageBuffer) const +{ + check_hresult(WINRT_SHIM(IGipGameControllerProvider)->abi_SendMessage(messageClass, messageId, messageBuffer.size(), get_abi(messageBuffer))); +} + +template void impl_IGipGameControllerProvider::SendReceiveMessage(Windows::Gaming::Input::Custom::GipMessageClass messageClass, uint8_t messageId, array_view requestMessageBuffer, array_view responseMessageBuffer) const +{ + check_hresult(WINRT_SHIM(IGipGameControllerProvider)->abi_SendReceiveMessage(messageClass, messageId, requestMessageBuffer.size(), get_abi(requestMessageBuffer), responseMessageBuffer.size(), get_abi(responseMessageBuffer))); +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IGipGameControllerProvider::UpdateFirmwareAsync(const Windows::Storage::Streams::IInputStream & firmwareImage) const +{ + Windows::Foundation::IAsyncOperationWithProgress result; + check_hresult(WINRT_SHIM(IGipGameControllerProvider)->abi_UpdateFirmwareAsync(get_abi(firmwareImage), put_abi(result))); + return result; +} + +template uint16_t impl_IHidGameControllerProvider::UsageId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidGameControllerProvider)->get_UsageId(&value)); + return value; +} + +template uint16_t impl_IHidGameControllerProvider::UsagePage() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHidGameControllerProvider)->get_UsagePage(&value)); + return value; +} + +template void impl_IHidGameControllerProvider::GetFeatureReport(uint8_t reportId, array_view reportBuffer) const +{ + check_hresult(WINRT_SHIM(IHidGameControllerProvider)->abi_GetFeatureReport(reportId, reportBuffer.size(), get_abi(reportBuffer))); +} + +template void impl_IHidGameControllerProvider::SendFeatureReport(uint8_t reportId, array_view reportBuffer) const +{ + check_hresult(WINRT_SHIM(IHidGameControllerProvider)->abi_SendFeatureReport(reportId, reportBuffer.size(), get_abi(reportBuffer))); +} + +template void impl_IHidGameControllerProvider::SendOutputReport(uint8_t reportId, array_view reportBuffer) const +{ + check_hresult(WINRT_SHIM(IHidGameControllerProvider)->abi_SendOutputReport(reportId, reportBuffer.size(), get_abi(reportBuffer))); +} + +template void impl_IXusbGameControllerProvider::SetVibration(double lowFrequencyMotorSpeed, double highFrequencyMotorSpeed) const +{ + check_hresult(WINRT_SHIM(IXusbGameControllerProvider)->abi_SetVibration(lowFrequencyMotorSpeed, highFrequencyMotorSpeed)); +} + +template Windows::Foundation::IInspectable impl_ICustomGameControllerFactory::CreateGameController(const Windows::Gaming::Input::Custom::IGameControllerProvider & provider) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ICustomGameControllerFactory)->abi_CreateGameController(get_abi(provider), put_abi(value))); + return value; +} + +template void impl_ICustomGameControllerFactory::OnGameControllerAdded(const Windows::Gaming::Input::IGameController & value) const +{ + check_hresult(WINRT_SHIM(ICustomGameControllerFactory)->abi_OnGameControllerAdded(get_abi(value))); +} + +template void impl_ICustomGameControllerFactory::OnGameControllerRemoved(const Windows::Gaming::Input::IGameController & value) const +{ + check_hresult(WINRT_SHIM(ICustomGameControllerFactory)->abi_OnGameControllerRemoved(get_abi(value))); +} + +template void impl_IGameControllerFactoryManagerStatics::RegisterCustomFactoryForGipInterface(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, GUID interfaceId) const +{ + check_hresult(WINRT_SHIM(IGameControllerFactoryManagerStatics)->abi_RegisterCustomFactoryForGipInterface(get_abi(factory), interfaceId)); +} + +template void impl_IGameControllerFactoryManagerStatics::RegisterCustomFactoryForHardwareId(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, uint16_t hardwareVendorId, uint16_t hardwareProductId) const +{ + check_hresult(WINRT_SHIM(IGameControllerFactoryManagerStatics)->abi_RegisterCustomFactoryForHardwareId(get_abi(factory), hardwareVendorId, hardwareProductId)); +} + +template void impl_IGameControllerFactoryManagerStatics::RegisterCustomFactoryForXusbType(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, Windows::Gaming::Input::Custom::XusbDeviceType xusbType, Windows::Gaming::Input::Custom::XusbDeviceSubtype xusbSubtype) const +{ + check_hresult(WINRT_SHIM(IGameControllerFactoryManagerStatics)->abi_RegisterCustomFactoryForXusbType(get_abi(factory), xusbType, xusbSubtype)); +} + +template Windows::Gaming::Input::IGameController impl_IGameControllerFactoryManagerStatics2::TryGetFactoryControllerFromGameController(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, const Windows::Gaming::Input::IGameController & gameController) const +{ + Windows::Gaming::Input::IGameController factoryController; + check_hresult(WINRT_SHIM(IGameControllerFactoryManagerStatics2)->abi_TryGetFactoryControllerFromGameController(get_abi(factory), get_abi(gameController), put_abi(factoryController))); + return factoryController; +} + +inline void GameControllerFactoryManager::RegisterCustomFactoryForGipInterface(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, GUID interfaceId) +{ + get_activation_factory().RegisterCustomFactoryForGipInterface(factory, interfaceId); +} + +inline void GameControllerFactoryManager::RegisterCustomFactoryForHardwareId(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, uint16_t hardwareVendorId, uint16_t hardwareProductId) +{ + get_activation_factory().RegisterCustomFactoryForHardwareId(factory, hardwareVendorId, hardwareProductId); +} + +inline void GameControllerFactoryManager::RegisterCustomFactoryForXusbType(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, Windows::Gaming::Input::Custom::XusbDeviceType xusbType, Windows::Gaming::Input::Custom::XusbDeviceSubtype xusbSubtype) +{ + get_activation_factory().RegisterCustomFactoryForXusbType(factory, xusbType, xusbSubtype); +} + +inline Windows::Gaming::Input::IGameController GameControllerFactoryManager::TryGetFactoryControllerFromGameController(const Windows::Gaming::Input::Custom::ICustomGameControllerFactory & factory, const Windows::Gaming::Input::IGameController & gameController) +{ + return get_activation_factory().TryGetFactoryControllerFromGameController(factory, gameController); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::ICustomGameControllerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IGameControllerFactoryManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IGameControllerFactoryManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IGameControllerInputSink & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IGameControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IGipFirmwareUpdateResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IGipGameControllerInputSink & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IGipGameControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IHidGameControllerInputSink & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IHidGameControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IXusbGameControllerInputSink & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::IXusbGameControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::GipFirmwareUpdateResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::GipGameControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::HidGameControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Custom::XusbGameControllerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Gaming.Input.ForceFeedback.h b/10.0.15042.0/winrt/Windows.Gaming.Input.ForceFeedback.h new file mode 100644 index 000000000..297dd54dd --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Gaming.Input.ForceFeedback.h @@ -0,0 +1,778 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Gaming.Input.ForceFeedback.3.h" +#include "Windows.Gaming.Input.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Gaming::Input::ForceFeedback::ConditionForceEffectKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetParameters(impl::abi_arg_in direction, float positiveCoefficient, float negativeCoefficient, float maxPositiveMagnitude, float maxNegativeMagnitude, float deadZone, float bias) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParameters(*reinterpret_cast(&direction), positiveCoefficient, negativeCoefficient, maxPositiveMagnitude, maxNegativeMagnitude, deadZone, bias); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(Windows::Gaming::Input::ForceFeedback::ConditionForceEffectKind effectKind, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateInstance(effectKind)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetParameters(impl::abi_arg_in vector, impl::abi_arg_in duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParameters(*reinterpret_cast(&vector), *reinterpret_cast(&duration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetParametersWithEnvelope(impl::abi_arg_in vector, float attackGain, float sustainGain, float releaseGain, impl::abi_arg_in startDelay, impl::abi_arg_in attackDuration, impl::abi_arg_in sustainDuration, impl::abi_arg_in releaseDuration, uint32_t repeatCount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParametersWithEnvelope(*reinterpret_cast(&vector), attackGain, sustainGain, releaseGain, *reinterpret_cast(&startDelay), *reinterpret_cast(&attackDuration), *reinterpret_cast(&sustainDuration), *reinterpret_cast(&releaseDuration), repeatCount); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Gain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Gain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Gain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Gaming::Input::ForceFeedback::ForceFeedbackEffectState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreEffectsPaused(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreEffectsPaused()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MasterGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MasterGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MasterGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MasterGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedAxes(Windows::Gaming::Input::ForceFeedback::ForceFeedbackEffectAxes * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedAxes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadEffectAsync(impl::abi_arg_in effect, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().LoadEffectAsync(*reinterpret_cast(&effect))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PauseAllEffects() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PauseAllEffects(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResumeAllEffects() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResumeAllEffects(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAllEffects() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopAllEffects(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryDisableAsync(impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().TryDisableAsync()); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryEnableAsync(impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().TryEnableAsync()); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryResetAsync(impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().TryResetAsync()); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUnloadEffectAsync(impl::abi_arg_in effect, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().TryUnloadEffectAsync(*reinterpret_cast(&effect))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Gaming::Input::ForceFeedback::PeriodicForceEffectKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetParameters(impl::abi_arg_in vector, float frequency, float phase, float bias, impl::abi_arg_in duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParameters(*reinterpret_cast(&vector), frequency, phase, bias, *reinterpret_cast(&duration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetParametersWithEnvelope(impl::abi_arg_in vector, float frequency, float phase, float bias, float attackGain, float sustainGain, float releaseGain, impl::abi_arg_in startDelay, impl::abi_arg_in attackDuration, impl::abi_arg_in sustainDuration, impl::abi_arg_in releaseDuration, uint32_t repeatCount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParametersWithEnvelope(*reinterpret_cast(&vector), frequency, phase, bias, attackGain, sustainGain, releaseGain, *reinterpret_cast(&startDelay), *reinterpret_cast(&attackDuration), *reinterpret_cast(&sustainDuration), *reinterpret_cast(&releaseDuration), repeatCount); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(Windows::Gaming::Input::ForceFeedback::PeriodicForceEffectKind effectKind, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateInstance(effectKind)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetParameters(impl::abi_arg_in startVector, impl::abi_arg_in endVector, impl::abi_arg_in duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParameters(*reinterpret_cast(&startVector), *reinterpret_cast(&endVector), *reinterpret_cast(&duration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetParametersWithEnvelope(impl::abi_arg_in startVector, impl::abi_arg_in endVector, float attackGain, float sustainGain, float releaseGain, impl::abi_arg_in startDelay, impl::abi_arg_in attackDuration, impl::abi_arg_in sustainDuration, impl::abi_arg_in releaseDuration, uint32_t repeatCount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParametersWithEnvelope(*reinterpret_cast(&startVector), *reinterpret_cast(&endVector), attackGain, sustainGain, releaseGain, *reinterpret_cast(&startDelay), *reinterpret_cast(&attackDuration), *reinterpret_cast(&sustainDuration), *reinterpret_cast(&releaseDuration), repeatCount); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Gaming::Input::ForceFeedback { + +template double impl_IForceFeedbackEffect::Gain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IForceFeedbackEffect)->get_Gain(&value)); + return value; +} + +template void impl_IForceFeedbackEffect::Gain(double value) const +{ + check_hresult(WINRT_SHIM(IForceFeedbackEffect)->put_Gain(value)); +} + +template Windows::Gaming::Input::ForceFeedback::ForceFeedbackEffectState impl_IForceFeedbackEffect::State() const +{ + Windows::Gaming::Input::ForceFeedback::ForceFeedbackEffectState value {}; + check_hresult(WINRT_SHIM(IForceFeedbackEffect)->get_State(&value)); + return value; +} + +template void impl_IForceFeedbackEffect::Start() const +{ + check_hresult(WINRT_SHIM(IForceFeedbackEffect)->abi_Start()); +} + +template void impl_IForceFeedbackEffect::Stop() const +{ + check_hresult(WINRT_SHIM(IForceFeedbackEffect)->abi_Stop()); +} + +template Windows::Gaming::Input::ForceFeedback::ConditionForceEffectKind impl_IConditionForceEffect::Kind() const +{ + Windows::Gaming::Input::ForceFeedback::ConditionForceEffectKind value {}; + check_hresult(WINRT_SHIM(IConditionForceEffect)->get_Kind(&value)); + return value; +} + +template void impl_IConditionForceEffect::SetParameters(const Windows::Foundation::Numerics::float3 & direction, float positiveCoefficient, float negativeCoefficient, float maxPositiveMagnitude, float maxNegativeMagnitude, float deadZone, float bias) const +{ + check_hresult(WINRT_SHIM(IConditionForceEffect)->abi_SetParameters(get_abi(direction), positiveCoefficient, negativeCoefficient, maxPositiveMagnitude, maxNegativeMagnitude, deadZone, bias)); +} + +template Windows::Gaming::Input::ForceFeedback::ConditionForceEffect impl_IConditionForceEffectFactory::CreateInstance(Windows::Gaming::Input::ForceFeedback::ConditionForceEffectKind effectKind) const +{ + Windows::Gaming::Input::ForceFeedback::ConditionForceEffect value { nullptr }; + check_hresult(WINRT_SHIM(IConditionForceEffectFactory)->abi_CreateInstance(effectKind, put_abi(value))); + return value; +} + +template void impl_IConstantForceEffect::SetParameters(const Windows::Foundation::Numerics::float3 & vector, const Windows::Foundation::TimeSpan & duration) const +{ + check_hresult(WINRT_SHIM(IConstantForceEffect)->abi_SetParameters(get_abi(vector), get_abi(duration))); +} + +template void impl_IConstantForceEffect::SetParametersWithEnvelope(const Windows::Foundation::Numerics::float3 & vector, float attackGain, float sustainGain, float releaseGain, const Windows::Foundation::TimeSpan & startDelay, const Windows::Foundation::TimeSpan & attackDuration, const Windows::Foundation::TimeSpan & sustainDuration, const Windows::Foundation::TimeSpan & releaseDuration, uint32_t repeatCount) const +{ + check_hresult(WINRT_SHIM(IConstantForceEffect)->abi_SetParametersWithEnvelope(get_abi(vector), attackGain, sustainGain, releaseGain, get_abi(startDelay), get_abi(attackDuration), get_abi(sustainDuration), get_abi(releaseDuration), repeatCount)); +} + +template Windows::Gaming::Input::ForceFeedback::PeriodicForceEffectKind impl_IPeriodicForceEffect::Kind() const +{ + Windows::Gaming::Input::ForceFeedback::PeriodicForceEffectKind value {}; + check_hresult(WINRT_SHIM(IPeriodicForceEffect)->get_Kind(&value)); + return value; +} + +template void impl_IPeriodicForceEffect::SetParameters(const Windows::Foundation::Numerics::float3 & vector, float frequency, float phase, float bias, const Windows::Foundation::TimeSpan & duration) const +{ + check_hresult(WINRT_SHIM(IPeriodicForceEffect)->abi_SetParameters(get_abi(vector), frequency, phase, bias, get_abi(duration))); +} + +template void impl_IPeriodicForceEffect::SetParametersWithEnvelope(const Windows::Foundation::Numerics::float3 & vector, float frequency, float phase, float bias, float attackGain, float sustainGain, float releaseGain, const Windows::Foundation::TimeSpan & startDelay, const Windows::Foundation::TimeSpan & attackDuration, const Windows::Foundation::TimeSpan & sustainDuration, const Windows::Foundation::TimeSpan & releaseDuration, uint32_t repeatCount) const +{ + check_hresult(WINRT_SHIM(IPeriodicForceEffect)->abi_SetParametersWithEnvelope(get_abi(vector), frequency, phase, bias, attackGain, sustainGain, releaseGain, get_abi(startDelay), get_abi(attackDuration), get_abi(sustainDuration), get_abi(releaseDuration), repeatCount)); +} + +template Windows::Gaming::Input::ForceFeedback::PeriodicForceEffect impl_IPeriodicForceEffectFactory::CreateInstance(Windows::Gaming::Input::ForceFeedback::PeriodicForceEffectKind effectKind) const +{ + Windows::Gaming::Input::ForceFeedback::PeriodicForceEffect value { nullptr }; + check_hresult(WINRT_SHIM(IPeriodicForceEffectFactory)->abi_CreateInstance(effectKind, put_abi(value))); + return value; +} + +template void impl_IRampForceEffect::SetParameters(const Windows::Foundation::Numerics::float3 & startVector, const Windows::Foundation::Numerics::float3 & endVector, const Windows::Foundation::TimeSpan & duration) const +{ + check_hresult(WINRT_SHIM(IRampForceEffect)->abi_SetParameters(get_abi(startVector), get_abi(endVector), get_abi(duration))); +} + +template void impl_IRampForceEffect::SetParametersWithEnvelope(const Windows::Foundation::Numerics::float3 & startVector, const Windows::Foundation::Numerics::float3 & endVector, float attackGain, float sustainGain, float releaseGain, const Windows::Foundation::TimeSpan & startDelay, const Windows::Foundation::TimeSpan & attackDuration, const Windows::Foundation::TimeSpan & sustainDuration, const Windows::Foundation::TimeSpan & releaseDuration, uint32_t repeatCount) const +{ + check_hresult(WINRT_SHIM(IRampForceEffect)->abi_SetParametersWithEnvelope(get_abi(startVector), get_abi(endVector), attackGain, sustainGain, releaseGain, get_abi(startDelay), get_abi(attackDuration), get_abi(sustainDuration), get_abi(releaseDuration), repeatCount)); +} + +template bool impl_IForceFeedbackMotor::AreEffectsPaused() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->get_AreEffectsPaused(&value)); + return value; +} + +template double impl_IForceFeedbackMotor::MasterGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->get_MasterGain(&value)); + return value; +} + +template void impl_IForceFeedbackMotor::MasterGain(double value) const +{ + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->put_MasterGain(value)); +} + +template bool impl_IForceFeedbackMotor::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->get_IsEnabled(&value)); + return value; +} + +template Windows::Gaming::Input::ForceFeedback::ForceFeedbackEffectAxes impl_IForceFeedbackMotor::SupportedAxes() const +{ + Windows::Gaming::Input::ForceFeedback::ForceFeedbackEffectAxes value {}; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->get_SupportedAxes(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IForceFeedbackMotor::LoadEffectAsync(const Windows::Gaming::Input::ForceFeedback::IForceFeedbackEffect & effect) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_LoadEffectAsync(get_abi(effect), put_abi(asyncOperation))); + return asyncOperation; +} + +template void impl_IForceFeedbackMotor::PauseAllEffects() const +{ + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_PauseAllEffects()); +} + +template void impl_IForceFeedbackMotor::ResumeAllEffects() const +{ + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_ResumeAllEffects()); +} + +template void impl_IForceFeedbackMotor::StopAllEffects() const +{ + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_StopAllEffects()); +} + +template Windows::Foundation::IAsyncOperation impl_IForceFeedbackMotor::TryDisableAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_TryDisableAsync(put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IForceFeedbackMotor::TryEnableAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_TryEnableAsync(put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IForceFeedbackMotor::TryResetAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_TryResetAsync(put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IForceFeedbackMotor::TryUnloadEffectAsync(const Windows::Gaming::Input::ForceFeedback::IForceFeedbackEffect & effect) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IForceFeedbackMotor)->abi_TryUnloadEffectAsync(get_abi(effect), put_abi(asyncOperation))); + return asyncOperation; +} + +inline ConditionForceEffect::ConditionForceEffect(Windows::Gaming::Input::ForceFeedback::ConditionForceEffectKind effectKind) : + ConditionForceEffect(get_activation_factory().CreateInstance(effectKind)) +{} + +inline ConstantForceEffect::ConstantForceEffect() : + ConstantForceEffect(activate_instance()) +{} + +inline PeriodicForceEffect::PeriodicForceEffect(Windows::Gaming::Input::ForceFeedback::PeriodicForceEffectKind effectKind) : + PeriodicForceEffect(get_activation_factory().CreateInstance(effectKind)) +{} + +inline RampForceEffect::RampForceEffect() : + RampForceEffect(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IConditionForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IConditionForceEffectFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IConstantForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IForceFeedbackEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IForceFeedbackMotor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IPeriodicForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IPeriodicForceEffectFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::IRampForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::ConditionForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::ConstantForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::ForceFeedbackMotor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::PeriodicForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ForceFeedback::RampForceEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Gaming.Input.Preview.h b/10.0.15042.0/winrt/Windows.Gaming.Input.Preview.h new file mode 100644 index 000000000..8e003832c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Gaming.Input.Preview.h @@ -0,0 +1,92 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Gaming.Input.Custom.3.h" +#include "internal/Windows.Gaming.Input.Preview.3.h" +#include "Windows.Gaming.Input.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetParentProviderId(impl::abi_arg_in provider, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetParentProviderId(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProviderId(impl::abi_arg_in provider, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetProviderId(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Gaming::Input::Preview { + +template hstring impl_IGameControllerProviderInfoStatics::GetParentProviderId(const Windows::Gaming::Input::Custom::IGameControllerProvider & provider) const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameControllerProviderInfoStatics)->abi_GetParentProviderId(get_abi(provider), put_abi(value))); + return value; +} + +template hstring impl_IGameControllerProviderInfoStatics::GetProviderId(const Windows::Gaming::Input::Custom::IGameControllerProvider & provider) const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameControllerProviderInfoStatics)->abi_GetProviderId(get_abi(provider), put_abi(value))); + return value; +} + +inline hstring GameControllerProviderInfo::GetParentProviderId(const Windows::Gaming::Input::Custom::IGameControllerProvider & provider) +{ + return get_activation_factory().GetParentProviderId(provider); +} + +inline hstring GameControllerProviderInfo::GetProviderId(const Windows::Gaming::Input::Custom::IGameControllerProvider & provider) +{ + return get_activation_factory().GetProviderId(provider); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Preview::IGameControllerProviderInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Gaming.Input.h b/10.0.15042.0/winrt/Windows.Gaming.Input.h new file mode 100644 index 000000000..ed0a54e0c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Gaming.Input.h @@ -0,0 +1,2282 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Devices.Power.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Gaming.Input.ForceFeedback.3.h" +#include "internal/Windows.Gaming.Input.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetButtonLabel(Windows::Gaming::Input::ArcadeStickButtons button, Windows::Gaming::Input::GameControllerButtonLabel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetButtonLabel(button)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ArcadeStickAdded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ArcadeStickAdded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ArcadeStickAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ArcadeStickAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ArcadeStickRemoved(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ArcadeStickRemoved(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ArcadeStickRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ArcadeStickRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ArcadeSticks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ArcadeSticks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromGameController(impl::abi_arg_in gameController, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromGameController(*reinterpret_cast(&gameController))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HatSwitchKind(Windows::Gaming::Input::GameControllerSwitchKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HatSwitchKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetButtonLabel(Windows::Gaming::Input::FlightStickButtons button, Windows::Gaming::Input::GameControllerButtonLabel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetButtonLabel(button)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_FlightStickAdded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FlightStickAdded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FlightStickAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlightStickAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FlightStickRemoved(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FlightStickRemoved(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FlightStickRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlightStickRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlightSticks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlightSticks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromGameController(impl::abi_arg_in gameController, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromGameController(*reinterpret_cast(&gameController))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_HeadsetConnected(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HeadsetConnected(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HeadsetConnected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeadsetConnected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HeadsetDisconnected(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HeadsetDisconnected(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HeadsetDisconnected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeadsetDisconnected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UserChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UserChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UserChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Headset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Headset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsWireless(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWireless()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetBatteryReport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetBatteryReport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Vibration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Vibration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Vibration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Vibration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetButtonLabel(Windows::Gaming::Input::GamepadButtons button, Windows::Gaming::Input::GameControllerButtonLabel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetButtonLabel(button)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_GamepadAdded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GamepadAdded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GamepadAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GamepadAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GamepadRemoved(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GamepadRemoved(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GamepadRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GamepadRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gamepads(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gamepads()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromGameController(impl::abi_arg_in gameController, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromGameController(*reinterpret_cast(&gameController))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CaptureDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaptureDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RenderDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RenderDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasClutch(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasClutch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasHandbrake(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasHandbrake()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasPatternShifter(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasPatternShifter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPatternShifterGear(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPatternShifterGear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxWheelAngle(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxWheelAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WheelMotor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WheelMotor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetButtonLabel(Windows::Gaming::Input::RacingWheelButtons button, Windows::Gaming::Input::GameControllerButtonLabel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetButtonLabel(button)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_RacingWheelAdded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RacingWheelAdded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RacingWheelAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RacingWheelAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RacingWheelRemoved(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RacingWheelRemoved(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RacingWheelRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RacingWheelRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RacingWheels(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RacingWheels()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromGameController(impl::abi_arg_in gameController, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromGameController(*reinterpret_cast(&gameController))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AxisCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AxisCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForceFeedbackMotors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForceFeedbackMotors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareProductId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareProductId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareVendorId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareVendorId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SwitchCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SwitchCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetButtonLabel(int32_t buttonIndex, Windows::Gaming::Input::GameControllerButtonLabel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetButtonLabel(buttonIndex)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentReading(uint32_t __buttonArraySize, impl::abi_arg_out buttonArray, uint32_t __switchArraySize, impl::abi_arg_out switchArray, uint32_t __axisArraySize, impl::abi_arg_out axisArray, uint64_t * timestamp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *timestamp = detach_abi(this->shim().GetCurrentReading(*buttonArray, *switchArray, *axisArray)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSwitchKind(int32_t switchIndex, Windows::Gaming::Input::GameControllerSwitchKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSwitchKind(switchIndex)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_RawGameControllerAdded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RawGameControllerAdded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RawGameControllerAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RawGameControllerAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RawGameControllerRemoved(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RawGameControllerRemoved(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RawGameControllerRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RawGameControllerRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawGameControllers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawGameControllers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromGameController(impl::abi_arg_in gameController, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromGameController(*reinterpret_cast(&gameController))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentReading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentReading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOptionalButtonLabel(Windows::Gaming::Input::OptionalUINavigationButtons button, Windows::Gaming::Input::GameControllerButtonLabel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetOptionalButtonLabel(button)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRequiredButtonLabel(Windows::Gaming::Input::RequiredUINavigationButtons button, Windows::Gaming::Input::GameControllerButtonLabel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRequiredButtonLabel(button)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_UINavigationControllerAdded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UINavigationControllerAdded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UINavigationControllerAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UINavigationControllerAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UINavigationControllerRemoved(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UINavigationControllerRemoved(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UINavigationControllerRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UINavigationControllerRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UINavigationControllers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UINavigationControllers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromGameController(impl::abi_arg_in gameController, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromGameController(*reinterpret_cast(&gameController))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Gaming::Input { + +template event_token impl_IGameController::HeadsetConnected(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameController)->add_HeadsetConnected(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGameController::HeadsetConnected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IGameController::remove_HeadsetConnected, HeadsetConnected(value)); +} + +template void impl_IGameController::HeadsetConnected(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameController)->remove_HeadsetConnected(token)); +} + +template event_token impl_IGameController::HeadsetDisconnected(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameController)->add_HeadsetDisconnected(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGameController::HeadsetDisconnected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IGameController::remove_HeadsetDisconnected, HeadsetDisconnected(value)); +} + +template void impl_IGameController::HeadsetDisconnected(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameController)->remove_HeadsetDisconnected(token)); +} + +template event_token impl_IGameController::UserChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameController)->add_UserChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGameController::UserChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IGameController::remove_UserChanged, UserChanged(value)); +} + +template void impl_IGameController::UserChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameController)->remove_UserChanged(token)); +} + +template Windows::Gaming::Input::Headset impl_IGameController::Headset() const +{ + Windows::Gaming::Input::Headset value { nullptr }; + check_hresult(WINRT_SHIM(IGameController)->get_Headset(put_abi(value))); + return value; +} + +template bool impl_IGameController::IsWireless() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGameController)->get_IsWireless(&value)); + return value; +} + +template Windows::System::User impl_IGameController::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IGameController)->get_User(put_abi(value))); + return value; +} + +template Windows::Devices::Power::BatteryReport impl_IGameControllerBatteryInfo::TryGetBatteryReport() const +{ + Windows::Devices::Power::BatteryReport value { nullptr }; + check_hresult(WINRT_SHIM(IGameControllerBatteryInfo)->abi_TryGetBatteryReport(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::GameControllerButtonLabel impl_IArcadeStick::GetButtonLabel(Windows::Gaming::Input::ArcadeStickButtons button) const +{ + Windows::Gaming::Input::GameControllerButtonLabel value {}; + check_hresult(WINRT_SHIM(IArcadeStick)->abi_GetButtonLabel(button, &value)); + return value; +} + +template Windows::Gaming::Input::ArcadeStickReading impl_IArcadeStick::GetCurrentReading() const +{ + Windows::Gaming::Input::ArcadeStickReading value {}; + check_hresult(WINRT_SHIM(IArcadeStick)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template event_token impl_IArcadeStickStatics::ArcadeStickAdded(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IArcadeStickStatics)->add_ArcadeStickAdded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IArcadeStickStatics::ArcadeStickAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IArcadeStickStatics::remove_ArcadeStickAdded, ArcadeStickAdded(value)); +} + +template void impl_IArcadeStickStatics::ArcadeStickAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IArcadeStickStatics)->remove_ArcadeStickAdded(token)); +} + +template event_token impl_IArcadeStickStatics::ArcadeStickRemoved(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IArcadeStickStatics)->add_ArcadeStickRemoved(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IArcadeStickStatics::ArcadeStickRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IArcadeStickStatics::remove_ArcadeStickRemoved, ArcadeStickRemoved(value)); +} + +template void impl_IArcadeStickStatics::ArcadeStickRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IArcadeStickStatics)->remove_ArcadeStickRemoved(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IArcadeStickStatics::ArcadeSticks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IArcadeStickStatics)->get_ArcadeSticks(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::ArcadeStick impl_IArcadeStickStatics2::FromGameController(const Windows::Gaming::Input::IGameController & gameController) const +{ + Windows::Gaming::Input::ArcadeStick value { nullptr }; + check_hresult(WINRT_SHIM(IArcadeStickStatics2)->abi_FromGameController(get_abi(gameController), put_abi(value))); + return value; +} + +template Windows::Gaming::Input::GameControllerSwitchKind impl_IFlightStick::HatSwitchKind() const +{ + Windows::Gaming::Input::GameControllerSwitchKind value {}; + check_hresult(WINRT_SHIM(IFlightStick)->get_HatSwitchKind(&value)); + return value; +} + +template Windows::Gaming::Input::GameControllerButtonLabel impl_IFlightStick::GetButtonLabel(Windows::Gaming::Input::FlightStickButtons button) const +{ + Windows::Gaming::Input::GameControllerButtonLabel value {}; + check_hresult(WINRT_SHIM(IFlightStick)->abi_GetButtonLabel(button, &value)); + return value; +} + +template Windows::Gaming::Input::FlightStickReading impl_IFlightStick::GetCurrentReading() const +{ + Windows::Gaming::Input::FlightStickReading value {}; + check_hresult(WINRT_SHIM(IFlightStick)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template event_token impl_IFlightStickStatics::FlightStickAdded(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFlightStickStatics)->add_FlightStickAdded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IFlightStickStatics::FlightStickAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IFlightStickStatics::remove_FlightStickAdded, FlightStickAdded(value)); +} + +template void impl_IFlightStickStatics::FlightStickAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IFlightStickStatics)->remove_FlightStickAdded(token)); +} + +template event_token impl_IFlightStickStatics::FlightStickRemoved(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFlightStickStatics)->add_FlightStickRemoved(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IFlightStickStatics::FlightStickRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IFlightStickStatics::remove_FlightStickRemoved, FlightStickRemoved(value)); +} + +template void impl_IFlightStickStatics::FlightStickRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IFlightStickStatics)->remove_FlightStickRemoved(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IFlightStickStatics::FlightSticks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFlightStickStatics)->get_FlightSticks(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::FlightStick impl_IFlightStickStatics::FromGameController(const Windows::Gaming::Input::IGameController & gameController) const +{ + Windows::Gaming::Input::FlightStick value { nullptr }; + check_hresult(WINRT_SHIM(IFlightStickStatics)->abi_FromGameController(get_abi(gameController), put_abi(value))); + return value; +} + +template Windows::Gaming::Input::GamepadVibration impl_IGamepad::Vibration() const +{ + Windows::Gaming::Input::GamepadVibration value {}; + check_hresult(WINRT_SHIM(IGamepad)->get_Vibration(put_abi(value))); + return value; +} + +template void impl_IGamepad::Vibration(const Windows::Gaming::Input::GamepadVibration & value) const +{ + check_hresult(WINRT_SHIM(IGamepad)->put_Vibration(get_abi(value))); +} + +template Windows::Gaming::Input::GamepadReading impl_IGamepad::GetCurrentReading() const +{ + Windows::Gaming::Input::GamepadReading value {}; + check_hresult(WINRT_SHIM(IGamepad)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::GameControllerButtonLabel impl_IGamepad2::GetButtonLabel(Windows::Gaming::Input::GamepadButtons button) const +{ + Windows::Gaming::Input::GameControllerButtonLabel value {}; + check_hresult(WINRT_SHIM(IGamepad2)->abi_GetButtonLabel(button, &value)); + return value; +} + +template event_token impl_IGamepadStatics::GamepadAdded(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGamepadStatics)->add_GamepadAdded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGamepadStatics::GamepadAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IGamepadStatics::remove_GamepadAdded, GamepadAdded(value)); +} + +template void impl_IGamepadStatics::GamepadAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IGamepadStatics)->remove_GamepadAdded(token)); +} + +template event_token impl_IGamepadStatics::GamepadRemoved(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGamepadStatics)->add_GamepadRemoved(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGamepadStatics::GamepadRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IGamepadStatics::remove_GamepadRemoved, GamepadRemoved(value)); +} + +template void impl_IGamepadStatics::GamepadRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IGamepadStatics)->remove_GamepadRemoved(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IGamepadStatics::Gamepads() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGamepadStatics)->get_Gamepads(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::Gamepad impl_IGamepadStatics2::FromGameController(const Windows::Gaming::Input::IGameController & gameController) const +{ + Windows::Gaming::Input::Gamepad value { nullptr }; + check_hresult(WINRT_SHIM(IGamepadStatics2)->abi_FromGameController(get_abi(gameController), put_abi(value))); + return value; +} + +template hstring impl_IHeadset::CaptureDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHeadset)->get_CaptureDeviceId(put_abi(value))); + return value; +} + +template hstring impl_IHeadset::RenderDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHeadset)->get_RenderDeviceId(put_abi(value))); + return value; +} + +template bool impl_IRacingWheel::HasClutch() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRacingWheel)->get_HasClutch(&value)); + return value; +} + +template bool impl_IRacingWheel::HasHandbrake() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRacingWheel)->get_HasHandbrake(&value)); + return value; +} + +template bool impl_IRacingWheel::HasPatternShifter() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRacingWheel)->get_HasPatternShifter(&value)); + return value; +} + +template int32_t impl_IRacingWheel::MaxPatternShifterGear() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRacingWheel)->get_MaxPatternShifterGear(&value)); + return value; +} + +template double impl_IRacingWheel::MaxWheelAngle() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRacingWheel)->get_MaxWheelAngle(&value)); + return value; +} + +template Windows::Gaming::Input::ForceFeedback::ForceFeedbackMotor impl_IRacingWheel::WheelMotor() const +{ + Windows::Gaming::Input::ForceFeedback::ForceFeedbackMotor value { nullptr }; + check_hresult(WINRT_SHIM(IRacingWheel)->get_WheelMotor(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::GameControllerButtonLabel impl_IRacingWheel::GetButtonLabel(Windows::Gaming::Input::RacingWheelButtons button) const +{ + Windows::Gaming::Input::GameControllerButtonLabel value {}; + check_hresult(WINRT_SHIM(IRacingWheel)->abi_GetButtonLabel(button, &value)); + return value; +} + +template Windows::Gaming::Input::RacingWheelReading impl_IRacingWheel::GetCurrentReading() const +{ + Windows::Gaming::Input::RacingWheelReading value {}; + check_hresult(WINRT_SHIM(IRacingWheel)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template event_token impl_IRacingWheelStatics::RacingWheelAdded(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRacingWheelStatics)->add_RacingWheelAdded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRacingWheelStatics::RacingWheelAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IRacingWheelStatics::remove_RacingWheelAdded, RacingWheelAdded(value)); +} + +template void impl_IRacingWheelStatics::RacingWheelAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IRacingWheelStatics)->remove_RacingWheelAdded(token)); +} + +template event_token impl_IRacingWheelStatics::RacingWheelRemoved(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRacingWheelStatics)->add_RacingWheelRemoved(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRacingWheelStatics::RacingWheelRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IRacingWheelStatics::remove_RacingWheelRemoved, RacingWheelRemoved(value)); +} + +template void impl_IRacingWheelStatics::RacingWheelRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IRacingWheelStatics)->remove_RacingWheelRemoved(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IRacingWheelStatics::RacingWheels() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IRacingWheelStatics)->get_RacingWheels(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::RacingWheel impl_IRacingWheelStatics2::FromGameController(const Windows::Gaming::Input::IGameController & gameController) const +{ + Windows::Gaming::Input::RacingWheel value { nullptr }; + check_hresult(WINRT_SHIM(IRacingWheelStatics2)->abi_FromGameController(get_abi(gameController), put_abi(value))); + return value; +} + +template int32_t impl_IRawGameController::AxisCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRawGameController)->get_AxisCount(&value)); + return value; +} + +template int32_t impl_IRawGameController::ButtonCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRawGameController)->get_ButtonCount(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IRawGameController::ForceFeedbackMotors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IRawGameController)->get_ForceFeedbackMotors(put_abi(value))); + return value; +} + +template uint16_t impl_IRawGameController::HardwareProductId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IRawGameController)->get_HardwareProductId(&value)); + return value; +} + +template uint16_t impl_IRawGameController::HardwareVendorId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IRawGameController)->get_HardwareVendorId(&value)); + return value; +} + +template int32_t impl_IRawGameController::SwitchCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRawGameController)->get_SwitchCount(&value)); + return value; +} + +template Windows::Gaming::Input::GameControllerButtonLabel impl_IRawGameController::GetButtonLabel(int32_t buttonIndex) const +{ + Windows::Gaming::Input::GameControllerButtonLabel value {}; + check_hresult(WINRT_SHIM(IRawGameController)->abi_GetButtonLabel(buttonIndex, &value)); + return value; +} + +template uint64_t impl_IRawGameController::GetCurrentReading(array_view buttonArray, array_view switchArray, array_view axisArray) const +{ + uint64_t timestamp {}; + check_hresult(WINRT_SHIM(IRawGameController)->abi_GetCurrentReading(buttonArray.size(), get_abi(buttonArray), switchArray.size(), get_abi(switchArray), axisArray.size(), get_abi(axisArray), ×tamp)); + return timestamp; +} + +template Windows::Gaming::Input::GameControllerSwitchKind impl_IRawGameController::GetSwitchKind(int32_t switchIndex) const +{ + Windows::Gaming::Input::GameControllerSwitchKind value {}; + check_hresult(WINRT_SHIM(IRawGameController)->abi_GetSwitchKind(switchIndex, &value)); + return value; +} + +template event_token impl_IRawGameControllerStatics::RawGameControllerAdded(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRawGameControllerStatics)->add_RawGameControllerAdded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRawGameControllerStatics::RawGameControllerAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IRawGameControllerStatics::remove_RawGameControllerAdded, RawGameControllerAdded(value)); +} + +template void impl_IRawGameControllerStatics::RawGameControllerAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IRawGameControllerStatics)->remove_RawGameControllerAdded(token)); +} + +template event_token impl_IRawGameControllerStatics::RawGameControllerRemoved(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRawGameControllerStatics)->add_RawGameControllerRemoved(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRawGameControllerStatics::RawGameControllerRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IRawGameControllerStatics::remove_RawGameControllerRemoved, RawGameControllerRemoved(value)); +} + +template void impl_IRawGameControllerStatics::RawGameControllerRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IRawGameControllerStatics)->remove_RawGameControllerRemoved(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IRawGameControllerStatics::RawGameControllers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IRawGameControllerStatics)->get_RawGameControllers(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::RawGameController impl_IRawGameControllerStatics::FromGameController(const Windows::Gaming::Input::IGameController & gameController) const +{ + Windows::Gaming::Input::RawGameController value { nullptr }; + check_hresult(WINRT_SHIM(IRawGameControllerStatics)->abi_FromGameController(get_abi(gameController), put_abi(value))); + return value; +} + +template Windows::Gaming::Input::UINavigationReading impl_IUINavigationController::GetCurrentReading() const +{ + Windows::Gaming::Input::UINavigationReading value {}; + check_hresult(WINRT_SHIM(IUINavigationController)->abi_GetCurrentReading(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::GameControllerButtonLabel impl_IUINavigationController::GetOptionalButtonLabel(Windows::Gaming::Input::OptionalUINavigationButtons button) const +{ + Windows::Gaming::Input::GameControllerButtonLabel value {}; + check_hresult(WINRT_SHIM(IUINavigationController)->abi_GetOptionalButtonLabel(button, &value)); + return value; +} + +template Windows::Gaming::Input::GameControllerButtonLabel impl_IUINavigationController::GetRequiredButtonLabel(Windows::Gaming::Input::RequiredUINavigationButtons button) const +{ + Windows::Gaming::Input::GameControllerButtonLabel value {}; + check_hresult(WINRT_SHIM(IUINavigationController)->abi_GetRequiredButtonLabel(button, &value)); + return value; +} + +template event_token impl_IUINavigationControllerStatics::UINavigationControllerAdded(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUINavigationControllerStatics)->add_UINavigationControllerAdded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IUINavigationControllerStatics::UINavigationControllerAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IUINavigationControllerStatics::remove_UINavigationControllerAdded, UINavigationControllerAdded(value)); +} + +template void impl_IUINavigationControllerStatics::UINavigationControllerAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IUINavigationControllerStatics)->remove_UINavigationControllerAdded(token)); +} + +template event_token impl_IUINavigationControllerStatics::UINavigationControllerRemoved(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUINavigationControllerStatics)->add_UINavigationControllerRemoved(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IUINavigationControllerStatics::UINavigationControllerRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Input::IUINavigationControllerStatics::remove_UINavigationControllerRemoved, UINavigationControllerRemoved(value)); +} + +template void impl_IUINavigationControllerStatics::UINavigationControllerRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IUINavigationControllerStatics)->remove_UINavigationControllerRemoved(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IUINavigationControllerStatics::UINavigationControllers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUINavigationControllerStatics)->get_UINavigationControllers(put_abi(value))); + return value; +} + +template Windows::Gaming::Input::UINavigationController impl_IUINavigationControllerStatics2::FromGameController(const Windows::Gaming::Input::IGameController & gameController) const +{ + Windows::Gaming::Input::UINavigationController value { nullptr }; + check_hresult(WINRT_SHIM(IUINavigationControllerStatics2)->abi_FromGameController(get_abi(gameController), put_abi(value))); + return value; +} + +inline event_token ArcadeStick::ArcadeStickAdded(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().ArcadeStickAdded(value); +} + +inline factory_event_revoker ArcadeStick::ArcadeStickAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IArcadeStickStatics::remove_ArcadeStickAdded, factory.ArcadeStickAdded(value) }; +} + +inline void ArcadeStick::ArcadeStickAdded(event_token token) +{ + get_activation_factory().ArcadeStickAdded(token); +} + +inline event_token ArcadeStick::ArcadeStickRemoved(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().ArcadeStickRemoved(value); +} + +inline factory_event_revoker ArcadeStick::ArcadeStickRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IArcadeStickStatics::remove_ArcadeStickRemoved, factory.ArcadeStickRemoved(value) }; +} + +inline void ArcadeStick::ArcadeStickRemoved(event_token token) +{ + get_activation_factory().ArcadeStickRemoved(token); +} + +inline Windows::Foundation::Collections::IVectorView ArcadeStick::ArcadeSticks() +{ + return get_activation_factory().ArcadeSticks(); +} + +inline Windows::Gaming::Input::ArcadeStick ArcadeStick::FromGameController(const Windows::Gaming::Input::IGameController & gameController) +{ + return get_activation_factory().FromGameController(gameController); +} + +inline event_token FlightStick::FlightStickAdded(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().FlightStickAdded(value); +} + +inline factory_event_revoker FlightStick::FlightStickAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IFlightStickStatics::remove_FlightStickAdded, factory.FlightStickAdded(value) }; +} + +inline void FlightStick::FlightStickAdded(event_token token) +{ + get_activation_factory().FlightStickAdded(token); +} + +inline event_token FlightStick::FlightStickRemoved(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().FlightStickRemoved(value); +} + +inline factory_event_revoker FlightStick::FlightStickRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IFlightStickStatics::remove_FlightStickRemoved, factory.FlightStickRemoved(value) }; +} + +inline void FlightStick::FlightStickRemoved(event_token token) +{ + get_activation_factory().FlightStickRemoved(token); +} + +inline Windows::Foundation::Collections::IVectorView FlightStick::FlightSticks() +{ + return get_activation_factory().FlightSticks(); +} + +inline Windows::Gaming::Input::FlightStick FlightStick::FromGameController(const Windows::Gaming::Input::IGameController & gameController) +{ + return get_activation_factory().FromGameController(gameController); +} + +inline event_token Gamepad::GamepadAdded(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().GamepadAdded(value); +} + +inline factory_event_revoker Gamepad::GamepadAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IGamepadStatics::remove_GamepadAdded, factory.GamepadAdded(value) }; +} + +inline void Gamepad::GamepadAdded(event_token token) +{ + get_activation_factory().GamepadAdded(token); +} + +inline event_token Gamepad::GamepadRemoved(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().GamepadRemoved(value); +} + +inline factory_event_revoker Gamepad::GamepadRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IGamepadStatics::remove_GamepadRemoved, factory.GamepadRemoved(value) }; +} + +inline void Gamepad::GamepadRemoved(event_token token) +{ + get_activation_factory().GamepadRemoved(token); +} + +inline Windows::Foundation::Collections::IVectorView Gamepad::Gamepads() +{ + return get_activation_factory().Gamepads(); +} + +inline Windows::Gaming::Input::Gamepad Gamepad::FromGameController(const Windows::Gaming::Input::IGameController & gameController) +{ + return get_activation_factory().FromGameController(gameController); +} + +inline event_token RacingWheel::RacingWheelAdded(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().RacingWheelAdded(value); +} + +inline factory_event_revoker RacingWheel::RacingWheelAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IRacingWheelStatics::remove_RacingWheelAdded, factory.RacingWheelAdded(value) }; +} + +inline void RacingWheel::RacingWheelAdded(event_token token) +{ + get_activation_factory().RacingWheelAdded(token); +} + +inline event_token RacingWheel::RacingWheelRemoved(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().RacingWheelRemoved(value); +} + +inline factory_event_revoker RacingWheel::RacingWheelRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IRacingWheelStatics::remove_RacingWheelRemoved, factory.RacingWheelRemoved(value) }; +} + +inline void RacingWheel::RacingWheelRemoved(event_token token) +{ + get_activation_factory().RacingWheelRemoved(token); +} + +inline Windows::Foundation::Collections::IVectorView RacingWheel::RacingWheels() +{ + return get_activation_factory().RacingWheels(); +} + +inline Windows::Gaming::Input::RacingWheel RacingWheel::FromGameController(const Windows::Gaming::Input::IGameController & gameController) +{ + return get_activation_factory().FromGameController(gameController); +} + +inline event_token RawGameController::RawGameControllerAdded(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().RawGameControllerAdded(value); +} + +inline factory_event_revoker RawGameController::RawGameControllerAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IRawGameControllerStatics::remove_RawGameControllerAdded, factory.RawGameControllerAdded(value) }; +} + +inline void RawGameController::RawGameControllerAdded(event_token token) +{ + get_activation_factory().RawGameControllerAdded(token); +} + +inline event_token RawGameController::RawGameControllerRemoved(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().RawGameControllerRemoved(value); +} + +inline factory_event_revoker RawGameController::RawGameControllerRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IRawGameControllerStatics::remove_RawGameControllerRemoved, factory.RawGameControllerRemoved(value) }; +} + +inline void RawGameController::RawGameControllerRemoved(event_token token) +{ + get_activation_factory().RawGameControllerRemoved(token); +} + +inline Windows::Foundation::Collections::IVectorView RawGameController::RawGameControllers() +{ + return get_activation_factory().RawGameControllers(); +} + +inline Windows::Gaming::Input::RawGameController RawGameController::FromGameController(const Windows::Gaming::Input::IGameController & gameController) +{ + return get_activation_factory().FromGameController(gameController); +} + +inline event_token UINavigationController::UINavigationControllerAdded(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().UINavigationControllerAdded(value); +} + +inline factory_event_revoker UINavigationController::UINavigationControllerAdded(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IUINavigationControllerStatics::remove_UINavigationControllerAdded, factory.UINavigationControllerAdded(value) }; +} + +inline void UINavigationController::UINavigationControllerAdded(event_token token) +{ + get_activation_factory().UINavigationControllerAdded(token); +} + +inline event_token UINavigationController::UINavigationControllerRemoved(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().UINavigationControllerRemoved(value); +} + +inline factory_event_revoker UINavigationController::UINavigationControllerRemoved(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Input::IUINavigationControllerStatics::remove_UINavigationControllerRemoved, factory.UINavigationControllerRemoved(value) }; +} + +inline void UINavigationController::UINavigationControllerRemoved(event_token token) +{ + get_activation_factory().UINavigationControllerRemoved(token); +} + +inline Windows::Foundation::Collections::IVectorView UINavigationController::UINavigationControllers() +{ + return get_activation_factory().UINavigationControllers(); +} + +inline Windows::Gaming::Input::UINavigationController UINavigationController::FromGameController(const Windows::Gaming::Input::IGameController & gameController) +{ + return get_activation_factory().FromGameController(gameController); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IArcadeStick & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IArcadeStickStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IArcadeStickStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IFlightStick & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IFlightStickStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IGameController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IGameControllerBatteryInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IGamepad & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IGamepad2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IGamepadStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IGamepadStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IHeadset & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IRacingWheel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IRacingWheelStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IRacingWheelStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IRawGameController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IRawGameControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IUINavigationController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IUINavigationControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::IUINavigationControllerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::ArcadeStick & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::FlightStick & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Gamepad & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::Headset & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::RacingWheel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::RawGameController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Input::UINavigationController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Gaming.Preview.GamesEnumeration.h b/10.0.15042.0/winrt/Windows.Gaming.Preview.GamesEnumeration.h new file mode 100644 index 000000000..87db25ba0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Gaming.Preview.GamesEnumeration.h @@ -0,0 +1,445 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Gaming.Preview.GamesEnumeration.3.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Gaming::Preview::GamesEnumeration { + +template GameListChangedEventHandler::GameListChangedEventHandler(L lambda) : + GameListChangedEventHandler(impl::make_delegate, GameListChangedEventHandler>(std::forward(lambda))) +{} + +template GameListChangedEventHandler::GameListChangedEventHandler(F * function) : + GameListChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template GameListChangedEventHandler::GameListChangedEventHandler(O * object, M method) : + GameListChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void GameListChangedEventHandler::operator()(const Windows::Gaming::Preview::GamesEnumeration::GameListEntry & game) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(game))); +} + +template GameListRemovedEventHandler::GameListRemovedEventHandler(L lambda) : + GameListRemovedEventHandler(impl::make_delegate, GameListRemovedEventHandler>(std::forward(lambda))) +{} + +template GameListRemovedEventHandler::GameListRemovedEventHandler(F * function) : + GameListRemovedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template GameListRemovedEventHandler::GameListRemovedEventHandler(O * object, M method) : + GameListRemovedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void GameListRemovedEventHandler::operator()(hstring_view identifier) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(identifier))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Category(Windows::Gaming::Preview::GamesEnumeration::GameListCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Category()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetCategoryAsync(Windows::Gaming::Preview::GamesEnumeration::GameListCategory value, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SetCategoryAsync(value)); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncPackageFamilyName(impl::abi_arg_in packageFamilyName, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync(*reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GameAdded(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GameAdded(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GameAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GameAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GameRemoved(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GameRemoved(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GameRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GameRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GameUpdated(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GameUpdated(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GameUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GameUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Gaming::Preview::GamesEnumeration { + +template Windows::ApplicationModel::AppDisplayInfo impl_IGameListEntry::DisplayInfo() const +{ + Windows::ApplicationModel::AppDisplayInfo value { nullptr }; + check_hresult(WINRT_SHIM(IGameListEntry)->get_DisplayInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGameListEntry::LaunchAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGameListEntry)->abi_LaunchAsync(put_abi(operation))); + return operation; +} + +template Windows::Gaming::Preview::GamesEnumeration::GameListCategory impl_IGameListEntry::Category() const +{ + Windows::Gaming::Preview::GamesEnumeration::GameListCategory value {}; + check_hresult(WINRT_SHIM(IGameListEntry)->get_Category(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IGameListEntry::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IGameListEntry)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IGameListEntry::SetCategoryAsync(Windows::Gaming::Preview::GamesEnumeration::GameListCategory value) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IGameListEntry)->abi_SetCategoryAsync(value, put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncOperation> impl_IGameListStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IGameListStatics)->abi_FindAllAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IGameListStatics::FindAllAsync(hstring_view packageFamilyName) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IGameListStatics)->abi_FindAllAsyncPackageFamilyName(get_abi(packageFamilyName), put_abi(operation))); + return operation; +} + +template event_token impl_IGameListStatics::GameAdded(const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameListStatics)->add_GameAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGameListStatics::GameAdded(auto_revoke_t, const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Preview::GamesEnumeration::IGameListStatics::remove_GameAdded, GameAdded(handler)); +} + +template void impl_IGameListStatics::GameAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameListStatics)->remove_GameAdded(token)); +} + +template event_token impl_IGameListStatics::GameRemoved(const Windows::Gaming::Preview::GamesEnumeration::GameListRemovedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameListStatics)->add_GameRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGameListStatics::GameRemoved(auto_revoke_t, const Windows::Gaming::Preview::GamesEnumeration::GameListRemovedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Preview::GamesEnumeration::IGameListStatics::remove_GameRemoved, GameRemoved(handler)); +} + +template void impl_IGameListStatics::GameRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameListStatics)->remove_GameRemoved(token)); +} + +template event_token impl_IGameListStatics::GameUpdated(const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameListStatics)->add_GameUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGameListStatics::GameUpdated(auto_revoke_t, const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::Preview::GamesEnumeration::IGameListStatics::remove_GameUpdated, GameUpdated(handler)); +} + +template void impl_IGameListStatics::GameUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameListStatics)->remove_GameUpdated(token)); +} + +inline Windows::Foundation::IAsyncOperation> GameList::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation> GameList::FindAllAsync(hstring_view packageFamilyName) +{ + return get_activation_factory().FindAllAsync(packageFamilyName); +} + +inline event_token GameList::GameAdded(const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) +{ + return get_activation_factory().GameAdded(handler); +} + +inline factory_event_revoker GameList::GameAdded(auto_revoke_t, const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Preview::GamesEnumeration::IGameListStatics::remove_GameAdded, factory.GameAdded(handler) }; +} + +inline void GameList::GameAdded(event_token token) +{ + get_activation_factory().GameAdded(token); +} + +inline event_token GameList::GameRemoved(const Windows::Gaming::Preview::GamesEnumeration::GameListRemovedEventHandler & handler) +{ + return get_activation_factory().GameRemoved(handler); +} + +inline factory_event_revoker GameList::GameRemoved(auto_revoke_t, const Windows::Gaming::Preview::GamesEnumeration::GameListRemovedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Preview::GamesEnumeration::IGameListStatics::remove_GameRemoved, factory.GameRemoved(handler) }; +} + +inline void GameList::GameRemoved(event_token token) +{ + get_activation_factory().GameRemoved(token); +} + +inline event_token GameList::GameUpdated(const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) +{ + return get_activation_factory().GameUpdated(handler); +} + +inline factory_event_revoker GameList::GameUpdated(auto_revoke_t, const Windows::Gaming::Preview::GamesEnumeration::GameListChangedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::Preview::GamesEnumeration::IGameListStatics::remove_GameUpdated, factory.GameUpdated(handler) }; +} + +inline void GameList::GameUpdated(event_token token) +{ + get_activation_factory().GameUpdated(token); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Preview::GamesEnumeration::IGameListEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Preview::GamesEnumeration::IGameListStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::Preview::GamesEnumeration::GameListEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Gaming.UI.h b/10.0.15042.0/winrt/Windows.Gaming.UI.h new file mode 100644 index 000000000..e589e180d --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Gaming.UI.h @@ -0,0 +1,553 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Gaming.UI.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_VisibilityChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VisibilityChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VisibilityChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VisibilityChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsInputRedirectedChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsInputRedirectedChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsInputRedirectedChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInputRedirectedChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInputRedirected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInputRedirected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SenderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SenderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Origin(Windows::Gaming::UI::GameChatMessageOrigin * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Origin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredPosition(Windows::Gaming::UI::GameChatOverlayPosition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredPosition(Windows::Gaming::UI::GameChatOverlayPosition value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddMessage(impl::abi_arg_in sender, impl::abi_arg_in message, Windows::Gaming::UI::GameChatMessageOrigin origin) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddMessage(*reinterpret_cast(&sender), *reinterpret_cast(&message), origin); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_MessageReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MessageReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDelayBeforeClosingAfterMessageReceived(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDelayBeforeClosingAfterMessageReceived(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Gaming::UI { + +template event_token impl_IGameBarStatics::VisibilityChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameBarStatics)->add_VisibilityChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGameBarStatics::VisibilityChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::UI::IGameBarStatics::remove_VisibilityChanged, VisibilityChanged(handler)); +} + +template void impl_IGameBarStatics::VisibilityChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameBarStatics)->remove_VisibilityChanged(token)); +} + +template event_token impl_IGameBarStatics::IsInputRedirectedChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameBarStatics)->add_IsInputRedirectedChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGameBarStatics::IsInputRedirectedChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::UI::IGameBarStatics::remove_IsInputRedirectedChanged, IsInputRedirectedChanged(handler)); +} + +template void impl_IGameBarStatics::IsInputRedirectedChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameBarStatics)->remove_IsInputRedirectedChanged(token)); +} + +template bool impl_IGameBarStatics::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGameBarStatics)->get_Visible(&value)); + return value; +} + +template bool impl_IGameBarStatics::IsInputRedirected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGameBarStatics)->get_IsInputRedirected(&value)); + return value; +} + +template Windows::Gaming::UI::GameChatOverlay impl_IGameChatOverlayStatics::GetDefault() const +{ + Windows::Gaming::UI::GameChatOverlay value { nullptr }; + check_hresult(WINRT_SHIM(IGameChatOverlayStatics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::Gaming::UI::GameChatOverlayPosition impl_IGameChatOverlay::DesiredPosition() const +{ + Windows::Gaming::UI::GameChatOverlayPosition value {}; + check_hresult(WINRT_SHIM(IGameChatOverlay)->get_DesiredPosition(&value)); + return value; +} + +template void impl_IGameChatOverlay::DesiredPosition(Windows::Gaming::UI::GameChatOverlayPosition value) const +{ + check_hresult(WINRT_SHIM(IGameChatOverlay)->put_DesiredPosition(value)); +} + +template void impl_IGameChatOverlay::AddMessage(hstring_view sender, hstring_view message, Windows::Gaming::UI::GameChatMessageOrigin origin) const +{ + check_hresult(WINRT_SHIM(IGameChatOverlay)->abi_AddMessage(get_abi(sender), get_abi(message), origin)); +} + +template event_token impl_IGameChatOverlayMessageSource::MessageReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameChatOverlayMessageSource)->add_MessageReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGameChatOverlayMessageSource::MessageReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Gaming::UI::IGameChatOverlayMessageSource::remove_MessageReceived, MessageReceived(handler)); +} + +template void impl_IGameChatOverlayMessageSource::MessageReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameChatOverlayMessageSource)->remove_MessageReceived(token)); +} + +template void impl_IGameChatOverlayMessageSource::SetDelayBeforeClosingAfterMessageReceived(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IGameChatOverlayMessageSource)->abi_SetDelayBeforeClosingAfterMessageReceived(get_abi(value))); +} + +template hstring impl_IGameChatMessageReceivedEventArgs::AppId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameChatMessageReceivedEventArgs)->get_AppId(put_abi(value))); + return value; +} + +template hstring impl_IGameChatMessageReceivedEventArgs::AppDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameChatMessageReceivedEventArgs)->get_AppDisplayName(put_abi(value))); + return value; +} + +template hstring impl_IGameChatMessageReceivedEventArgs::SenderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameChatMessageReceivedEventArgs)->get_SenderName(put_abi(value))); + return value; +} + +template hstring impl_IGameChatMessageReceivedEventArgs::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameChatMessageReceivedEventArgs)->get_Message(put_abi(value))); + return value; +} + +template Windows::Gaming::UI::GameChatMessageOrigin impl_IGameChatMessageReceivedEventArgs::Origin() const +{ + Windows::Gaming::UI::GameChatMessageOrigin value {}; + check_hresult(WINRT_SHIM(IGameChatMessageReceivedEventArgs)->get_Origin(&value)); + return value; +} + +inline event_token GameBar::VisibilityChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().VisibilityChanged(handler); +} + +inline factory_event_revoker GameBar::VisibilityChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::UI::IGameBarStatics::remove_VisibilityChanged, factory.VisibilityChanged(handler) }; +} + +inline void GameBar::VisibilityChanged(event_token token) +{ + get_activation_factory().VisibilityChanged(token); +} + +inline event_token GameBar::IsInputRedirectedChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().IsInputRedirectedChanged(handler); +} + +inline factory_event_revoker GameBar::IsInputRedirectedChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Gaming::UI::IGameBarStatics::remove_IsInputRedirectedChanged, factory.IsInputRedirectedChanged(handler) }; +} + +inline void GameBar::IsInputRedirectedChanged(event_token token) +{ + get_activation_factory().IsInputRedirectedChanged(token); +} + +inline bool GameBar::Visible() +{ + return get_activation_factory().Visible(); +} + +inline bool GameBar::IsInputRedirected() +{ + return get_activation_factory().IsInputRedirected(); +} + +inline Windows::Gaming::UI::GameChatOverlay GameChatOverlay::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline GameChatOverlayMessageSource::GameChatOverlayMessageSource() : + GameChatOverlayMessageSource(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::IGameBarStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::IGameChatMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::IGameChatOverlay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::IGameChatOverlayMessageSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::IGameChatOverlayStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::GameChatMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::GameChatOverlay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Gaming::UI::GameChatOverlayMessageSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Globalization.Collation.h b/10.0.15042.0/winrt/Windows.Globalization.Collation.h new file mode 100644 index 000000000..68114aaa7 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Globalization.Collation.h @@ -0,0 +1,178 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Globalization.Collation.3.h" +#include "Windows.Globalization.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_First(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().First()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Lookup(impl::abi_arg_in text, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Lookup(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in language, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Globalization::Collation { + +template hstring impl_ICharacterGrouping::First() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICharacterGrouping)->get_First(put_abi(value))); + return value; +} + +template hstring impl_ICharacterGrouping::Label() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICharacterGrouping)->get_Label(put_abi(value))); + return value; +} + +template Windows::Globalization::Collation::CharacterGroupings impl_ICharacterGroupingsFactory::Create(hstring_view language) const +{ + Windows::Globalization::Collation::CharacterGroupings result { nullptr }; + check_hresult(WINRT_SHIM(ICharacterGroupingsFactory)->abi_Create(get_abi(language), put_abi(result))); + return result; +} + +template hstring impl_ICharacterGroupings::Lookup(hstring_view text) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICharacterGroupings)->abi_Lookup(get_abi(text), put_abi(result))); + return result; +} + +inline CharacterGroupings::CharacterGroupings() : + CharacterGroupings(activate_instance()) +{} + +inline CharacterGroupings::CharacterGroupings(hstring_view language) : + CharacterGroupings(get_activation_factory().Create(language)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Collation::ICharacterGrouping & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Collation::ICharacterGroupings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Collation::ICharacterGroupingsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Collation::CharacterGrouping & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Collation::CharacterGroupings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Globalization.DateTimeFormatting.h b/10.0.15042.0/winrt/Windows.Globalization.DateTimeFormatting.h new file mode 100644 index 000000000..2c991b419 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Globalization.DateTimeFormatting.h @@ -0,0 +1,785 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Globalization.DateTimeFormatting.3.h" +#include "Windows.Globalization.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Languages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Languages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GeographicRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeographicRegion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Calendar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Calendar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Clock(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clock()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumeralSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumeralSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NumeralSystem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NumeralSystem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Patterns(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Patterns()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Template(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Template()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Format(impl::abi_arg_in value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Format(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeYear(Windows::Globalization::DateTimeFormatting::YearFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeMonth(Windows::Globalization::DateTimeFormatting::MonthFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeMonth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeDayOfWeek(Windows::Globalization::DateTimeFormatting::DayOfWeekFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeDayOfWeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeDay(Windows::Globalization::DateTimeFormatting::DayFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeDay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeHour(Windows::Globalization::DateTimeFormatting::HourFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeHour()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeMinute(Windows::Globalization::DateTimeFormatting::MinuteFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeMinute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeSecond(Windows::Globalization::DateTimeFormatting::SecondFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolvedGeographicRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedGeographicRegion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FormatUsingTimeZone(impl::abi_arg_in datetime, impl::abi_arg_in timeZoneId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Format(*reinterpret_cast(&datetime), *reinterpret_cast(&timeZoneId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDateTimeFormatter(impl::abi_arg_in formatTemplate, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDateTimeFormatter(*reinterpret_cast(&formatTemplate))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDateTimeFormatterLanguages(impl::abi_arg_in formatTemplate, impl::abi_arg_in> languages, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDateTimeFormatterLanguages(*reinterpret_cast(&formatTemplate), *reinterpret_cast *>(&languages))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDateTimeFormatterContext(impl::abi_arg_in formatTemplate, impl::abi_arg_in> languages, impl::abi_arg_in geographicRegion, impl::abi_arg_in calendar, impl::abi_arg_in clock, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDateTimeFormatterContext(*reinterpret_cast(&formatTemplate), *reinterpret_cast *>(&languages), *reinterpret_cast(&geographicRegion), *reinterpret_cast(&calendar), *reinterpret_cast(&clock))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDateTimeFormatterDate(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDateTimeFormatterDate(yearFormat, monthFormat, dayFormat, dayOfWeekFormat)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDateTimeFormatterTime(Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDateTimeFormatterTime(hourFormat, minuteFormat, secondFormat)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDateTimeFormatterDateTimeLanguages(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat, Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat, impl::abi_arg_in> languages, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDateTimeFormatterDateTimeLanguages(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, *reinterpret_cast *>(&languages))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDateTimeFormatterDateTimeContext(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat, Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat, impl::abi_arg_in> languages, impl::abi_arg_in geographicRegion, impl::abi_arg_in calendar, impl::abi_arg_in clock, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDateTimeFormatterDateTimeContext(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, *reinterpret_cast *>(&languages), *reinterpret_cast(&geographicRegion), *reinterpret_cast(&calendar), *reinterpret_cast(&clock))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LongDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LongDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LongTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LongTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShortDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShortDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShortTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShortTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Globalization::DateTimeFormatting { + +template Windows::Foundation::Collections::IVectorView impl_IDateTimeFormatter::Languages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_Languages(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter::GeographicRegion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_GeographicRegion(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter::Calendar() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_Calendar(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter::Clock() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_Clock(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter::NumeralSystem() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_NumeralSystem(put_abi(value))); + return value; +} + +template void impl_IDateTimeFormatter::NumeralSystem(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDateTimeFormatter)->put_NumeralSystem(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IDateTimeFormatter::Patterns() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_Patterns(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter::Template() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_Template(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter::Format(const Windows::Foundation::DateTime & value) const +{ + hstring result; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->abi_Format(get_abi(value), put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::YearFormat impl_IDateTimeFormatter::IncludeYear() const +{ + Windows::Globalization::DateTimeFormatting::YearFormat value {}; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_IncludeYear(&value)); + return value; +} + +template Windows::Globalization::DateTimeFormatting::MonthFormat impl_IDateTimeFormatter::IncludeMonth() const +{ + Windows::Globalization::DateTimeFormatting::MonthFormat value {}; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_IncludeMonth(&value)); + return value; +} + +template Windows::Globalization::DateTimeFormatting::DayOfWeekFormat impl_IDateTimeFormatter::IncludeDayOfWeek() const +{ + Windows::Globalization::DateTimeFormatting::DayOfWeekFormat value {}; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_IncludeDayOfWeek(&value)); + return value; +} + +template Windows::Globalization::DateTimeFormatting::DayFormat impl_IDateTimeFormatter::IncludeDay() const +{ + Windows::Globalization::DateTimeFormatting::DayFormat value {}; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_IncludeDay(&value)); + return value; +} + +template Windows::Globalization::DateTimeFormatting::HourFormat impl_IDateTimeFormatter::IncludeHour() const +{ + Windows::Globalization::DateTimeFormatting::HourFormat value {}; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_IncludeHour(&value)); + return value; +} + +template Windows::Globalization::DateTimeFormatting::MinuteFormat impl_IDateTimeFormatter::IncludeMinute() const +{ + Windows::Globalization::DateTimeFormatting::MinuteFormat value {}; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_IncludeMinute(&value)); + return value; +} + +template Windows::Globalization::DateTimeFormatting::SecondFormat impl_IDateTimeFormatter::IncludeSecond() const +{ + Windows::Globalization::DateTimeFormatting::SecondFormat value {}; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_IncludeSecond(&value)); + return value; +} + +template hstring impl_IDateTimeFormatter::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter::ResolvedGeographicRegion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDateTimeFormatter)->get_ResolvedGeographicRegion(put_abi(value))); + return value; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterFactory::CreateDateTimeFormatter(hstring_view formatTemplate) const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterFactory)->abi_CreateDateTimeFormatter(get_abi(formatTemplate), put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterFactory::CreateDateTimeFormatterLanguages(hstring_view formatTemplate, iterable languages) const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterFactory)->abi_CreateDateTimeFormatterLanguages(get_abi(formatTemplate), get_abi(languages), put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterFactory::CreateDateTimeFormatterContext(hstring_view formatTemplate, iterable languages, hstring_view geographicRegion, hstring_view calendar, hstring_view clock) const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterFactory)->abi_CreateDateTimeFormatterContext(get_abi(formatTemplate), get_abi(languages), get_abi(geographicRegion), get_abi(calendar), get_abi(clock), put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterFactory::CreateDateTimeFormatterDate(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat) const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterFactory)->abi_CreateDateTimeFormatterDate(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterFactory::CreateDateTimeFormatterTime(Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat) const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterFactory)->abi_CreateDateTimeFormatterTime(hourFormat, minuteFormat, secondFormat, put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterFactory::CreateDateTimeFormatterDateTimeLanguages(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat, Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat, iterable languages) const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterFactory)->abi_CreateDateTimeFormatterDateTimeLanguages(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, get_abi(languages), put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterFactory::CreateDateTimeFormatterDateTimeContext(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat, Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat, iterable languages, hstring_view geographicRegion, hstring_view calendar, hstring_view clock) const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterFactory)->abi_CreateDateTimeFormatterDateTimeContext(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, get_abi(languages), get_abi(geographicRegion), get_abi(calendar), get_abi(clock), put_abi(result))); + return result; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterStatics::LongDate() const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter value { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterStatics)->get_LongDate(put_abi(value))); + return value; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterStatics::LongTime() const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter value { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterStatics)->get_LongTime(put_abi(value))); + return value; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterStatics::ShortDate() const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter value { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterStatics)->get_ShortDate(put_abi(value))); + return value; +} + +template Windows::Globalization::DateTimeFormatting::DateTimeFormatter impl_IDateTimeFormatterStatics::ShortTime() const +{ + Windows::Globalization::DateTimeFormatting::DateTimeFormatter value { nullptr }; + check_hresult(WINRT_SHIM(IDateTimeFormatterStatics)->get_ShortTime(put_abi(value))); + return value; +} + +template hstring impl_IDateTimeFormatter2::Format(const Windows::Foundation::DateTime & datetime, hstring_view timeZoneId) const +{ + hstring result; + check_hresult(WINRT_SHIM(IDateTimeFormatter2)->abi_FormatUsingTimeZone(get_abi(datetime), get_abi(timeZoneId), put_abi(result))); + return result; +} + +inline DateTimeFormatter::DateTimeFormatter(hstring_view formatTemplate) : + DateTimeFormatter(get_activation_factory().CreateDateTimeFormatter(formatTemplate)) +{} + +inline DateTimeFormatter::DateTimeFormatter(hstring_view formatTemplate, iterable languages) : + DateTimeFormatter(get_activation_factory().CreateDateTimeFormatterLanguages(formatTemplate, languages)) +{} + +inline DateTimeFormatter::DateTimeFormatter(hstring_view formatTemplate, iterable languages, hstring_view geographicRegion, hstring_view calendar, hstring_view clock) : + DateTimeFormatter(get_activation_factory().CreateDateTimeFormatterContext(formatTemplate, languages, geographicRegion, calendar, clock)) +{} + +inline DateTimeFormatter::DateTimeFormatter(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat) : + DateTimeFormatter(get_activation_factory().CreateDateTimeFormatterDate(yearFormat, monthFormat, dayFormat, dayOfWeekFormat)) +{} + +inline DateTimeFormatter::DateTimeFormatter(Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat) : + DateTimeFormatter(get_activation_factory().CreateDateTimeFormatterTime(hourFormat, minuteFormat, secondFormat)) +{} + +inline DateTimeFormatter::DateTimeFormatter(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat, Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat, iterable languages) : + DateTimeFormatter(get_activation_factory().CreateDateTimeFormatterDateTimeLanguages(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, languages)) +{} + +inline DateTimeFormatter::DateTimeFormatter(Windows::Globalization::DateTimeFormatting::YearFormat yearFormat, Windows::Globalization::DateTimeFormatting::MonthFormat monthFormat, Windows::Globalization::DateTimeFormatting::DayFormat dayFormat, Windows::Globalization::DateTimeFormatting::DayOfWeekFormat dayOfWeekFormat, Windows::Globalization::DateTimeFormatting::HourFormat hourFormat, Windows::Globalization::DateTimeFormatting::MinuteFormat minuteFormat, Windows::Globalization::DateTimeFormatting::SecondFormat secondFormat, iterable languages, hstring_view geographicRegion, hstring_view calendar, hstring_view clock) : + DateTimeFormatter(get_activation_factory().CreateDateTimeFormatterDateTimeContext(yearFormat, monthFormat, dayFormat, dayOfWeekFormat, hourFormat, minuteFormat, secondFormat, languages, geographicRegion, calendar, clock)) +{} + +inline Windows::Globalization::DateTimeFormatting::DateTimeFormatter DateTimeFormatter::LongDate() +{ + return get_activation_factory().LongDate(); +} + +inline Windows::Globalization::DateTimeFormatting::DateTimeFormatter DateTimeFormatter::LongTime() +{ + return get_activation_factory().LongTime(); +} + +inline Windows::Globalization::DateTimeFormatting::DateTimeFormatter DateTimeFormatter::ShortDate() +{ + return get_activation_factory().ShortDate(); +} + +inline Windows::Globalization::DateTimeFormatting::DateTimeFormatter DateTimeFormatter::ShortTime() +{ + return get_activation_factory().ShortTime(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatter2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::DateTimeFormatting::IDateTimeFormatterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::DateTimeFormatting::DateTimeFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Globalization.Fonts.h b/10.0.15042.0/winrt/Windows.Globalization.Fonts.h new file mode 100644 index 000000000..d9fa9a1fc --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Globalization.Fonts.h @@ -0,0 +1,456 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.Text.3.h" +#include "internal/Windows.Globalization.Fonts.3.h" +#include "Windows.Globalization.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeight(impl::abi_arg_out weight) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *weight = detach_abi(this->shim().FontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretch(Windows::UI::Text::FontStretch * stretch) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stretch = detach_abi(this->shim().FontStretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::UI::Text::FontStyle * style) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *style = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaleFactor(double * scale) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *scale = detach_abi(this->shim().ScaleFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UITextFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UITextFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UIHeadingFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UIHeadingFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UITitleFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UITitleFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UICaptionFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UICaptionFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UINotificationHeadingFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UINotificationHeadingFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TraditionalDocumentFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TraditionalDocumentFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModernDocumentFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModernDocumentFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentHeadingFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentHeadingFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FixedWidthTextFont(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FixedWidthTextFont()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentAlternate1Font(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentAlternate1Font()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentAlternate2Font(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentAlternate2Font()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateLanguageFontGroup(impl::abi_arg_in languageTag, impl::abi_arg_out recommendedFonts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *recommendedFonts = detach_abi(this->shim().CreateLanguageFontGroup(*reinterpret_cast(&languageTag))); + return S_OK; + } + catch (...) + { + *recommendedFonts = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Globalization::Fonts { + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::UITextFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_UITextFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::UIHeadingFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_UIHeadingFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::UITitleFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_UITitleFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::UICaptionFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_UICaptionFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::UINotificationHeadingFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_UINotificationHeadingFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::TraditionalDocumentFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_TraditionalDocumentFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::ModernDocumentFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_ModernDocumentFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::DocumentHeadingFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_DocumentHeadingFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::FixedWidthTextFont() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_FixedWidthTextFont(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::DocumentAlternate1Font() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_DocumentAlternate1Font(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFont impl_ILanguageFontGroup::DocumentAlternate2Font() const +{ + Windows::Globalization::Fonts::LanguageFont value { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroup)->get_DocumentAlternate2Font(put_abi(value))); + return value; +} + +template Windows::Globalization::Fonts::LanguageFontGroup impl_ILanguageFontGroupFactory::CreateLanguageFontGroup(hstring_view languageTag) const +{ + Windows::Globalization::Fonts::LanguageFontGroup recommendedFonts { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFontGroupFactory)->abi_CreateLanguageFontGroup(get_abi(languageTag), put_abi(recommendedFonts))); + return recommendedFonts; +} + +template hstring impl_ILanguageFont::FontFamily() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILanguageFont)->get_FontFamily(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_ILanguageFont::FontWeight() const +{ + Windows::UI::Text::FontWeight weight {}; + check_hresult(WINRT_SHIM(ILanguageFont)->get_FontWeight(put_abi(weight))); + return weight; +} + +template Windows::UI::Text::FontStretch impl_ILanguageFont::FontStretch() const +{ + Windows::UI::Text::FontStretch stretch {}; + check_hresult(WINRT_SHIM(ILanguageFont)->get_FontStretch(&stretch)); + return stretch; +} + +template Windows::UI::Text::FontStyle impl_ILanguageFont::FontStyle() const +{ + Windows::UI::Text::FontStyle style {}; + check_hresult(WINRT_SHIM(ILanguageFont)->get_FontStyle(&style)); + return style; +} + +template double impl_ILanguageFont::ScaleFactor() const +{ + double scale {}; + check_hresult(WINRT_SHIM(ILanguageFont)->get_ScaleFactor(&scale)); + return scale; +} + +inline LanguageFontGroup::LanguageFontGroup(hstring_view languageTag) : + LanguageFontGroup(get_activation_factory().CreateLanguageFontGroup(languageTag)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Fonts::ILanguageFont & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Fonts::ILanguageFontGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Fonts::ILanguageFontGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Fonts::LanguageFont & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Fonts::LanguageFontGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Globalization.NumberFormatting.h b/10.0.15042.0/winrt/Windows.Globalization.NumberFormatting.h new file mode 100644 index 000000000..2e92fc3c0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Globalization.NumberFormatting.h @@ -0,0 +1,1604 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Globalization.NumberFormatting.3.h" +#include "Windows.Globalization.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Currency(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Currency()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Currency(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Currency(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::Globalization::NumberFormatting::CurrencyFormatterMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Globalization::NumberFormatting::CurrencyFormatterMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyRoundingForCurrency(Windows::Globalization::NumberFormatting::RoundingAlgorithm roundingAlgorithm) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplyRoundingForCurrency(roundingAlgorithm); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCurrencyFormatterCode(impl::abi_arg_in currencyCode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCurrencyFormatterCode(*reinterpret_cast(¤cyCode))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCurrencyFormatterCodeContext(impl::abi_arg_in currencyCode, impl::abi_arg_in> languages, impl::abi_arg_in geographicRegion, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCurrencyFormatterCodeContext(*reinterpret_cast(¤cyCode), *reinterpret_cast *>(&languages), *reinterpret_cast(&geographicRegion))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDecimalFormatter(impl::abi_arg_in> languages, impl::abi_arg_in geographicRegion, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDecimalFormatter(*reinterpret_cast *>(&languages), *reinterpret_cast(&geographicRegion))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RoundingAlgorithm(Windows::Globalization::NumberFormatting::RoundingAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoundingAlgorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoundingAlgorithm(Windows::Globalization::NumberFormatting::RoundingAlgorithm value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoundingAlgorithm(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Increment(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Increment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Increment(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Increment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FormatInt(int64_t value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Format(value)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatUInt(uint64_t value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Format(value)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatDouble(double value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Format(value)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FormatInt(int64_t value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FormatInt(value)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatUInt(uint64_t value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FormatUInt(value)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatDouble(double value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FormatDouble(value)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Languages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Languages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GeographicRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeographicRegion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IntegerDigits(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntegerDigits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IntegerDigits(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IntegerDigits(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FractionDigits(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FractionDigits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FractionDigits(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FractionDigits(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGrouped(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGrouped()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsGrouped(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsGrouped(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDecimalPointAlwaysDisplayed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDecimalPointAlwaysDisplayed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDecimalPointAlwaysDisplayed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDecimalPointAlwaysDisplayed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumeralSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumeralSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NumeralSystem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NumeralSystem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolvedGeographicRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedGeographicRegion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ParseInt(impl::abi_arg_in text, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ParseInt(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ParseUInt(impl::abi_arg_in text, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ParseUInt(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ParseDouble(impl::abi_arg_in text, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ParseDouble(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RoundInt32(int32_t value, int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RoundInt32(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoundUInt32(uint32_t value, uint32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RoundUInt32(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoundInt64(int64_t value, int64_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RoundInt64(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoundUInt64(uint64_t value, uint64_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RoundUInt64(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoundSingle(float value, float * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RoundSingle(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoundDouble(double value, double * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RoundDouble(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NumberRounder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberRounder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NumberRounder(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NumberRounder(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Languages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Languages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumeralSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumeralSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NumeralSystem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NumeralSystem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TranslateNumerals(impl::abi_arg_in value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TranslateNumerals(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> languages, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast *>(&languages))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePercentFormatter(impl::abi_arg_in> languages, impl::abi_arg_in geographicRegion, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreatePercentFormatter(*reinterpret_cast *>(&languages), *reinterpret_cast(&geographicRegion))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePermilleFormatter(impl::abi_arg_in> languages, impl::abi_arg_in geographicRegion, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreatePermilleFormatter(*reinterpret_cast *>(&languages), *reinterpret_cast(&geographicRegion))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsZeroSigned(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZeroSigned()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZeroSigned(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZeroSigned(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RoundingAlgorithm(Windows::Globalization::NumberFormatting::RoundingAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoundingAlgorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoundingAlgorithm(Windows::Globalization::NumberFormatting::RoundingAlgorithm value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoundingAlgorithm(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignificantDigits(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignificantDigits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SignificantDigits(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignificantDigits(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SignificantDigits(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignificantDigits()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SignificantDigits(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignificantDigits(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Globalization::NumberFormatting { + +template int32_t impl_INumberRounder::RoundInt32(int32_t value) const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(INumberRounder)->abi_RoundInt32(value, &result)); + return result; +} + +template uint32_t impl_INumberRounder::RoundUInt32(uint32_t value) const +{ + uint32_t result {}; + check_hresult(WINRT_SHIM(INumberRounder)->abi_RoundUInt32(value, &result)); + return result; +} + +template int64_t impl_INumberRounder::RoundInt64(int64_t value) const +{ + int64_t result {}; + check_hresult(WINRT_SHIM(INumberRounder)->abi_RoundInt64(value, &result)); + return result; +} + +template uint64_t impl_INumberRounder::RoundUInt64(uint64_t value) const +{ + uint64_t result {}; + check_hresult(WINRT_SHIM(INumberRounder)->abi_RoundUInt64(value, &result)); + return result; +} + +template float impl_INumberRounder::RoundSingle(float value) const +{ + float result {}; + check_hresult(WINRT_SHIM(INumberRounder)->abi_RoundSingle(value, &result)); + return result; +} + +template double impl_INumberRounder::RoundDouble(double value) const +{ + double result {}; + check_hresult(WINRT_SHIM(INumberRounder)->abi_RoundDouble(value, &result)); + return result; +} + +template Windows::Globalization::NumberFormatting::RoundingAlgorithm impl_ISignificantDigitsNumberRounder::RoundingAlgorithm() const +{ + Windows::Globalization::NumberFormatting::RoundingAlgorithm value {}; + check_hresult(WINRT_SHIM(ISignificantDigitsNumberRounder)->get_RoundingAlgorithm(&value)); + return value; +} + +template void impl_ISignificantDigitsNumberRounder::RoundingAlgorithm(Windows::Globalization::NumberFormatting::RoundingAlgorithm value) const +{ + check_hresult(WINRT_SHIM(ISignificantDigitsNumberRounder)->put_RoundingAlgorithm(value)); +} + +template uint32_t impl_ISignificantDigitsNumberRounder::SignificantDigits() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISignificantDigitsNumberRounder)->get_SignificantDigits(&value)); + return value; +} + +template void impl_ISignificantDigitsNumberRounder::SignificantDigits(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ISignificantDigitsNumberRounder)->put_SignificantDigits(value)); +} + +template Windows::Globalization::NumberFormatting::RoundingAlgorithm impl_IIncrementNumberRounder::RoundingAlgorithm() const +{ + Windows::Globalization::NumberFormatting::RoundingAlgorithm value {}; + check_hresult(WINRT_SHIM(IIncrementNumberRounder)->get_RoundingAlgorithm(&value)); + return value; +} + +template void impl_IIncrementNumberRounder::RoundingAlgorithm(Windows::Globalization::NumberFormatting::RoundingAlgorithm value) const +{ + check_hresult(WINRT_SHIM(IIncrementNumberRounder)->put_RoundingAlgorithm(value)); +} + +template double impl_IIncrementNumberRounder::Increment() const +{ + double value {}; + check_hresult(WINRT_SHIM(IIncrementNumberRounder)->get_Increment(&value)); + return value; +} + +template void impl_IIncrementNumberRounder::Increment(double value) const +{ + check_hresult(WINRT_SHIM(IIncrementNumberRounder)->put_Increment(value)); +} + +template hstring impl_INumberFormatter::Format(int64_t value) const +{ + hstring result; + check_hresult(WINRT_SHIM(INumberFormatter)->abi_FormatInt(value, put_abi(result))); + return result; +} + +template hstring impl_INumberFormatter::Format(uint64_t value) const +{ + hstring result; + check_hresult(WINRT_SHIM(INumberFormatter)->abi_FormatUInt(value, put_abi(result))); + return result; +} + +template hstring impl_INumberFormatter::Format(double value) const +{ + hstring result; + check_hresult(WINRT_SHIM(INumberFormatter)->abi_FormatDouble(value, put_abi(result))); + return result; +} + +template hstring impl_INumberFormatter2::FormatInt(int64_t value) const +{ + hstring result; + check_hresult(WINRT_SHIM(INumberFormatter2)->abi_FormatInt(value, put_abi(result))); + return result; +} + +template hstring impl_INumberFormatter2::FormatUInt(uint64_t value) const +{ + hstring result; + check_hresult(WINRT_SHIM(INumberFormatter2)->abi_FormatUInt(value, put_abi(result))); + return result; +} + +template hstring impl_INumberFormatter2::FormatDouble(double value) const +{ + hstring result; + check_hresult(WINRT_SHIM(INumberFormatter2)->abi_FormatDouble(value, put_abi(result))); + return result; +} + +template Windows::Foundation::IReference impl_INumberParser::ParseInt(hstring_view text) const +{ + Windows::Foundation::IReference result; + check_hresult(WINRT_SHIM(INumberParser)->abi_ParseInt(get_abi(text), put_abi(result))); + return result; +} + +template Windows::Foundation::IReference impl_INumberParser::ParseUInt(hstring_view text) const +{ + Windows::Foundation::IReference result; + check_hresult(WINRT_SHIM(INumberParser)->abi_ParseUInt(get_abi(text), put_abi(result))); + return result; +} + +template Windows::Foundation::IReference impl_INumberParser::ParseDouble(hstring_view text) const +{ + Windows::Foundation::IReference result; + check_hresult(WINRT_SHIM(INumberParser)->abi_ParseDouble(get_abi(text), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_INumberFormatterOptions::Languages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_Languages(put_abi(value))); + return value; +} + +template hstring impl_INumberFormatterOptions::GeographicRegion() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_GeographicRegion(put_abi(value))); + return value; +} + +template int32_t impl_INumberFormatterOptions::IntegerDigits() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_IntegerDigits(&value)); + return value; +} + +template void impl_INumberFormatterOptions::IntegerDigits(int32_t value) const +{ + check_hresult(WINRT_SHIM(INumberFormatterOptions)->put_IntegerDigits(value)); +} + +template int32_t impl_INumberFormatterOptions::FractionDigits() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_FractionDigits(&value)); + return value; +} + +template void impl_INumberFormatterOptions::FractionDigits(int32_t value) const +{ + check_hresult(WINRT_SHIM(INumberFormatterOptions)->put_FractionDigits(value)); +} + +template bool impl_INumberFormatterOptions::IsGrouped() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_IsGrouped(&value)); + return value; +} + +template void impl_INumberFormatterOptions::IsGrouped(bool value) const +{ + check_hresult(WINRT_SHIM(INumberFormatterOptions)->put_IsGrouped(value)); +} + +template bool impl_INumberFormatterOptions::IsDecimalPointAlwaysDisplayed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_IsDecimalPointAlwaysDisplayed(&value)); + return value; +} + +template void impl_INumberFormatterOptions::IsDecimalPointAlwaysDisplayed(bool value) const +{ + check_hresult(WINRT_SHIM(INumberFormatterOptions)->put_IsDecimalPointAlwaysDisplayed(value)); +} + +template hstring impl_INumberFormatterOptions::NumeralSystem() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_NumeralSystem(put_abi(value))); + return value; +} + +template void impl_INumberFormatterOptions::NumeralSystem(hstring_view value) const +{ + check_hresult(WINRT_SHIM(INumberFormatterOptions)->put_NumeralSystem(get_abi(value))); +} + +template hstring impl_INumberFormatterOptions::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template hstring impl_INumberFormatterOptions::ResolvedGeographicRegion() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumberFormatterOptions)->get_ResolvedGeographicRegion(put_abi(value))); + return value; +} + +template int32_t impl_ISignificantDigitsOption::SignificantDigits() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISignificantDigitsOption)->get_SignificantDigits(&value)); + return value; +} + +template void impl_ISignificantDigitsOption::SignificantDigits(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISignificantDigitsOption)->put_SignificantDigits(value)); +} + +template Windows::Globalization::NumberFormatting::INumberRounder impl_INumberRounderOption::NumberRounder() const +{ + Windows::Globalization::NumberFormatting::INumberRounder value; + check_hresult(WINRT_SHIM(INumberRounderOption)->get_NumberRounder(put_abi(value))); + return value; +} + +template void impl_INumberRounderOption::NumberRounder(const Windows::Globalization::NumberFormatting::INumberRounder & value) const +{ + check_hresult(WINRT_SHIM(INumberRounderOption)->put_NumberRounder(get_abi(value))); +} + +template bool impl_ISignedZeroOption::IsZeroSigned() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISignedZeroOption)->get_IsZeroSigned(&value)); + return value; +} + +template void impl_ISignedZeroOption::IsZeroSigned(bool value) const +{ + check_hresult(WINRT_SHIM(ISignedZeroOption)->put_IsZeroSigned(value)); +} + +template Windows::Globalization::NumberFormatting::DecimalFormatter impl_IDecimalFormatterFactory::CreateDecimalFormatter(iterable languages, hstring_view geographicRegion) const +{ + Windows::Globalization::NumberFormatting::DecimalFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IDecimalFormatterFactory)->abi_CreateDecimalFormatter(get_abi(languages), get_abi(geographicRegion), put_abi(result))); + return result; +} + +template Windows::Globalization::NumberFormatting::PercentFormatter impl_IPercentFormatterFactory::CreatePercentFormatter(iterable languages, hstring_view geographicRegion) const +{ + Windows::Globalization::NumberFormatting::PercentFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IPercentFormatterFactory)->abi_CreatePercentFormatter(get_abi(languages), get_abi(geographicRegion), put_abi(result))); + return result; +} + +template Windows::Globalization::NumberFormatting::PermilleFormatter impl_IPermilleFormatterFactory::CreatePermilleFormatter(iterable languages, hstring_view geographicRegion) const +{ + Windows::Globalization::NumberFormatting::PermilleFormatter result { nullptr }; + check_hresult(WINRT_SHIM(IPermilleFormatterFactory)->abi_CreatePermilleFormatter(get_abi(languages), get_abi(geographicRegion), put_abi(result))); + return result; +} + +template Windows::Globalization::NumberFormatting::CurrencyFormatter impl_ICurrencyFormatterFactory::CreateCurrencyFormatterCode(hstring_view currencyCode) const +{ + Windows::Globalization::NumberFormatting::CurrencyFormatter result { nullptr }; + check_hresult(WINRT_SHIM(ICurrencyFormatterFactory)->abi_CreateCurrencyFormatterCode(get_abi(currencyCode), put_abi(result))); + return result; +} + +template Windows::Globalization::NumberFormatting::CurrencyFormatter impl_ICurrencyFormatterFactory::CreateCurrencyFormatterCodeContext(hstring_view currencyCode, iterable languages, hstring_view geographicRegion) const +{ + Windows::Globalization::NumberFormatting::CurrencyFormatter result { nullptr }; + check_hresult(WINRT_SHIM(ICurrencyFormatterFactory)->abi_CreateCurrencyFormatterCodeContext(get_abi(currencyCode), get_abi(languages), get_abi(geographicRegion), put_abi(result))); + return result; +} + +template hstring impl_ICurrencyFormatter::Currency() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyFormatter)->get_Currency(put_abi(value))); + return value; +} + +template void impl_ICurrencyFormatter::Currency(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICurrencyFormatter)->put_Currency(get_abi(value))); +} + +template Windows::Globalization::NumberFormatting::CurrencyFormatterMode impl_ICurrencyFormatter2::Mode() const +{ + Windows::Globalization::NumberFormatting::CurrencyFormatterMode value {}; + check_hresult(WINRT_SHIM(ICurrencyFormatter2)->get_Mode(&value)); + return value; +} + +template void impl_ICurrencyFormatter2::Mode(Windows::Globalization::NumberFormatting::CurrencyFormatterMode value) const +{ + check_hresult(WINRT_SHIM(ICurrencyFormatter2)->put_Mode(value)); +} + +template void impl_ICurrencyFormatter2::ApplyRoundingForCurrency(Windows::Globalization::NumberFormatting::RoundingAlgorithm roundingAlgorithm) const +{ + check_hresult(WINRT_SHIM(ICurrencyFormatter2)->abi_ApplyRoundingForCurrency(roundingAlgorithm)); +} + +template Windows::Globalization::NumberFormatting::NumeralSystemTranslator impl_INumeralSystemTranslatorFactory::Create(iterable languages) const +{ + Windows::Globalization::NumberFormatting::NumeralSystemTranslator result { nullptr }; + check_hresult(WINRT_SHIM(INumeralSystemTranslatorFactory)->abi_Create(get_abi(languages), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_INumeralSystemTranslator::Languages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INumeralSystemTranslator)->get_Languages(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemTranslator::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemTranslator)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemTranslator::NumeralSystem() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemTranslator)->get_NumeralSystem(put_abi(value))); + return value; +} + +template void impl_INumeralSystemTranslator::NumeralSystem(hstring_view value) const +{ + check_hresult(WINRT_SHIM(INumeralSystemTranslator)->put_NumeralSystem(get_abi(value))); +} + +template hstring impl_INumeralSystemTranslator::TranslateNumerals(hstring_view value) const +{ + hstring result; + check_hresult(WINRT_SHIM(INumeralSystemTranslator)->abi_TranslateNumerals(get_abi(value), put_abi(result))); + return result; +} + +inline CurrencyFormatter::CurrencyFormatter(hstring_view currencyCode) : + CurrencyFormatter(get_activation_factory().CreateCurrencyFormatterCode(currencyCode)) +{} + +inline CurrencyFormatter::CurrencyFormatter(hstring_view currencyCode, iterable languages, hstring_view geographicRegion) : + CurrencyFormatter(get_activation_factory().CreateCurrencyFormatterCodeContext(currencyCode, languages, geographicRegion)) +{} + +inline DecimalFormatter::DecimalFormatter() : + DecimalFormatter(activate_instance()) +{} + +inline DecimalFormatter::DecimalFormatter(iterable languages, hstring_view geographicRegion) : + DecimalFormatter(get_activation_factory().CreateDecimalFormatter(languages, geographicRegion)) +{} + +inline IncrementNumberRounder::IncrementNumberRounder() : + IncrementNumberRounder(activate_instance()) +{} + +inline NumeralSystemTranslator::NumeralSystemTranslator() : + NumeralSystemTranslator(activate_instance()) +{} + +inline NumeralSystemTranslator::NumeralSystemTranslator(iterable languages) : + NumeralSystemTranslator(get_activation_factory().Create(languages)) +{} + +inline PercentFormatter::PercentFormatter() : + PercentFormatter(activate_instance()) +{} + +inline PercentFormatter::PercentFormatter(iterable languages, hstring_view geographicRegion) : + PercentFormatter(get_activation_factory().CreatePercentFormatter(languages, geographicRegion)) +{} + +inline PermilleFormatter::PermilleFormatter() : + PermilleFormatter(activate_instance()) +{} + +inline PermilleFormatter::PermilleFormatter(iterable languages, hstring_view geographicRegion) : + PermilleFormatter(get_activation_factory().CreatePermilleFormatter(languages, geographicRegion)) +{} + +inline SignificantDigitsNumberRounder::SignificantDigitsNumberRounder() : + SignificantDigitsNumberRounder(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::ICurrencyFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::ICurrencyFormatter2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::ICurrencyFormatterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::IDecimalFormatterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::IIncrementNumberRounder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumberFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumberFormatter2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumberFormatterOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumberParser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumberRounder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumberRounderOption & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumeralSystemTranslator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::INumeralSystemTranslatorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::IPercentFormatterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::IPermilleFormatterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::ISignedZeroOption & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::ISignificantDigitsNumberRounder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::ISignificantDigitsOption & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::CurrencyFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::DecimalFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::IncrementNumberRounder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::NumeralSystemTranslator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::PercentFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::PermilleFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::NumberFormatting::SignificantDigitsNumberRounder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Globalization.PhoneNumberFormatting.h b/10.0.15042.0/winrt/Windows.Globalization.PhoneNumberFormatting.h new file mode 100644 index 000000000..ac78cd624 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Globalization.PhoneNumberFormatting.h @@ -0,0 +1,578 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Globalization.PhoneNumberFormatting.3.h" +#include "Windows.Globalization.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Format(impl::abi_arg_in number, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Format(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatWithOutputFormat(impl::abi_arg_in number, Windows::Globalization::PhoneNumberFormatting::PhoneNumberFormat numberFormat, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Format(*reinterpret_cast(&number), numberFormat)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatPartialString(impl::abi_arg_in number, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FormatPartialString(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatString(impl::abi_arg_in number, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FormatString(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FormatStringWithLeftToRightMarkers(impl::abi_arg_in number, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FormatStringWithLeftToRightMarkers(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryCreate(impl::abi_arg_in regionCode, impl::abi_arg_out phoneNumber) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TryCreate(*reinterpret_cast(®ionCode), *phoneNumber); + return S_OK; + } + catch (...) + { + *phoneNumber = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCountryCodeForRegion(impl::abi_arg_in regionCode, int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCountryCodeForRegion(*reinterpret_cast(®ionCode))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNationalDirectDialingPrefixForRegion(impl::abi_arg_in regionCode, bool stripNonDigit, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetNationalDirectDialingPrefixForRegion(*reinterpret_cast(®ionCode), stripNonDigit)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WrapWithLeftToRightMarkers(impl::abi_arg_in number, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().WrapWithLeftToRightMarkers(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CountryCode(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CountryCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLengthOfGeographicalAreaCode(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetLengthOfGeographicalAreaCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNationalSignificantNumber(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetNationalSignificantNumber()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLengthOfNationalDestinationCode(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetLengthOfNationalDestinationCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PredictNumberKind(Windows::Globalization::PhoneNumberFormatting::PredictedPhoneNumberKind * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PredictNumberKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGeographicRegionCode(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetGeographicRegionCode()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckNumberMatch(impl::abi_arg_in otherNumber, Windows::Globalization::PhoneNumberFormatting::PhoneNumberMatchResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CheckNumberMatch(*reinterpret_cast(&otherNumber))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in number, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&number))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryParse(impl::abi_arg_in input, impl::abi_arg_out phoneNumber, Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryParse(*reinterpret_cast(&input), *phoneNumber)); + return S_OK; + } + catch (...) + { + *phoneNumber = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryParseWithRegion(impl::abi_arg_in input, impl::abi_arg_in regionCode, impl::abi_arg_out phoneNumber, Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryParse(*reinterpret_cast(&input), *reinterpret_cast(®ionCode), *phoneNumber)); + return S_OK; + } + catch (...) + { + *phoneNumber = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Globalization::PhoneNumberFormatting { + +template int32_t impl_IPhoneNumberInfo::CountryCode() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->get_CountryCode(&value)); + return value; +} + +template hstring impl_IPhoneNumberInfo::PhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->get_PhoneNumber(put_abi(value))); + return value; +} + +template int32_t impl_IPhoneNumberInfo::GetLengthOfGeographicalAreaCode() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->abi_GetLengthOfGeographicalAreaCode(&result)); + return result; +} + +template hstring impl_IPhoneNumberInfo::GetNationalSignificantNumber() const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->abi_GetNationalSignificantNumber(put_abi(result))); + return result; +} + +template int32_t impl_IPhoneNumberInfo::GetLengthOfNationalDestinationCode() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->abi_GetLengthOfNationalDestinationCode(&result)); + return result; +} + +template Windows::Globalization::PhoneNumberFormatting::PredictedPhoneNumberKind impl_IPhoneNumberInfo::PredictNumberKind() const +{ + Windows::Globalization::PhoneNumberFormatting::PredictedPhoneNumberKind result {}; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->abi_PredictNumberKind(&result)); + return result; +} + +template hstring impl_IPhoneNumberInfo::GetGeographicRegionCode() const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->abi_GetGeographicRegionCode(put_abi(result))); + return result; +} + +template Windows::Globalization::PhoneNumberFormatting::PhoneNumberMatchResult impl_IPhoneNumberInfo::CheckNumberMatch(const Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & otherNumber) const +{ + Windows::Globalization::PhoneNumberFormatting::PhoneNumberMatchResult result {}; + check_hresult(WINRT_SHIM(IPhoneNumberInfo)->abi_CheckNumberMatch(get_abi(otherNumber), &result)); + return result; +} + +template hstring impl_IPhoneNumberFormatter::Format(const Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & number) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberFormatter)->abi_Format(get_abi(number), put_abi(result))); + return result; +} + +template hstring impl_IPhoneNumberFormatter::Format(const Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & number, Windows::Globalization::PhoneNumberFormatting::PhoneNumberFormat numberFormat) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberFormatter)->abi_FormatWithOutputFormat(get_abi(number), numberFormat, put_abi(result))); + return result; +} + +template hstring impl_IPhoneNumberFormatter::FormatPartialString(hstring_view number) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberFormatter)->abi_FormatPartialString(get_abi(number), put_abi(result))); + return result; +} + +template hstring impl_IPhoneNumberFormatter::FormatString(hstring_view number) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberFormatter)->abi_FormatString(get_abi(number), put_abi(result))); + return result; +} + +template hstring impl_IPhoneNumberFormatter::FormatStringWithLeftToRightMarkers(hstring_view number) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberFormatter)->abi_FormatStringWithLeftToRightMarkers(get_abi(number), put_abi(result))); + return result; +} + +template Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo impl_IPhoneNumberInfoFactory::Create(hstring_view number) const +{ + Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo result { nullptr }; + check_hresult(WINRT_SHIM(IPhoneNumberInfoFactory)->abi_Create(get_abi(number), put_abi(result))); + return result; +} + +template Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult impl_IPhoneNumberInfoStatics::TryParse(hstring_view input, Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & phoneNumber) const +{ + Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult result {}; + check_hresult(WINRT_SHIM(IPhoneNumberInfoStatics)->abi_TryParse(get_abi(input), put_abi(phoneNumber), &result)); + return result; +} + +template Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult impl_IPhoneNumberInfoStatics::TryParse(hstring_view input, hstring_view regionCode, Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & phoneNumber) const +{ + Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult result {}; + check_hresult(WINRT_SHIM(IPhoneNumberInfoStatics)->abi_TryParseWithRegion(get_abi(input), get_abi(regionCode), put_abi(phoneNumber), &result)); + return result; +} + +template void impl_IPhoneNumberFormatterStatics::TryCreate(hstring_view regionCode, Windows::Globalization::PhoneNumberFormatting::PhoneNumberFormatter & phoneNumber) const +{ + check_hresult(WINRT_SHIM(IPhoneNumberFormatterStatics)->abi_TryCreate(get_abi(regionCode), put_abi(phoneNumber))); +} + +template int32_t impl_IPhoneNumberFormatterStatics::GetCountryCodeForRegion(hstring_view regionCode) const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IPhoneNumberFormatterStatics)->abi_GetCountryCodeForRegion(get_abi(regionCode), &result)); + return result; +} + +template hstring impl_IPhoneNumberFormatterStatics::GetNationalDirectDialingPrefixForRegion(hstring_view regionCode, bool stripNonDigit) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberFormatterStatics)->abi_GetNationalDirectDialingPrefixForRegion(get_abi(regionCode), stripNonDigit, put_abi(result))); + return result; +} + +template hstring impl_IPhoneNumberFormatterStatics::WrapWithLeftToRightMarkers(hstring_view number) const +{ + hstring result; + check_hresult(WINRT_SHIM(IPhoneNumberFormatterStatics)->abi_WrapWithLeftToRightMarkers(get_abi(number), put_abi(result))); + return result; +} + +inline PhoneNumberFormatter::PhoneNumberFormatter() : + PhoneNumberFormatter(activate_instance()) +{} + +inline void PhoneNumberFormatter::TryCreate(hstring_view regionCode, Windows::Globalization::PhoneNumberFormatting::PhoneNumberFormatter & phoneNumber) +{ + get_activation_factory().TryCreate(regionCode, phoneNumber); +} + +inline int32_t PhoneNumberFormatter::GetCountryCodeForRegion(hstring_view regionCode) +{ + return get_activation_factory().GetCountryCodeForRegion(regionCode); +} + +inline hstring PhoneNumberFormatter::GetNationalDirectDialingPrefixForRegion(hstring_view regionCode, bool stripNonDigit) +{ + return get_activation_factory().GetNationalDirectDialingPrefixForRegion(regionCode, stripNonDigit); +} + +inline hstring PhoneNumberFormatter::WrapWithLeftToRightMarkers(hstring_view number) +{ + return get_activation_factory().WrapWithLeftToRightMarkers(number); +} + +inline PhoneNumberInfo::PhoneNumberInfo(hstring_view number) : + PhoneNumberInfo(get_activation_factory().Create(number)) +{} + +inline Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult PhoneNumberInfo::TryParse(hstring_view input, Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & phoneNumber) +{ + return get_activation_factory().TryParse(input, phoneNumber); +} + +inline Windows::Globalization::PhoneNumberFormatting::PhoneNumberParseResult PhoneNumberInfo::TryParse(hstring_view input, hstring_view regionCode, Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & phoneNumber) +{ + return get_activation_factory().TryParse(input, regionCode, phoneNumber); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::PhoneNumberFormatting::IPhoneNumberFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::PhoneNumberFormatting::IPhoneNumberFormatterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::PhoneNumberFormatting::IPhoneNumberInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::PhoneNumberFormatting::IPhoneNumberInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::PhoneNumberFormatting::IPhoneNumberInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::PhoneNumberFormatting::PhoneNumberFormatter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::PhoneNumberFormatting::PhoneNumberInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Globalization.h b/10.0.15042.0/winrt/Windows.Globalization.h new file mode 100644 index 000000000..acc23e52e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Globalization.h @@ -0,0 +1,9234 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Globalization.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrimaryLanguageOverride(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryLanguageOverride()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryLanguageOverride(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryLanguageOverride(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Languages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Languages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManifestLanguages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManifestLanguages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Clone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetToMin() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetToMin(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetToMax() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetToMax(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Languages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Languages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumeralSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumeralSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NumeralSystem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NumeralSystem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCalendarSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCalendarSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeCalendarSystem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChangeCalendarSystem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClock(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetClock()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeClock(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChangeClock(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDateTime(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDateTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDateTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDateTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetToNow() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetToNow(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstEra(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstEra()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastEra(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastEra()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfEras(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfEras()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Era(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Era()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Era(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Era(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddEras(int32_t eras) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddEras(eras); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EraAsFullString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EraAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EraAsString(int32_t idealLength, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EraAsString(idealLength)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstYearInThisEra(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstYearInThisEra()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastYearInThisEra(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastYearInThisEra()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfYearsInThisEra(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfYearsInThisEra()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Year(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Year()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Year(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Year(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddYears(int32_t years) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddYears(years); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_YearAsString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().YearAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_YearAsTruncatedString(int32_t remainingDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().YearAsTruncatedString(remainingDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_YearAsPaddedString(int32_t minDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().YearAsPaddedString(minDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstMonthInThisYear(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstMonthInThisYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastMonthInThisYear(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastMonthInThisYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfMonthsInThisYear(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfMonthsInThisYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Month(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Month()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Month(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Month(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddMonths(int32_t months) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddMonths(months); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MonthAsFullString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MonthAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MonthAsString(int32_t idealLength, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MonthAsString(idealLength)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MonthAsFullSoloString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MonthAsSoloString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MonthAsSoloString(int32_t idealLength, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MonthAsSoloString(idealLength)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MonthAsNumericString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MonthAsNumericString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MonthAsPaddedNumericString(int32_t minDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MonthAsPaddedNumericString(minDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddWeeks(int32_t weeks) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddWeeks(weeks); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstDayInThisMonth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstDayInThisMonth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastDayInThisMonth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastDayInThisMonth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfDaysInThisMonth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfDaysInThisMonth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Day(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Day()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Day(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Day(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDays(int32_t days) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDays(days); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DayAsString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DayAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DayAsPaddedString(int32_t minDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DayAsPaddedString(minDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayOfWeek(Windows::Globalization::DayOfWeek * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayOfWeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DayOfWeekAsFullString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DayOfWeekAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DayOfWeekAsString(int32_t idealLength, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DayOfWeekAsString(idealLength)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DayOfWeekAsFullSoloString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DayOfWeekAsSoloString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DayOfWeekAsSoloString(int32_t idealLength, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DayOfWeekAsSoloString(idealLength)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstPeriodInThisDay(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstPeriodInThisDay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastPeriodInThisDay(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastPeriodInThisDay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfPeriodsInThisDay(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfPeriodsInThisDay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Period(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Period()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Period(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Period(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPeriods(int32_t periods) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddPeriods(periods); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PeriodAsFullString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PeriodAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PeriodAsString(int32_t idealLength, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PeriodAsString(idealLength)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstHourInThisPeriod(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstHourInThisPeriod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastHourInThisPeriod(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastHourInThisPeriod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfHoursInThisPeriod(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfHoursInThisPeriod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hour(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hour()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Hour(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hour(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddHours(int32_t hours) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddHours(hours); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HourAsString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().HourAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HourAsPaddedString(int32_t minDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().HourAsPaddedString(minDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Minute(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Minute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Minute(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Minute(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddMinutes(int32_t minutes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddMinutes(minutes); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MinuteAsString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MinuteAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MinuteAsPaddedString(int32_t minDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MinuteAsPaddedString(minDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Second(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Second()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Second(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Second(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSeconds(int32_t seconds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddSeconds(seconds); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SecondAsString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SecondAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SecondAsPaddedString(int32_t minDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SecondAsPaddedString(minDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Nanosecond(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Nanosecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Nanosecond(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Nanosecond(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddNanoseconds(int32_t nanoseconds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddNanoseconds(nanoseconds); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NanosecondAsString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().NanosecondAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NanosecondAsPaddedString(int32_t minDigits, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().NanosecondAsPaddedString(minDigits)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Compare(impl::abi_arg_in other, int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Compare(*reinterpret_cast(&other))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompareDateTime(impl::abi_arg_in other, int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CompareDateTime(*reinterpret_cast(&other))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyTo(impl::abi_arg_in other) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyTo(*reinterpret_cast(&other)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstMinuteInThisHour(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstMinuteInThisHour()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastMinuteInThisHour(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastMinuteInThisHour()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfMinutesInThisHour(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfMinutesInThisHour()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstSecondInThisMinute(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstSecondInThisMinute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastSecondInThisMinute(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSecondInThisMinute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfSecondsInThisMinute(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfSecondsInThisMinute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolvedLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolvedLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDaylightSavingTime(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDaylightSavingTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCalendarDefaultCalendarAndClock(impl::abi_arg_in> languages, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCalendarDefaultCalendarAndClock(*reinterpret_cast *>(&languages))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCalendar(impl::abi_arg_in> languages, impl::abi_arg_in calendar, impl::abi_arg_in clock, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCalendar(*reinterpret_cast *>(&languages), *reinterpret_cast(&calendar), *reinterpret_cast(&clock))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCalendarWithTimeZone(impl::abi_arg_in> languages, impl::abi_arg_in calendar, impl::abi_arg_in clock, impl::abi_arg_in timeZoneId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCalendarWithTimeZone(*reinterpret_cast *>(&languages), *reinterpret_cast(&calendar), *reinterpret_cast(&clock), *reinterpret_cast(&timeZoneId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Gregorian(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gregorian()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hebrew(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hebrew()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hijri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hijri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Japanese(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Japanese()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Julian(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Julian()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Korean(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Korean()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Taiwan(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Taiwan()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thai(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thai()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UmAlQura(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UmAlQura()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Persian(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Persian()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChineseLunar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChineseLunar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JapaneseLunar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JapaneseLunar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KoreanLunar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KoreanLunar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TaiwanLunar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaiwanLunar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VietnameseLunar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VietnameseLunar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TwelveHour(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TwelveHour()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TwentyFourHour(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TwentyFourHour()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AED(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AED()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AFN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AFN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ALL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ALL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AMD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AMD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ANG(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ANG()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AOA(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AOA()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ARS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ARS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AUD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AUD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AWG(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AWG()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AZN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AZN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BAM(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BAM()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BBD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BBD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BDT(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BDT()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BGN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BGN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BHD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BHD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BIF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BIF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BMD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BMD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BND(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BND()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BOB(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BOB()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BRL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BRL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BSD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BSD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BTN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BTN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BWP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BWP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BYR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BYR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BZD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BZD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CAD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CAD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CDF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CDF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CHF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CHF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CLP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CLP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CNY(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CNY()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_COP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().COP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CRC(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CRC()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CUP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CUP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CVE(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CVE()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CZK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CZK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DJF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DJF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DKK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DKK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DOP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DOP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DZD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DZD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EGP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EGP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ERN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ERN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ETB(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ETB()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EUR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EUR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FJD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FJD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FKP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FKP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GBP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GBP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GEL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GEL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GHS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GHS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GIP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GIP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GMD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GMD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GNF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GNF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GTQ(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GTQ()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GYD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GYD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HKD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HKD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HNL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HNL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HRK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HRK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HTG(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HTG()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HUF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HUF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IDR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IDR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ILS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ILS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_INR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().INR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IQD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IQD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IRR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IRR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ISK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ISK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JMD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JMD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JOD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JOD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JPY(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JPY()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KES(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KES()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KGS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KGS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KHR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KHR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KMF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KMF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KPW(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KPW()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KRW(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KRW()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KWD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KWD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KYD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KYD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KZT(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KZT()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LAK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LAK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LBP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LBP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LKR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LKR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LRD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LRD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LSL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LSL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LTL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LTL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LVL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LVL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LYD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LYD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MAD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MAD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MDL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MDL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MGA(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MGA()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MKD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MKD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MMK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MMK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MNT(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MNT()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MOP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MOP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MRO(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MRO()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MUR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MUR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MVR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MVR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MWK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MWK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MXN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MXN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MYR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MYR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MZN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MZN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NAD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NAD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NGN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NGN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NIO(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NIO()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NOK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NOK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NPR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NPR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NZD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NZD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OMR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OMR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PAB(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PAB()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PEN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PEN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PGK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PGK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PHP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PHP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PKR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PKR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PLN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PLN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PYG(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PYG()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QAR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QAR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RON(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RON()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RSD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RSD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RUB(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RUB()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RWF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RWF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SAR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SAR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SBD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SBD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SCR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SCR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SDG(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SDG()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SEK(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SEK()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SGD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SGD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SHP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SHP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SLL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SLL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SOS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SOS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SRD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SRD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_STD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().STD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SYP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SYP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SZL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SZL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_THB(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().THB()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TJS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TJS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TMT(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TMT()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TND(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TND()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TOP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TOP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TRY(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TRY()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TTD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TTD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TWD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TWD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TZS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TZS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UAH(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UAH()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UGX(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UGX()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_USD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().USD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UYU(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UYU()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UZS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UZS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VEF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VEF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VND(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VND()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VUV(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VUV()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WST(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WST()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XAF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XAF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XCD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XCD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XOF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XOF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XPF(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XPF()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XXX(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XXX()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YER(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YER()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZAR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZAR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZMW(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZMW()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZWL(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZWL()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BYN(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BYN()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Code(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CodeTwoLetter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CodeTwoLetter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CodeThreeLetter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CodeThreeLetter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CodeThreeDigit(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CodeThreeDigit()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NativeName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NativeName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrenciesInUse(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrenciesInUse()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateGeographicRegion(impl::abi_arg_in geographicRegionCode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateGeographicRegion(*reinterpret_cast(&geographicRegionCode))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(impl::abi_arg_in geographicRegionCode, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupported(*reinterpret_cast(&geographicRegionCode))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YomiText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YomiText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPhraseStart(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPhraseStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetWords(impl::abi_arg_in input, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetWords(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetWordsWithMonoRubyOption(impl::abi_arg_in input, bool monoRuby, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetWords(*reinterpret_cast(&input), monoRuby)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LanguageTag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LanguageTag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NativeName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NativeName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Script(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Script()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetExtensionSubtags(impl::abi_arg_in singleton, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetExtensionSubtags(*reinterpret_cast(&singleton))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateLanguage(impl::abi_arg_in languageTag, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateLanguage(*reinterpret_cast(&languageTag))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsWellFormed(impl::abi_arg_in languageTag, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsWellFormed(*reinterpret_cast(&languageTag))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentInputMethodLanguageTag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentInputMethodLanguageTag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TrySetInputMethodLanguageTag(impl::abi_arg_in languageTag, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetInputMethodLanguageTag(*reinterpret_cast(&languageTag))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Arab(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arab()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ArabExt(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ArabExt()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bali(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bali()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Beng(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Beng()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cham(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cham()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deva(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deva()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullWide(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullWide()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gujr(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gujr()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Guru(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Guru()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HaniDec(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HaniDec()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Java(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Java()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kali(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kali()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Khmr(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Khmr()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Knda(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Knda()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Lana(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Lana()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LanaTham(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LanaTham()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Laoo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Laoo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Latn(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Latn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Lepc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Lepc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Limb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Limb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mlym(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mlym()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mong(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mong()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mtei(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mtei()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mymr(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mymr()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MymrShan(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MymrShan()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Nkoo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Nkoo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Olck(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Olck()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orya(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orya()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Saur(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Saur()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sund(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sund()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Talu(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Talu()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TamlDec(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TamlDec()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Telu(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Telu()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thai(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thai()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tibt(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tibt()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Vaii(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Vaii()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Brah(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Brah()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Osma(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Osma()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MathBold(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MathBold()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MathDbl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MathDbl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MathSans(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MathSans()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MathSanb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MathSanb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MathMono(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MathMono()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZmthBold(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZmthBold()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZmthDbl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZmthDbl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZmthSans(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZmthSans()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZmthSanb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZmthSanb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZmthMono(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZmthMono()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTimeZone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTimeZone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeTimeZone(impl::abi_arg_in timeZoneId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChangeTimeZone(*reinterpret_cast(&timeZoneId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TimeZoneAsFullString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TimeZoneAsString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TimeZoneAsString(int32_t idealLength, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TimeZoneAsString(idealLength)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Globalization { + +template hstring impl_ICalendarIdentifiersStatics::Gregorian() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Gregorian(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::Hebrew() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Hebrew(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::Hijri() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Hijri(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::Japanese() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Japanese(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::Julian() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Julian(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::Korean() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Korean(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::Taiwan() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Taiwan(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::Thai() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_Thai(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics::UmAlQura() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics)->get_UmAlQura(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics2::Persian() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics2)->get_Persian(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics3::ChineseLunar() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics3)->get_ChineseLunar(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics3::JapaneseLunar() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics3)->get_JapaneseLunar(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics3::KoreanLunar() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics3)->get_KoreanLunar(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics3::TaiwanLunar() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics3)->get_TaiwanLunar(put_abi(value))); + return value; +} + +template hstring impl_ICalendarIdentifiersStatics3::VietnameseLunar() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarIdentifiersStatics3)->get_VietnameseLunar(put_abi(value))); + return value; +} + +template hstring impl_IClockIdentifiersStatics::TwelveHour() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClockIdentifiersStatics)->get_TwelveHour(put_abi(value))); + return value; +} + +template hstring impl_IClockIdentifiersStatics::TwentyFourHour() const +{ + hstring value; + check_hresult(WINRT_SHIM(IClockIdentifiersStatics)->get_TwentyFourHour(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Arab() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Arab(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::ArabExt() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_ArabExt(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Bali() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Bali(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Beng() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Beng(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Cham() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Cham(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Deva() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Deva(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::FullWide() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_FullWide(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Gujr() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Gujr(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Guru() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Guru(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::HaniDec() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_HaniDec(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Java() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Java(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Kali() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Kali(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Khmr() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Khmr(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Knda() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Knda(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Lana() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Lana(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::LanaTham() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_LanaTham(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Laoo() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Laoo(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Latn() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Latn(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Lepc() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Lepc(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Limb() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Limb(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Mlym() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Mlym(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Mong() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Mong(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Mtei() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Mtei(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Mymr() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Mymr(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::MymrShan() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_MymrShan(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Nkoo() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Nkoo(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Olck() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Olck(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Orya() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Orya(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Saur() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Saur(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Sund() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Sund(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Talu() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Talu(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::TamlDec() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_TamlDec(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Telu() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Telu(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Thai() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Thai(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Tibt() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Tibt(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics::Vaii() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics)->get_Vaii(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::Brah() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_Brah(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::Osma() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_Osma(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::MathBold() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_MathBold(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::MathDbl() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_MathDbl(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::MathSans() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_MathSans(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::MathSanb() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_MathSanb(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::MathMono() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_MathMono(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::ZmthBold() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_ZmthBold(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::ZmthDbl() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_ZmthDbl(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::ZmthSans() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_ZmthSans(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::ZmthSanb() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_ZmthSanb(put_abi(value))); + return value; +} + +template hstring impl_INumeralSystemIdentifiersStatics2::ZmthMono() const +{ + hstring value; + check_hresult(WINRT_SHIM(INumeralSystemIdentifiersStatics2)->get_ZmthMono(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::AED() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_AED(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::AFN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_AFN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ALL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ALL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::AMD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_AMD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ANG() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ANG(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::AOA() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_AOA(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ARS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ARS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::AUD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_AUD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::AWG() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_AWG(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::AZN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_AZN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BAM() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BAM(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BBD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BBD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BDT() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BDT(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BGN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BGN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BHD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BHD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BIF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BIF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BMD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BMD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BND() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BND(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BOB() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BOB(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BRL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BRL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BSD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BSD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BTN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BTN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BWP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BWP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BYR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BYR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::BZD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_BZD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CAD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CAD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CDF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CDF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CHF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CHF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CLP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CLP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CNY() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CNY(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::COP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_COP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CRC() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CRC(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CUP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CUP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CVE() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CVE(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::CZK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_CZK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::DJF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_DJF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::DKK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_DKK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::DOP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_DOP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::DZD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_DZD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::EGP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_EGP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ERN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ERN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ETB() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ETB(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::EUR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_EUR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::FJD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_FJD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::FKP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_FKP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GBP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GBP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GEL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GEL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GHS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GHS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GIP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GIP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GMD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GMD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GNF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GNF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GTQ() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GTQ(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::GYD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_GYD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::HKD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_HKD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::HNL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_HNL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::HRK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_HRK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::HTG() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_HTG(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::HUF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_HUF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::IDR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_IDR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ILS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ILS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::INR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_INR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::IQD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_IQD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::IRR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_IRR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ISK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ISK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::JMD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_JMD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::JOD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_JOD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::JPY() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_JPY(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KES() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KES(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KGS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KGS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KHR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KHR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KMF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KMF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KPW() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KPW(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KRW() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KRW(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KWD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KWD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KYD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KYD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::KZT() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_KZT(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LAK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LAK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LBP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LBP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LKR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LKR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LRD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LRD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LSL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LSL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LTL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LTL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LVL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LVL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::LYD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_LYD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MAD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MAD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MDL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MDL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MGA() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MGA(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MKD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MKD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MMK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MMK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MNT() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MNT(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MOP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MOP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MRO() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MRO(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MUR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MUR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MVR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MVR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MWK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MWK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MXN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MXN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MYR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MYR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::MZN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_MZN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::NAD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_NAD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::NGN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_NGN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::NIO() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_NIO(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::NOK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_NOK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::NPR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_NPR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::NZD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_NZD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::OMR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_OMR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::PAB() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_PAB(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::PEN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_PEN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::PGK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_PGK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::PHP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_PHP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::PKR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_PKR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::PLN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_PLN(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::PYG() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_PYG(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::QAR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_QAR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::RON() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_RON(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::RSD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_RSD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::RUB() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_RUB(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::RWF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_RWF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SAR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SAR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SBD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SBD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SCR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SCR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SDG() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SDG(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SEK() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SEK(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SGD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SGD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SHP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SHP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SLL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SLL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SOS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SOS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SRD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SRD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::STD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_STD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SYP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SYP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::SZL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_SZL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::THB() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_THB(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TJS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TJS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TMT() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TMT(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TND() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TND(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TOP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TOP(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TRY() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TRY(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TTD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TTD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TWD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TWD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::TZS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_TZS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::UAH() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_UAH(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::UGX() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_UGX(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::USD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_USD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::UYU() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_UYU(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::UZS() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_UZS(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::VEF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_VEF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::VND() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_VND(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::VUV() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_VUV(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::WST() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_WST(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::XAF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_XAF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::XCD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_XCD(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::XOF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_XOF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::XPF() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_XPF(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::XXX() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_XXX(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::YER() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_YER(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ZAR() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ZAR(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ZMW() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ZMW(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics::ZWL() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics)->get_ZWL(put_abi(value))); + return value; +} + +template hstring impl_ICurrencyIdentifiersStatics2::BYN() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICurrencyIdentifiersStatics2)->get_BYN(put_abi(value))); + return value; +} + +template hstring impl_IGeographicRegion::Code() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGeographicRegion)->get_Code(put_abi(value))); + return value; +} + +template hstring impl_IGeographicRegion::CodeTwoLetter() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGeographicRegion)->get_CodeTwoLetter(put_abi(value))); + return value; +} + +template hstring impl_IGeographicRegion::CodeThreeLetter() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGeographicRegion)->get_CodeThreeLetter(put_abi(value))); + return value; +} + +template hstring impl_IGeographicRegion::CodeThreeDigit() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGeographicRegion)->get_CodeThreeDigit(put_abi(value))); + return value; +} + +template hstring impl_IGeographicRegion::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGeographicRegion)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IGeographicRegion::NativeName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGeographicRegion)->get_NativeName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGeographicRegion::CurrenciesInUse() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGeographicRegion)->get_CurrenciesInUse(put_abi(value))); + return value; +} + +template Windows::Globalization::GeographicRegion impl_IGeographicRegionFactory::CreateGeographicRegion(hstring_view geographicRegionCode) const +{ + Windows::Globalization::GeographicRegion result { nullptr }; + check_hresult(WINRT_SHIM(IGeographicRegionFactory)->abi_CreateGeographicRegion(get_abi(geographicRegionCode), put_abi(result))); + return result; +} + +template bool impl_IGeographicRegionStatics::IsSupported(hstring_view geographicRegionCode) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IGeographicRegionStatics)->abi_IsSupported(get_abi(geographicRegionCode), &result)); + return result; +} + +template hstring impl_ILanguage::LanguageTag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILanguage)->get_LanguageTag(put_abi(value))); + return value; +} + +template hstring impl_ILanguage::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILanguage)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_ILanguage::NativeName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILanguage)->get_NativeName(put_abi(value))); + return value; +} + +template hstring impl_ILanguage::Script() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILanguage)->get_Script(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ILanguageExtensionSubtags::GetExtensionSubtags(hstring_view singleton) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ILanguageExtensionSubtags)->abi_GetExtensionSubtags(get_abi(singleton), put_abi(value))); + return value; +} + +template Windows::Globalization::Language impl_ILanguageFactory::CreateLanguage(hstring_view languageTag) const +{ + Windows::Globalization::Language result { nullptr }; + check_hresult(WINRT_SHIM(ILanguageFactory)->abi_CreateLanguage(get_abi(languageTag), put_abi(result))); + return result; +} + +template bool impl_ILanguageStatics::IsWellFormed(hstring_view languageTag) const +{ + bool result {}; + check_hresult(WINRT_SHIM(ILanguageStatics)->abi_IsWellFormed(get_abi(languageTag), &result)); + return result; +} + +template hstring impl_ILanguageStatics::CurrentInputMethodLanguageTag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILanguageStatics)->get_CurrentInputMethodLanguageTag(put_abi(value))); + return value; +} + +template bool impl_ILanguageStatics2::TrySetInputMethodLanguageTag(hstring_view languageTag) const +{ + bool result {}; + check_hresult(WINRT_SHIM(ILanguageStatics2)->abi_TrySetInputMethodLanguageTag(get_abi(languageTag), &result)); + return result; +} + +template Windows::Globalization::Calendar impl_ICalendar::Clone() const +{ + Windows::Globalization::Calendar value { nullptr }; + check_hresult(WINRT_SHIM(ICalendar)->abi_Clone(put_abi(value))); + return value; +} + +template void impl_ICalendar::SetToMin() const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_SetToMin()); +} + +template void impl_ICalendar::SetToMax() const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_SetToMax()); +} + +template Windows::Foundation::Collections::IVectorView impl_ICalendar::Languages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICalendar)->get_Languages(put_abi(value))); + return value; +} + +template hstring impl_ICalendar::NumeralSystem() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendar)->get_NumeralSystem(put_abi(value))); + return value; +} + +template void impl_ICalendar::NumeralSystem(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_NumeralSystem(get_abi(value))); +} + +template hstring impl_ICalendar::GetCalendarSystem() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendar)->abi_GetCalendarSystem(put_abi(value))); + return value; +} + +template void impl_ICalendar::ChangeCalendarSystem(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_ChangeCalendarSystem(get_abi(value))); +} + +template hstring impl_ICalendar::GetClock() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendar)->abi_GetClock(put_abi(value))); + return value; +} + +template void impl_ICalendar::ChangeClock(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_ChangeClock(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_ICalendar::GetDateTime() const +{ + Windows::Foundation::DateTime result {}; + check_hresult(WINRT_SHIM(ICalendar)->abi_GetDateTime(put_abi(result))); + return result; +} + +template void impl_ICalendar::SetDateTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_SetDateTime(get_abi(value))); +} + +template void impl_ICalendar::SetToNow() const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_SetToNow()); +} + +template int32_t impl_ICalendar::FirstEra() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstEra(&value)); + return value; +} + +template int32_t impl_ICalendar::LastEra() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastEra(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfEras() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfEras(&value)); + return value; +} + +template int32_t impl_ICalendar::Era() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Era(&value)); + return value; +} + +template void impl_ICalendar::Era(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Era(value)); +} + +template void impl_ICalendar::AddEras(int32_t eras) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddEras(eras)); +} + +template hstring impl_ICalendar::EraAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_EraAsFullString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::EraAsString(int32_t idealLength) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_EraAsString(idealLength, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::FirstYearInThisEra() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstYearInThisEra(&value)); + return value; +} + +template int32_t impl_ICalendar::LastYearInThisEra() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastYearInThisEra(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfYearsInThisEra() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfYearsInThisEra(&value)); + return value; +} + +template int32_t impl_ICalendar::Year() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Year(&value)); + return value; +} + +template void impl_ICalendar::Year(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Year(value)); +} + +template void impl_ICalendar::AddYears(int32_t years) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddYears(years)); +} + +template hstring impl_ICalendar::YearAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_YearAsString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::YearAsTruncatedString(int32_t remainingDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_YearAsTruncatedString(remainingDigits, put_abi(result))); + return result; +} + +template hstring impl_ICalendar::YearAsPaddedString(int32_t minDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_YearAsPaddedString(minDigits, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::FirstMonthInThisYear() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstMonthInThisYear(&value)); + return value; +} + +template int32_t impl_ICalendar::LastMonthInThisYear() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastMonthInThisYear(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfMonthsInThisYear() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfMonthsInThisYear(&value)); + return value; +} + +template int32_t impl_ICalendar::Month() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Month(&value)); + return value; +} + +template void impl_ICalendar::Month(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Month(value)); +} + +template void impl_ICalendar::AddMonths(int32_t months) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddMonths(months)); +} + +template hstring impl_ICalendar::MonthAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MonthAsFullString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::MonthAsString(int32_t idealLength) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MonthAsString(idealLength, put_abi(result))); + return result; +} + +template hstring impl_ICalendar::MonthAsSoloString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MonthAsFullSoloString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::MonthAsSoloString(int32_t idealLength) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MonthAsSoloString(idealLength, put_abi(result))); + return result; +} + +template hstring impl_ICalendar::MonthAsNumericString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MonthAsNumericString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::MonthAsPaddedNumericString(int32_t minDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MonthAsPaddedNumericString(minDigits, put_abi(result))); + return result; +} + +template void impl_ICalendar::AddWeeks(int32_t weeks) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddWeeks(weeks)); +} + +template int32_t impl_ICalendar::FirstDayInThisMonth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstDayInThisMonth(&value)); + return value; +} + +template int32_t impl_ICalendar::LastDayInThisMonth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastDayInThisMonth(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfDaysInThisMonth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfDaysInThisMonth(&value)); + return value; +} + +template int32_t impl_ICalendar::Day() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Day(&value)); + return value; +} + +template void impl_ICalendar::Day(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Day(value)); +} + +template void impl_ICalendar::AddDays(int32_t days) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddDays(days)); +} + +template hstring impl_ICalendar::DayAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_DayAsString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::DayAsPaddedString(int32_t minDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_DayAsPaddedString(minDigits, put_abi(result))); + return result; +} + +template Windows::Globalization::DayOfWeek impl_ICalendar::DayOfWeek() const +{ + Windows::Globalization::DayOfWeek value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_DayOfWeek(&value)); + return value; +} + +template hstring impl_ICalendar::DayOfWeekAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_DayOfWeekAsFullString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::DayOfWeekAsString(int32_t idealLength) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_DayOfWeekAsString(idealLength, put_abi(result))); + return result; +} + +template hstring impl_ICalendar::DayOfWeekAsSoloString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_DayOfWeekAsFullSoloString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::DayOfWeekAsSoloString(int32_t idealLength) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_DayOfWeekAsSoloString(idealLength, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::FirstPeriodInThisDay() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstPeriodInThisDay(&value)); + return value; +} + +template int32_t impl_ICalendar::LastPeriodInThisDay() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastPeriodInThisDay(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfPeriodsInThisDay() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfPeriodsInThisDay(&value)); + return value; +} + +template int32_t impl_ICalendar::Period() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Period(&value)); + return value; +} + +template void impl_ICalendar::Period(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Period(value)); +} + +template void impl_ICalendar::AddPeriods(int32_t periods) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddPeriods(periods)); +} + +template hstring impl_ICalendar::PeriodAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_PeriodAsFullString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::PeriodAsString(int32_t idealLength) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_PeriodAsString(idealLength, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::FirstHourInThisPeriod() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstHourInThisPeriod(&value)); + return value; +} + +template int32_t impl_ICalendar::LastHourInThisPeriod() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastHourInThisPeriod(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfHoursInThisPeriod() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfHoursInThisPeriod(&value)); + return value; +} + +template int32_t impl_ICalendar::Hour() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Hour(&value)); + return value; +} + +template void impl_ICalendar::Hour(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Hour(value)); +} + +template void impl_ICalendar::AddHours(int32_t hours) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddHours(hours)); +} + +template hstring impl_ICalendar::HourAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_HourAsString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::HourAsPaddedString(int32_t minDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_HourAsPaddedString(minDigits, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::Minute() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Minute(&value)); + return value; +} + +template void impl_ICalendar::Minute(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Minute(value)); +} + +template void impl_ICalendar::AddMinutes(int32_t minutes) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddMinutes(minutes)); +} + +template hstring impl_ICalendar::MinuteAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MinuteAsString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::MinuteAsPaddedString(int32_t minDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_MinuteAsPaddedString(minDigits, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::Second() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Second(&value)); + return value; +} + +template void impl_ICalendar::Second(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Second(value)); +} + +template void impl_ICalendar::AddSeconds(int32_t seconds) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddSeconds(seconds)); +} + +template hstring impl_ICalendar::SecondAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_SecondAsString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::SecondAsPaddedString(int32_t minDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_SecondAsPaddedString(minDigits, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::Nanosecond() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_Nanosecond(&value)); + return value; +} + +template void impl_ICalendar::Nanosecond(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendar)->put_Nanosecond(value)); +} + +template void impl_ICalendar::AddNanoseconds(int32_t nanoseconds) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_AddNanoseconds(nanoseconds)); +} + +template hstring impl_ICalendar::NanosecondAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_NanosecondAsString(put_abi(result))); + return result; +} + +template hstring impl_ICalendar::NanosecondAsPaddedString(int32_t minDigits) const +{ + hstring result; + check_hresult(WINRT_SHIM(ICalendar)->abi_NanosecondAsPaddedString(minDigits, put_abi(result))); + return result; +} + +template int32_t impl_ICalendar::Compare(const Windows::Globalization::Calendar & other) const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(ICalendar)->abi_Compare(get_abi(other), &result)); + return result; +} + +template int32_t impl_ICalendar::CompareDateTime(const Windows::Foundation::DateTime & other) const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(ICalendar)->abi_CompareDateTime(get_abi(other), &result)); + return result; +} + +template void impl_ICalendar::CopyTo(const Windows::Globalization::Calendar & other) const +{ + check_hresult(WINRT_SHIM(ICalendar)->abi_CopyTo(get_abi(other))); +} + +template int32_t impl_ICalendar::FirstMinuteInThisHour() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstMinuteInThisHour(&value)); + return value; +} + +template int32_t impl_ICalendar::LastMinuteInThisHour() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastMinuteInThisHour(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfMinutesInThisHour() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfMinutesInThisHour(&value)); + return value; +} + +template int32_t impl_ICalendar::FirstSecondInThisMinute() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_FirstSecondInThisMinute(&value)); + return value; +} + +template int32_t impl_ICalendar::LastSecondInThisMinute() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_LastSecondInThisMinute(&value)); + return value; +} + +template int32_t impl_ICalendar::NumberOfSecondsInThisMinute() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_NumberOfSecondsInThisMinute(&value)); + return value; +} + +template hstring impl_ICalendar::ResolvedLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendar)->get_ResolvedLanguage(put_abi(value))); + return value; +} + +template bool impl_ICalendar::IsDaylightSavingTime() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendar)->get_IsDaylightSavingTime(&value)); + return value; +} + +template Windows::Globalization::Calendar impl_ICalendarFactory2::CreateCalendarWithTimeZone(iterable languages, hstring_view calendar, hstring_view clock, hstring_view timeZoneId) const +{ + Windows::Globalization::Calendar result { nullptr }; + check_hresult(WINRT_SHIM(ICalendarFactory2)->abi_CreateCalendarWithTimeZone(get_abi(languages), get_abi(calendar), get_abi(clock), get_abi(timeZoneId), put_abi(result))); + return result; +} + +template hstring impl_ITimeZoneOnCalendar::GetTimeZone() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimeZoneOnCalendar)->abi_GetTimeZone(put_abi(value))); + return value; +} + +template void impl_ITimeZoneOnCalendar::ChangeTimeZone(hstring_view timeZoneId) const +{ + check_hresult(WINRT_SHIM(ITimeZoneOnCalendar)->abi_ChangeTimeZone(get_abi(timeZoneId))); +} + +template hstring impl_ITimeZoneOnCalendar::TimeZoneAsString() const +{ + hstring result; + check_hresult(WINRT_SHIM(ITimeZoneOnCalendar)->abi_TimeZoneAsFullString(put_abi(result))); + return result; +} + +template hstring impl_ITimeZoneOnCalendar::TimeZoneAsString(int32_t idealLength) const +{ + hstring result; + check_hresult(WINRT_SHIM(ITimeZoneOnCalendar)->abi_TimeZoneAsString(idealLength, put_abi(result))); + return result; +} + +template Windows::Globalization::Calendar impl_ICalendarFactory::CreateCalendarDefaultCalendarAndClock(iterable languages) const +{ + Windows::Globalization::Calendar result { nullptr }; + check_hresult(WINRT_SHIM(ICalendarFactory)->abi_CreateCalendarDefaultCalendarAndClock(get_abi(languages), put_abi(result))); + return result; +} + +template Windows::Globalization::Calendar impl_ICalendarFactory::CreateCalendar(iterable languages, hstring_view calendar, hstring_view clock) const +{ + Windows::Globalization::Calendar result { nullptr }; + check_hresult(WINRT_SHIM(ICalendarFactory)->abi_CreateCalendar(get_abi(languages), get_abi(calendar), get_abi(clock), put_abi(result))); + return result; +} + +template hstring impl_IApplicationLanguagesStatics::PrimaryLanguageOverride() const +{ + hstring value; + check_hresult(WINRT_SHIM(IApplicationLanguagesStatics)->get_PrimaryLanguageOverride(put_abi(value))); + return value; +} + +template void impl_IApplicationLanguagesStatics::PrimaryLanguageOverride(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IApplicationLanguagesStatics)->put_PrimaryLanguageOverride(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IApplicationLanguagesStatics::Languages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IApplicationLanguagesStatics)->get_Languages(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IApplicationLanguagesStatics::ManifestLanguages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IApplicationLanguagesStatics)->get_ManifestLanguages(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IJapanesePhoneticAnalyzerStatics::GetWords(hstring_view input) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IJapanesePhoneticAnalyzerStatics)->abi_GetWords(get_abi(input), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IJapanesePhoneticAnalyzerStatics::GetWords(hstring_view input, bool monoRuby) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IJapanesePhoneticAnalyzerStatics)->abi_GetWordsWithMonoRubyOption(get_abi(input), monoRuby, put_abi(result))); + return result; +} + +template hstring impl_IJapanesePhoneme::DisplayText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IJapanesePhoneme)->get_DisplayText(put_abi(value))); + return value; +} + +template hstring impl_IJapanesePhoneme::YomiText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IJapanesePhoneme)->get_YomiText(put_abi(value))); + return value; +} + +template bool impl_IJapanesePhoneme::IsPhraseStart() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IJapanesePhoneme)->get_IsPhraseStart(&value)); + return value; +} + +inline hstring ApplicationLanguages::PrimaryLanguageOverride() +{ + return get_activation_factory().PrimaryLanguageOverride(); +} + +inline void ApplicationLanguages::PrimaryLanguageOverride(hstring_view value) +{ + get_activation_factory().PrimaryLanguageOverride(value); +} + +inline Windows::Foundation::Collections::IVectorView ApplicationLanguages::Languages() +{ + return get_activation_factory().Languages(); +} + +inline Windows::Foundation::Collections::IVectorView ApplicationLanguages::ManifestLanguages() +{ + return get_activation_factory().ManifestLanguages(); +} + +inline Calendar::Calendar() : + Calendar(activate_instance()) +{} + +inline Calendar::Calendar(iterable languages, hstring_view calendar, hstring_view clock, hstring_view timeZoneId) : + Calendar(get_activation_factory().CreateCalendarWithTimeZone(languages, calendar, clock, timeZoneId)) +{} + +inline Calendar::Calendar(iterable languages) : + Calendar(get_activation_factory().CreateCalendarDefaultCalendarAndClock(languages)) +{} + +inline Calendar::Calendar(iterable languages, hstring_view calendar, hstring_view clock) : + Calendar(get_activation_factory().CreateCalendar(languages, calendar, clock)) +{} + +inline hstring CalendarIdentifiers::Gregorian() +{ + return get_activation_factory().Gregorian(); +} + +inline hstring CalendarIdentifiers::Hebrew() +{ + return get_activation_factory().Hebrew(); +} + +inline hstring CalendarIdentifiers::Hijri() +{ + return get_activation_factory().Hijri(); +} + +inline hstring CalendarIdentifiers::Japanese() +{ + return get_activation_factory().Japanese(); +} + +inline hstring CalendarIdentifiers::Julian() +{ + return get_activation_factory().Julian(); +} + +inline hstring CalendarIdentifiers::Korean() +{ + return get_activation_factory().Korean(); +} + +inline hstring CalendarIdentifiers::Taiwan() +{ + return get_activation_factory().Taiwan(); +} + +inline hstring CalendarIdentifiers::Thai() +{ + return get_activation_factory().Thai(); +} + +inline hstring CalendarIdentifiers::UmAlQura() +{ + return get_activation_factory().UmAlQura(); +} + +inline hstring CalendarIdentifiers::Persian() +{ + return get_activation_factory().Persian(); +} + +inline hstring CalendarIdentifiers::ChineseLunar() +{ + return get_activation_factory().ChineseLunar(); +} + +inline hstring CalendarIdentifiers::JapaneseLunar() +{ + return get_activation_factory().JapaneseLunar(); +} + +inline hstring CalendarIdentifiers::KoreanLunar() +{ + return get_activation_factory().KoreanLunar(); +} + +inline hstring CalendarIdentifiers::TaiwanLunar() +{ + return get_activation_factory().TaiwanLunar(); +} + +inline hstring CalendarIdentifiers::VietnameseLunar() +{ + return get_activation_factory().VietnameseLunar(); +} + +inline hstring ClockIdentifiers::TwelveHour() +{ + return get_activation_factory().TwelveHour(); +} + +inline hstring ClockIdentifiers::TwentyFourHour() +{ + return get_activation_factory().TwentyFourHour(); +} + +inline hstring CurrencyIdentifiers::AED() +{ + return get_activation_factory().AED(); +} + +inline hstring CurrencyIdentifiers::AFN() +{ + return get_activation_factory().AFN(); +} + +inline hstring CurrencyIdentifiers::ALL() +{ + return get_activation_factory().ALL(); +} + +inline hstring CurrencyIdentifiers::AMD() +{ + return get_activation_factory().AMD(); +} + +inline hstring CurrencyIdentifiers::ANG() +{ + return get_activation_factory().ANG(); +} + +inline hstring CurrencyIdentifiers::AOA() +{ + return get_activation_factory().AOA(); +} + +inline hstring CurrencyIdentifiers::ARS() +{ + return get_activation_factory().ARS(); +} + +inline hstring CurrencyIdentifiers::AUD() +{ + return get_activation_factory().AUD(); +} + +inline hstring CurrencyIdentifiers::AWG() +{ + return get_activation_factory().AWG(); +} + +inline hstring CurrencyIdentifiers::AZN() +{ + return get_activation_factory().AZN(); +} + +inline hstring CurrencyIdentifiers::BAM() +{ + return get_activation_factory().BAM(); +} + +inline hstring CurrencyIdentifiers::BBD() +{ + return get_activation_factory().BBD(); +} + +inline hstring CurrencyIdentifiers::BDT() +{ + return get_activation_factory().BDT(); +} + +inline hstring CurrencyIdentifiers::BGN() +{ + return get_activation_factory().BGN(); +} + +inline hstring CurrencyIdentifiers::BHD() +{ + return get_activation_factory().BHD(); +} + +inline hstring CurrencyIdentifiers::BIF() +{ + return get_activation_factory().BIF(); +} + +inline hstring CurrencyIdentifiers::BMD() +{ + return get_activation_factory().BMD(); +} + +inline hstring CurrencyIdentifiers::BND() +{ + return get_activation_factory().BND(); +} + +inline hstring CurrencyIdentifiers::BOB() +{ + return get_activation_factory().BOB(); +} + +inline hstring CurrencyIdentifiers::BRL() +{ + return get_activation_factory().BRL(); +} + +inline hstring CurrencyIdentifiers::BSD() +{ + return get_activation_factory().BSD(); +} + +inline hstring CurrencyIdentifiers::BTN() +{ + return get_activation_factory().BTN(); +} + +inline hstring CurrencyIdentifiers::BWP() +{ + return get_activation_factory().BWP(); +} + +inline hstring CurrencyIdentifiers::BYR() +{ + return get_activation_factory().BYR(); +} + +inline hstring CurrencyIdentifiers::BZD() +{ + return get_activation_factory().BZD(); +} + +inline hstring CurrencyIdentifiers::CAD() +{ + return get_activation_factory().CAD(); +} + +inline hstring CurrencyIdentifiers::CDF() +{ + return get_activation_factory().CDF(); +} + +inline hstring CurrencyIdentifiers::CHF() +{ + return get_activation_factory().CHF(); +} + +inline hstring CurrencyIdentifiers::CLP() +{ + return get_activation_factory().CLP(); +} + +inline hstring CurrencyIdentifiers::CNY() +{ + return get_activation_factory().CNY(); +} + +inline hstring CurrencyIdentifiers::COP() +{ + return get_activation_factory().COP(); +} + +inline hstring CurrencyIdentifiers::CRC() +{ + return get_activation_factory().CRC(); +} + +inline hstring CurrencyIdentifiers::CUP() +{ + return get_activation_factory().CUP(); +} + +inline hstring CurrencyIdentifiers::CVE() +{ + return get_activation_factory().CVE(); +} + +inline hstring CurrencyIdentifiers::CZK() +{ + return get_activation_factory().CZK(); +} + +inline hstring CurrencyIdentifiers::DJF() +{ + return get_activation_factory().DJF(); +} + +inline hstring CurrencyIdentifiers::DKK() +{ + return get_activation_factory().DKK(); +} + +inline hstring CurrencyIdentifiers::DOP() +{ + return get_activation_factory().DOP(); +} + +inline hstring CurrencyIdentifiers::DZD() +{ + return get_activation_factory().DZD(); +} + +inline hstring CurrencyIdentifiers::EGP() +{ + return get_activation_factory().EGP(); +} + +inline hstring CurrencyIdentifiers::ERN() +{ + return get_activation_factory().ERN(); +} + +inline hstring CurrencyIdentifiers::ETB() +{ + return get_activation_factory().ETB(); +} + +inline hstring CurrencyIdentifiers::EUR() +{ + return get_activation_factory().EUR(); +} + +inline hstring CurrencyIdentifiers::FJD() +{ + return get_activation_factory().FJD(); +} + +inline hstring CurrencyIdentifiers::FKP() +{ + return get_activation_factory().FKP(); +} + +inline hstring CurrencyIdentifiers::GBP() +{ + return get_activation_factory().GBP(); +} + +inline hstring CurrencyIdentifiers::GEL() +{ + return get_activation_factory().GEL(); +} + +inline hstring CurrencyIdentifiers::GHS() +{ + return get_activation_factory().GHS(); +} + +inline hstring CurrencyIdentifiers::GIP() +{ + return get_activation_factory().GIP(); +} + +inline hstring CurrencyIdentifiers::GMD() +{ + return get_activation_factory().GMD(); +} + +inline hstring CurrencyIdentifiers::GNF() +{ + return get_activation_factory().GNF(); +} + +inline hstring CurrencyIdentifiers::GTQ() +{ + return get_activation_factory().GTQ(); +} + +inline hstring CurrencyIdentifiers::GYD() +{ + return get_activation_factory().GYD(); +} + +inline hstring CurrencyIdentifiers::HKD() +{ + return get_activation_factory().HKD(); +} + +inline hstring CurrencyIdentifiers::HNL() +{ + return get_activation_factory().HNL(); +} + +inline hstring CurrencyIdentifiers::HRK() +{ + return get_activation_factory().HRK(); +} + +inline hstring CurrencyIdentifiers::HTG() +{ + return get_activation_factory().HTG(); +} + +inline hstring CurrencyIdentifiers::HUF() +{ + return get_activation_factory().HUF(); +} + +inline hstring CurrencyIdentifiers::IDR() +{ + return get_activation_factory().IDR(); +} + +inline hstring CurrencyIdentifiers::ILS() +{ + return get_activation_factory().ILS(); +} + +inline hstring CurrencyIdentifiers::INR() +{ + return get_activation_factory().INR(); +} + +inline hstring CurrencyIdentifiers::IQD() +{ + return get_activation_factory().IQD(); +} + +inline hstring CurrencyIdentifiers::IRR() +{ + return get_activation_factory().IRR(); +} + +inline hstring CurrencyIdentifiers::ISK() +{ + return get_activation_factory().ISK(); +} + +inline hstring CurrencyIdentifiers::JMD() +{ + return get_activation_factory().JMD(); +} + +inline hstring CurrencyIdentifiers::JOD() +{ + return get_activation_factory().JOD(); +} + +inline hstring CurrencyIdentifiers::JPY() +{ + return get_activation_factory().JPY(); +} + +inline hstring CurrencyIdentifiers::KES() +{ + return get_activation_factory().KES(); +} + +inline hstring CurrencyIdentifiers::KGS() +{ + return get_activation_factory().KGS(); +} + +inline hstring CurrencyIdentifiers::KHR() +{ + return get_activation_factory().KHR(); +} + +inline hstring CurrencyIdentifiers::KMF() +{ + return get_activation_factory().KMF(); +} + +inline hstring CurrencyIdentifiers::KPW() +{ + return get_activation_factory().KPW(); +} + +inline hstring CurrencyIdentifiers::KRW() +{ + return get_activation_factory().KRW(); +} + +inline hstring CurrencyIdentifiers::KWD() +{ + return get_activation_factory().KWD(); +} + +inline hstring CurrencyIdentifiers::KYD() +{ + return get_activation_factory().KYD(); +} + +inline hstring CurrencyIdentifiers::KZT() +{ + return get_activation_factory().KZT(); +} + +inline hstring CurrencyIdentifiers::LAK() +{ + return get_activation_factory().LAK(); +} + +inline hstring CurrencyIdentifiers::LBP() +{ + return get_activation_factory().LBP(); +} + +inline hstring CurrencyIdentifiers::LKR() +{ + return get_activation_factory().LKR(); +} + +inline hstring CurrencyIdentifiers::LRD() +{ + return get_activation_factory().LRD(); +} + +inline hstring CurrencyIdentifiers::LSL() +{ + return get_activation_factory().LSL(); +} + +inline hstring CurrencyIdentifiers::LTL() +{ + return get_activation_factory().LTL(); +} + +inline hstring CurrencyIdentifiers::LVL() +{ + return get_activation_factory().LVL(); +} + +inline hstring CurrencyIdentifiers::LYD() +{ + return get_activation_factory().LYD(); +} + +inline hstring CurrencyIdentifiers::MAD() +{ + return get_activation_factory().MAD(); +} + +inline hstring CurrencyIdentifiers::MDL() +{ + return get_activation_factory().MDL(); +} + +inline hstring CurrencyIdentifiers::MGA() +{ + return get_activation_factory().MGA(); +} + +inline hstring CurrencyIdentifiers::MKD() +{ + return get_activation_factory().MKD(); +} + +inline hstring CurrencyIdentifiers::MMK() +{ + return get_activation_factory().MMK(); +} + +inline hstring CurrencyIdentifiers::MNT() +{ + return get_activation_factory().MNT(); +} + +inline hstring CurrencyIdentifiers::MOP() +{ + return get_activation_factory().MOP(); +} + +inline hstring CurrencyIdentifiers::MRO() +{ + return get_activation_factory().MRO(); +} + +inline hstring CurrencyIdentifiers::MUR() +{ + return get_activation_factory().MUR(); +} + +inline hstring CurrencyIdentifiers::MVR() +{ + return get_activation_factory().MVR(); +} + +inline hstring CurrencyIdentifiers::MWK() +{ + return get_activation_factory().MWK(); +} + +inline hstring CurrencyIdentifiers::MXN() +{ + return get_activation_factory().MXN(); +} + +inline hstring CurrencyIdentifiers::MYR() +{ + return get_activation_factory().MYR(); +} + +inline hstring CurrencyIdentifiers::MZN() +{ + return get_activation_factory().MZN(); +} + +inline hstring CurrencyIdentifiers::NAD() +{ + return get_activation_factory().NAD(); +} + +inline hstring CurrencyIdentifiers::NGN() +{ + return get_activation_factory().NGN(); +} + +inline hstring CurrencyIdentifiers::NIO() +{ + return get_activation_factory().NIO(); +} + +inline hstring CurrencyIdentifiers::NOK() +{ + return get_activation_factory().NOK(); +} + +inline hstring CurrencyIdentifiers::NPR() +{ + return get_activation_factory().NPR(); +} + +inline hstring CurrencyIdentifiers::NZD() +{ + return get_activation_factory().NZD(); +} + +inline hstring CurrencyIdentifiers::OMR() +{ + return get_activation_factory().OMR(); +} + +inline hstring CurrencyIdentifiers::PAB() +{ + return get_activation_factory().PAB(); +} + +inline hstring CurrencyIdentifiers::PEN() +{ + return get_activation_factory().PEN(); +} + +inline hstring CurrencyIdentifiers::PGK() +{ + return get_activation_factory().PGK(); +} + +inline hstring CurrencyIdentifiers::PHP() +{ + return get_activation_factory().PHP(); +} + +inline hstring CurrencyIdentifiers::PKR() +{ + return get_activation_factory().PKR(); +} + +inline hstring CurrencyIdentifiers::PLN() +{ + return get_activation_factory().PLN(); +} + +inline hstring CurrencyIdentifiers::PYG() +{ + return get_activation_factory().PYG(); +} + +inline hstring CurrencyIdentifiers::QAR() +{ + return get_activation_factory().QAR(); +} + +inline hstring CurrencyIdentifiers::RON() +{ + return get_activation_factory().RON(); +} + +inline hstring CurrencyIdentifiers::RSD() +{ + return get_activation_factory().RSD(); +} + +inline hstring CurrencyIdentifiers::RUB() +{ + return get_activation_factory().RUB(); +} + +inline hstring CurrencyIdentifiers::RWF() +{ + return get_activation_factory().RWF(); +} + +inline hstring CurrencyIdentifiers::SAR() +{ + return get_activation_factory().SAR(); +} + +inline hstring CurrencyIdentifiers::SBD() +{ + return get_activation_factory().SBD(); +} + +inline hstring CurrencyIdentifiers::SCR() +{ + return get_activation_factory().SCR(); +} + +inline hstring CurrencyIdentifiers::SDG() +{ + return get_activation_factory().SDG(); +} + +inline hstring CurrencyIdentifiers::SEK() +{ + return get_activation_factory().SEK(); +} + +inline hstring CurrencyIdentifiers::SGD() +{ + return get_activation_factory().SGD(); +} + +inline hstring CurrencyIdentifiers::SHP() +{ + return get_activation_factory().SHP(); +} + +inline hstring CurrencyIdentifiers::SLL() +{ + return get_activation_factory().SLL(); +} + +inline hstring CurrencyIdentifiers::SOS() +{ + return get_activation_factory().SOS(); +} + +inline hstring CurrencyIdentifiers::SRD() +{ + return get_activation_factory().SRD(); +} + +inline hstring CurrencyIdentifiers::STD() +{ + return get_activation_factory().STD(); +} + +inline hstring CurrencyIdentifiers::SYP() +{ + return get_activation_factory().SYP(); +} + +inline hstring CurrencyIdentifiers::SZL() +{ + return get_activation_factory().SZL(); +} + +inline hstring CurrencyIdentifiers::THB() +{ + return get_activation_factory().THB(); +} + +inline hstring CurrencyIdentifiers::TJS() +{ + return get_activation_factory().TJS(); +} + +inline hstring CurrencyIdentifiers::TMT() +{ + return get_activation_factory().TMT(); +} + +inline hstring CurrencyIdentifiers::TND() +{ + return get_activation_factory().TND(); +} + +inline hstring CurrencyIdentifiers::TOP() +{ + return get_activation_factory().TOP(); +} + +inline hstring CurrencyIdentifiers::TRY() +{ + return get_activation_factory().TRY(); +} + +inline hstring CurrencyIdentifiers::TTD() +{ + return get_activation_factory().TTD(); +} + +inline hstring CurrencyIdentifiers::TWD() +{ + return get_activation_factory().TWD(); +} + +inline hstring CurrencyIdentifiers::TZS() +{ + return get_activation_factory().TZS(); +} + +inline hstring CurrencyIdentifiers::UAH() +{ + return get_activation_factory().UAH(); +} + +inline hstring CurrencyIdentifiers::UGX() +{ + return get_activation_factory().UGX(); +} + +inline hstring CurrencyIdentifiers::USD() +{ + return get_activation_factory().USD(); +} + +inline hstring CurrencyIdentifiers::UYU() +{ + return get_activation_factory().UYU(); +} + +inline hstring CurrencyIdentifiers::UZS() +{ + return get_activation_factory().UZS(); +} + +inline hstring CurrencyIdentifiers::VEF() +{ + return get_activation_factory().VEF(); +} + +inline hstring CurrencyIdentifiers::VND() +{ + return get_activation_factory().VND(); +} + +inline hstring CurrencyIdentifiers::VUV() +{ + return get_activation_factory().VUV(); +} + +inline hstring CurrencyIdentifiers::WST() +{ + return get_activation_factory().WST(); +} + +inline hstring CurrencyIdentifiers::XAF() +{ + return get_activation_factory().XAF(); +} + +inline hstring CurrencyIdentifiers::XCD() +{ + return get_activation_factory().XCD(); +} + +inline hstring CurrencyIdentifiers::XOF() +{ + return get_activation_factory().XOF(); +} + +inline hstring CurrencyIdentifiers::XPF() +{ + return get_activation_factory().XPF(); +} + +inline hstring CurrencyIdentifiers::XXX() +{ + return get_activation_factory().XXX(); +} + +inline hstring CurrencyIdentifiers::YER() +{ + return get_activation_factory().YER(); +} + +inline hstring CurrencyIdentifiers::ZAR() +{ + return get_activation_factory().ZAR(); +} + +inline hstring CurrencyIdentifiers::ZMW() +{ + return get_activation_factory().ZMW(); +} + +inline hstring CurrencyIdentifiers::ZWL() +{ + return get_activation_factory().ZWL(); +} + +inline hstring CurrencyIdentifiers::BYN() +{ + return get_activation_factory().BYN(); +} + +inline GeographicRegion::GeographicRegion() : + GeographicRegion(activate_instance()) +{} + +inline GeographicRegion::GeographicRegion(hstring_view geographicRegionCode) : + GeographicRegion(get_activation_factory().CreateGeographicRegion(geographicRegionCode)) +{} + +inline bool GeographicRegion::IsSupported(hstring_view geographicRegionCode) +{ + return get_activation_factory().IsSupported(geographicRegionCode); +} + +inline Windows::Foundation::Collections::IVectorView JapanesePhoneticAnalyzer::GetWords(hstring_view input) +{ + return get_activation_factory().GetWords(input); +} + +inline Windows::Foundation::Collections::IVectorView JapanesePhoneticAnalyzer::GetWords(hstring_view input, bool monoRuby) +{ + return get_activation_factory().GetWords(input, monoRuby); +} + +inline Language::Language(hstring_view languageTag) : + Language(get_activation_factory().CreateLanguage(languageTag)) +{} + +inline bool Language::IsWellFormed(hstring_view languageTag) +{ + return get_activation_factory().IsWellFormed(languageTag); +} + +inline hstring Language::CurrentInputMethodLanguageTag() +{ + return get_activation_factory().CurrentInputMethodLanguageTag(); +} + +inline bool Language::TrySetInputMethodLanguageTag(hstring_view languageTag) +{ + return get_activation_factory().TrySetInputMethodLanguageTag(languageTag); +} + +inline hstring NumeralSystemIdentifiers::Arab() +{ + return get_activation_factory().Arab(); +} + +inline hstring NumeralSystemIdentifiers::ArabExt() +{ + return get_activation_factory().ArabExt(); +} + +inline hstring NumeralSystemIdentifiers::Bali() +{ + return get_activation_factory().Bali(); +} + +inline hstring NumeralSystemIdentifiers::Beng() +{ + return get_activation_factory().Beng(); +} + +inline hstring NumeralSystemIdentifiers::Cham() +{ + return get_activation_factory().Cham(); +} + +inline hstring NumeralSystemIdentifiers::Deva() +{ + return get_activation_factory().Deva(); +} + +inline hstring NumeralSystemIdentifiers::FullWide() +{ + return get_activation_factory().FullWide(); +} + +inline hstring NumeralSystemIdentifiers::Gujr() +{ + return get_activation_factory().Gujr(); +} + +inline hstring NumeralSystemIdentifiers::Guru() +{ + return get_activation_factory().Guru(); +} + +inline hstring NumeralSystemIdentifiers::HaniDec() +{ + return get_activation_factory().HaniDec(); +} + +inline hstring NumeralSystemIdentifiers::Java() +{ + return get_activation_factory().Java(); +} + +inline hstring NumeralSystemIdentifiers::Kali() +{ + return get_activation_factory().Kali(); +} + +inline hstring NumeralSystemIdentifiers::Khmr() +{ + return get_activation_factory().Khmr(); +} + +inline hstring NumeralSystemIdentifiers::Knda() +{ + return get_activation_factory().Knda(); +} + +inline hstring NumeralSystemIdentifiers::Lana() +{ + return get_activation_factory().Lana(); +} + +inline hstring NumeralSystemIdentifiers::LanaTham() +{ + return get_activation_factory().LanaTham(); +} + +inline hstring NumeralSystemIdentifiers::Laoo() +{ + return get_activation_factory().Laoo(); +} + +inline hstring NumeralSystemIdentifiers::Latn() +{ + return get_activation_factory().Latn(); +} + +inline hstring NumeralSystemIdentifiers::Lepc() +{ + return get_activation_factory().Lepc(); +} + +inline hstring NumeralSystemIdentifiers::Limb() +{ + return get_activation_factory().Limb(); +} + +inline hstring NumeralSystemIdentifiers::Mlym() +{ + return get_activation_factory().Mlym(); +} + +inline hstring NumeralSystemIdentifiers::Mong() +{ + return get_activation_factory().Mong(); +} + +inline hstring NumeralSystemIdentifiers::Mtei() +{ + return get_activation_factory().Mtei(); +} + +inline hstring NumeralSystemIdentifiers::Mymr() +{ + return get_activation_factory().Mymr(); +} + +inline hstring NumeralSystemIdentifiers::MymrShan() +{ + return get_activation_factory().MymrShan(); +} + +inline hstring NumeralSystemIdentifiers::Nkoo() +{ + return get_activation_factory().Nkoo(); +} + +inline hstring NumeralSystemIdentifiers::Olck() +{ + return get_activation_factory().Olck(); +} + +inline hstring NumeralSystemIdentifiers::Orya() +{ + return get_activation_factory().Orya(); +} + +inline hstring NumeralSystemIdentifiers::Saur() +{ + return get_activation_factory().Saur(); +} + +inline hstring NumeralSystemIdentifiers::Sund() +{ + return get_activation_factory().Sund(); +} + +inline hstring NumeralSystemIdentifiers::Talu() +{ + return get_activation_factory().Talu(); +} + +inline hstring NumeralSystemIdentifiers::TamlDec() +{ + return get_activation_factory().TamlDec(); +} + +inline hstring NumeralSystemIdentifiers::Telu() +{ + return get_activation_factory().Telu(); +} + +inline hstring NumeralSystemIdentifiers::Thai() +{ + return get_activation_factory().Thai(); +} + +inline hstring NumeralSystemIdentifiers::Tibt() +{ + return get_activation_factory().Tibt(); +} + +inline hstring NumeralSystemIdentifiers::Vaii() +{ + return get_activation_factory().Vaii(); +} + +inline hstring NumeralSystemIdentifiers::Brah() +{ + return get_activation_factory().Brah(); +} + +inline hstring NumeralSystemIdentifiers::Osma() +{ + return get_activation_factory().Osma(); +} + +inline hstring NumeralSystemIdentifiers::MathBold() +{ + return get_activation_factory().MathBold(); +} + +inline hstring NumeralSystemIdentifiers::MathDbl() +{ + return get_activation_factory().MathDbl(); +} + +inline hstring NumeralSystemIdentifiers::MathSans() +{ + return get_activation_factory().MathSans(); +} + +inline hstring NumeralSystemIdentifiers::MathSanb() +{ + return get_activation_factory().MathSanb(); +} + +inline hstring NumeralSystemIdentifiers::MathMono() +{ + return get_activation_factory().MathMono(); +} + +inline hstring NumeralSystemIdentifiers::ZmthBold() +{ + return get_activation_factory().ZmthBold(); +} + +inline hstring NumeralSystemIdentifiers::ZmthDbl() +{ + return get_activation_factory().ZmthDbl(); +} + +inline hstring NumeralSystemIdentifiers::ZmthSans() +{ + return get_activation_factory().ZmthSans(); +} + +inline hstring NumeralSystemIdentifiers::ZmthSanb() +{ + return get_activation_factory().ZmthSanb(); +} + +inline hstring NumeralSystemIdentifiers::ZmthMono() +{ + return get_activation_factory().ZmthMono(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::IApplicationLanguagesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICalendar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICalendarFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICalendarFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICalendarIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICalendarIdentifiersStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICalendarIdentifiersStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::IClockIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICurrencyIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ICurrencyIdentifiersStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::IGeographicRegion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::IGeographicRegionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::IGeographicRegionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::IJapanesePhoneme & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::IJapanesePhoneticAnalyzerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ILanguage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ILanguageExtensionSubtags & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ILanguageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ILanguageStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ILanguageStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::INumeralSystemIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::INumeralSystemIdentifiersStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::ITimeZoneOnCalendar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Calendar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::GeographicRegion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::JapanesePhoneme & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Globalization::Language & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.DirectX.Direct3D11.h b/10.0.15042.0/winrt/Windows.Graphics.DirectX.Direct3D11.h new file mode 100644 index 000000000..9be264164 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.DirectX.Direct3D11.h @@ -0,0 +1,90 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "Windows.Graphics.DirectX.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Trim() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Trim(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::DirectX::Direct3D11 { + +template void impl_IDirect3DDevice::Trim() const +{ + check_hresult(WINRT_SHIM(IDirect3DDevice)->abi_Trim()); +} + +template Windows::Graphics::DirectX::Direct3D11::Direct3DSurfaceDescription impl_IDirect3DSurface::Description() const +{ + Windows::Graphics::DirectX::Direct3D11::Direct3DSurfaceDescription value {}; + check_hresult(WINRT_SHIM(IDirect3DSurface)->get_Description(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.DirectX.h b/10.0.15042.0/winrt/Windows.Graphics.DirectX.h new file mode 100644 index 000000000..df117bb5b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.DirectX.h @@ -0,0 +1,20 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.DirectX.3.h" +#include "Windows.Graphics.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +} + +} + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Display.Core.h b/10.0.15042.0/winrt/Windows.Graphics.Display.Core.h new file mode 100644 index 000000000..4a3b280b1 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Display.Core.h @@ -0,0 +1,518 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Display.Core.3.h" +#include "Windows.Graphics.Display.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSupportedDisplayModes(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSupportedDisplayModes()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentDisplayMode(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCurrentDisplayMode()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDefaultDisplayModeAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetDefaultDisplayModeAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestSetCurrentDisplayModeAsync(impl::abi_arg_in mode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestSetCurrentDisplayModeAsync(*reinterpret_cast(&mode))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestSetCurrentDisplayModeWithHdrAsync(impl::abi_arg_in mode, Windows::Graphics::Display::Core::HdmiDisplayHdrOption hdrOption, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestSetCurrentDisplayModeAsync(*reinterpret_cast(&mode), hdrOption)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestSetCurrentDisplayModeWithHdrAndMetadataAsync(impl::abi_arg_in mode, Windows::Graphics::Display::Core::HdmiDisplayHdrOption hdrOption, impl::abi_arg_in hdrMetadata, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestSetCurrentDisplayModeAsync(*reinterpret_cast(&mode), hdrOption, *reinterpret_cast(&hdrMetadata))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DisplayModesChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DisplayModesChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DisplayModesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayModesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResolutionWidthInRawPixels(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolutionWidthInRawPixels()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolutionHeightInRawPixels(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolutionHeightInRawPixels()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RefreshRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RefreshRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StereoEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StereoEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitsPerPixel(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitsPerPixel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEqual(impl::abi_arg_in mode, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsEqual(*reinterpret_cast(&mode))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorSpace(Windows::Graphics::Display::Core::HdmiDisplayColorSpace * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorSpace()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelEncoding(Windows::Graphics::Display::Core::HdmiDisplayPixelEncoding * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelEncoding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSdrLuminanceSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSdrLuminanceSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSmpte2084Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSmpte2084Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Is2086MetadataSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Is2086MetadataSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::Display::Core { + +template uint32_t impl_IHdmiDisplayMode::ResolutionWidthInRawPixels() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_ResolutionWidthInRawPixels(&value)); + return value; +} + +template uint32_t impl_IHdmiDisplayMode::ResolutionHeightInRawPixels() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_ResolutionHeightInRawPixels(&value)); + return value; +} + +template double impl_IHdmiDisplayMode::RefreshRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_RefreshRate(&value)); + return value; +} + +template bool impl_IHdmiDisplayMode::StereoEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_StereoEnabled(&value)); + return value; +} + +template uint16_t impl_IHdmiDisplayMode::BitsPerPixel() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_BitsPerPixel(&value)); + return value; +} + +template bool impl_IHdmiDisplayMode::IsEqual(const Windows::Graphics::Display::Core::HdmiDisplayMode & mode) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->abi_IsEqual(get_abi(mode), &result)); + return result; +} + +template Windows::Graphics::Display::Core::HdmiDisplayColorSpace impl_IHdmiDisplayMode::ColorSpace() const +{ + Windows::Graphics::Display::Core::HdmiDisplayColorSpace value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_ColorSpace(&value)); + return value; +} + +template Windows::Graphics::Display::Core::HdmiDisplayPixelEncoding impl_IHdmiDisplayMode::PixelEncoding() const +{ + Windows::Graphics::Display::Core::HdmiDisplayPixelEncoding value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_PixelEncoding(&value)); + return value; +} + +template bool impl_IHdmiDisplayMode::IsSdrLuminanceSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_IsSdrLuminanceSupported(&value)); + return value; +} + +template bool impl_IHdmiDisplayMode::IsSmpte2084Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_IsSmpte2084Supported(&value)); + return value; +} + +template bool impl_IHdmiDisplayMode::Is2086MetadataSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHdmiDisplayMode)->get_Is2086MetadataSupported(&value)); + return value; +} + +template Windows::Graphics::Display::Core::HdmiDisplayInformation impl_IHdmiDisplayInformationStatics::GetForCurrentView() const +{ + Windows::Graphics::Display::Core::HdmiDisplayInformation result { nullptr }; + check_hresult(WINRT_SHIM(IHdmiDisplayInformationStatics)->abi_GetForCurrentView(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IHdmiDisplayInformation::GetSupportedDisplayModes() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->abi_GetSupportedDisplayModes(put_abi(result))); + return result; +} + +template Windows::Graphics::Display::Core::HdmiDisplayMode impl_IHdmiDisplayInformation::GetCurrentDisplayMode() const +{ + Windows::Graphics::Display::Core::HdmiDisplayMode result { nullptr }; + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->abi_GetCurrentDisplayMode(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IHdmiDisplayInformation::SetDefaultDisplayModeAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->abi_SetDefaultDisplayModeAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IHdmiDisplayInformation::RequestSetCurrentDisplayModeAsync(const Windows::Graphics::Display::Core::HdmiDisplayMode & mode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->abi_RequestSetCurrentDisplayModeAsync(get_abi(mode), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IHdmiDisplayInformation::RequestSetCurrentDisplayModeAsync(const Windows::Graphics::Display::Core::HdmiDisplayMode & mode, Windows::Graphics::Display::Core::HdmiDisplayHdrOption hdrOption) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->abi_RequestSetCurrentDisplayModeWithHdrAsync(get_abi(mode), hdrOption, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IHdmiDisplayInformation::RequestSetCurrentDisplayModeAsync(const Windows::Graphics::Display::Core::HdmiDisplayMode & mode, Windows::Graphics::Display::Core::HdmiDisplayHdrOption hdrOption, const Windows::Graphics::Display::Core::HdmiDisplayHdr2086Metadata & hdrMetadata) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->abi_RequestSetCurrentDisplayModeWithHdrAndMetadataAsync(get_abi(mode), hdrOption, get_abi(hdrMetadata), put_abi(operation))); + return operation; +} + +template event_token impl_IHdmiDisplayInformation::DisplayModesChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->add_DisplayModesChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IHdmiDisplayInformation::DisplayModesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::Core::IHdmiDisplayInformation::remove_DisplayModesChanged, DisplayModesChanged(value)); +} + +template void impl_IHdmiDisplayInformation::DisplayModesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IHdmiDisplayInformation)->remove_DisplayModesChanged(token)); +} + +inline Windows::Graphics::Display::Core::HdmiDisplayInformation HdmiDisplayInformation::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::Core::IHdmiDisplayInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::Core::IHdmiDisplayInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::Core::IHdmiDisplayMode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::Core::HdmiDisplayInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::Core::HdmiDisplayMode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Display.h b/10.0.15042.0/winrt/Windows.Graphics.Display.h new file mode 100644 index 000000000..ef69d3545 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Display.h @@ -0,0 +1,1628 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Display.3.h" +#include "Windows.Graphics.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Graphics::Display { + +template DisplayPropertiesEventHandler::DisplayPropertiesEventHandler(L lambda) : + DisplayPropertiesEventHandler(impl::make_delegate, DisplayPropertiesEventHandler>(std::forward(lambda))) +{} + +template DisplayPropertiesEventHandler::DisplayPropertiesEventHandler(F * function) : + DisplayPropertiesEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DisplayPropertiesEventHandler::DisplayPropertiesEventHandler(O * object, M method) : + DisplayPropertiesEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DisplayPropertiesEventHandler::operator()(const Windows::Foundation::IInspectable & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOverrideActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOverrideActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrightnessLevel(double * level) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *level = detach_abi(this->shim().BrightnessLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBrightnessLevel(double brightnessLevel, Windows::Graphics::Display::DisplayBrightnessOverrideOptions options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBrightnessLevel(brightnessLevel, options); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBrightnessScenario(Windows::Graphics::Display::DisplayBrightnessScenario scenario, Windows::Graphics::Display::DisplayBrightnessOverrideOptions options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBrightnessScenario(scenario, options); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLevelForScenario(Windows::Graphics::Display::DisplayBrightnessScenario scenario, double * brightnessLevel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *brightnessLevel = detach_abi(this->shim().GetLevelForScenario(scenario)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartOverride() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartOverride(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopOverride() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopOverride(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsSupportedChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsSupportedChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsSupportedChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSupportedChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsOverrideActiveChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsOverrideActiveChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsOverrideActiveChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOverrideActiveChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BrightnessLevelChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BrightnessLevelChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BrightnessLevelChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BrightnessLevelChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefaultForSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefaultForSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveForSystemAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveForSystemAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentOrientation(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NativeOrientation(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NativeOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OrientationChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OrientationChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OrientationChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OrientationChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolutionScale(Windows::Graphics::Display::ResolutionScale * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolutionScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogicalDpi(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogicalDpi()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawDpiX(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawDpiX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawDpiY(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawDpiY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DpiChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DpiChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DpiChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DpiChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StereoEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StereoEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StereoEnabledChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StereoEnabledChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StereoEnabledChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StereoEnabledChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetColorProfileAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetColorProfileAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ColorProfileChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ColorProfileChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ColorProfileChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ColorProfileChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RawPixelsPerViewPixel(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawPixelsPerViewPixel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DiagonalSizeInInches(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DiagonalSizeInInches()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ScreenWidthInRawPixels(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScreenWidthInRawPixels()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScreenHeightInRawPixels(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScreenHeightInRawPixels()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoRotationPreferences()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoRotationPreferences(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DisplayContentsInvalidated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DisplayContentsInvalidated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DisplayContentsInvalidated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayContentsInvalidated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentOrientation(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NativeOrientation(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NativeOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoRotationPreferences()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoRotationPreferences(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OrientationChanged(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OrientationChanged(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OrientationChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OrientationChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResolutionScale(Windows::Graphics::Display::ResolutionScale * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResolutionScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogicalDpi(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogicalDpi()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LogicalDpiChanged(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LogicalDpiChanged(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LogicalDpiChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogicalDpiChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StereoEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StereoEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StereoEnabledChanged(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StereoEnabledChanged(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StereoEnabledChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StereoEnabledChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetColorProfileAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetColorProfileAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ColorProfileChanged(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ColorProfileChanged(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ColorProfileChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ColorProfileChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DisplayContentsInvalidated(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DisplayContentsInvalidated(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DisplayContentsInvalidated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayContentsInvalidated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::Display { + +template Windows::Graphics::Display::DisplayInformation impl_IDisplayInformationStatics::GetForCurrentView() const +{ + Windows::Graphics::Display::DisplayInformation current { nullptr }; + check_hresult(WINRT_SHIM(IDisplayInformationStatics)->abi_GetForCurrentView(put_abi(current))); + return current; +} + +template Windows::Graphics::Display::DisplayOrientations impl_IDisplayInformationStatics::AutoRotationPreferences() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IDisplayInformationStatics)->get_AutoRotationPreferences(&value)); + return value; +} + +template void impl_IDisplayInformationStatics::AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(IDisplayInformationStatics)->put_AutoRotationPreferences(value)); +} + +template event_token impl_IDisplayInformationStatics::DisplayContentsInvalidated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayInformationStatics)->add_DisplayContentsInvalidated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayInformationStatics::DisplayContentsInvalidated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayInformationStatics::remove_DisplayContentsInvalidated, DisplayContentsInvalidated(handler)); +} + +template void impl_IDisplayInformationStatics::DisplayContentsInvalidated(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayInformationStatics)->remove_DisplayContentsInvalidated(token)); +} + +template Windows::Graphics::Display::DisplayOrientations impl_IDisplayInformation::CurrentOrientation() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->get_CurrentOrientation(&value)); + return value; +} + +template Windows::Graphics::Display::DisplayOrientations impl_IDisplayInformation::NativeOrientation() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->get_NativeOrientation(&value)); + return value; +} + +template event_token impl_IDisplayInformation::OrientationChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->add_OrientationChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayInformation::OrientationChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayInformation::remove_OrientationChanged, OrientationChanged(handler)); +} + +template void impl_IDisplayInformation::OrientationChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayInformation)->remove_OrientationChanged(token)); +} + +template Windows::Graphics::Display::ResolutionScale impl_IDisplayInformation::ResolutionScale() const +{ + Windows::Graphics::Display::ResolutionScale value {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->get_ResolutionScale(&value)); + return value; +} + +template float impl_IDisplayInformation::LogicalDpi() const +{ + float value {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->get_LogicalDpi(&value)); + return value; +} + +template float impl_IDisplayInformation::RawDpiX() const +{ + float value {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->get_RawDpiX(&value)); + return value; +} + +template float impl_IDisplayInformation::RawDpiY() const +{ + float value {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->get_RawDpiY(&value)); + return value; +} + +template event_token impl_IDisplayInformation::DpiChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->add_DpiChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayInformation::DpiChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayInformation::remove_DpiChanged, DpiChanged(handler)); +} + +template void impl_IDisplayInformation::DpiChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayInformation)->remove_DpiChanged(token)); +} + +template bool impl_IDisplayInformation::StereoEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->get_StereoEnabled(&value)); + return value; +} + +template event_token impl_IDisplayInformation::StereoEnabledChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->add_StereoEnabledChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayInformation::StereoEnabledChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayInformation::remove_StereoEnabledChanged, StereoEnabledChanged(handler)); +} + +template void impl_IDisplayInformation::StereoEnabledChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayInformation)->remove_StereoEnabledChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IDisplayInformation::GetColorProfileAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IDisplayInformation)->abi_GetColorProfileAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template event_token impl_IDisplayInformation::ColorProfileChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayInformation)->add_ColorProfileChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayInformation::ColorProfileChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayInformation::remove_ColorProfileChanged, ColorProfileChanged(handler)); +} + +template void impl_IDisplayInformation::ColorProfileChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayInformation)->remove_ColorProfileChanged(token)); +} + +template double impl_IDisplayInformation2::RawPixelsPerViewPixel() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDisplayInformation2)->get_RawPixelsPerViewPixel(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IDisplayInformation3::DiagonalSizeInInches() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IDisplayInformation3)->get_DiagonalSizeInInches(put_abi(value))); + return value; +} + +template uint32_t impl_IDisplayInformation4::ScreenWidthInRawPixels() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDisplayInformation4)->get_ScreenWidthInRawPixels(&value)); + return value; +} + +template uint32_t impl_IDisplayInformation4::ScreenHeightInRawPixels() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDisplayInformation4)->get_ScreenHeightInRawPixels(&value)); + return value; +} + +template Windows::Graphics::Display::DisplayOrientations impl_IDisplayPropertiesStatics::CurrentOrientation() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->get_CurrentOrientation(&value)); + return value; +} + +template Windows::Graphics::Display::DisplayOrientations impl_IDisplayPropertiesStatics::NativeOrientation() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->get_NativeOrientation(&value)); + return value; +} + +template Windows::Graphics::Display::DisplayOrientations impl_IDisplayPropertiesStatics::AutoRotationPreferences() const +{ + Windows::Graphics::Display::DisplayOrientations value {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->get_AutoRotationPreferences(&value)); + return value; +} + +template void impl_IDisplayPropertiesStatics::AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations value) const +{ + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->put_AutoRotationPreferences(value)); +} + +template event_token impl_IDisplayPropertiesStatics::OrientationChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->add_OrientationChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayPropertiesStatics::OrientationChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_OrientationChanged, OrientationChanged(handler)); +} + +template void impl_IDisplayPropertiesStatics::OrientationChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->remove_OrientationChanged(token)); +} + +template Windows::Graphics::Display::ResolutionScale impl_IDisplayPropertiesStatics::ResolutionScale() const +{ + Windows::Graphics::Display::ResolutionScale value {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->get_ResolutionScale(&value)); + return value; +} + +template float impl_IDisplayPropertiesStatics::LogicalDpi() const +{ + float value {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->get_LogicalDpi(&value)); + return value; +} + +template event_token impl_IDisplayPropertiesStatics::LogicalDpiChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->add_LogicalDpiChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayPropertiesStatics::LogicalDpiChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_LogicalDpiChanged, LogicalDpiChanged(handler)); +} + +template void impl_IDisplayPropertiesStatics::LogicalDpiChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->remove_LogicalDpiChanged(token)); +} + +template bool impl_IDisplayPropertiesStatics::StereoEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->get_StereoEnabled(&value)); + return value; +} + +template event_token impl_IDisplayPropertiesStatics::StereoEnabledChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->add_StereoEnabledChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayPropertiesStatics::StereoEnabledChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_StereoEnabledChanged, StereoEnabledChanged(handler)); +} + +template void impl_IDisplayPropertiesStatics::StereoEnabledChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->remove_StereoEnabledChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IDisplayPropertiesStatics::GetColorProfileAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->abi_GetColorProfileAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template event_token impl_IDisplayPropertiesStatics::ColorProfileChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->add_ColorProfileChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayPropertiesStatics::ColorProfileChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_ColorProfileChanged, ColorProfileChanged(handler)); +} + +template void impl_IDisplayPropertiesStatics::ColorProfileChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->remove_ColorProfileChanged(token)); +} + +template event_token impl_IDisplayPropertiesStatics::DisplayContentsInvalidated(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->add_DisplayContentsInvalidated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDisplayPropertiesStatics::DisplayContentsInvalidated(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_DisplayContentsInvalidated, DisplayContentsInvalidated(handler)); +} + +template void impl_IDisplayPropertiesStatics::DisplayContentsInvalidated(event_token token) const +{ + check_hresult(WINRT_SHIM(IDisplayPropertiesStatics)->remove_DisplayContentsInvalidated(token)); +} + +template Windows::Graphics::Display::BrightnessOverride impl_IBrightnessOverrideStatics::GetDefaultForSystem() const +{ + Windows::Graphics::Display::BrightnessOverride value { nullptr }; + check_hresult(WINRT_SHIM(IBrightnessOverrideStatics)->abi_GetDefaultForSystem(put_abi(value))); + return value; +} + +template Windows::Graphics::Display::BrightnessOverride impl_IBrightnessOverrideStatics::GetForCurrentView() const +{ + Windows::Graphics::Display::BrightnessOverride value { nullptr }; + check_hresult(WINRT_SHIM(IBrightnessOverrideStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBrightnessOverrideStatics::SaveForSystemAsync(const Windows::Graphics::Display::BrightnessOverride & value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBrightnessOverrideStatics)->abi_SaveForSystemAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template bool impl_IBrightnessOverride::IsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBrightnessOverride)->get_IsSupported(&value)); + return value; +} + +template bool impl_IBrightnessOverride::IsOverrideActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBrightnessOverride)->get_IsOverrideActive(&value)); + return value; +} + +template double impl_IBrightnessOverride::BrightnessLevel() const +{ + double level {}; + check_hresult(WINRT_SHIM(IBrightnessOverride)->get_BrightnessLevel(&level)); + return level; +} + +template void impl_IBrightnessOverride::SetBrightnessLevel(double brightnessLevel, Windows::Graphics::Display::DisplayBrightnessOverrideOptions options) const +{ + check_hresult(WINRT_SHIM(IBrightnessOverride)->abi_SetBrightnessLevel(brightnessLevel, options)); +} + +template void impl_IBrightnessOverride::SetBrightnessScenario(Windows::Graphics::Display::DisplayBrightnessScenario scenario, Windows::Graphics::Display::DisplayBrightnessOverrideOptions options) const +{ + check_hresult(WINRT_SHIM(IBrightnessOverride)->abi_SetBrightnessScenario(scenario, options)); +} + +template double impl_IBrightnessOverride::GetLevelForScenario(Windows::Graphics::Display::DisplayBrightnessScenario scenario) const +{ + double brightnessLevel {}; + check_hresult(WINRT_SHIM(IBrightnessOverride)->abi_GetLevelForScenario(scenario, &brightnessLevel)); + return brightnessLevel; +} + +template void impl_IBrightnessOverride::StartOverride() const +{ + check_hresult(WINRT_SHIM(IBrightnessOverride)->abi_StartOverride()); +} + +template void impl_IBrightnessOverride::StopOverride() const +{ + check_hresult(WINRT_SHIM(IBrightnessOverride)->abi_StopOverride()); +} + +template event_token impl_IBrightnessOverride::IsSupportedChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBrightnessOverride)->add_IsSupportedChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBrightnessOverride::IsSupportedChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IBrightnessOverride::remove_IsSupportedChanged, IsSupportedChanged(handler)); +} + +template void impl_IBrightnessOverride::IsSupportedChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBrightnessOverride)->remove_IsSupportedChanged(token)); +} + +template event_token impl_IBrightnessOverride::IsOverrideActiveChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBrightnessOverride)->add_IsOverrideActiveChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBrightnessOverride::IsOverrideActiveChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IBrightnessOverride::remove_IsOverrideActiveChanged, IsOverrideActiveChanged(handler)); +} + +template void impl_IBrightnessOverride::IsOverrideActiveChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBrightnessOverride)->remove_IsOverrideActiveChanged(token)); +} + +template event_token impl_IBrightnessOverride::BrightnessLevelChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBrightnessOverride)->add_BrightnessLevelChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBrightnessOverride::BrightnessLevelChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Display::IBrightnessOverride::remove_BrightnessLevelChanged, BrightnessLevelChanged(handler)); +} + +template void impl_IBrightnessOverride::BrightnessLevelChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBrightnessOverride)->remove_BrightnessLevelChanged(token)); +} + +inline Windows::Graphics::Display::BrightnessOverride BrightnessOverride::GetDefaultForSystem() +{ + return get_activation_factory().GetDefaultForSystem(); +} + +inline Windows::Graphics::Display::BrightnessOverride BrightnessOverride::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::Foundation::IAsyncOperation BrightnessOverride::SaveForSystemAsync(const Windows::Graphics::Display::BrightnessOverride & value) +{ + return get_activation_factory().SaveForSystemAsync(value); +} + +inline Windows::Graphics::Display::DisplayInformation DisplayInformation::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::Graphics::Display::DisplayOrientations DisplayInformation::AutoRotationPreferences() +{ + return get_activation_factory().AutoRotationPreferences(); +} + +inline void DisplayInformation::AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations value) +{ + get_activation_factory().AutoRotationPreferences(value); +} + +inline event_token DisplayInformation::DisplayContentsInvalidated(const Windows::Foundation::TypedEventHandler & handler) +{ + return get_activation_factory().DisplayContentsInvalidated(handler); +} + +inline factory_event_revoker DisplayInformation::DisplayContentsInvalidated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Graphics::Display::IDisplayInformationStatics::remove_DisplayContentsInvalidated, factory.DisplayContentsInvalidated(handler) }; +} + +inline void DisplayInformation::DisplayContentsInvalidated(event_token token) +{ + get_activation_factory().DisplayContentsInvalidated(token); +} + +inline Windows::Graphics::Display::DisplayOrientations DisplayProperties::CurrentOrientation() +{ + return get_activation_factory().CurrentOrientation(); +} + +inline Windows::Graphics::Display::DisplayOrientations DisplayProperties::NativeOrientation() +{ + return get_activation_factory().NativeOrientation(); +} + +inline Windows::Graphics::Display::DisplayOrientations DisplayProperties::AutoRotationPreferences() +{ + return get_activation_factory().AutoRotationPreferences(); +} + +inline void DisplayProperties::AutoRotationPreferences(Windows::Graphics::Display::DisplayOrientations value) +{ + get_activation_factory().AutoRotationPreferences(value); +} + +inline event_token DisplayProperties::OrientationChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + return get_activation_factory().OrientationChanged(handler); +} + +inline factory_event_revoker DisplayProperties::OrientationChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_OrientationChanged, factory.OrientationChanged(handler) }; +} + +inline void DisplayProperties::OrientationChanged(event_token token) +{ + get_activation_factory().OrientationChanged(token); +} + +inline Windows::Graphics::Display::ResolutionScale DisplayProperties::ResolutionScale() +{ + return get_activation_factory().ResolutionScale(); +} + +inline float DisplayProperties::LogicalDpi() +{ + return get_activation_factory().LogicalDpi(); +} + +inline event_token DisplayProperties::LogicalDpiChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + return get_activation_factory().LogicalDpiChanged(handler); +} + +inline factory_event_revoker DisplayProperties::LogicalDpiChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_LogicalDpiChanged, factory.LogicalDpiChanged(handler) }; +} + +inline void DisplayProperties::LogicalDpiChanged(event_token token) +{ + get_activation_factory().LogicalDpiChanged(token); +} + +inline bool DisplayProperties::StereoEnabled() +{ + return get_activation_factory().StereoEnabled(); +} + +inline event_token DisplayProperties::StereoEnabledChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + return get_activation_factory().StereoEnabledChanged(handler); +} + +inline factory_event_revoker DisplayProperties::StereoEnabledChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_StereoEnabledChanged, factory.StereoEnabledChanged(handler) }; +} + +inline void DisplayProperties::StereoEnabledChanged(event_token token) +{ + get_activation_factory().StereoEnabledChanged(token); +} + +inline Windows::Foundation::IAsyncOperation DisplayProperties::GetColorProfileAsync() +{ + return get_activation_factory().GetColorProfileAsync(); +} + +inline event_token DisplayProperties::ColorProfileChanged(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + return get_activation_factory().ColorProfileChanged(handler); +} + +inline factory_event_revoker DisplayProperties::ColorProfileChanged(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_ColorProfileChanged, factory.ColorProfileChanged(handler) }; +} + +inline void DisplayProperties::ColorProfileChanged(event_token token) +{ + get_activation_factory().ColorProfileChanged(token); +} + +inline event_token DisplayProperties::DisplayContentsInvalidated(const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + return get_activation_factory().DisplayContentsInvalidated(handler); +} + +inline factory_event_revoker DisplayProperties::DisplayContentsInvalidated(auto_revoke_t, const Windows::Graphics::Display::DisplayPropertiesEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Graphics::Display::IDisplayPropertiesStatics::remove_DisplayContentsInvalidated, factory.DisplayContentsInvalidated(handler) }; +} + +inline void DisplayProperties::DisplayContentsInvalidated(event_token token) +{ + get_activation_factory().DisplayContentsInvalidated(token); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IBrightnessOverride & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IBrightnessOverrideStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IDisplayInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IDisplayInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IDisplayInformation3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IDisplayInformation4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IDisplayInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::IDisplayPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::BrightnessOverride & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Display::DisplayInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Effects.h b/10.0.15042.0/winrt/Windows.Graphics.Effects.h new file mode 100644 index 000000000..2703e81e6 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Effects.h @@ -0,0 +1,91 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.Effects.3.h" +#include "Windows.Graphics.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out name) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *name = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *name = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in name) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&name)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +} + +namespace Windows::Graphics::Effects { + +template hstring impl_IGraphicsEffect::Name() const +{ + hstring name; + check_hresult(WINRT_SHIM(IGraphicsEffect)->get_Name(put_abi(name))); + return name; +} + +template void impl_IGraphicsEffect::Name(hstring_view name) const +{ + check_hresult(WINRT_SHIM(IGraphicsEffect)->put_Name(get_abi(name))); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Effects::IGraphicsEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Effects::IGraphicsEffectSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Holographic.h b/10.0.15042.0/winrt/Windows.Graphics.Holographic.h new file mode 100644 index 000000000..427a1ce6a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Holographic.h @@ -0,0 +1,1646 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "internal/Windows.Perception.Spatial.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Perception.3.h" +#include "internal/Windows.Graphics.Holographic.3.h" +#include "Windows.Graphics.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RenderTargetSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RenderTargetSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportScaleFactor(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportScaleFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewportScaleFactor(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewportScaleFactor(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStereo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStereo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetNearPlaneDistance(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetNearPlaneDistance(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFarPlaneDistance(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFarPlaneDistance(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LeftViewportParameters(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LeftViewportParameters()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightViewportParameters(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RightViewportParameters()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Display(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Display()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HolographicCamera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HolographicCamera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Viewport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Viewport()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetViewTransform(impl::abi_arg_in coordinateSystem, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetViewTransform(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProjectionTransform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProjectionTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetCullingFrustum(impl::abi_arg_in coordinateSystem, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetCullingFrustum(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetVisibleFrustum(impl::abi_arg_in coordinateSystem, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetVisibleFrustum(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NearPlaneDistance(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NearPlaneDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FarPlaneDistance(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FarPlaneDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetFocusPoint(impl::abi_arg_in coordinateSystem, impl::abi_arg_in position) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFocusPoint(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&position)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFocusPointWithNormal(impl::abi_arg_in coordinateSystem, impl::abi_arg_in position, impl::abi_arg_in normal) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFocusPoint(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&position), *reinterpret_cast(&normal)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFocusPointWithNormalLinearVelocity(impl::abi_arg_in coordinateSystem, impl::abi_arg_in position, impl::abi_arg_in normal, impl::abi_arg_in linearVelocity) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFocusPoint(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&position), *reinterpret_cast(&normal), *reinterpret_cast(&linearVelocity)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direct3D11Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direct3D11Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direct3D11BackBuffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direct3D11BackBuffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReprojectionMode(Windows::Graphics::Holographic::HolographicReprojectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReprojectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReprojectionMode(Windows::Graphics::Holographic::HolographicReprojectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReprojectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CommitDirect3D11DepthBuffer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommitDirect3D11DepthBuffer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HiddenAreaMesh(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().HiddenAreaMesh()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VisibleAreaMesh(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().VisibleAreaMesh()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxViewportSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxViewportSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStereo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStereo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOpaque(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpaque()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdapterId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdapterId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpatialLocator(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpatialLocator()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddedCameras(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddedCameras()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovedCameras(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedCameras()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRenderingParameters(impl::abi_arg_in cameraPose, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRenderingParameters(*reinterpret_cast(&cameraPose))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentPrediction(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentPrediction()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateCurrentPrediction() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateCurrentPrediction(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PresentUsingCurrentPrediction(Windows::Graphics::Holographic::HolographicFramePresentResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PresentUsingCurrentPrediction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PresentUsingCurrentPredictionWithBehavior(Windows::Graphics::Holographic::HolographicFramePresentWaitBehavior waitBehavior, Windows::Graphics::Holographic::HolographicFramePresentResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().PresentUsingCurrentPrediction(waitBehavior)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WaitForFrameToFinish() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WaitForFrameToFinish(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CameraPoses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraPoses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrimaryAdapterId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryAdapterId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDirect3D11Device(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDirect3D11Device(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraAdded(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().CameraAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraAdded(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraAdded(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraRemoved(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().CameraRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraRemoved(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraRemoved(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateNextFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateNextFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Camera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Camera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Camera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Camera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateForCoreWindow(impl::abi_arg_in window, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateForCoreWindow(*reinterpret_cast(&window))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAvailable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsAvailableChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsAvailableChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsAvailableChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAvailableChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::Holographic { + +template Windows::Foundation::Size impl_IHolographicCamera::RenderTargetSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IHolographicCamera)->get_RenderTargetSize(put_abi(value))); + return value; +} + +template double impl_IHolographicCamera::ViewportScaleFactor() const +{ + double value {}; + check_hresult(WINRT_SHIM(IHolographicCamera)->get_ViewportScaleFactor(&value)); + return value; +} + +template void impl_IHolographicCamera::ViewportScaleFactor(double value) const +{ + check_hresult(WINRT_SHIM(IHolographicCamera)->put_ViewportScaleFactor(value)); +} + +template bool impl_IHolographicCamera::IsStereo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHolographicCamera)->get_IsStereo(&value)); + return value; +} + +template uint32_t impl_IHolographicCamera::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHolographicCamera)->get_Id(&value)); + return value; +} + +template void impl_IHolographicCamera::SetNearPlaneDistance(double value) const +{ + check_hresult(WINRT_SHIM(IHolographicCamera)->abi_SetNearPlaneDistance(value)); +} + +template void impl_IHolographicCamera::SetFarPlaneDistance(double value) const +{ + check_hresult(WINRT_SHIM(IHolographicCamera)->abi_SetFarPlaneDistance(value)); +} + +template Windows::Graphics::Holographic::HolographicCamera impl_IHolographicSpaceCameraAddedEventArgs::Camera() const +{ + Windows::Graphics::Holographic::HolographicCamera value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicSpaceCameraAddedEventArgs)->get_Camera(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IHolographicSpaceCameraAddedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicSpaceCameraAddedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicCamera impl_IHolographicSpaceCameraRemovedEventArgs::Camera() const +{ + Windows::Graphics::Holographic::HolographicCamera value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicSpaceCameraRemovedEventArgs)->get_Camera(put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicAdapterId impl_IHolographicSpace::PrimaryAdapterId() const +{ + Windows::Graphics::Holographic::HolographicAdapterId value {}; + check_hresult(WINRT_SHIM(IHolographicSpace)->get_PrimaryAdapterId(put_abi(value))); + return value; +} + +template void impl_IHolographicSpace::SetDirect3D11Device(const Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice & value) const +{ + check_hresult(WINRT_SHIM(IHolographicSpace)->abi_SetDirect3D11Device(get_abi(value))); +} + +template event_token impl_IHolographicSpace::CameraAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IHolographicSpace)->add_CameraAdded(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IHolographicSpace::CameraAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Holographic::IHolographicSpace::remove_CameraAdded, CameraAdded(handler)); +} + +template void impl_IHolographicSpace::CameraAdded(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IHolographicSpace)->remove_CameraAdded(cookie)); +} + +template event_token impl_IHolographicSpace::CameraRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IHolographicSpace)->add_CameraRemoved(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IHolographicSpace::CameraRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Holographic::IHolographicSpace::remove_CameraRemoved, CameraRemoved(handler)); +} + +template void impl_IHolographicSpace::CameraRemoved(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IHolographicSpace)->remove_CameraRemoved(cookie)); +} + +template Windows::Graphics::Holographic::HolographicFrame impl_IHolographicSpace::CreateNextFrame() const +{ + Windows::Graphics::Holographic::HolographicFrame value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicSpace)->abi_CreateNextFrame(put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicSpace impl_IHolographicSpaceStatics::CreateForCoreWindow(const Windows::UI::Core::CoreWindow & window) const +{ + Windows::Graphics::Holographic::HolographicSpace value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicSpaceStatics)->abi_CreateForCoreWindow(get_abi(window), put_abi(value))); + return value; +} + +template bool impl_IHolographicSpaceStatics2::IsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHolographicSpaceStatics2)->get_IsSupported(&value)); + return value; +} + +template bool impl_IHolographicSpaceStatics2::IsAvailable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHolographicSpaceStatics2)->get_IsAvailable(&value)); + return value; +} + +template event_token impl_IHolographicSpaceStatics2::IsAvailableChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHolographicSpaceStatics2)->add_IsAvailableChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IHolographicSpaceStatics2::IsAvailableChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Holographic::IHolographicSpaceStatics2::remove_IsAvailableChanged, IsAvailableChanged(handler)); +} + +template void impl_IHolographicSpaceStatics2::IsAvailableChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IHolographicSpaceStatics2)->remove_IsAvailableChanged(token)); +} + +template Windows::Graphics::Holographic::HolographicCamera impl_IHolographicCameraPose::HolographicCamera() const +{ + Windows::Graphics::Holographic::HolographicCamera value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->get_HolographicCamera(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IHolographicCameraPose::Viewport() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->get_Viewport(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IHolographicCameraPose::TryGetViewTransform(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->abi_TryGetViewTransform(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicStereoTransform impl_IHolographicCameraPose::ProjectionTransform() const +{ + Windows::Graphics::Holographic::HolographicStereoTransform value {}; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->get_ProjectionTransform(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IHolographicCameraPose::TryGetCullingFrustum(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->abi_TryGetCullingFrustum(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IHolographicCameraPose::TryGetVisibleFrustum(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->abi_TryGetVisibleFrustum(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template double impl_IHolographicCameraPose::NearPlaneDistance() const +{ + double value {}; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->get_NearPlaneDistance(&value)); + return value; +} + +template double impl_IHolographicCameraPose::FarPlaneDistance() const +{ + double value {}; + check_hresult(WINRT_SHIM(IHolographicCameraPose)->get_FarPlaneDistance(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHolographicFramePrediction::CameraPoses() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHolographicFramePrediction)->get_CameraPoses(put_abi(value))); + return value; +} + +template Windows::Perception::PerceptionTimestamp impl_IHolographicFramePrediction::Timestamp() const +{ + Windows::Perception::PerceptionTimestamp value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicFramePrediction)->get_Timestamp(put_abi(value))); + return value; +} + +template void impl_IHolographicCameraRenderingParameters::SetFocusPoint(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Foundation::Numerics::float3 & position) const +{ + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters)->abi_SetFocusPoint(get_abi(coordinateSystem), get_abi(position))); +} + +template void impl_IHolographicCameraRenderingParameters::SetFocusPoint(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Foundation::Numerics::float3 & position, const Windows::Foundation::Numerics::float3 & normal) const +{ + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters)->abi_SetFocusPointWithNormal(get_abi(coordinateSystem), get_abi(position), get_abi(normal))); +} + +template void impl_IHolographicCameraRenderingParameters::SetFocusPoint(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Foundation::Numerics::float3 & position, const Windows::Foundation::Numerics::float3 & normal, const Windows::Foundation::Numerics::float3 & linearVelocity) const +{ + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters)->abi_SetFocusPointWithNormalLinearVelocity(get_abi(coordinateSystem), get_abi(position), get_abi(normal), get_abi(linearVelocity))); +} + +template Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice impl_IHolographicCameraRenderingParameters::Direct3D11Device() const +{ + Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice value; + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters)->get_Direct3D11Device(put_abi(value))); + return value; +} + +template Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface impl_IHolographicCameraRenderingParameters::Direct3D11BackBuffer() const +{ + Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface value; + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters)->get_Direct3D11BackBuffer(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHolographicFrame::AddedCameras() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHolographicFrame)->get_AddedCameras(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHolographicFrame::RemovedCameras() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHolographicFrame)->get_RemovedCameras(put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicCameraRenderingParameters impl_IHolographicFrame::GetRenderingParameters(const Windows::Graphics::Holographic::HolographicCameraPose & cameraPose) const +{ + Windows::Graphics::Holographic::HolographicCameraRenderingParameters value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicFrame)->abi_GetRenderingParameters(get_abi(cameraPose), put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IHolographicFrame::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IHolographicFrame)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicFramePrediction impl_IHolographicFrame::CurrentPrediction() const +{ + Windows::Graphics::Holographic::HolographicFramePrediction value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicFrame)->get_CurrentPrediction(put_abi(value))); + return value; +} + +template void impl_IHolographicFrame::UpdateCurrentPrediction() const +{ + check_hresult(WINRT_SHIM(IHolographicFrame)->abi_UpdateCurrentPrediction()); +} + +template Windows::Graphics::Holographic::HolographicFramePresentResult impl_IHolographicFrame::PresentUsingCurrentPrediction() const +{ + Windows::Graphics::Holographic::HolographicFramePresentResult result {}; + check_hresult(WINRT_SHIM(IHolographicFrame)->abi_PresentUsingCurrentPrediction(&result)); + return result; +} + +template Windows::Graphics::Holographic::HolographicFramePresentResult impl_IHolographicFrame::PresentUsingCurrentPrediction(Windows::Graphics::Holographic::HolographicFramePresentWaitBehavior waitBehavior) const +{ + Windows::Graphics::Holographic::HolographicFramePresentResult result {}; + check_hresult(WINRT_SHIM(IHolographicFrame)->abi_PresentUsingCurrentPredictionWithBehavior(waitBehavior, &result)); + return result; +} + +template void impl_IHolographicFrame::WaitForFrameToFinish() const +{ + check_hresult(WINRT_SHIM(IHolographicFrame)->abi_WaitForFrameToFinish()); +} + +template Windows::Graphics::Holographic::HolographicReprojectionMode impl_IHolographicCameraRenderingParameters2::ReprojectionMode() const +{ + Windows::Graphics::Holographic::HolographicReprojectionMode value {}; + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters2)->get_ReprojectionMode(&value)); + return value; +} + +template void impl_IHolographicCameraRenderingParameters2::ReprojectionMode(Windows::Graphics::Holographic::HolographicReprojectionMode value) const +{ + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters2)->put_ReprojectionMode(value)); +} + +template void impl_IHolographicCameraRenderingParameters2::CommitDirect3D11DepthBuffer(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & value) const +{ + check_hresult(WINRT_SHIM(IHolographicCameraRenderingParameters2)->abi_CommitDirect3D11DepthBuffer(get_abi(value))); +} + +template com_array impl_IHolographicCameraViewportParameters::HiddenAreaMesh() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(IHolographicCameraViewportParameters)->get_HiddenAreaMesh(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template com_array impl_IHolographicCameraViewportParameters::VisibleAreaMesh() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(IHolographicCameraViewportParameters)->get_VisibleAreaMesh(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicCameraViewportParameters impl_IHolographicCamera2::LeftViewportParameters() const +{ + Windows::Graphics::Holographic::HolographicCameraViewportParameters result { nullptr }; + check_hresult(WINRT_SHIM(IHolographicCamera2)->get_LeftViewportParameters(put_abi(result))); + return result; +} + +template Windows::Graphics::Holographic::HolographicCameraViewportParameters impl_IHolographicCamera2::RightViewportParameters() const +{ + Windows::Graphics::Holographic::HolographicCameraViewportParameters result { nullptr }; + check_hresult(WINRT_SHIM(IHolographicCamera2)->get_RightViewportParameters(put_abi(result))); + return result; +} + +template Windows::Graphics::Holographic::HolographicDisplay impl_IHolographicCamera2::Display() const +{ + Windows::Graphics::Holographic::HolographicDisplay result { nullptr }; + check_hresult(WINRT_SHIM(IHolographicCamera2)->get_Display(put_abi(result))); + return result; +} + +template hstring impl_IHolographicDisplay::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHolographicDisplay)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_IHolographicDisplay::MaxViewportSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IHolographicDisplay)->get_MaxViewportSize(put_abi(value))); + return value; +} + +template bool impl_IHolographicDisplay::IsStereo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHolographicDisplay)->get_IsStereo(&value)); + return value; +} + +template bool impl_IHolographicDisplay::IsOpaque() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHolographicDisplay)->get_IsOpaque(&value)); + return value; +} + +template Windows::Graphics::Holographic::HolographicAdapterId impl_IHolographicDisplay::AdapterId() const +{ + Windows::Graphics::Holographic::HolographicAdapterId value {}; + check_hresult(WINRT_SHIM(IHolographicDisplay)->get_AdapterId(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialLocator impl_IHolographicDisplay::SpatialLocator() const +{ + Windows::Perception::Spatial::SpatialLocator value { nullptr }; + check_hresult(WINRT_SHIM(IHolographicDisplay)->get_SpatialLocator(put_abi(value))); + return value; +} + +template Windows::Graphics::Holographic::HolographicDisplay impl_IHolographicDisplayStatics::GetDefault() const +{ + Windows::Graphics::Holographic::HolographicDisplay result { nullptr }; + check_hresult(WINRT_SHIM(IHolographicDisplayStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +inline Windows::Graphics::Holographic::HolographicDisplay HolographicDisplay::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Graphics::Holographic::HolographicSpace HolographicSpace::CreateForCoreWindow(const Windows::UI::Core::CoreWindow & window) +{ + return get_activation_factory().CreateForCoreWindow(window); +} + +inline bool HolographicSpace::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline bool HolographicSpace::IsAvailable() +{ + return get_activation_factory().IsAvailable(); +} + +inline event_token HolographicSpace::IsAvailableChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().IsAvailableChanged(handler); +} + +inline factory_event_revoker HolographicSpace::IsAvailableChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Graphics::Holographic::IHolographicSpaceStatics2::remove_IsAvailableChanged, factory.IsAvailableChanged(handler) }; +} + +inline void HolographicSpace::IsAvailableChanged(event_token token) +{ + get_activation_factory().IsAvailableChanged(token); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicCamera & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicCamera2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicCameraPose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicCameraRenderingParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicCameraRenderingParameters2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicCameraViewportParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicDisplay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicDisplayStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicFramePrediction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicSpace & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicSpaceCameraAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicSpaceCameraRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicSpaceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::IHolographicSpaceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicCamera & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicCameraPose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicCameraRenderingParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicCameraViewportParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicDisplay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicFramePrediction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicSpace & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicSpaceCameraAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Holographic::HolographicSpaceCameraRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Imaging.h b/10.0.15042.0/winrt/Windows.Graphics.Imaging.h new file mode 100644 index 000000000..ef9bc297e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Imaging.h @@ -0,0 +1,2719 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "Windows.Graphics.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPlaneCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPlaneCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPlaneDescription(int32_t index, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPlaneDescription(index)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CodecId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CodecId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileExtensions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileExtensions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MimeTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MimeTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BitmapContainerProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapContainerProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecoderInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecoderInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPreviewAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetPreviewAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFrameAsync(uint32_t frameIndex, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetFrameAsync(frameIndex)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BmpDecoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BmpDecoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JpegDecoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JpegDecoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PngDecoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PngDecoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiffDecoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiffDecoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GifDecoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GifDecoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JpegXRDecoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JpegXRDecoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IcoDecoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IcoDecoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDecoderInformationEnumerator(impl::abi_arg_out> decoderInformationEnumerator) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *decoderInformationEnumerator = detach_abi(this->shim().GetDecoderInformationEnumerator()); + return S_OK; + } + catch (...) + { + *decoderInformationEnumerator = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_in stream, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CreateAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithIdAsync(GUID decoderId, impl::abi_arg_in stream, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CreateAsync(decoderId, *reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncoderInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncoderInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapContainerProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapContainerProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsThumbnailGenerated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsThumbnailGenerated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsThumbnailGenerated(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsThumbnailGenerated(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GeneratedThumbnailWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeneratedThumbnailWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GeneratedThumbnailWidth(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GeneratedThumbnailWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GeneratedThumbnailHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeneratedThumbnailHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GeneratedThumbnailHeight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GeneratedThumbnailHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapTransform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapTransform()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPixelData(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode, uint32_t width, uint32_t height, double dpiX, double dpiY, uint32_t __pixelsSize, impl::abi_arg_in * pixels) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPixelData(pixelFormat, alphaMode, width, height, dpiX, dpiY, array_view(pixels, pixels + __pixelsSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GoToNextFrameAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GoToNextFrameAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GoToNextFrameWithEncodingOptionsAsync(impl::abi_arg_in>> encodingOptions, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GoToNextFrameAsync(*reinterpret_cast> *>(&encodingOptions))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FlushAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FlushAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BmpEncoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BmpEncoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JpegEncoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JpegEncoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PngEncoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PngEncoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiffEncoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiffEncoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GifEncoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GifEncoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JpegXREncoderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JpegXREncoderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEncoderInformationEnumerator(impl::abi_arg_out> encoderInformationEnumerator) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *encoderInformationEnumerator = detach_abi(this->shim().GetEncoderInformationEnumerator()); + return S_OK; + } + catch (...) + { + *encoderInformationEnumerator = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAsync(GUID encoderId, impl::abi_arg_in stream, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CreateAsync(encoderId, *reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithEncodingOptionsAsync(GUID encoderId, impl::abi_arg_in stream, impl::abi_arg_in>> encodingOptions, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CreateAsync(encoderId, *reinterpret_cast(&stream), *reinterpret_cast> *>(&encodingOptions))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateForTranscodingAsync(impl::abi_arg_in stream, impl::abi_arg_in bitmapDecoder, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CreateForTranscodingAsync(*reinterpret_cast(&stream), *reinterpret_cast(&bitmapDecoder))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateForInPlacePropertyEncodingAsync(impl::abi_arg_in bitmapDecoder, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CreateForInPlacePropertyEncodingAsync(*reinterpret_cast(&bitmapDecoder))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetSoftwareBitmap(impl::abi_arg_in bitmap) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSoftwareBitmap(*reinterpret_cast(&bitmap)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetThumbnailAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetThumbnailAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapPixelFormat(Windows::Graphics::Imaging::BitmapPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapPixelFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapAlphaMode(Windows::Graphics::Imaging::BitmapAlphaMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapAlphaMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DpiX(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DpiX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DpiY(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DpiY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientedPixelWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientedPixelWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientedPixelHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientedPixelHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPixelDataAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetPixelDataAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPixelDataTransformedAsync(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode, impl::abi_arg_in transform, Windows::Graphics::Imaging::ExifOrientationMode exifOrientationMode, Windows::Graphics::Imaging::ColorManagementMode colorManagementMode, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetPixelDataAsync(pixelFormat, alphaMode, *reinterpret_cast(&transform), exifOrientationMode, colorManagementMode)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSoftwareBitmapAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSoftwareBitmapAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSoftwareBitmapConvertedAsync(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSoftwareBitmapAsync(pixelFormat, alphaMode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSoftwareBitmapTransformedAsync(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode, impl::abi_arg_in transform, Windows::Graphics::Imaging::ExifOrientationMode exifOrientationMode, Windows::Graphics::Imaging::ColorManagementMode colorManagementMode, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSoftwareBitmapAsync(pixelFormat, alphaMode, *reinterpret_cast(&transform), exifOrientationMode, colorManagementMode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetPropertiesAsync(impl::abi_arg_in>> propertiesToSet, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetPropertiesAsync(*reinterpret_cast> *>(&propertiesToSet))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPropertiesAsync(impl::abi_arg_in> propertiesToRetrieve, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetPropertiesAsync(*reinterpret_cast *>(&propertiesToRetrieve))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ScaledWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaledWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScaledWidth(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScaledWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaledHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaledHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScaledHeight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScaledHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InterpolationMode(Windows::Graphics::Imaging::BitmapInterpolationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterpolationMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InterpolationMode(Windows::Graphics::Imaging::BitmapInterpolationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InterpolationMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Flip(Windows::Graphics::Imaging::BitmapFlip * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flip()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Flip(Windows::Graphics::Imaging::BitmapFlip value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Flip(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rotation(Windows::Graphics::Imaging::BitmapRotation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rotation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Rotation(Windows::Graphics::Imaging::BitmapRotation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rotation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Bounds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bounds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Foundation::PropertyType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in value, Windows::Foundation::PropertyType type, impl::abi_arg_out bitmapTypedValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *bitmapTypedValue = detach_abi(this->shim().Create(*reinterpret_cast(&value), type)); + return S_OK; + } + catch (...) + { + *bitmapTypedValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DetachPixelData(uint32_t * __pixelDataSize, impl::abi_arg_out * pixelData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__pixelDataSize, *pixelData) = detach_abi(this->shim().DetachPixelData()); + return S_OK; + } + catch (...) + { + *__pixelDataSize = 0; + *pixelData = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BitmapPixelFormat(Windows::Graphics::Imaging::BitmapPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapPixelFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitmapAlphaMode(Windows::Graphics::Imaging::BitmapAlphaMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapAlphaMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelWidth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelHeight(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DpiX(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DpiX(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DpiX(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DpiX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DpiY(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DpiY(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DpiY(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DpiY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LockBuffer(Windows::Graphics::Imaging::BitmapBufferAccessMode mode, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LockBuffer(mode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyTo(impl::abi_arg_in bitmap) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyTo(*reinterpret_cast(&bitmap)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyFromBuffer(impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyFromBuffer(*reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyToBuffer(impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyToBuffer(*reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetReadOnlyView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetReadOnlyView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(format, width, height)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAlpha(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAlpha(format, width, height, alpha)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Copy(impl::abi_arg_in source, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Copy(*reinterpret_cast(&source))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Convert(impl::abi_arg_in source, Windows::Graphics::Imaging::BitmapPixelFormat format, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Convert(*reinterpret_cast(&source), format)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertWithAlpha(impl::abi_arg_in source, Windows::Graphics::Imaging::BitmapPixelFormat format, Windows::Graphics::Imaging::BitmapAlphaMode alpha, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Convert(*reinterpret_cast(&source), format, alpha)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCopyFromBuffer(impl::abi_arg_in source, Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateCopyFromBuffer(*reinterpret_cast(&source), format, width, height)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCopyWithAlphaFromBuffer(impl::abi_arg_in source, Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateCopyFromBuffer(*reinterpret_cast(&source), format, width, height, alpha)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCopyFromSurfaceAsync(impl::abi_arg_in surface, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateCopyFromSurfaceAsync(*reinterpret_cast(&surface))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCopyWithAlphaFromSurfaceAsync(impl::abi_arg_in surface, Windows::Graphics::Imaging::BitmapAlphaMode alpha, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateCopyFromSurfaceAsync(*reinterpret_cast(&surface), alpha)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::Imaging { + +template uint32_t impl_IBitmapTransform::ScaledWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapTransform)->get_ScaledWidth(&value)); + return value; +} + +template void impl_IBitmapTransform::ScaledWidth(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBitmapTransform)->put_ScaledWidth(value)); +} + +template uint32_t impl_IBitmapTransform::ScaledHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapTransform)->get_ScaledHeight(&value)); + return value; +} + +template void impl_IBitmapTransform::ScaledHeight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBitmapTransform)->put_ScaledHeight(value)); +} + +template Windows::Graphics::Imaging::BitmapInterpolationMode impl_IBitmapTransform::InterpolationMode() const +{ + Windows::Graphics::Imaging::BitmapInterpolationMode value {}; + check_hresult(WINRT_SHIM(IBitmapTransform)->get_InterpolationMode(&value)); + return value; +} + +template void impl_IBitmapTransform::InterpolationMode(Windows::Graphics::Imaging::BitmapInterpolationMode value) const +{ + check_hresult(WINRT_SHIM(IBitmapTransform)->put_InterpolationMode(value)); +} + +template Windows::Graphics::Imaging::BitmapFlip impl_IBitmapTransform::Flip() const +{ + Windows::Graphics::Imaging::BitmapFlip value {}; + check_hresult(WINRT_SHIM(IBitmapTransform)->get_Flip(&value)); + return value; +} + +template void impl_IBitmapTransform::Flip(Windows::Graphics::Imaging::BitmapFlip value) const +{ + check_hresult(WINRT_SHIM(IBitmapTransform)->put_Flip(value)); +} + +template Windows::Graphics::Imaging::BitmapRotation impl_IBitmapTransform::Rotation() const +{ + Windows::Graphics::Imaging::BitmapRotation value {}; + check_hresult(WINRT_SHIM(IBitmapTransform)->get_Rotation(&value)); + return value; +} + +template void impl_IBitmapTransform::Rotation(Windows::Graphics::Imaging::BitmapRotation value) const +{ + check_hresult(WINRT_SHIM(IBitmapTransform)->put_Rotation(value)); +} + +template Windows::Graphics::Imaging::BitmapBounds impl_IBitmapTransform::Bounds() const +{ + Windows::Graphics::Imaging::BitmapBounds value {}; + check_hresult(WINRT_SHIM(IBitmapTransform)->get_Bounds(put_abi(value))); + return value; +} + +template void impl_IBitmapTransform::Bounds(const Windows::Graphics::Imaging::BitmapBounds & value) const +{ + check_hresult(WINRT_SHIM(IBitmapTransform)->put_Bounds(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IBitmapTypedValue::Value() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IBitmapTypedValue)->get_Value(put_abi(value))); + return value; +} + +template Windows::Foundation::PropertyType impl_IBitmapTypedValue::Type() const +{ + Windows::Foundation::PropertyType value {}; + check_hresult(WINRT_SHIM(IBitmapTypedValue)->get_Type(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapTypedValue impl_IBitmapTypedValueFactory::Create(const Windows::Foundation::IInspectable & value, Windows::Foundation::PropertyType type) const +{ + Windows::Graphics::Imaging::BitmapTypedValue bitmapTypedValue { nullptr }; + check_hresult(WINRT_SHIM(IBitmapTypedValueFactory)->abi_Create(get_abi(value), type, put_abi(bitmapTypedValue))); + return bitmapTypedValue; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapPropertiesView::GetPropertiesAsync(iterable propertiesToRetrieve) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapPropertiesView)->abi_GetPropertiesAsync(get_abi(propertiesToRetrieve), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IBitmapProperties::SetPropertiesAsync(iterable> propertiesToSet) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IBitmapProperties)->abi_SetPropertiesAsync(get_abi(propertiesToSet), put_abi(asyncInfo))); + return asyncInfo; +} + +template com_array impl_IPixelDataProvider::DetachPixelData() const +{ + com_array pixelData {}; + check_hresult(WINRT_SHIM(IPixelDataProvider)->abi_DetachPixelData(impl::put_size_abi(pixelData), put_abi(pixelData))); + return pixelData; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapFrame::GetThumbnailAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapFrame)->abi_GetThumbnailAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Graphics::Imaging::BitmapPropertiesView impl_IBitmapFrame::BitmapProperties() const +{ + Windows::Graphics::Imaging::BitmapPropertiesView value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_BitmapProperties(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::BitmapPixelFormat impl_IBitmapFrame::BitmapPixelFormat() const +{ + Windows::Graphics::Imaging::BitmapPixelFormat value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_BitmapPixelFormat(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapAlphaMode impl_IBitmapFrame::BitmapAlphaMode() const +{ + Windows::Graphics::Imaging::BitmapAlphaMode value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_BitmapAlphaMode(&value)); + return value; +} + +template double impl_IBitmapFrame::DpiX() const +{ + double value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_DpiX(&value)); + return value; +} + +template double impl_IBitmapFrame::DpiY() const +{ + double value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_DpiY(&value)); + return value; +} + +template uint32_t impl_IBitmapFrame::PixelWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_PixelWidth(&value)); + return value; +} + +template uint32_t impl_IBitmapFrame::PixelHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_PixelHeight(&value)); + return value; +} + +template uint32_t impl_IBitmapFrame::OrientedPixelWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_OrientedPixelWidth(&value)); + return value; +} + +template uint32_t impl_IBitmapFrame::OrientedPixelHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapFrame)->get_OrientedPixelHeight(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapFrame::GetPixelDataAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapFrame)->abi_GetPixelDataAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapFrame::GetPixelDataAsync(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode, const Windows::Graphics::Imaging::BitmapTransform & transform, Windows::Graphics::Imaging::ExifOrientationMode exifOrientationMode, Windows::Graphics::Imaging::ColorManagementMode colorManagementMode) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapFrame)->abi_GetPixelDataTransformedAsync(pixelFormat, alphaMode, get_abi(transform), exifOrientationMode, colorManagementMode, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IBitmapFrameWithSoftwareBitmap)->abi_GetSoftwareBitmapAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IBitmapFrameWithSoftwareBitmap)->abi_GetSoftwareBitmapConvertedAsync(pixelFormat, alphaMode, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapFrameWithSoftwareBitmap::GetSoftwareBitmapAsync(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode, const Windows::Graphics::Imaging::BitmapTransform & transform, Windows::Graphics::Imaging::ExifOrientationMode exifOrientationMode, Windows::Graphics::Imaging::ColorManagementMode colorManagementMode) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IBitmapFrameWithSoftwareBitmap)->abi_GetSoftwareBitmapTransformedAsync(pixelFormat, alphaMode, get_abi(transform), exifOrientationMode, colorManagementMode, put_abi(value))); + return value; +} + +template GUID impl_IBitmapCodecInformation::CodecId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapCodecInformation)->get_CodecId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBitmapCodecInformation::FileExtensions() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBitmapCodecInformation)->get_FileExtensions(put_abi(value))); + return value; +} + +template hstring impl_IBitmapCodecInformation::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBitmapCodecInformation)->get_FriendlyName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBitmapCodecInformation::MimeTypes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBitmapCodecInformation)->get_MimeTypes(put_abi(value))); + return value; +} + +template GUID impl_IBitmapDecoderStatics::BmpDecoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->get_BmpDecoderId(&value)); + return value; +} + +template GUID impl_IBitmapDecoderStatics::JpegDecoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->get_JpegDecoderId(&value)); + return value; +} + +template GUID impl_IBitmapDecoderStatics::PngDecoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->get_PngDecoderId(&value)); + return value; +} + +template GUID impl_IBitmapDecoderStatics::TiffDecoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->get_TiffDecoderId(&value)); + return value; +} + +template GUID impl_IBitmapDecoderStatics::GifDecoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->get_GifDecoderId(&value)); + return value; +} + +template GUID impl_IBitmapDecoderStatics::JpegXRDecoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->get_JpegXRDecoderId(&value)); + return value; +} + +template GUID impl_IBitmapDecoderStatics::IcoDecoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->get_IcoDecoderId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBitmapDecoderStatics::GetDecoderInformationEnumerator() const +{ + Windows::Foundation::Collections::IVectorView decoderInformationEnumerator; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->abi_GetDecoderInformationEnumerator(put_abi(decoderInformationEnumerator))); + return decoderInformationEnumerator; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapDecoderStatics::CreateAsync(const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->abi_CreateAsync(get_abi(stream), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapDecoderStatics::CreateAsync(GUID decoderId, const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapDecoderStatics)->abi_CreateWithIdAsync(decoderId, get_abi(stream), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Graphics::Imaging::BitmapPropertiesView impl_IBitmapDecoder::BitmapContainerProperties() const +{ + Windows::Graphics::Imaging::BitmapPropertiesView value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapDecoder)->get_BitmapContainerProperties(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::BitmapCodecInformation impl_IBitmapDecoder::DecoderInformation() const +{ + Windows::Graphics::Imaging::BitmapCodecInformation value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapDecoder)->get_DecoderInformation(put_abi(value))); + return value; +} + +template uint32_t impl_IBitmapDecoder::FrameCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapDecoder)->get_FrameCount(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapDecoder::GetPreviewAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapDecoder)->abi_GetPreviewAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapDecoder::GetFrameAsync(uint32_t frameIndex) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapDecoder)->abi_GetFrameAsync(frameIndex, put_abi(asyncInfo))); + return asyncInfo; +} + +template GUID impl_IBitmapEncoderStatics::BmpEncoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->get_BmpEncoderId(&value)); + return value; +} + +template GUID impl_IBitmapEncoderStatics::JpegEncoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->get_JpegEncoderId(&value)); + return value; +} + +template GUID impl_IBitmapEncoderStatics::PngEncoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->get_PngEncoderId(&value)); + return value; +} + +template GUID impl_IBitmapEncoderStatics::TiffEncoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->get_TiffEncoderId(&value)); + return value; +} + +template GUID impl_IBitmapEncoderStatics::GifEncoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->get_GifEncoderId(&value)); + return value; +} + +template GUID impl_IBitmapEncoderStatics::JpegXREncoderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->get_JpegXREncoderId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBitmapEncoderStatics::GetEncoderInformationEnumerator() const +{ + Windows::Foundation::Collections::IVectorView encoderInformationEnumerator; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->abi_GetEncoderInformationEnumerator(put_abi(encoderInformationEnumerator))); + return encoderInformationEnumerator; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapEncoderStatics::CreateAsync(GUID encoderId, const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->abi_CreateAsync(encoderId, get_abi(stream), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapEncoderStatics::CreateAsync(GUID encoderId, const Windows::Storage::Streams::IRandomAccessStream & stream, iterable> encodingOptions) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->abi_CreateWithEncodingOptionsAsync(encoderId, get_abi(stream), get_abi(encodingOptions), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapEncoderStatics::CreateForTranscodingAsync(const Windows::Storage::Streams::IRandomAccessStream & stream, const Windows::Graphics::Imaging::BitmapDecoder & bitmapDecoder) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->abi_CreateForTranscodingAsync(get_abi(stream), get_abi(bitmapDecoder), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IBitmapEncoderStatics::CreateForInPlacePropertyEncodingAsync(const Windows::Graphics::Imaging::BitmapDecoder & bitmapDecoder) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IBitmapEncoderStatics)->abi_CreateForInPlacePropertyEncodingAsync(get_abi(bitmapDecoder), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Graphics::Imaging::BitmapCodecInformation impl_IBitmapEncoder::EncoderInformation() const +{ + Windows::Graphics::Imaging::BitmapCodecInformation value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapEncoder)->get_EncoderInformation(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::BitmapProperties impl_IBitmapEncoder::BitmapProperties() const +{ + Windows::Graphics::Imaging::BitmapProperties value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapEncoder)->get_BitmapProperties(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::BitmapProperties impl_IBitmapEncoder::BitmapContainerProperties() const +{ + Windows::Graphics::Imaging::BitmapProperties value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapEncoder)->get_BitmapContainerProperties(put_abi(value))); + return value; +} + +template bool impl_IBitmapEncoder::IsThumbnailGenerated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBitmapEncoder)->get_IsThumbnailGenerated(&value)); + return value; +} + +template void impl_IBitmapEncoder::IsThumbnailGenerated(bool value) const +{ + check_hresult(WINRT_SHIM(IBitmapEncoder)->put_IsThumbnailGenerated(value)); +} + +template uint32_t impl_IBitmapEncoder::GeneratedThumbnailWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapEncoder)->get_GeneratedThumbnailWidth(&value)); + return value; +} + +template void impl_IBitmapEncoder::GeneratedThumbnailWidth(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBitmapEncoder)->put_GeneratedThumbnailWidth(value)); +} + +template uint32_t impl_IBitmapEncoder::GeneratedThumbnailHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBitmapEncoder)->get_GeneratedThumbnailHeight(&value)); + return value; +} + +template void impl_IBitmapEncoder::GeneratedThumbnailHeight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBitmapEncoder)->put_GeneratedThumbnailHeight(value)); +} + +template Windows::Graphics::Imaging::BitmapTransform impl_IBitmapEncoder::BitmapTransform() const +{ + Windows::Graphics::Imaging::BitmapTransform value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapEncoder)->get_BitmapTransform(put_abi(value))); + return value; +} + +template void impl_IBitmapEncoder::SetPixelData(Windows::Graphics::Imaging::BitmapPixelFormat pixelFormat, Windows::Graphics::Imaging::BitmapAlphaMode alphaMode, uint32_t width, uint32_t height, double dpiX, double dpiY, array_view pixels) const +{ + check_hresult(WINRT_SHIM(IBitmapEncoder)->abi_SetPixelData(pixelFormat, alphaMode, width, height, dpiX, dpiY, pixels.size(), get_abi(pixels))); +} + +template Windows::Foundation::IAsyncAction impl_IBitmapEncoder::GoToNextFrameAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IBitmapEncoder)->abi_GoToNextFrameAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IBitmapEncoder::GoToNextFrameAsync(iterable> encodingOptions) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IBitmapEncoder)->abi_GoToNextFrameWithEncodingOptionsAsync(get_abi(encodingOptions), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IBitmapEncoder::FlushAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IBitmapEncoder)->abi_FlushAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IBitmapEncoderWithSoftwareBitmap::SetSoftwareBitmap(const Windows::Graphics::Imaging::SoftwareBitmap & bitmap) const +{ + check_hresult(WINRT_SHIM(IBitmapEncoderWithSoftwareBitmap)->abi_SetSoftwareBitmap(get_abi(bitmap))); +} + +template Windows::Graphics::Imaging::BitmapPixelFormat impl_ISoftwareBitmap::BitmapPixelFormat() const +{ + Windows::Graphics::Imaging::BitmapPixelFormat value {}; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->get_BitmapPixelFormat(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapAlphaMode impl_ISoftwareBitmap::BitmapAlphaMode() const +{ + Windows::Graphics::Imaging::BitmapAlphaMode value {}; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->get_BitmapAlphaMode(&value)); + return value; +} + +template int32_t impl_ISoftwareBitmap::PixelWidth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->get_PixelWidth(&value)); + return value; +} + +template int32_t impl_ISoftwareBitmap::PixelHeight() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->get_PixelHeight(&value)); + return value; +} + +template bool impl_ISoftwareBitmap::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->get_IsReadOnly(&value)); + return value; +} + +template void impl_ISoftwareBitmap::DpiX(double value) const +{ + check_hresult(WINRT_SHIM(ISoftwareBitmap)->put_DpiX(value)); +} + +template double impl_ISoftwareBitmap::DpiX() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->get_DpiX(&value)); + return value; +} + +template void impl_ISoftwareBitmap::DpiY(double value) const +{ + check_hresult(WINRT_SHIM(ISoftwareBitmap)->put_DpiY(value)); +} + +template double impl_ISoftwareBitmap::DpiY() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->get_DpiY(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapBuffer impl_ISoftwareBitmap::LockBuffer(Windows::Graphics::Imaging::BitmapBufferAccessMode mode) const +{ + Windows::Graphics::Imaging::BitmapBuffer value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->abi_LockBuffer(mode, put_abi(value))); + return value; +} + +template void impl_ISoftwareBitmap::CopyTo(const Windows::Graphics::Imaging::SoftwareBitmap & bitmap) const +{ + check_hresult(WINRT_SHIM(ISoftwareBitmap)->abi_CopyTo(get_abi(bitmap))); +} + +template void impl_ISoftwareBitmap::CopyFromBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(ISoftwareBitmap)->abi_CopyFromBuffer(get_abi(buffer))); +} + +template void impl_ISoftwareBitmap::CopyToBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(ISoftwareBitmap)->abi_CopyToBuffer(get_abi(buffer))); +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmap::GetReadOnlyView() const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmap)->abi_GetReadOnlyView(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmapFactory::Create(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height) const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmapFactory)->abi_Create(format, width, height, put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmapFactory::CreateWithAlpha(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha) const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmapFactory)->abi_CreateWithAlpha(format, width, height, alpha, put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmapStatics::Copy(const Windows::Graphics::Imaging::SoftwareBitmap & source) const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmapStatics)->abi_Copy(get_abi(source), put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmapStatics::Convert(const Windows::Graphics::Imaging::SoftwareBitmap & source, Windows::Graphics::Imaging::BitmapPixelFormat format) const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmapStatics)->abi_Convert(get_abi(source), format, put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmapStatics::Convert(const Windows::Graphics::Imaging::SoftwareBitmap & source, Windows::Graphics::Imaging::BitmapPixelFormat format, Windows::Graphics::Imaging::BitmapAlphaMode alpha) const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmapStatics)->abi_ConvertWithAlpha(get_abi(source), format, alpha, put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmapStatics::CreateCopyFromBuffer(const Windows::Storage::Streams::IBuffer & source, Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height) const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmapStatics)->abi_CreateCopyFromBuffer(get_abi(source), format, width, height, put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ISoftwareBitmapStatics::CreateCopyFromBuffer(const Windows::Storage::Streams::IBuffer & source, Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha) const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ISoftwareBitmapStatics)->abi_CreateCopyWithAlphaFromBuffer(get_abi(source), format, width, height, alpha, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISoftwareBitmapStatics::CreateCopyFromSurfaceAsync(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & surface) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ISoftwareBitmapStatics)->abi_CreateCopyFromSurfaceAsync(get_abi(surface), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISoftwareBitmapStatics::CreateCopyFromSurfaceAsync(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & surface, Windows::Graphics::Imaging::BitmapAlphaMode alpha) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ISoftwareBitmapStatics)->abi_CreateCopyWithAlphaFromSurfaceAsync(get_abi(surface), alpha, put_abi(value))); + return value; +} + +template int32_t impl_IBitmapBuffer::GetPlaneCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IBitmapBuffer)->abi_GetPlaneCount(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapPlaneDescription impl_IBitmapBuffer::GetPlaneDescription(int32_t index) const +{ + Windows::Graphics::Imaging::BitmapPlaneDescription value {}; + check_hresult(WINRT_SHIM(IBitmapBuffer)->abi_GetPlaneDescription(index, put_abi(value))); + return value; +} + +inline GUID BitmapDecoder::BmpDecoderId() +{ + return get_activation_factory().BmpDecoderId(); +} + +inline GUID BitmapDecoder::JpegDecoderId() +{ + return get_activation_factory().JpegDecoderId(); +} + +inline GUID BitmapDecoder::PngDecoderId() +{ + return get_activation_factory().PngDecoderId(); +} + +inline GUID BitmapDecoder::TiffDecoderId() +{ + return get_activation_factory().TiffDecoderId(); +} + +inline GUID BitmapDecoder::GifDecoderId() +{ + return get_activation_factory().GifDecoderId(); +} + +inline GUID BitmapDecoder::JpegXRDecoderId() +{ + return get_activation_factory().JpegXRDecoderId(); +} + +inline GUID BitmapDecoder::IcoDecoderId() +{ + return get_activation_factory().IcoDecoderId(); +} + +inline Windows::Foundation::Collections::IVectorView BitmapDecoder::GetDecoderInformationEnumerator() +{ + return get_activation_factory().GetDecoderInformationEnumerator(); +} + +inline Windows::Foundation::IAsyncOperation BitmapDecoder::CreateAsync(const Windows::Storage::Streams::IRandomAccessStream & stream) +{ + return get_activation_factory().CreateAsync(stream); +} + +inline Windows::Foundation::IAsyncOperation BitmapDecoder::CreateAsync(GUID decoderId, const Windows::Storage::Streams::IRandomAccessStream & stream) +{ + return get_activation_factory().CreateAsync(decoderId, stream); +} + +inline GUID BitmapEncoder::BmpEncoderId() +{ + return get_activation_factory().BmpEncoderId(); +} + +inline GUID BitmapEncoder::JpegEncoderId() +{ + return get_activation_factory().JpegEncoderId(); +} + +inline GUID BitmapEncoder::PngEncoderId() +{ + return get_activation_factory().PngEncoderId(); +} + +inline GUID BitmapEncoder::TiffEncoderId() +{ + return get_activation_factory().TiffEncoderId(); +} + +inline GUID BitmapEncoder::GifEncoderId() +{ + return get_activation_factory().GifEncoderId(); +} + +inline GUID BitmapEncoder::JpegXREncoderId() +{ + return get_activation_factory().JpegXREncoderId(); +} + +inline Windows::Foundation::Collections::IVectorView BitmapEncoder::GetEncoderInformationEnumerator() +{ + return get_activation_factory().GetEncoderInformationEnumerator(); +} + +inline Windows::Foundation::IAsyncOperation BitmapEncoder::CreateAsync(GUID encoderId, const Windows::Storage::Streams::IRandomAccessStream & stream) +{ + return get_activation_factory().CreateAsync(encoderId, stream); +} + +inline Windows::Foundation::IAsyncOperation BitmapEncoder::CreateAsync(GUID encoderId, const Windows::Storage::Streams::IRandomAccessStream & stream, iterable> encodingOptions) +{ + return get_activation_factory().CreateAsync(encoderId, stream, encodingOptions); +} + +inline Windows::Foundation::IAsyncOperation BitmapEncoder::CreateForTranscodingAsync(const Windows::Storage::Streams::IRandomAccessStream & stream, const Windows::Graphics::Imaging::BitmapDecoder & bitmapDecoder) +{ + return get_activation_factory().CreateForTranscodingAsync(stream, bitmapDecoder); +} + +inline Windows::Foundation::IAsyncOperation BitmapEncoder::CreateForInPlacePropertyEncodingAsync(const Windows::Graphics::Imaging::BitmapDecoder & bitmapDecoder) +{ + return get_activation_factory().CreateForInPlacePropertyEncodingAsync(bitmapDecoder); +} + +inline BitmapPropertySet::BitmapPropertySet() : + BitmapPropertySet(activate_instance()) +{} + +inline BitmapTransform::BitmapTransform() : + BitmapTransform(activate_instance()) +{} + +inline BitmapTypedValue::BitmapTypedValue(const Windows::Foundation::IInspectable & value, Windows::Foundation::PropertyType type) : + BitmapTypedValue(get_activation_factory().Create(value, type)) +{} + +inline SoftwareBitmap::SoftwareBitmap(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height) : + SoftwareBitmap(get_activation_factory().Create(format, width, height)) +{} + +inline SoftwareBitmap::SoftwareBitmap(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha) : + SoftwareBitmap(get_activation_factory().CreateWithAlpha(format, width, height, alpha)) +{} + +inline Windows::Graphics::Imaging::SoftwareBitmap SoftwareBitmap::Copy(const Windows::Graphics::Imaging::SoftwareBitmap & source) +{ + return get_activation_factory().Copy(source); +} + +inline Windows::Graphics::Imaging::SoftwareBitmap SoftwareBitmap::Convert(const Windows::Graphics::Imaging::SoftwareBitmap & source, Windows::Graphics::Imaging::BitmapPixelFormat format) +{ + return get_activation_factory().Convert(source, format); +} + +inline Windows::Graphics::Imaging::SoftwareBitmap SoftwareBitmap::Convert(const Windows::Graphics::Imaging::SoftwareBitmap & source, Windows::Graphics::Imaging::BitmapPixelFormat format, Windows::Graphics::Imaging::BitmapAlphaMode alpha) +{ + return get_activation_factory().Convert(source, format, alpha); +} + +inline Windows::Graphics::Imaging::SoftwareBitmap SoftwareBitmap::CreateCopyFromBuffer(const Windows::Storage::Streams::IBuffer & source, Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height) +{ + return get_activation_factory().CreateCopyFromBuffer(source, format, width, height); +} + +inline Windows::Graphics::Imaging::SoftwareBitmap SoftwareBitmap::CreateCopyFromBuffer(const Windows::Storage::Streams::IBuffer & source, Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha) +{ + return get_activation_factory().CreateCopyFromBuffer(source, format, width, height, alpha); +} + +inline Windows::Foundation::IAsyncOperation SoftwareBitmap::CreateCopyFromSurfaceAsync(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & surface) +{ + return get_activation_factory().CreateCopyFromSurfaceAsync(surface); +} + +inline Windows::Foundation::IAsyncOperation SoftwareBitmap::CreateCopyFromSurfaceAsync(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & surface, Windows::Graphics::Imaging::BitmapAlphaMode alpha) +{ + return get_activation_factory().CreateCopyFromSurfaceAsync(surface, alpha); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapCodecInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapDecoder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapDecoderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapEncoder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapEncoderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapEncoderWithSoftwareBitmap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapFrameWithSoftwareBitmap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapPropertiesView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapTransform & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapTypedValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IBitmapTypedValueFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::IPixelDataProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::ISoftwareBitmap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::ISoftwareBitmapFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::ISoftwareBitmapStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapCodecInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapDecoder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapEncoder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapPropertiesView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapPropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapTransform & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::BitmapTypedValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::ImageStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::PixelDataProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Imaging::SoftwareBitmap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Printing.OptionDetails.h b/10.0.15042.0/winrt/Windows.Graphics.Printing.OptionDetails.h new file mode 100644 index 000000000..2259177b1 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Printing.OptionDetails.h @@ -0,0 +1,943 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Graphics.Printing.3.h" +#include "internal/Windows.Graphics.Printing.OptionDetails.3.h" +#include "Windows.Graphics.Printing.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemDisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemDisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddItem(impl::abi_arg_in itemId, impl::abi_arg_in displayName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddItem(*reinterpret_cast(&itemId), *reinterpret_cast(&displayName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_MaxCharacters(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxCharacters(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxCharacters(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxCharacters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinValue(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxValue(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OptionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OptionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OptionType(Windows::Graphics::Printing::OptionDetails::PrintOptionType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OptionType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ErrorText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ErrorText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_State(Windows::Graphics::Printing::OptionDetails::PrintOptionStates value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().State(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Graphics::Printing::OptionDetails::PrintOptionStates * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetValue(impl::abi_arg_in value, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySetValue(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OptionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OptionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Options(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateItemListOption(impl::abi_arg_in optionId, impl::abi_arg_in displayName, impl::abi_arg_out itemListOption) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *itemListOption = detach_abi(this->shim().CreateItemListOption(*reinterpret_cast(&optionId), *reinterpret_cast(&displayName))); + return S_OK; + } + catch (...) + { + *itemListOption = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTextOption(impl::abi_arg_in optionId, impl::abi_arg_in displayName, impl::abi_arg_out textOption) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOption = detach_abi(this->shim().CreateTextOption(*reinterpret_cast(&optionId), *reinterpret_cast(&displayName))); + return S_OK; + } + catch (...) + { + *textOption = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OptionChanged(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().OptionChanged(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OptionChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OptionChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BeginValidation(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().BeginValidation(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BeginValidation(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeginValidation(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFromPrintTaskOptions(impl::abi_arg_in printTaskOptions, impl::abi_arg_out printTaskOptionDetails) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *printTaskOptionDetails = detach_abi(this->shim().GetFromPrintTaskOptions(*reinterpret_cast(&printTaskOptions))); + return S_OK; + } + catch (...) + { + *printTaskOptionDetails = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxCharacters(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxCharacters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::Printing::OptionDetails { + +template hstring impl_IPrintOptionDetails::OptionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrintOptionDetails)->get_OptionId(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing::OptionDetails::PrintOptionType impl_IPrintOptionDetails::OptionType() const +{ + Windows::Graphics::Printing::OptionDetails::PrintOptionType value {}; + check_hresult(WINRT_SHIM(IPrintOptionDetails)->get_OptionType(&value)); + return value; +} + +template void impl_IPrintOptionDetails::ErrorText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrintOptionDetails)->put_ErrorText(get_abi(value))); +} + +template hstring impl_IPrintOptionDetails::ErrorText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrintOptionDetails)->get_ErrorText(put_abi(value))); + return value; +} + +template void impl_IPrintOptionDetails::State(Windows::Graphics::Printing::OptionDetails::PrintOptionStates value) const +{ + check_hresult(WINRT_SHIM(IPrintOptionDetails)->put_State(value)); +} + +template Windows::Graphics::Printing::OptionDetails::PrintOptionStates impl_IPrintOptionDetails::State() const +{ + Windows::Graphics::Printing::OptionDetails::PrintOptionStates value {}; + check_hresult(WINRT_SHIM(IPrintOptionDetails)->get_State(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IPrintOptionDetails::Value() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IPrintOptionDetails)->get_Value(put_abi(value))); + return value; +} + +template bool impl_IPrintOptionDetails::TrySetValue(const Windows::Foundation::IInspectable & value) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IPrintOptionDetails)->abi_TrySetValue(get_abi(value), &succeeded)); + return succeeded; +} + +template uint32_t impl_IPrintNumberOptionDetails::MinValue() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintNumberOptionDetails)->get_MinValue(&value)); + return value; +} + +template uint32_t impl_IPrintNumberOptionDetails::MaxValue() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintNumberOptionDetails)->get_MaxValue(&value)); + return value; +} + +template uint32_t impl_IPrintTextOptionDetails::MaxCharacters() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintTextOptionDetails)->get_MaxCharacters(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPrintItemListOptionDetails::Items() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPrintItemListOptionDetails)->get_Items(put_abi(value))); + return value; +} + +template void impl_IPrintCustomOptionDetails::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrintCustomOptionDetails)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IPrintCustomOptionDetails::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrintCustomOptionDetails)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IPrintCustomTextOptionDetails::MaxCharacters(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrintCustomTextOptionDetails)->put_MaxCharacters(value)); +} + +template uint32_t impl_IPrintCustomTextOptionDetails::MaxCharacters() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintCustomTextOptionDetails)->get_MaxCharacters(&value)); + return value; +} + +template hstring impl_IPrintCustomItemDetails::ItemId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrintCustomItemDetails)->get_ItemId(put_abi(value))); + return value; +} + +template void impl_IPrintCustomItemDetails::ItemDisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrintCustomItemDetails)->put_ItemDisplayName(get_abi(value))); +} + +template hstring impl_IPrintCustomItemDetails::ItemDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrintCustomItemDetails)->get_ItemDisplayName(put_abi(value))); + return value; +} + +template void impl_IPrintCustomItemListOptionDetails::AddItem(hstring_view itemId, hstring_view displayName) const +{ + check_hresult(WINRT_SHIM(IPrintCustomItemListOptionDetails)->abi_AddItem(get_abi(itemId), get_abi(displayName))); +} + +template Windows::Foundation::IInspectable impl_IPrintTaskOptionChangedEventArgs::OptionId() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IPrintTaskOptionChangedEventArgs)->get_OptionId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IPrintTaskOptionDetails::Options() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IPrintTaskOptionDetails)->get_Options(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing::OptionDetails::PrintCustomItemListOptionDetails impl_IPrintTaskOptionDetails::CreateItemListOption(hstring_view optionId, hstring_view displayName) const +{ + Windows::Graphics::Printing::OptionDetails::PrintCustomItemListOptionDetails itemListOption { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskOptionDetails)->abi_CreateItemListOption(get_abi(optionId), get_abi(displayName), put_abi(itemListOption))); + return itemListOption; +} + +template Windows::Graphics::Printing::OptionDetails::PrintCustomTextOptionDetails impl_IPrintTaskOptionDetails::CreateTextOption(hstring_view optionId, hstring_view displayName) const +{ + Windows::Graphics::Printing::OptionDetails::PrintCustomTextOptionDetails textOption { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskOptionDetails)->abi_CreateTextOption(get_abi(optionId), get_abi(displayName), put_abi(textOption))); + return textOption; +} + +template event_token impl_IPrintTaskOptionDetails::OptionChanged(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionDetails)->add_OptionChanged(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintTaskOptionDetails::OptionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing::OptionDetails::IPrintTaskOptionDetails::remove_OptionChanged, OptionChanged(eventHandler)); +} + +template void impl_IPrintTaskOptionDetails::OptionChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionDetails)->remove_OptionChanged(eventCookie)); +} + +template event_token impl_IPrintTaskOptionDetails::BeginValidation(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionDetails)->add_BeginValidation(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintTaskOptionDetails::BeginValidation(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing::OptionDetails::IPrintTaskOptionDetails::remove_BeginValidation, BeginValidation(eventHandler)); +} + +template void impl_IPrintTaskOptionDetails::BeginValidation(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionDetails)->remove_BeginValidation(eventCookie)); +} + +template Windows::Graphics::Printing::OptionDetails::PrintTaskOptionDetails impl_IPrintTaskOptionDetailsStatic::GetFromPrintTaskOptions(const Windows::Graphics::Printing::PrintTaskOptions & printTaskOptions) const +{ + Windows::Graphics::Printing::OptionDetails::PrintTaskOptionDetails printTaskOptionDetails { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskOptionDetailsStatic)->abi_GetFromPrintTaskOptions(get_abi(printTaskOptions), put_abi(printTaskOptionDetails))); + return printTaskOptionDetails; +} + +inline Windows::Graphics::Printing::OptionDetails::PrintTaskOptionDetails PrintTaskOptionDetails::GetFromPrintTaskOptions(const Windows::Graphics::Printing::PrintTaskOptions & printTaskOptions) +{ + return get_activation_factory().GetFromPrintTaskOptions(printTaskOptions); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintCustomItemDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintCustomItemListOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintCustomOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintCustomTextOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintItemListOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintNumberOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintTaskOptionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintTaskOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintTaskOptionDetailsStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::IPrintTextOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintBindingOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintBorderingOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintCollationOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintColorModeOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintCopiesOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintCustomItemDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintCustomItemListOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintCustomTextOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintDuplexOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintHolePunchOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintMediaSizeOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintMediaTypeOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintOrientationOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintQualityOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintStapleOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintTaskOptionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::OptionDetails::PrintTaskOptionDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Printing.h b/10.0.15042.0/winrt/Windows.Graphics.Printing.h new file mode 100644 index 000000000..5617fe599 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Printing.h @@ -0,0 +1,2310 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.3.h" +#include "internal/Windows.Graphics.Printing.3.h" +#include "Windows.Graphics.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Graphics::Printing { + +template PrintTaskSourceRequestedHandler::PrintTaskSourceRequestedHandler(L lambda) : + PrintTaskSourceRequestedHandler(impl::make_delegate, PrintTaskSourceRequestedHandler>(std::forward(lambda))) +{} + +template PrintTaskSourceRequestedHandler::PrintTaskSourceRequestedHandler(F * function) : + PrintTaskSourceRequestedHandler([=](auto && ... args) { function(args ...); }) +{} + +template PrintTaskSourceRequestedHandler::PrintTaskSourceRequestedHandler(O * object, M method) : + PrintTaskSourceRequestedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void PrintTaskSourceRequestedHandler::operator()(const Windows::Graphics::Printing::PrintTaskSourceRequestedArgs & args) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(args))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PrintTaskRequested(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().PrintTaskRequested(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PrintTaskRequested(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintTaskRequested(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out printingManager) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *printingManager = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *printingManager = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowPrintUIAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowPrintUIAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_MediaSize(Windows::Graphics::Printing::PrintMediaSize value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaSize(Windows::Graphics::Printing::PrintMediaSize * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PageSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DpiX(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DpiX(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DpiX(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DpiX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DpiY(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DpiY(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DpiY(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DpiY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::Graphics::Printing::PrintOrientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::Graphics::Printing::PrintOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Options(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Previewing(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Previewing(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Previewing(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Previewing(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Submitting(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Submitting(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Submitting(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Submitting(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Progressing(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Progressing(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Progressing(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Progressing(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Completed(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsPreviewEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPreviewEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPreviewEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPreviewEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Completion(Windows::Graphics::Printing::PrintTaskCompletion * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Completion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Bordering(Windows::Graphics::Printing::PrintBordering value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bordering(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bordering(Windows::Graphics::Printing::PrintBordering * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bordering()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPagePrintTicket(impl::abi_arg_in printPageInfo, impl::abi_arg_out printTicket) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *printTicket = detach_abi(this->shim().GetPagePrintTicket(*reinterpret_cast(&printPageInfo))); + return S_OK; + } + catch (...) + { + *printTicket = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPageDescription(uint32_t jobPageNumber, impl::abi_arg_out description) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *description = detach_abi(this->shim().GetPageDescription(jobPageNumber)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_MediaSize(Windows::Graphics::Printing::PrintMediaSize value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaSize(Windows::Graphics::Printing::PrintMediaSize * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MediaType(Windows::Graphics::Printing::PrintMediaType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaType(Windows::Graphics::Printing::PrintMediaType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::Graphics::Printing::PrintOrientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::Graphics::Printing::PrintOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrintQuality(Windows::Graphics::Printing::PrintQuality value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintQuality(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrintQuality(Windows::Graphics::Printing::PrintQuality * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintQuality()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ColorMode(Windows::Graphics::Printing::PrintColorMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ColorMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorMode(Windows::Graphics::Printing::PrintColorMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duplex(Windows::Graphics::Printing::PrintDuplex value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duplex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duplex(Windows::Graphics::Printing::PrintDuplex * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duplex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Collation(Windows::Graphics::Printing::PrintCollation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Collation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Collation(Windows::Graphics::Printing::PrintCollation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Collation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Staple(Windows::Graphics::Printing::PrintStaple value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Staple(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Staple(Windows::Graphics::Printing::PrintStaple * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Staple()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HolePunch(Windows::Graphics::Printing::PrintHolePunch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HolePunch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HolePunch(Windows::Graphics::Printing::PrintHolePunch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HolePunch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Binding(Windows::Graphics::Printing::PrintBinding value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Binding(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Binding(Windows::Graphics::Printing::PrintBinding * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Binding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinCopies(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinCopies()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxCopies(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxCopies()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NumberOfCopies(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NumberOfCopies(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfCopies(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfCopies()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayedOptions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayedOptions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DocumentPageCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentPageCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePrintTask(impl::abi_arg_in title, impl::abi_arg_in handler, impl::abi_arg_out task) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *task = detach_abi(this->shim().CreatePrintTask(*reinterpret_cast(&title), *reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *task = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsPrinterTargetEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPrinterTargetEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPrinterTargetEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrinterTargetEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Is3DManufacturingTargetEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Is3DManufacturingTargetEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Is3DManufacturingTargetEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Is3DManufacturingTargetEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaSize()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrintQuality(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintQuality()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorMode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorMode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duplex(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duplex()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Collation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Collation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Staple(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Staple()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HolePunch(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HolePunch()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Binding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Binding()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Copies(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Copies()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NUp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NUp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputBin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputBin()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Bordering(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bordering()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::Printing { + +template void impl_IPrintTaskOptionsCoreProperties::MediaSize(Windows::Graphics::Printing::PrintMediaSize value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_MediaSize(value)); +} + +template Windows::Graphics::Printing::PrintMediaSize impl_IPrintTaskOptionsCoreProperties::MediaSize() const +{ + Windows::Graphics::Printing::PrintMediaSize value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_MediaSize(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::MediaType(Windows::Graphics::Printing::PrintMediaType value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_MediaType(value)); +} + +template Windows::Graphics::Printing::PrintMediaType impl_IPrintTaskOptionsCoreProperties::MediaType() const +{ + Windows::Graphics::Printing::PrintMediaType value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_MediaType(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::Orientation(Windows::Graphics::Printing::PrintOrientation value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_Orientation(value)); +} + +template Windows::Graphics::Printing::PrintOrientation impl_IPrintTaskOptionsCoreProperties::Orientation() const +{ + Windows::Graphics::Printing::PrintOrientation value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_Orientation(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::PrintQuality(Windows::Graphics::Printing::PrintQuality value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_PrintQuality(value)); +} + +template Windows::Graphics::Printing::PrintQuality impl_IPrintTaskOptionsCoreProperties::PrintQuality() const +{ + Windows::Graphics::Printing::PrintQuality value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_PrintQuality(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::ColorMode(Windows::Graphics::Printing::PrintColorMode value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_ColorMode(value)); +} + +template Windows::Graphics::Printing::PrintColorMode impl_IPrintTaskOptionsCoreProperties::ColorMode() const +{ + Windows::Graphics::Printing::PrintColorMode value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_ColorMode(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::Duplex(Windows::Graphics::Printing::PrintDuplex value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_Duplex(value)); +} + +template Windows::Graphics::Printing::PrintDuplex impl_IPrintTaskOptionsCoreProperties::Duplex() const +{ + Windows::Graphics::Printing::PrintDuplex value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_Duplex(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::Collation(Windows::Graphics::Printing::PrintCollation value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_Collation(value)); +} + +template Windows::Graphics::Printing::PrintCollation impl_IPrintTaskOptionsCoreProperties::Collation() const +{ + Windows::Graphics::Printing::PrintCollation value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_Collation(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::Staple(Windows::Graphics::Printing::PrintStaple value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_Staple(value)); +} + +template Windows::Graphics::Printing::PrintStaple impl_IPrintTaskOptionsCoreProperties::Staple() const +{ + Windows::Graphics::Printing::PrintStaple value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_Staple(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::HolePunch(Windows::Graphics::Printing::PrintHolePunch value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_HolePunch(value)); +} + +template Windows::Graphics::Printing::PrintHolePunch impl_IPrintTaskOptionsCoreProperties::HolePunch() const +{ + Windows::Graphics::Printing::PrintHolePunch value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_HolePunch(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::Binding(Windows::Graphics::Printing::PrintBinding value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_Binding(value)); +} + +template Windows::Graphics::Printing::PrintBinding impl_IPrintTaskOptionsCoreProperties::Binding() const +{ + Windows::Graphics::Printing::PrintBinding value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_Binding(&value)); + return value; +} + +template uint32_t impl_IPrintTaskOptionsCoreProperties::MinCopies() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_MinCopies(&value)); + return value; +} + +template uint32_t impl_IPrintTaskOptionsCoreProperties::MaxCopies() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_MaxCopies(&value)); + return value; +} + +template void impl_IPrintTaskOptionsCoreProperties::NumberOfCopies(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->put_NumberOfCopies(value)); +} + +template uint32_t impl_IPrintTaskOptionsCoreProperties::NumberOfCopies() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreProperties)->get_NumberOfCopies(&value)); + return value; +} + +template void impl_IPrintPageInfo::MediaSize(Windows::Graphics::Printing::PrintMediaSize value) const +{ + check_hresult(WINRT_SHIM(IPrintPageInfo)->put_MediaSize(value)); +} + +template Windows::Graphics::Printing::PrintMediaSize impl_IPrintPageInfo::MediaSize() const +{ + Windows::Graphics::Printing::PrintMediaSize value {}; + check_hresult(WINRT_SHIM(IPrintPageInfo)->get_MediaSize(&value)); + return value; +} + +template void impl_IPrintPageInfo::PageSize(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(IPrintPageInfo)->put_PageSize(get_abi(value))); +} + +template Windows::Foundation::Size impl_IPrintPageInfo::PageSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IPrintPageInfo)->get_PageSize(put_abi(value))); + return value; +} + +template void impl_IPrintPageInfo::DpiX(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrintPageInfo)->put_DpiX(value)); +} + +template uint32_t impl_IPrintPageInfo::DpiX() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintPageInfo)->get_DpiX(&value)); + return value; +} + +template void impl_IPrintPageInfo::DpiY(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrintPageInfo)->put_DpiY(value)); +} + +template uint32_t impl_IPrintPageInfo::DpiY() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintPageInfo)->get_DpiY(&value)); + return value; +} + +template void impl_IPrintPageInfo::Orientation(Windows::Graphics::Printing::PrintOrientation value) const +{ + check_hresult(WINRT_SHIM(IPrintPageInfo)->put_Orientation(value)); +} + +template Windows::Graphics::Printing::PrintOrientation impl_IPrintPageInfo::Orientation() const +{ + Windows::Graphics::Printing::PrintOrientation value {}; + check_hresult(WINRT_SHIM(IPrintPageInfo)->get_Orientation(&value)); + return value; +} + +template void impl_IPrintTaskOptions::Bordering(Windows::Graphics::Printing::PrintBordering value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskOptions)->put_Bordering(value)); +} + +template Windows::Graphics::Printing::PrintBordering impl_IPrintTaskOptions::Bordering() const +{ + Windows::Graphics::Printing::PrintBordering value {}; + check_hresult(WINRT_SHIM(IPrintTaskOptions)->get_Bordering(&value)); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStream impl_IPrintTaskOptions::GetPagePrintTicket(const Windows::Graphics::Printing::PrintPageInfo & printPageInfo) const +{ + Windows::Storage::Streams::IRandomAccessStream printTicket; + check_hresult(WINRT_SHIM(IPrintTaskOptions)->abi_GetPagePrintTicket(get_abi(printPageInfo), put_abi(printTicket))); + return printTicket; +} + +template Windows::Foundation::Collections::IVector impl_IPrintTaskOptionsCoreUIConfiguration::DisplayedOptions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCoreUIConfiguration)->get_DisplayedOptions(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing::PrintPageDescription impl_IPrintTaskOptionsCore::GetPageDescription(uint32_t jobPageNumber) const +{ + Windows::Graphics::Printing::PrintPageDescription description {}; + check_hresult(WINRT_SHIM(IPrintTaskOptionsCore)->abi_GetPageDescription(jobPageNumber, put_abi(description))); + return description; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::MediaSize() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_MediaSize(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::MediaType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_MediaType(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::Orientation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_Orientation(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::PrintQuality() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_PrintQuality(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::ColorMode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_ColorMode(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::Duplex() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_Duplex(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::Collation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_Collation(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::Staple() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_Staple(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::HolePunch() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_HolePunch(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::Binding() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_Binding(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::Copies() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_Copies(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::NUp() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_NUp(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic::InputBin() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic)->get_InputBin(put_abi(value))); + return value; +} + +template hstring impl_IStandardPrintTaskOptionsStatic2::Bordering() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardPrintTaskOptionsStatic2)->get_Bordering(put_abi(value))); + return value; +} + +template uint32_t impl_IPrintTaskProgressingEventArgs::DocumentPageCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrintTaskProgressingEventArgs)->get_DocumentPageCount(&value)); + return value; +} + +template Windows::Graphics::Printing::PrintTaskCompletion impl_IPrintTaskCompletedEventArgs::Completion() const +{ + Windows::Graphics::Printing::PrintTaskCompletion value {}; + check_hresult(WINRT_SHIM(IPrintTaskCompletedEventArgs)->get_Completion(&value)); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackagePropertySet impl_IPrintTask::Properties() const +{ + Windows::ApplicationModel::DataTransfer::DataPackagePropertySet value { nullptr }; + check_hresult(WINRT_SHIM(IPrintTask)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing::IPrintDocumentSource impl_IPrintTask::Source() const +{ + Windows::Graphics::Printing::IPrintDocumentSource value; + check_hresult(WINRT_SHIM(IPrintTask)->get_Source(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing::PrintTaskOptions impl_IPrintTask::Options() const +{ + Windows::Graphics::Printing::PrintTaskOptions value { nullptr }; + check_hresult(WINRT_SHIM(IPrintTask)->get_Options(put_abi(value))); + return value; +} + +template event_token impl_IPrintTask::Previewing(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintTask)->add_Previewing(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintTask::Previewing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing::IPrintTask::remove_Previewing, Previewing(eventHandler)); +} + +template void impl_IPrintTask::Previewing(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintTask)->remove_Previewing(eventCookie)); +} + +template event_token impl_IPrintTask::Submitting(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintTask)->add_Submitting(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintTask::Submitting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing::IPrintTask::remove_Submitting, Submitting(eventHandler)); +} + +template void impl_IPrintTask::Submitting(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintTask)->remove_Submitting(eventCookie)); +} + +template event_token impl_IPrintTask::Progressing(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintTask)->add_Progressing(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintTask::Progressing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing::IPrintTask::remove_Progressing, Progressing(eventHandler)); +} + +template void impl_IPrintTask::Progressing(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintTask)->remove_Progressing(eventCookie)); +} + +template event_token impl_IPrintTask::Completed(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintTask)->add_Completed(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintTask::Completed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing::IPrintTask::remove_Completed, Completed(eventHandler)); +} + +template void impl_IPrintTask::Completed(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintTask)->remove_Completed(eventCookie)); +} + +template void impl_IPrintTaskTargetDeviceSupport::IsPrinterTargetEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskTargetDeviceSupport)->put_IsPrinterTargetEnabled(value)); +} + +template bool impl_IPrintTaskTargetDeviceSupport::IsPrinterTargetEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPrintTaskTargetDeviceSupport)->get_IsPrinterTargetEnabled(&value)); + return value; +} + +template void impl_IPrintTaskTargetDeviceSupport::Is3DManufacturingTargetEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPrintTaskTargetDeviceSupport)->put_Is3DManufacturingTargetEnabled(value)); +} + +template bool impl_IPrintTaskTargetDeviceSupport::Is3DManufacturingTargetEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPrintTaskTargetDeviceSupport)->get_Is3DManufacturingTargetEnabled(&value)); + return value; +} + +template void impl_IPrintTask2::IsPreviewEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPrintTask2)->put_IsPreviewEnabled(value)); +} + +template bool impl_IPrintTask2::IsPreviewEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPrintTask2)->get_IsPreviewEnabled(&value)); + return value; +} + +template void impl_IPrintTaskSourceRequestedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IPrintTaskSourceRequestedDeferral)->abi_Complete()); +} + +template Windows::Foundation::DateTime impl_IPrintTaskSourceRequestedArgs::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPrintTaskSourceRequestedArgs)->get_Deadline(put_abi(value))); + return value; +} + +template void impl_IPrintTaskSourceRequestedArgs::SetSource(const Windows::Graphics::Printing::IPrintDocumentSource & source) const +{ + check_hresult(WINRT_SHIM(IPrintTaskSourceRequestedArgs)->abi_SetSource(get_abi(source))); +} + +template Windows::Graphics::Printing::PrintTaskSourceRequestedDeferral impl_IPrintTaskSourceRequestedArgs::GetDeferral() const +{ + Windows::Graphics::Printing::PrintTaskSourceRequestedDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskSourceRequestedArgs)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_IPrintTaskRequestedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IPrintTaskRequestedDeferral)->abi_Complete()); +} + +template Windows::Foundation::DateTime impl_IPrintTaskRequest::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPrintTaskRequest)->get_Deadline(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing::PrintTask impl_IPrintTaskRequest::CreatePrintTask(hstring_view title, const Windows::Graphics::Printing::PrintTaskSourceRequestedHandler & handler) const +{ + Windows::Graphics::Printing::PrintTask task { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskRequest)->abi_CreatePrintTask(get_abi(title), get_abi(handler), put_abi(task))); + return task; +} + +template Windows::Graphics::Printing::PrintTaskRequestedDeferral impl_IPrintTaskRequest::GetDeferral() const +{ + Windows::Graphics::Printing::PrintTaskRequestedDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::Graphics::Printing::PrintTaskRequest impl_IPrintTaskRequestedEventArgs::Request() const +{ + Windows::Graphics::Printing::PrintTaskRequest value { nullptr }; + check_hresult(WINRT_SHIM(IPrintTaskRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing::PrintManager impl_IPrintManagerStatic::GetForCurrentView() const +{ + Windows::Graphics::Printing::PrintManager printingManager { nullptr }; + check_hresult(WINRT_SHIM(IPrintManagerStatic)->abi_GetForCurrentView(put_abi(printingManager))); + return printingManager; +} + +template Windows::Foundation::IAsyncOperation impl_IPrintManagerStatic::ShowPrintUIAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrintManagerStatic)->abi_ShowPrintUIAsync(put_abi(operation))); + return operation; +} + +template bool impl_IPrintManagerStatic2::IsSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPrintManagerStatic2)->abi_IsSupported(&result)); + return result; +} + +template event_token impl_IPrintManager::PrintTaskRequested(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrintManager)->add_PrintTaskRequested(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrintManager::PrintTaskRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing::IPrintManager::remove_PrintTaskRequested, PrintTaskRequested(eventHandler)); +} + +template void impl_IPrintManager::PrintTaskRequested(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrintManager)->remove_PrintTaskRequested(eventCookie)); +} + +inline Windows::Graphics::Printing::PrintManager PrintManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::Foundation::IAsyncOperation PrintManager::ShowPrintUIAsync() +{ + return get_activation_factory().ShowPrintUIAsync(); +} + +inline bool PrintManager::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline PrintPageInfo::PrintPageInfo() : + PrintPageInfo(activate_instance()) +{} + +inline hstring StandardPrintTaskOptions::MediaSize() +{ + return get_activation_factory().MediaSize(); +} + +inline hstring StandardPrintTaskOptions::MediaType() +{ + return get_activation_factory().MediaType(); +} + +inline hstring StandardPrintTaskOptions::Orientation() +{ + return get_activation_factory().Orientation(); +} + +inline hstring StandardPrintTaskOptions::PrintQuality() +{ + return get_activation_factory().PrintQuality(); +} + +inline hstring StandardPrintTaskOptions::ColorMode() +{ + return get_activation_factory().ColorMode(); +} + +inline hstring StandardPrintTaskOptions::Duplex() +{ + return get_activation_factory().Duplex(); +} + +inline hstring StandardPrintTaskOptions::Collation() +{ + return get_activation_factory().Collation(); +} + +inline hstring StandardPrintTaskOptions::Staple() +{ + return get_activation_factory().Staple(); +} + +inline hstring StandardPrintTaskOptions::HolePunch() +{ + return get_activation_factory().HolePunch(); +} + +inline hstring StandardPrintTaskOptions::Binding() +{ + return get_activation_factory().Binding(); +} + +inline hstring StandardPrintTaskOptions::Copies() +{ + return get_activation_factory().Copies(); +} + +inline hstring StandardPrintTaskOptions::NUp() +{ + return get_activation_factory().NUp(); +} + +inline hstring StandardPrintTaskOptions::InputBin() +{ + return get_activation_factory().InputBin(); +} + +inline hstring StandardPrintTaskOptions::Bordering() +{ + return get_activation_factory().Bordering(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintDocumentSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintManagerStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintManagerStatic2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintPageInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTask2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskOptionsCore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskOptionsCoreProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskOptionsCoreUIConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskProgressingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskSourceRequestedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskSourceRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IPrintTaskTargetDeviceSupport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IStandardPrintTaskOptionsStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::IStandardPrintTaskOptionsStatic2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintPageInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskProgressingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskSourceRequestedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing::PrintTaskSourceRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.Printing3D.h b/10.0.15042.0/winrt/Windows.Graphics.Printing3D.h new file mode 100644 index 000000000..0f8ffc56d --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.Printing3D.h @@ -0,0 +1,4052 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Graphics.Printing3D.3.h" +#include "Windows.Graphics.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Graphics::Printing3D { + +template Print3DTaskSourceRequestedHandler::Print3DTaskSourceRequestedHandler(L lambda) : + Print3DTaskSourceRequestedHandler(impl::make_delegate, Print3DTaskSourceRequestedHandler>(std::forward(lambda))) +{} + +template Print3DTaskSourceRequestedHandler::Print3DTaskSourceRequestedHandler(F * function) : + Print3DTaskSourceRequestedHandler([=](auto && ... args) { function(args ...); }) +{} + +template Print3DTaskSourceRequestedHandler::Print3DTaskSourceRequestedHandler(O * object, M method) : + Print3DTaskSourceRequestedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void Print3DTaskSourceRequestedHandler::operator()(const Windows::Graphics::Printing3D::Print3DTaskSourceRequestedArgs & args) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(args))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_TaskRequested(impl::abi_arg_in> eventHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TaskRequested(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TaskRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TaskRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowPrintUIAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowPrintUIAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Submitting(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Submitting(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Submitting(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Submitting(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Completed(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceChanged(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().SourceChanged(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Completion(Windows::Graphics::Printing3D::Print3DTaskCompletion * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Completion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedStatus(Windows::Graphics::Printing3D::Print3DTaskDetail * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateTask(impl::abi_arg_in title, impl::abi_arg_in printerId, impl::abi_arg_in handler, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateTask(*reinterpret_cast(&title), *reinterpret_cast(&printerId), *reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrintTicket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrintTicket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrintTicket(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrintTicket(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelPart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModelPart()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ModelPart(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ModelPart(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Textures(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Textures()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadModelFromPackageAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LoadModelFromPackageAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveModelToPackageAsync(impl::abi_arg_in value, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveModelToPackageAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LoadAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Bases(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bases()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialGroupId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialGroupId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t MaterialGroupId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(MaterialGroupId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Abs(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Abs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pla(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pla()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Colors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Colors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialGroupId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialGroupId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t MaterialGroupId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(MaterialGroupId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mesh(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mesh()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mesh(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mesh(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Components(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Components()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Graphics::Printing3D::Printing3DObjectType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(Windows::Graphics::Printing3D::Printing3DObjectType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PartNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PartNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PartNumber(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PartNumber(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Component(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Component()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Component(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Component(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Matrix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Matrix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Matrix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Matrix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Values(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Values()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Composites(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Composites()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialGroupId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialGroupId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialIndices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialIndices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BaseMaterialGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BaseMaterialGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BaseMaterialGroup(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BaseMaterialGroup(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t MaterialGroupId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(MaterialGroupId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxReductionArea(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxReductionArea()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxReductionArea(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxReductionArea(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetTriangleCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetTriangleCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetTriangleCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetTriangleCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxEdgeLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxEdgeLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxEdgeLength(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxEdgeLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BaseGroups(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BaseGroups()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorGroups(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorGroups()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Texture2CoordGroups(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Texture2CoordGroups()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompositeGroups(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositeGroups()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MultiplePropertyGroups(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MultiplePropertyGroups()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VertexCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VertexCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VertexCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndexCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndexCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IndexCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IndexCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VertexPositionsDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexPositionsDescription()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VertexPositionsDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VertexPositionsDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VertexNormalsDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexNormalsDescription()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VertexNormalsDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VertexNormalsDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriangleIndicesDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriangleIndicesDescription()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TriangleIndicesDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TriangleIndicesDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriangleMaterialIndicesDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriangleMaterialIndicesDescription()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TriangleMaterialIndicesDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TriangleMaterialIndicesDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVertexPositions(impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().GetVertexPositions()); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateVertexPositions(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CreateVertexPositions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVertexNormals(impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().GetVertexNormals()); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateVertexNormals(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CreateVertexNormals(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTriangleIndices(impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().GetTriangleIndices()); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTriangleIndices(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CreateTriangleIndices(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTriangleMaterialIndices(impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().GetTriangleMaterialIndices()); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTriangleMaterialIndices(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CreateTriangleMaterialIndices(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferDescriptionSet(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferDescriptionSet()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferSet(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferSet()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_VerifyAsync(Windows::Graphics::Printing3D::Printing3DMeshVerificationMode value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().VerifyAsync(value)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsValid(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsValid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NonmanifoldTriangles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonmanifoldTriangles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReversedNormalTriangles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReversedNormalTriangles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Unit(Windows::Graphics::Printing3D::Printing3DModelUnit * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Unit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Unit(Windows::Graphics::Printing3D::Printing3DModelUnit value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Textures(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Textures()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Meshes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Meshes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Components(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Components()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Material(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Material()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Material(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Material(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Build(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Build()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Build(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Build(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Version(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Version()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Version(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Version(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequiredExtensions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequiredExtensions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Metadata(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Metadata()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RepairAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RepairAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryPartialRepairAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryPartialRepairAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryPartialRepairWithTimeAsync(impl::abi_arg_in maxWaitTime, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryPartialRepairAsync(*reinterpret_cast(&maxWaitTime))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryReduceFacesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryReduceFacesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryReduceFacesWithOptionsAsync(impl::abi_arg_in printing3DFaceReductionOptions, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryReduceFacesAsync(*reinterpret_cast(&printing3DFaceReductionOptions))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryReduceFacesWithOptionsAndTimeAsync(impl::abi_arg_in printing3DFaceReductionOptions, impl::abi_arg_in maxWait, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryReduceFacesAsync(*reinterpret_cast(&printing3DFaceReductionOptions), *reinterpret_cast(&maxWait))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RepairWithProgressAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RepairWithProgressAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextureResource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextureResource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextureResource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextureResource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileStyleU(Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileStyleU()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TileStyleU(Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TileStyleU(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileStyleV(Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileStyleV()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TileStyleV(Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TileStyleV(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaterialIndices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialIndices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MultipleProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MultipleProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialGroupIndices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialGroupIndices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialGroupId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialGroupId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t MaterialGroupId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(MaterialGroupId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Texture(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Texture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Texture(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Texture(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_U(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().U()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_U(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().U(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_V(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().V()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_V(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().V(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Texture2Coords(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Texture2Coords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaterialGroupId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaterialGroupId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Texture(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Texture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Texture(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Texture(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t MaterialGroupId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(MaterialGroupId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextureData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextureData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextureData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextureData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Graphics::Printing3D { + +template Windows::Graphics::Printing3D::Print3DTaskCompletion impl_IPrint3DTaskCompletedEventArgs::Completion() const +{ + Windows::Graphics::Printing3D::Print3DTaskCompletion value {}; + check_hresult(WINRT_SHIM(IPrint3DTaskCompletedEventArgs)->get_Completion(&value)); + return value; +} + +template Windows::Graphics::Printing3D::Print3DTaskDetail impl_IPrint3DTaskCompletedEventArgs::ExtendedStatus() const +{ + Windows::Graphics::Printing3D::Print3DTaskDetail value {}; + check_hresult(WINRT_SHIM(IPrint3DTaskCompletedEventArgs)->get_ExtendedStatus(&value)); + return value; +} + +template Windows::Graphics::Printing3D::Printing3D3MFPackage impl_IPrint3DTaskSourceChangedEventArgs::Source() const +{ + Windows::Graphics::Printing3D::Printing3D3MFPackage value { nullptr }; + check_hresult(WINRT_SHIM(IPrint3DTaskSourceChangedEventArgs)->get_Source(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing3D::Printing3D3MFPackage impl_IPrint3DTask::Source() const +{ + Windows::Graphics::Printing3D::Printing3D3MFPackage value { nullptr }; + check_hresult(WINRT_SHIM(IPrint3DTask)->get_Source(put_abi(value))); + return value; +} + +template event_token impl_IPrint3DTask::Submitting(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrint3DTask)->add_Submitting(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrint3DTask::Submitting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing3D::IPrint3DTask::remove_Submitting, Submitting(eventHandler)); +} + +template void impl_IPrint3DTask::Submitting(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrint3DTask)->remove_Submitting(eventCookie)); +} + +template event_token impl_IPrint3DTask::Completed(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrint3DTask)->add_Completed(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrint3DTask::Completed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing3D::IPrint3DTask::remove_Completed, Completed(eventHandler)); +} + +template void impl_IPrint3DTask::Completed(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrint3DTask)->remove_Completed(eventCookie)); +} + +template event_token impl_IPrint3DTask::SourceChanged(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IPrint3DTask)->add_SourceChanged(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IPrint3DTask::SourceChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing3D::IPrint3DTask::remove_SourceChanged, SourceChanged(eventHandler)); +} + +template void impl_IPrint3DTask::SourceChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IPrint3DTask)->remove_SourceChanged(eventCookie)); +} + +template void impl_IPrint3DTaskSourceRequestedArgs::SetSource(const Windows::Graphics::Printing3D::Printing3D3MFPackage & source) const +{ + check_hresult(WINRT_SHIM(IPrint3DTaskSourceRequestedArgs)->abi_SetSource(get_abi(source))); +} + +template Windows::Graphics::Printing3D::Print3DTask impl_IPrint3DTaskRequest::CreateTask(hstring_view title, hstring_view printerId, const Windows::Graphics::Printing3D::Print3DTaskSourceRequestedHandler & handler) const +{ + Windows::Graphics::Printing3D::Print3DTask result { nullptr }; + check_hresult(WINRT_SHIM(IPrint3DTaskRequest)->abi_CreateTask(get_abi(title), get_abi(printerId), get_abi(handler), put_abi(result))); + return result; +} + +template Windows::Graphics::Printing3D::Print3DTaskRequest impl_IPrint3DTaskRequestedEventArgs::Request() const +{ + Windows::Graphics::Printing3D::Print3DTaskRequest value { nullptr }; + check_hresult(WINRT_SHIM(IPrint3DTaskRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing3D::Print3DManager impl_IPrint3DManagerStatics::GetForCurrentView() const +{ + Windows::Graphics::Printing3D::Print3DManager result { nullptr }; + check_hresult(WINRT_SHIM(IPrint3DManagerStatics)->abi_GetForCurrentView(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IPrint3DManagerStatics::ShowPrintUIAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IPrint3DManagerStatics)->abi_ShowPrintUIAsync(put_abi(result))); + return result; +} + +template event_token impl_IPrint3DManager::TaskRequested(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPrint3DManager)->add_TaskRequested(get_abi(eventHandler), &token)); + return token; +} + +template event_revoker impl_IPrint3DManager::TaskRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Graphics::Printing3D::IPrint3DManager::remove_TaskRequested, TaskRequested(eventHandler)); +} + +template void impl_IPrint3DManager::TaskRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPrint3DManager)->remove_TaskRequested(token)); +} + +template uint32_t impl_IPrinting3DMesh::VertexCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_VertexCount(&value)); + return value; +} + +template void impl_IPrinting3DMesh::VertexCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->put_VertexCount(value)); +} + +template uint32_t impl_IPrinting3DMesh::IndexCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_IndexCount(&value)); + return value; +} + +template void impl_IPrinting3DMesh::IndexCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->put_IndexCount(value)); +} + +template Windows::Graphics::Printing3D::Printing3DBufferDescription impl_IPrinting3DMesh::VertexPositionsDescription() const +{ + Windows::Graphics::Printing3D::Printing3DBufferDescription value {}; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_VertexPositionsDescription(put_abi(value))); + return value; +} + +template void impl_IPrinting3DMesh::VertexPositionsDescription(const Windows::Graphics::Printing3D::Printing3DBufferDescription & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->put_VertexPositionsDescription(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DBufferDescription impl_IPrinting3DMesh::VertexNormalsDescription() const +{ + Windows::Graphics::Printing3D::Printing3DBufferDescription value {}; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_VertexNormalsDescription(put_abi(value))); + return value; +} + +template void impl_IPrinting3DMesh::VertexNormalsDescription(const Windows::Graphics::Printing3D::Printing3DBufferDescription & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->put_VertexNormalsDescription(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DBufferDescription impl_IPrinting3DMesh::TriangleIndicesDescription() const +{ + Windows::Graphics::Printing3D::Printing3DBufferDescription value {}; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_TriangleIndicesDescription(put_abi(value))); + return value; +} + +template void impl_IPrinting3DMesh::TriangleIndicesDescription(const Windows::Graphics::Printing3D::Printing3DBufferDescription & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->put_TriangleIndicesDescription(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DBufferDescription impl_IPrinting3DMesh::TriangleMaterialIndicesDescription() const +{ + Windows::Graphics::Printing3D::Printing3DBufferDescription value {}; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_TriangleMaterialIndicesDescription(put_abi(value))); + return value; +} + +template void impl_IPrinting3DMesh::TriangleMaterialIndicesDescription(const Windows::Graphics::Printing3D::Printing3DBufferDescription & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->put_TriangleMaterialIndicesDescription(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_IPrinting3DMesh::GetVertexPositions() const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_GetVertexPositions(put_abi(buffer))); + return buffer; +} + +template void impl_IPrinting3DMesh::CreateVertexPositions(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_CreateVertexPositions(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IPrinting3DMesh::GetVertexNormals() const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_GetVertexNormals(put_abi(buffer))); + return buffer; +} + +template void impl_IPrinting3DMesh::CreateVertexNormals(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_CreateVertexNormals(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IPrinting3DMesh::GetTriangleIndices() const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_GetTriangleIndices(put_abi(buffer))); + return buffer; +} + +template void impl_IPrinting3DMesh::CreateTriangleIndices(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_CreateTriangleIndices(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IPrinting3DMesh::GetTriangleMaterialIndices() const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_GetTriangleMaterialIndices(put_abi(buffer))); + return buffer; +} + +template void impl_IPrinting3DMesh::CreateTriangleMaterialIndices(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_CreateTriangleMaterialIndices(value)); +} + +template Windows::Foundation::Collections::IPropertySet impl_IPrinting3DMesh::BufferDescriptionSet() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_BufferDescriptionSet(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IPrinting3DMesh::BufferSet() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->get_BufferSet(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPrinting3DMesh::VerifyAsync(Windows::Graphics::Printing3D::Printing3DMeshVerificationMode value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrinting3DMesh)->abi_VerifyAsync(value, put_abi(operation))); + return operation; +} + +template Windows::Graphics::Printing3D::Printing3DTextureResource impl_IPrinting3DModelTexture::TextureResource() const +{ + Windows::Graphics::Printing3D::Printing3DTextureResource value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DModelTexture)->get_TextureResource(put_abi(value))); + return value; +} + +template void impl_IPrinting3DModelTexture::TextureResource(const Windows::Graphics::Printing3D::Printing3DTextureResource & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DModelTexture)->put_TextureResource(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior impl_IPrinting3DModelTexture::TileStyleU() const +{ + Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior value {}; + check_hresult(WINRT_SHIM(IPrinting3DModelTexture)->get_TileStyleU(&value)); + return value; +} + +template void impl_IPrinting3DModelTexture::TileStyleU(Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DModelTexture)->put_TileStyleU(value)); +} + +template Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior impl_IPrinting3DModelTexture::TileStyleV() const +{ + Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior value {}; + check_hresult(WINRT_SHIM(IPrinting3DModelTexture)->get_TileStyleV(&value)); + return value; +} + +template void impl_IPrinting3DModelTexture::TileStyleV(Windows::Graphics::Printing3D::Printing3DTextureEdgeBehavior value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DModelTexture)->put_TileStyleV(value)); +} + +template Windows::Storage::Streams::IRandomAccessStreamWithContentType impl_IPrinting3DTextureResource::TextureData() const +{ + Windows::Storage::Streams::IRandomAccessStreamWithContentType value; + check_hresult(WINRT_SHIM(IPrinting3DTextureResource)->get_TextureData(put_abi(value))); + return value; +} + +template void impl_IPrinting3DTextureResource::TextureData(const Windows::Storage::Streams::IRandomAccessStreamWithContentType & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DTextureResource)->put_TextureData(get_abi(value))); +} + +template hstring impl_IPrinting3DTextureResource::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrinting3DTextureResource)->get_Name(put_abi(value))); + return value; +} + +template void impl_IPrinting3DTextureResource::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DTextureResource)->put_Name(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DComponent impl_IPrinting3DComponentWithMatrix::Component() const +{ + Windows::Graphics::Printing3D::Printing3DComponent value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DComponentWithMatrix)->get_Component(put_abi(value))); + return value; +} + +template void impl_IPrinting3DComponentWithMatrix::Component(const Windows::Graphics::Printing3D::Printing3DComponent & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DComponentWithMatrix)->put_Component(get_abi(value))); +} + +template Windows::Foundation::Numerics::float4x4 impl_IPrinting3DComponentWithMatrix::Matrix() const +{ + Windows::Foundation::Numerics::float4x4 value {}; + check_hresult(WINRT_SHIM(IPrinting3DComponentWithMatrix)->get_Matrix(put_abi(value))); + return value; +} + +template void impl_IPrinting3DComponentWithMatrix::Matrix(const Windows::Foundation::Numerics::float4x4 & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DComponentWithMatrix)->put_Matrix(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DMesh impl_IPrinting3DComponent::Mesh() const +{ + Windows::Graphics::Printing3D::Printing3DMesh value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DComponent)->get_Mesh(put_abi(value))); + return value; +} + +template void impl_IPrinting3DComponent::Mesh(const Windows::Graphics::Printing3D::Printing3DMesh & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DComponent)->put_Mesh(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DComponent::Components() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DComponent)->get_Components(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DTextureResource impl_IPrinting3DComponent::Thumbnail() const +{ + Windows::Graphics::Printing3D::Printing3DTextureResource value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DComponent)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_IPrinting3DComponent::Thumbnail(const Windows::Graphics::Printing3D::Printing3DTextureResource & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DComponent)->put_Thumbnail(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DObjectType impl_IPrinting3DComponent::Type() const +{ + Windows::Graphics::Printing3D::Printing3DObjectType value {}; + check_hresult(WINRT_SHIM(IPrinting3DComponent)->get_Type(&value)); + return value; +} + +template void impl_IPrinting3DComponent::Type(Windows::Graphics::Printing3D::Printing3DObjectType value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DComponent)->put_Type(value)); +} + +template hstring impl_IPrinting3DComponent::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrinting3DComponent)->get_Name(put_abi(value))); + return value; +} + +template void impl_IPrinting3DComponent::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DComponent)->put_Name(get_abi(value))); +} + +template hstring impl_IPrinting3DComponent::PartNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrinting3DComponent)->get_PartNumber(put_abi(value))); + return value; +} + +template void impl_IPrinting3DComponent::PartNumber(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DComponent)->put_PartNumber(get_abi(value))); +} + +template hstring impl_IPrinting3DBaseMaterialStatics::Abs() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterialStatics)->get_Abs(put_abi(value))); + return value; +} + +template hstring impl_IPrinting3DBaseMaterialStatics::Pla() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterialStatics)->get_Pla(put_abi(value))); + return value; +} + +template hstring impl_IPrinting3DBaseMaterial::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterial)->get_Name(put_abi(value))); + return value; +} + +template void impl_IPrinting3DBaseMaterial::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterial)->put_Name(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DColorMaterial impl_IPrinting3DBaseMaterial::Color() const +{ + Windows::Graphics::Printing3D::Printing3DColorMaterial value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterial)->get_Color(put_abi(value))); + return value; +} + +template void impl_IPrinting3DBaseMaterial::Color(const Windows::Graphics::Printing3D::Printing3DColorMaterial & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterial)->put_Color(get_abi(value))); +} + +template uint32_t impl_IPrinting3DColorMaterial::Value() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DColorMaterial)->get_Value(&value)); + return value; +} + +template void impl_IPrinting3DColorMaterial::Value(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DColorMaterial)->put_Value(value)); +} + +template Windows::UI::Color impl_IPrinting3DColorMaterial2::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IPrinting3DColorMaterial2)->get_Color(put_abi(value))); + return value; +} + +template void impl_IPrinting3DColorMaterial2::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DColorMaterial2)->put_Color(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DModelTexture impl_IPrinting3DTexture2CoordMaterial::Texture() const +{ + Windows::Graphics::Printing3D::Printing3DModelTexture value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterial)->get_Texture(put_abi(value))); + return value; +} + +template void impl_IPrinting3DTexture2CoordMaterial::Texture(const Windows::Graphics::Printing3D::Printing3DModelTexture & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterial)->put_Texture(get_abi(value))); +} + +template double impl_IPrinting3DTexture2CoordMaterial::U() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterial)->get_U(&value)); + return value; +} + +template void impl_IPrinting3DTexture2CoordMaterial::U(double value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterial)->put_U(value)); +} + +template double impl_IPrinting3DTexture2CoordMaterial::V() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterial)->get_V(&value)); + return value; +} + +template void impl_IPrinting3DTexture2CoordMaterial::V(double value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterial)->put_V(value)); +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DCompositeMaterial::Values() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DCompositeMaterial)->get_Values(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMultiplePropertyMaterial::MaterialIndices() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMultiplePropertyMaterial)->get_MaterialIndices(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DBaseMaterialGroup impl_IPrinting3DBaseMaterialGroupFactory::Create(uint32_t MaterialGroupId) const +{ + Windows::Graphics::Printing3D::Printing3DBaseMaterialGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterialGroupFactory)->abi_Create(MaterialGroupId, put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DBaseMaterialGroup::Bases() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterialGroup)->get_Bases(put_abi(value))); + return value; +} + +template uint32_t impl_IPrinting3DBaseMaterialGroup::MaterialGroupId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DBaseMaterialGroup)->get_MaterialGroupId(&value)); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DColorMaterialGroup impl_IPrinting3DColorMaterialGroupFactory::Create(uint32_t MaterialGroupId) const +{ + Windows::Graphics::Printing3D::Printing3DColorMaterialGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DColorMaterialGroupFactory)->abi_Create(MaterialGroupId, put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DColorMaterialGroup::Colors() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DColorMaterialGroup)->get_Colors(put_abi(value))); + return value; +} + +template uint32_t impl_IPrinting3DColorMaterialGroup::MaterialGroupId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DColorMaterialGroup)->get_MaterialGroupId(&value)); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DTexture2CoordMaterialGroup impl_IPrinting3DTexture2CoordMaterialGroupFactory::Create(uint32_t MaterialGroupId) const +{ + Windows::Graphics::Printing3D::Printing3DTexture2CoordMaterialGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterialGroupFactory)->abi_Create(MaterialGroupId, put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DTexture2CoordMaterialGroup::Texture2Coords() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterialGroup)->get_Texture2Coords(put_abi(value))); + return value; +} + +template uint32_t impl_IPrinting3DTexture2CoordMaterialGroup::MaterialGroupId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterialGroup)->get_MaterialGroupId(&value)); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DModelTexture impl_IPrinting3DTexture2CoordMaterialGroup2::Texture() const +{ + Windows::Graphics::Printing3D::Printing3DModelTexture value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterialGroup2)->get_Texture(put_abi(value))); + return value; +} + +template void impl_IPrinting3DTexture2CoordMaterialGroup2::Texture(const Windows::Graphics::Printing3D::Printing3DModelTexture & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DTexture2CoordMaterialGroup2)->put_Texture(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DCompositeMaterialGroup impl_IPrinting3DCompositeMaterialGroupFactory::Create(uint32_t MaterialGroupId) const +{ + Windows::Graphics::Printing3D::Printing3DCompositeMaterialGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DCompositeMaterialGroupFactory)->abi_Create(MaterialGroupId, put_abi(result))); + return result; +} + +template Windows::Graphics::Printing3D::Printing3DBaseMaterialGroup impl_IPrinting3DCompositeMaterialGroup2::BaseMaterialGroup() const +{ + Windows::Graphics::Printing3D::Printing3DBaseMaterialGroup value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DCompositeMaterialGroup2)->get_BaseMaterialGroup(put_abi(value))); + return value; +} + +template void impl_IPrinting3DCompositeMaterialGroup2::BaseMaterialGroup(const Windows::Graphics::Printing3D::Printing3DBaseMaterialGroup & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DCompositeMaterialGroup2)->put_BaseMaterialGroup(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DCompositeMaterialGroup::Composites() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DCompositeMaterialGroup)->get_Composites(put_abi(value))); + return value; +} + +template uint32_t impl_IPrinting3DCompositeMaterialGroup::MaterialGroupId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DCompositeMaterialGroup)->get_MaterialGroupId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DCompositeMaterialGroup::MaterialIndices() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DCompositeMaterialGroup)->get_MaterialIndices(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DMultiplePropertyMaterialGroup impl_IPrinting3DMultiplePropertyMaterialGroupFactory::Create(uint32_t MaterialGroupId) const +{ + Windows::Graphics::Printing3D::Printing3DMultiplePropertyMaterialGroup result { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DMultiplePropertyMaterialGroupFactory)->abi_Create(MaterialGroupId, put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMultiplePropertyMaterialGroup::MultipleProperties() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMultiplePropertyMaterialGroup)->get_MultipleProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMultiplePropertyMaterialGroup::MaterialGroupIndices() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMultiplePropertyMaterialGroup)->get_MaterialGroupIndices(put_abi(value))); + return value; +} + +template uint32_t impl_IPrinting3DMultiplePropertyMaterialGroup::MaterialGroupId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DMultiplePropertyMaterialGroup)->get_MaterialGroupId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMaterial::BaseGroups() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMaterial)->get_BaseGroups(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMaterial::ColorGroups() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMaterial)->get_ColorGroups(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMaterial::Texture2CoordGroups() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMaterial)->get_Texture2CoordGroups(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMaterial::CompositeGroups() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMaterial)->get_CompositeGroups(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DMaterial::MultiplePropertyGroups() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DMaterial)->get_MultiplePropertyGroups(put_abi(value))); + return value; +} + +template bool impl_IPrinting3DMeshVerificationResult::IsValid() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPrinting3DMeshVerificationResult)->get_IsValid(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPrinting3DMeshVerificationResult::NonmanifoldTriangles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPrinting3DMeshVerificationResult)->get_NonmanifoldTriangles(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPrinting3DMeshVerificationResult::ReversedNormalTriangles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPrinting3DMeshVerificationResult)->get_ReversedNormalTriangles(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DModelUnit impl_IPrinting3DModel::Unit() const +{ + Windows::Graphics::Printing3D::Printing3DModelUnit value {}; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Unit(&value)); + return value; +} + +template void impl_IPrinting3DModel::Unit(Windows::Graphics::Printing3D::Printing3DModelUnit value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DModel)->put_Unit(value)); +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DModel::Textures() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Textures(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DModel::Meshes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Meshes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DModel::Components() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Components(put_abi(value))); + return value; +} + +template Windows::Graphics::Printing3D::Printing3DMaterial impl_IPrinting3DModel::Material() const +{ + Windows::Graphics::Printing3D::Printing3DMaterial value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Material(put_abi(value))); + return value; +} + +template void impl_IPrinting3DModel::Material(const Windows::Graphics::Printing3D::Printing3DMaterial & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DModel)->put_Material(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DComponent impl_IPrinting3DModel::Build() const +{ + Windows::Graphics::Printing3D::Printing3DComponent value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Build(put_abi(value))); + return value; +} + +template void impl_IPrinting3DModel::Build(const Windows::Graphics::Printing3D::Printing3DComponent & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DModel)->put_Build(get_abi(value))); +} + +template hstring impl_IPrinting3DModel::Version() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Version(put_abi(value))); + return value; +} + +template void impl_IPrinting3DModel::Version(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DModel)->put_Version(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3DModel::RequiredExtensions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_RequiredExtensions(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IPrinting3DModel::Metadata() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IPrinting3DModel)->get_Metadata(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IPrinting3DModel::RepairAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPrinting3DModel)->abi_RepairAsync(put_abi(operation))); + return operation; +} + +template Windows::Graphics::Printing3D::Printing3DModel impl_IPrinting3DModel::Clone() const +{ + Windows::Graphics::Printing3D::Printing3DModel value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3DModel)->abi_Clone(put_abi(value))); + return value; +} + +template double impl_IPrinting3DFaceReductionOptions::MaxReductionArea() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPrinting3DFaceReductionOptions)->get_MaxReductionArea(&value)); + return value; +} + +template void impl_IPrinting3DFaceReductionOptions::MaxReductionArea(double value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DFaceReductionOptions)->put_MaxReductionArea(value)); +} + +template uint32_t impl_IPrinting3DFaceReductionOptions::TargetTriangleCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPrinting3DFaceReductionOptions)->get_TargetTriangleCount(&value)); + return value; +} + +template void impl_IPrinting3DFaceReductionOptions::TargetTriangleCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DFaceReductionOptions)->put_TargetTriangleCount(value)); +} + +template double impl_IPrinting3DFaceReductionOptions::MaxEdgeLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPrinting3DFaceReductionOptions)->get_MaxEdgeLength(&value)); + return value; +} + +template void impl_IPrinting3DFaceReductionOptions::MaxEdgeLength(double value) const +{ + check_hresult(WINRT_SHIM(IPrinting3DFaceReductionOptions)->put_MaxEdgeLength(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IPrinting3DModel2::TryPartialRepairAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrinting3DModel2)->abi_TryPartialRepairAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPrinting3DModel2::TryPartialRepairAsync(const Windows::Foundation::TimeSpan & maxWaitTime) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrinting3DModel2)->abi_TryPartialRepairWithTimeAsync(get_abi(maxWaitTime), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPrinting3DModel2::TryReduceFacesAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPrinting3DModel2)->abi_TryReduceFacesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPrinting3DModel2::TryReduceFacesAsync(const Windows::Graphics::Printing3D::Printing3DFaceReductionOptions & printing3DFaceReductionOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPrinting3DModel2)->abi_TryReduceFacesWithOptionsAsync(get_abi(printing3DFaceReductionOptions), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPrinting3DModel2::TryReduceFacesAsync(const Windows::Graphics::Printing3D::Printing3DFaceReductionOptions & printing3DFaceReductionOptions, const Windows::Foundation::TimeSpan & maxWait) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPrinting3DModel2)->abi_TryReduceFacesWithOptionsAndTimeAsync(get_abi(printing3DFaceReductionOptions), get_abi(maxWait), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPrinting3DModel2::RepairWithProgressAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPrinting3DModel2)->abi_RepairWithProgressAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPrinting3D3MFPackageStatics::LoadAsync(const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackageStatics)->abi_LoadAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPrinting3D3MFPackage::SaveAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->abi_SaveAsync(put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::IRandomAccessStream impl_IPrinting3D3MFPackage::PrintTicket() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->get_PrintTicket(put_abi(value))); + return value; +} + +template void impl_IPrinting3D3MFPackage::PrintTicket(const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->put_PrintTicket(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStream impl_IPrinting3D3MFPackage::ModelPart() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->get_ModelPart(put_abi(value))); + return value; +} + +template void impl_IPrinting3D3MFPackage::ModelPart(const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->put_ModelPart(get_abi(value))); +} + +template Windows::Graphics::Printing3D::Printing3DTextureResource impl_IPrinting3D3MFPackage::Thumbnail() const +{ + Windows::Graphics::Printing3D::Printing3DTextureResource value { nullptr }; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_IPrinting3D3MFPackage::Thumbnail(const Windows::Graphics::Printing3D::Printing3DTextureResource & value) const +{ + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->put_Thumbnail(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IPrinting3D3MFPackage::Textures() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->get_Textures(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPrinting3D3MFPackage::LoadModelFromPackageAsync(const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->abi_LoadModelFromPackageAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IPrinting3D3MFPackage::SaveModelToPackageAsync(const Windows::Graphics::Printing3D::Printing3DModel & value) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPrinting3D3MFPackage)->abi_SaveModelToPackageAsync(get_abi(value), put_abi(operation))); + return operation; +} + +inline Windows::Graphics::Printing3D::Print3DManager Print3DManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::Foundation::IAsyncOperation Print3DManager::ShowPrintUIAsync() +{ + return get_activation_factory().ShowPrintUIAsync(); +} + +inline Printing3D3MFPackage::Printing3D3MFPackage() : + Printing3D3MFPackage(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation Printing3D3MFPackage::LoadAsync(const Windows::Storage::Streams::IRandomAccessStream & value) +{ + return get_activation_factory().LoadAsync(value); +} + +inline Printing3DBaseMaterial::Printing3DBaseMaterial() : + Printing3DBaseMaterial(activate_instance()) +{} + +inline hstring Printing3DBaseMaterial::Abs() +{ + return get_activation_factory().Abs(); +} + +inline hstring Printing3DBaseMaterial::Pla() +{ + return get_activation_factory().Pla(); +} + +inline Printing3DBaseMaterialGroup::Printing3DBaseMaterialGroup(uint32_t MaterialGroupId) : + Printing3DBaseMaterialGroup(get_activation_factory().Create(MaterialGroupId)) +{} + +inline Printing3DColorMaterial::Printing3DColorMaterial() : + Printing3DColorMaterial(activate_instance()) +{} + +inline Printing3DColorMaterialGroup::Printing3DColorMaterialGroup(uint32_t MaterialGroupId) : + Printing3DColorMaterialGroup(get_activation_factory().Create(MaterialGroupId)) +{} + +inline Printing3DComponent::Printing3DComponent() : + Printing3DComponent(activate_instance()) +{} + +inline Printing3DComponentWithMatrix::Printing3DComponentWithMatrix() : + Printing3DComponentWithMatrix(activate_instance()) +{} + +inline Printing3DCompositeMaterial::Printing3DCompositeMaterial() : + Printing3DCompositeMaterial(activate_instance()) +{} + +inline Printing3DCompositeMaterialGroup::Printing3DCompositeMaterialGroup(uint32_t MaterialGroupId) : + Printing3DCompositeMaterialGroup(get_activation_factory().Create(MaterialGroupId)) +{} + +inline Printing3DFaceReductionOptions::Printing3DFaceReductionOptions() : + Printing3DFaceReductionOptions(activate_instance()) +{} + +inline Printing3DMaterial::Printing3DMaterial() : + Printing3DMaterial(activate_instance()) +{} + +inline Printing3DMesh::Printing3DMesh() : + Printing3DMesh(activate_instance()) +{} + +inline Printing3DModel::Printing3DModel() : + Printing3DModel(activate_instance()) +{} + +inline Printing3DModelTexture::Printing3DModelTexture() : + Printing3DModelTexture(activate_instance()) +{} + +inline Printing3DMultiplePropertyMaterial::Printing3DMultiplePropertyMaterial() : + Printing3DMultiplePropertyMaterial(activate_instance()) +{} + +inline Printing3DMultiplePropertyMaterialGroup::Printing3DMultiplePropertyMaterialGroup(uint32_t MaterialGroupId) : + Printing3DMultiplePropertyMaterialGroup(get_activation_factory().Create(MaterialGroupId)) +{} + +inline Printing3DTexture2CoordMaterial::Printing3DTexture2CoordMaterial() : + Printing3DTexture2CoordMaterial(activate_instance()) +{} + +inline Printing3DTexture2CoordMaterialGroup::Printing3DTexture2CoordMaterialGroup(uint32_t MaterialGroupId) : + Printing3DTexture2CoordMaterialGroup(get_activation_factory().Create(MaterialGroupId)) +{} + +inline Printing3DTextureResource::Printing3DTextureResource() : + Printing3DTextureResource(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DTaskCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DTaskRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DTaskSourceChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrint3DTaskSourceRequestedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3D3MFPackage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3D3MFPackageStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DBaseMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DBaseMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DBaseMaterialGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DBaseMaterialStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DColorMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DColorMaterial2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DColorMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DColorMaterialGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DComponent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DComponentWithMatrix & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DCompositeMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DCompositeMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DCompositeMaterialGroup2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DCompositeMaterialGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DFaceReductionOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DMesh & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DMeshVerificationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DModel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DModel2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DModelTexture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DMultiplePropertyMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DMultiplePropertyMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DMultiplePropertyMaterialGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DTexture2CoordMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DTexture2CoordMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DTexture2CoordMaterialGroup2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DTexture2CoordMaterialGroupFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::IPrinting3DTextureResource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Print3DManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Print3DTask & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Print3DTaskCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Print3DTaskRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Print3DTaskRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Print3DTaskSourceChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Print3DTaskSourceRequestedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3D3MFPackage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DBaseMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DBaseMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DColorMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DColorMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DComponent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DComponentWithMatrix & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DCompositeMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DCompositeMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DFaceReductionOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DMesh & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DMeshVerificationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DModel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DModelTexture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DMultiplePropertyMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DMultiplePropertyMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DTexture2CoordMaterial & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DTexture2CoordMaterialGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Graphics::Printing3D::Printing3DTextureResource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Graphics.h b/10.0.15042.0/winrt/Windows.Graphics.h new file mode 100644 index 000000000..01b4a1998 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Graphics.h @@ -0,0 +1,19 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +} + +} + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Management.Core.h b/10.0.15042.0/winrt/Windows.Management.Core.h new file mode 100644 index 000000000..411656b73 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Management.Core.h @@ -0,0 +1,87 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Management.Core.3.h" +#include "Windows.Management.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateForPackageFamily(impl::abi_arg_in packageFamilyName, impl::abi_arg_out applicationData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *applicationData = detach_abi(this->shim().CreateForPackageFamily(*reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *applicationData = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Management::Core { + +template Windows::Storage::ApplicationData impl_IApplicationDataManagerStatics::CreateForPackageFamily(hstring_view packageFamilyName) const +{ + Windows::Storage::ApplicationData applicationData { nullptr }; + check_hresult(WINRT_SHIM(IApplicationDataManagerStatics)->abi_CreateForPackageFamily(get_abi(packageFamilyName), put_abi(applicationData))); + return applicationData; +} + +inline Windows::Storage::ApplicationData ApplicationDataManager::CreateForPackageFamily(hstring_view packageFamilyName) +{ + return get_activation_factory().CreateForPackageFamily(packageFamilyName); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Core::IApplicationDataManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Core::IApplicationDataManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Core::ApplicationDataManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Management.Deployment.Preview.h b/10.0.15042.0/winrt/Windows.Management.Deployment.Preview.h new file mode 100644 index 000000000..d2b8c6760 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Management.Deployment.Preview.h @@ -0,0 +1,130 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Management.Deployment.Preview.3.h" +#include "Windows.Management.Deployment.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindInstalledApp(impl::abi_arg_in appUninstallKey, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindInstalledApp(*reinterpret_cast(&appUninstallKey))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Management::Deployment::Preview { + +template hstring impl_IInstalledClassicAppInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInstalledClassicAppInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IInstalledClassicAppInfo::DisplayVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInstalledClassicAppInfo)->get_DisplayVersion(put_abi(value))); + return value; +} + +template Windows::Management::Deployment::Preview::InstalledClassicAppInfo impl_IClassicAppManagerStatics::FindInstalledApp(hstring_view appUninstallKey) const +{ + Windows::Management::Deployment::Preview::InstalledClassicAppInfo result { nullptr }; + check_hresult(WINRT_SHIM(IClassicAppManagerStatics)->abi_FindInstalledApp(get_abi(appUninstallKey), put_abi(result))); + return result; +} + +inline Windows::Management::Deployment::Preview::InstalledClassicAppInfo ClassicAppManager::FindInstalledApp(hstring_view appUninstallKey) +{ + return get_activation_factory().FindInstalledApp(appUninstallKey); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::Preview::IClassicAppManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::Preview::IInstalledClassicAppInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::Preview::InstalledClassicAppInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Management.Deployment.h b/10.0.15042.0/winrt/Windows.Management.Deployment.h new file mode 100644 index 000000000..f99ca3dcb --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Management.Deployment.h @@ -0,0 +1,1892 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.Management.Deployment.3.h" +#include "Windows.Management.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActivityId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsRegistered(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRegistered()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddPackageAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().AddPackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions)); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdatePackageAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().UpdatePackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions)); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemovePackageAsync(impl::abi_arg_in packageFullName, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().RemovePackageAsync(*reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StagePackageAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().StagePackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterPackageAsync(impl::abi_arg_in manifestUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().RegisterPackageAsync(*reinterpret_cast(&manifestUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions)); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackages(impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackages()); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityId(impl::abi_arg_in userSecurityId, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUser(*reinterpret_cast(&userSecurityId))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByNamePublisher(impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackages(*reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdNamePublisher(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUser(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindUsers(impl::abi_arg_in packageFullName, impl::abi_arg_out> users) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *users = detach_abi(this->shim().FindUsers(*reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *users = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPackageState(impl::abi_arg_in packageFullName, Windows::Management::Deployment::PackageState packageState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPackageState(*reinterpret_cast(&packageFullName), packageState); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackageByPackageFullName(impl::abi_arg_in packageFullName, impl::abi_arg_out packageInformation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageInformation = detach_abi(this->shim().FindPackage(*reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *packageInformation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CleanupPackageForUserAsync(impl::abi_arg_in packageName, impl::abi_arg_in userSecurityId, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().CleanupPackageForUserAsync(*reinterpret_cast(&packageName), *reinterpret_cast(&userSecurityId))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByPackageFamilyName(impl::abi_arg_in packageFamilyName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackages(*reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdPackageFamilyName(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageFamilyName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUser(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackageByUserSecurityIdPackageFullName(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageFullName, impl::abi_arg_out packageInformation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageInformation = detach_abi(this->shim().FindPackageForUser(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *packageInformation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RemovePackageWithOptionsAsync(impl::abi_arg_in packageFullName, Windows::Management::Deployment::RemovalOptions removalOptions, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().RemovePackageAsync(*reinterpret_cast(&packageFullName), removalOptions)); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StagePackageWithOptionsAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().StagePackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions)); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterPackageByFullNameAsync(impl::abi_arg_in mainPackageFullName, impl::abi_arg_in> dependencyPackageFullNames, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().RegisterPackageByFullNameAsync(*reinterpret_cast(&mainPackageFullName), *reinterpret_cast *>(&dependencyPackageFullNames), deploymentOptions)); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesWithPackageTypes(Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesWithPackageTypes(packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdWithPackageTypes(impl::abi_arg_in userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUserWithPackageTypes(*reinterpret_cast(&userSecurityId), packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByNamePublisherWithPackageTypes(impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesWithPackageTypes(*reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher), packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdNamePublisherWithPackageTypes(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUserWithPackageTypes(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher), packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByPackageFamilyNameWithPackageTypes(impl::abi_arg_in packageFamilyName, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesWithPackageTypes(*reinterpret_cast(&packageFamilyName), packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageFamilyName, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUserWithPackageTypes(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageFamilyName), packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StageUserDataAsync(impl::abi_arg_in packageFullName, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().StageUserDataAsync(*reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddPackageVolumeAsync(impl::abi_arg_in packageStorePath, impl::abi_arg_out> packageVolume) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageVolume = detach_abi(this->shim().AddPackageVolumeAsync(*reinterpret_cast(&packageStorePath))); + return S_OK; + } + catch (...) + { + *packageVolume = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPackageToVolumeAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_in targetVolume, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().AddPackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions, *reinterpret_cast(&targetVolume))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearPackageStatus(impl::abi_arg_in packageFullName, Windows::Management::Deployment::PackageStatus status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearPackageStatus(*reinterpret_cast(&packageFullName), status); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterPackageWithAppDataVolumeAsync(impl::abi_arg_in manifestUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_in appDataVolume, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().RegisterPackageAsync(*reinterpret_cast(&manifestUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions, *reinterpret_cast(&appDataVolume))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackageVolumeByName(impl::abi_arg_in volumeName, impl::abi_arg_out volume) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *volume = detach_abi(this->shim().FindPackageVolume(*reinterpret_cast(&volumeName))); + return S_OK; + } + catch (...) + { + *volume = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackageVolumes(impl::abi_arg_out> volumeCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *volumeCollection = detach_abi(this->shim().FindPackageVolumes()); + return S_OK; + } + catch (...) + { + *volumeCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultPackageVolume(impl::abi_arg_out volume) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *volume = detach_abi(this->shim().GetDefaultPackageVolume()); + return S_OK; + } + catch (...) + { + *volume = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MovePackageToVolumeAsync(impl::abi_arg_in packageFullName, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_in targetVolume, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().MovePackageToVolumeAsync(*reinterpret_cast(&packageFullName), deploymentOptions, *reinterpret_cast(&targetVolume))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemovePackageVolumeAsync(impl::abi_arg_in volume, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().RemovePackageVolumeAsync(*reinterpret_cast(&volume))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDefaultPackageVolume(impl::abi_arg_in volume) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDefaultPackageVolume(*reinterpret_cast(&volume)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPackageStatus(impl::abi_arg_in packageFullName, Windows::Management::Deployment::PackageStatus status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPackageStatus(*reinterpret_cast(&packageFullName), status); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPackageVolumeOfflineAsync(impl::abi_arg_in packageVolume, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().SetPackageVolumeOfflineAsync(*reinterpret_cast(&packageVolume))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPackageVolumeOnlineAsync(impl::abi_arg_in packageVolume, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().SetPackageVolumeOnlineAsync(*reinterpret_cast(&packageVolume))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StagePackageToVolumeAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_in targetVolume, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().StagePackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions, *reinterpret_cast(&targetVolume))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StageUserDataWithOptionsAsync(impl::abi_arg_in packageFullName, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().StageUserDataAsync(*reinterpret_cast(&packageFullName), deploymentOptions)); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPackageVolumesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPackageVolumesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddPackageToVolumeAndOptionalPackagesAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_in targetVolume, impl::abi_arg_in> optionalPackageFamilyNames, impl::abi_arg_in> externalPackageUris, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().AddPackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions, *reinterpret_cast(&targetVolume), *reinterpret_cast *>(&optionalPackageFamilyNames), *reinterpret_cast *>(&externalPackageUris))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StagePackageToVolumeAndOptionalPackagesAsync(impl::abi_arg_in packageUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_in targetVolume, impl::abi_arg_in> optionalPackageFamilyNames, impl::abi_arg_in> externalPackageUris, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().StagePackageAsync(*reinterpret_cast(&packageUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions, *reinterpret_cast(&targetVolume), *reinterpret_cast *>(&optionalPackageFamilyNames), *reinterpret_cast *>(&externalPackageUris))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterPackageByFamilyNameAndOptionalPackagesAsync(impl::abi_arg_in mainPackageFamilyName, impl::abi_arg_in> dependencyPackageFamilyNames, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_in appDataVolume, impl::abi_arg_in> optionalPackageFamilyNames, impl::abi_arg_out> deploymentOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deploymentOperation = detach_abi(this->shim().RegisterPackageByFamilyNameAsync(*reinterpret_cast(&mainPackageFamilyName), *reinterpret_cast *>(&dependencyPackageFamilyNames), deploymentOptions, *reinterpret_cast(&appDataVolume), *reinterpret_cast *>(&optionalPackageFamilyNames))); + return S_OK; + } + catch (...) + { + *deploymentOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DebugSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DebugSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetContentGroupStateAsync(impl::abi_arg_in package, impl::abi_arg_in contentGroupName, Windows::ApplicationModel::PackageContentGroupState state, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SetContentGroupStateAsync(*reinterpret_cast(&package), *reinterpret_cast(&contentGroupName), state)); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetContentGroupStateWithPercentageAsync(impl::abi_arg_in package, impl::abi_arg_in contentGroupName, Windows::ApplicationModel::PackageContentGroupState state, double completionPercentage, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SetContentGroupStateAsync(*reinterpret_cast(&package), *reinterpret_cast(&contentGroupName), state, completionPercentage)); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserSecurityId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserSecurityId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstallState(Windows::Management::Deployment::PackageInstallState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsOffline(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOffline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSystemVolume(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSystemVolume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MountPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MountPoint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PackageStorePath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PackageStorePath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsHardLinks(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsHardLinks()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackages(impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackages()); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByNamePublisher(impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackages(*reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByPackageFamilyName(impl::abi_arg_in packageFamilyName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackages(*reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesWithPackageTypes(Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesWithPackageTypes(packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByNamePublisherWithPackagesTypes(Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesWithPackageTypes(packageTypes, *reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByPackageFamilyNameWithPackageTypes(Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_in packageFamilyName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesWithPackageTypes(packageTypes, *reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackageByPackageFullName(impl::abi_arg_in packageFullName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackage(*reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityId(impl::abi_arg_in userSecurityId, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUser(*reinterpret_cast(&userSecurityId))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdNamePublisher(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUser(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdPackageFamilyName(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageFamilyName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUser(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdWithPackageTypes(impl::abi_arg_in userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUserWithPackageTypes(*reinterpret_cast(&userSecurityId), packageTypes)); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdNamePublisherWithPackageTypes(impl::abi_arg_in userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUserWithPackageTypes(*reinterpret_cast(&userSecurityId), packageTypes, *reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByUserSecurityIdPackageFamilyNameWithPackagesTypes(impl::abi_arg_in userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes, impl::abi_arg_in packageFamilyName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackagesForUserWithPackageTypes(*reinterpret_cast(&userSecurityId), packageTypes, *reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackageByUserSecurityIdPackageFullName(impl::abi_arg_in userSecurityId, impl::abi_arg_in packageFullName, impl::abi_arg_out> packageCollection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageCollection = detach_abi(this->shim().FindPackageForUser(*reinterpret_cast(&userSecurityId), *reinterpret_cast(&packageFullName))); + return S_OK; + } + catch (...) + { + *packageCollection = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsFullTrustPackageSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullTrustPackageSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAppxInstallSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAppxInstallSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAvailableSpaceAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAvailableSpaceAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Management::Deployment { + +template hstring impl_IDeploymentResult::ErrorText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDeploymentResult)->get_ErrorText(put_abi(value))); + return value; +} + +template GUID impl_IDeploymentResult::ActivityId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IDeploymentResult)->get_ActivityId(&value)); + return value; +} + +template HRESULT impl_IDeploymentResult::ExtendedErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IDeploymentResult)->get_ExtendedErrorCode(&value)); + return value; +} + +template bool impl_IDeploymentResult2::IsRegistered() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDeploymentResult2)->get_IsRegistered(&value)); + return value; +} + +template hstring impl_IPackageUserInformation::UserSecurityId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageUserInformation)->get_UserSecurityId(put_abi(value))); + return value; +} + +template Windows::Management::Deployment::PackageInstallState impl_IPackageUserInformation::InstallState() const +{ + Windows::Management::Deployment::PackageInstallState value {}; + check_hresult(WINRT_SHIM(IPackageUserInformation)->get_InstallState(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager::AddPackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager)->abi_AddPackageAsync(get_abi(packageUri), get_abi(dependencyPackageUris), deploymentOptions, put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager::UpdatePackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager)->abi_UpdatePackageAsync(get_abi(packageUri), get_abi(dependencyPackageUris), deploymentOptions, put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager::RemovePackageAsync(hstring_view packageFullName) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager)->abi_RemovePackageAsync(get_abi(packageFullName), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager::StagePackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager)->abi_StagePackageAsync(get_abi(packageUri), get_abi(dependencyPackageUris), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager::RegisterPackageAsync(const Windows::Foundation::Uri & manifestUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager)->abi_RegisterPackageAsync(get_abi(manifestUri), get_abi(dependencyPackageUris), deploymentOptions, put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager::FindPackages() const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackages(put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager::FindPackagesForUser(hstring_view userSecurityId) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackagesByUserSecurityId(get_abi(userSecurityId), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager::FindPackages(hstring_view packageName, hstring_view packagePublisher) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackagesByNamePublisher(get_abi(packageName), get_abi(packagePublisher), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager::FindPackagesForUser(hstring_view userSecurityId, hstring_view packageName, hstring_view packagePublisher) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackagesByUserSecurityIdNamePublisher(get_abi(userSecurityId), get_abi(packageName), get_abi(packagePublisher), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager::FindUsers(hstring_view packageFullName) const +{ + Windows::Foundation::Collections::IIterable users; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindUsers(get_abi(packageFullName), put_abi(users))); + return users; +} + +template void impl_IPackageManager::SetPackageState(hstring_view packageFullName, Windows::Management::Deployment::PackageState packageState) const +{ + check_hresult(WINRT_SHIM(IPackageManager)->abi_SetPackageState(get_abi(packageFullName), packageState)); +} + +template Windows::ApplicationModel::Package impl_IPackageManager::FindPackage(hstring_view packageFullName) const +{ + Windows::ApplicationModel::Package packageInformation { nullptr }; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackageByPackageFullName(get_abi(packageFullName), put_abi(packageInformation))); + return packageInformation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager::CleanupPackageForUserAsync(hstring_view packageName, hstring_view userSecurityId) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager)->abi_CleanupPackageForUserAsync(get_abi(packageName), get_abi(userSecurityId), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager::FindPackages(hstring_view packageFamilyName) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackagesByPackageFamilyName(get_abi(packageFamilyName), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager::FindPackagesForUser(hstring_view userSecurityId, hstring_view packageFamilyName) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackagesByUserSecurityIdPackageFamilyName(get_abi(userSecurityId), get_abi(packageFamilyName), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::ApplicationModel::Package impl_IPackageManager::FindPackageForUser(hstring_view userSecurityId, hstring_view packageFullName) const +{ + Windows::ApplicationModel::Package packageInformation { nullptr }; + check_hresult(WINRT_SHIM(IPackageManager)->abi_FindPackageByUserSecurityIdPackageFullName(get_abi(userSecurityId), get_abi(packageFullName), put_abi(packageInformation))); + return packageInformation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager2::RemovePackageAsync(hstring_view packageFullName, Windows::Management::Deployment::RemovalOptions removalOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_RemovePackageWithOptionsAsync(get_abi(packageFullName), removalOptions, put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager2::StagePackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_StagePackageWithOptionsAsync(get_abi(packageUri), get_abi(dependencyPackageUris), deploymentOptions, put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager2::RegisterPackageByFullNameAsync(hstring_view mainPackageFullName, iterable dependencyPackageFullNames, Windows::Management::Deployment::DeploymentOptions deploymentOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_RegisterPackageByFullNameAsync(get_abi(mainPackageFullName), get_abi(dependencyPackageFullNames), deploymentOptions, put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager2::FindPackagesWithPackageTypes(Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_FindPackagesWithPackageTypes(packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager2::FindPackagesForUserWithPackageTypes(hstring_view userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_FindPackagesByUserSecurityIdWithPackageTypes(get_abi(userSecurityId), packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager2::FindPackagesWithPackageTypes(hstring_view packageName, hstring_view packagePublisher, Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_FindPackagesByNamePublisherWithPackageTypes(get_abi(packageName), get_abi(packagePublisher), packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager2::FindPackagesForUserWithPackageTypes(hstring_view userSecurityId, hstring_view packageName, hstring_view packagePublisher, Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_FindPackagesByUserSecurityIdNamePublisherWithPackageTypes(get_abi(userSecurityId), get_abi(packageName), get_abi(packagePublisher), packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager2::FindPackagesWithPackageTypes(hstring_view packageFamilyName, Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_FindPackagesByPackageFamilyNameWithPackageTypes(get_abi(packageFamilyName), packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager2::FindPackagesForUserWithPackageTypes(hstring_view userSecurityId, hstring_view packageFamilyName, Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IIterable packageCollection; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_FindPackagesByUserSecurityIdPackageFamilyNameWithPackageTypes(get_abi(userSecurityId), get_abi(packageFamilyName), packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager2::StageUserDataAsync(hstring_view packageFullName) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager2)->abi_StageUserDataAsync(get_abi(packageFullName), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IPackageManager3::AddPackageVolumeAsync(hstring_view packageStorePath) const +{ + Windows::Foundation::IAsyncOperation packageVolume; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_AddPackageVolumeAsync(get_abi(packageStorePath), put_abi(packageVolume))); + return packageVolume; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::AddPackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, const Windows::Management::Deployment::PackageVolume & targetVolume) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_AddPackageToVolumeAsync(get_abi(packageUri), get_abi(dependencyPackageUris), deploymentOptions, get_abi(targetVolume), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template void impl_IPackageManager3::ClearPackageStatus(hstring_view packageFullName, Windows::Management::Deployment::PackageStatus status) const +{ + check_hresult(WINRT_SHIM(IPackageManager3)->abi_ClearPackageStatus(get_abi(packageFullName), status)); +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::RegisterPackageAsync(const Windows::Foundation::Uri & manifestUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, const Windows::Management::Deployment::PackageVolume & appDataVolume) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_RegisterPackageWithAppDataVolumeAsync(get_abi(manifestUri), get_abi(dependencyPackageUris), deploymentOptions, get_abi(appDataVolume), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Management::Deployment::PackageVolume impl_IPackageManager3::FindPackageVolume(hstring_view volumeName) const +{ + Windows::Management::Deployment::PackageVolume volume { nullptr }; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_FindPackageVolumeByName(get_abi(volumeName), put_abi(volume))); + return volume; +} + +template Windows::Foundation::Collections::IIterable impl_IPackageManager3::FindPackageVolumes() const +{ + Windows::Foundation::Collections::IIterable volumeCollection; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_FindPackageVolumes(put_abi(volumeCollection))); + return volumeCollection; +} + +template Windows::Management::Deployment::PackageVolume impl_IPackageManager3::GetDefaultPackageVolume() const +{ + Windows::Management::Deployment::PackageVolume volume { nullptr }; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_GetDefaultPackageVolume(put_abi(volume))); + return volume; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::MovePackageToVolumeAsync(hstring_view packageFullName, Windows::Management::Deployment::DeploymentOptions deploymentOptions, const Windows::Management::Deployment::PackageVolume & targetVolume) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_MovePackageToVolumeAsync(get_abi(packageFullName), deploymentOptions, get_abi(targetVolume), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::RemovePackageVolumeAsync(const Windows::Management::Deployment::PackageVolume & volume) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_RemovePackageVolumeAsync(get_abi(volume), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template void impl_IPackageManager3::SetDefaultPackageVolume(const Windows::Management::Deployment::PackageVolume & volume) const +{ + check_hresult(WINRT_SHIM(IPackageManager3)->abi_SetDefaultPackageVolume(get_abi(volume))); +} + +template void impl_IPackageManager3::SetPackageStatus(hstring_view packageFullName, Windows::Management::Deployment::PackageStatus status) const +{ + check_hresult(WINRT_SHIM(IPackageManager3)->abi_SetPackageStatus(get_abi(packageFullName), status)); +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::SetPackageVolumeOfflineAsync(const Windows::Management::Deployment::PackageVolume & packageVolume) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_SetPackageVolumeOfflineAsync(get_abi(packageVolume), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::SetPackageVolumeOnlineAsync(const Windows::Management::Deployment::PackageVolume & packageVolume) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_SetPackageVolumeOnlineAsync(get_abi(packageVolume), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::StagePackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, const Windows::Management::Deployment::PackageVolume & targetVolume) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_StagePackageToVolumeAsync(get_abi(packageUri), get_abi(dependencyPackageUris), deploymentOptions, get_abi(targetVolume), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager3::StageUserDataAsync(hstring_view packageFullName, Windows::Management::Deployment::DeploymentOptions deploymentOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager3)->abi_StageUserDataWithOptionsAsync(get_abi(packageFullName), deploymentOptions, put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPackageManager4::GetPackageVolumesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPackageManager4)->abi_GetPackageVolumesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager5::AddPackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, const Windows::Management::Deployment::PackageVolume & targetVolume, iterable optionalPackageFamilyNames, iterable externalPackageUris) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager5)->abi_AddPackageToVolumeAndOptionalPackagesAsync(get_abi(packageUri), get_abi(dependencyPackageUris), deploymentOptions, get_abi(targetVolume), get_abi(optionalPackageFamilyNames), get_abi(externalPackageUris), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager5::StagePackageAsync(const Windows::Foundation::Uri & packageUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, const Windows::Management::Deployment::PackageVolume & targetVolume, iterable optionalPackageFamilyNames, iterable externalPackageUris) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager5)->abi_StagePackageToVolumeAndOptionalPackagesAsync(get_abi(packageUri), get_abi(dependencyPackageUris), deploymentOptions, get_abi(targetVolume), get_abi(optionalPackageFamilyNames), get_abi(externalPackageUris), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPackageManager5::RegisterPackageByFamilyNameAsync(hstring_view mainPackageFamilyName, iterable dependencyPackageFamilyNames, Windows::Management::Deployment::DeploymentOptions deploymentOptions, const Windows::Management::Deployment::PackageVolume & appDataVolume, iterable optionalPackageFamilyNames) const +{ + Windows::Foundation::IAsyncOperationWithProgress deploymentOperation; + check_hresult(WINRT_SHIM(IPackageManager5)->abi_RegisterPackageByFamilyNameAndOptionalPackagesAsync(get_abi(mainPackageFamilyName), get_abi(dependencyPackageFamilyNames), deploymentOptions, get_abi(appDataVolume), get_abi(optionalPackageFamilyNames), put_abi(deploymentOperation))); + return deploymentOperation; +} + +template Windows::Management::Deployment::PackageManagerDebugSettings impl_IPackageManager5::DebugSettings() const +{ + Windows::Management::Deployment::PackageManagerDebugSettings value { nullptr }; + check_hresult(WINRT_SHIM(IPackageManager5)->get_DebugSettings(put_abi(value))); + return value; +} + +template bool impl_IPackageVolume::IsOffline() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageVolume)->get_IsOffline(&value)); + return value; +} + +template bool impl_IPackageVolume::IsSystemVolume() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageVolume)->get_IsSystemVolume(&value)); + return value; +} + +template hstring impl_IPackageVolume::MountPoint() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageVolume)->get_MountPoint(put_abi(value))); + return value; +} + +template hstring impl_IPackageVolume::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageVolume)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IPackageVolume::PackageStorePath() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageVolume)->get_PackageStorePath(put_abi(value))); + return value; +} + +template bool impl_IPackageVolume::SupportsHardLinks() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageVolume)->get_SupportsHardLinks(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackages() const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackages(put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackages(hstring_view packageName, hstring_view packagePublisher) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByNamePublisher(get_abi(packageName), get_abi(packagePublisher), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackages(hstring_view packageFamilyName) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByPackageFamilyName(get_abi(packageFamilyName), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesWithPackageTypes(Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesWithPackageTypes(packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesWithPackageTypes(Windows::Management::Deployment::PackageTypes packageTypes, hstring_view packageName, hstring_view packagePublisher) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByNamePublisherWithPackagesTypes(packageTypes, get_abi(packageName), get_abi(packagePublisher), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesWithPackageTypes(Windows::Management::Deployment::PackageTypes packageTypes, hstring_view packageFamilyName) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByPackageFamilyNameWithPackageTypes(packageTypes, get_abi(packageFamilyName), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackage(hstring_view packageFullName) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackageByPackageFullName(get_abi(packageFullName), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesForUser(hstring_view userSecurityId) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByUserSecurityId(get_abi(userSecurityId), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesForUser(hstring_view userSecurityId, hstring_view packageName, hstring_view packagePublisher) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByUserSecurityIdNamePublisher(get_abi(userSecurityId), get_abi(packageName), get_abi(packagePublisher), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesForUser(hstring_view userSecurityId, hstring_view packageFamilyName) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByUserSecurityIdPackageFamilyName(get_abi(userSecurityId), get_abi(packageFamilyName), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesForUserWithPackageTypes(hstring_view userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByUserSecurityIdWithPackageTypes(get_abi(userSecurityId), packageTypes, put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesForUserWithPackageTypes(hstring_view userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes, hstring_view packageName, hstring_view packagePublisher) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByUserSecurityIdNamePublisherWithPackageTypes(get_abi(userSecurityId), packageTypes, get_abi(packageName), get_abi(packagePublisher), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackagesForUserWithPackageTypes(hstring_view userSecurityId, Windows::Management::Deployment::PackageTypes packageTypes, hstring_view packageFamilyName) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackagesByUserSecurityIdPackageFamilyNameWithPackagesTypes(get_abi(userSecurityId), packageTypes, get_abi(packageFamilyName), put_abi(packageCollection))); + return packageCollection; +} + +template Windows::Foundation::Collections::IVector impl_IPackageVolume::FindPackageForUser(hstring_view userSecurityId, hstring_view packageFullName) const +{ + Windows::Foundation::Collections::IVector packageCollection; + check_hresult(WINRT_SHIM(IPackageVolume)->abi_FindPackageByUserSecurityIdPackageFullName(get_abi(userSecurityId), get_abi(packageFullName), put_abi(packageCollection))); + return packageCollection; +} + +template bool impl_IPackageVolume2::IsFullTrustPackageSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageVolume2)->get_IsFullTrustPackageSupported(&value)); + return value; +} + +template bool impl_IPackageVolume2::IsAppxInstallSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPackageVolume2)->get_IsAppxInstallSupported(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPackageVolume2::GetAvailableSpaceAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPackageVolume2)->abi_GetAvailableSpaceAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IPackageManagerDebugSettings::SetContentGroupStateAsync(const Windows::ApplicationModel::Package & package, hstring_view contentGroupName, Windows::ApplicationModel::PackageContentGroupState state) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IPackageManagerDebugSettings)->abi_SetContentGroupStateAsync(get_abi(package), get_abi(contentGroupName), state, put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IPackageManagerDebugSettings::SetContentGroupStateAsync(const Windows::ApplicationModel::Package & package, hstring_view contentGroupName, Windows::ApplicationModel::PackageContentGroupState state, double completionPercentage) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IPackageManagerDebugSettings)->abi_SetContentGroupStateWithPercentageAsync(get_abi(package), get_abi(contentGroupName), state, completionPercentage, put_abi(action))); + return action; +} + +inline PackageManager::PackageManager() : + PackageManager(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IDeploymentResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IDeploymentResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageManager3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageManager4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageManager5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageManagerDebugSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageUserInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageVolume & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::IPackageVolume2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::DeploymentResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::PackageManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::PackageManagerDebugSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::PackageUserInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Deployment::PackageVolume & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Management.Policies.h b/10.0.15042.0/winrt/Windows.Management.Policies.h new file mode 100644 index 000000000..2080e41fe --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Management.Policies.h @@ -0,0 +1,397 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Management.Policies.3.h" +#include "Windows.Management.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Area(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Area()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Management::Policies::NamedPolicyKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsManaged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsManaged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsUserPolicy(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUserPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBoolean(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetBoolean()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBinary(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetBinary()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInt32(int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetInt32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInt64(int64_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetInt64()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetString(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetString()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Changed(impl::abi_arg_in> changedHandler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Changed(*reinterpret_cast *>(&changedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Changed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Changed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPolicyFromPath(impl::abi_arg_in area, impl::abi_arg_in name, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetPolicyFromPath(*reinterpret_cast(&area), *reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPolicyFromPathForUser(impl::abi_arg_in user, impl::abi_arg_in area, impl::abi_arg_in name, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetPolicyFromPathForUser(*reinterpret_cast(&user), *reinterpret_cast(&area), *reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Management::Policies { + +template hstring impl_INamedPolicyData::Area() const +{ + hstring value; + check_hresult(WINRT_SHIM(INamedPolicyData)->get_Area(put_abi(value))); + return value; +} + +template hstring impl_INamedPolicyData::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(INamedPolicyData)->get_Name(put_abi(value))); + return value; +} + +template Windows::Management::Policies::NamedPolicyKind impl_INamedPolicyData::Kind() const +{ + Windows::Management::Policies::NamedPolicyKind value {}; + check_hresult(WINRT_SHIM(INamedPolicyData)->get_Kind(&value)); + return value; +} + +template bool impl_INamedPolicyData::IsManaged() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INamedPolicyData)->get_IsManaged(&value)); + return value; +} + +template bool impl_INamedPolicyData::IsUserPolicy() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INamedPolicyData)->get_IsUserPolicy(&value)); + return value; +} + +template Windows::System::User impl_INamedPolicyData::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(INamedPolicyData)->get_User(put_abi(value))); + return value; +} + +template bool impl_INamedPolicyData::GetBoolean() const +{ + bool result {}; + check_hresult(WINRT_SHIM(INamedPolicyData)->abi_GetBoolean(&result)); + return result; +} + +template Windows::Storage::Streams::IBuffer impl_INamedPolicyData::GetBinary() const +{ + Windows::Storage::Streams::IBuffer result; + check_hresult(WINRT_SHIM(INamedPolicyData)->abi_GetBinary(put_abi(result))); + return result; +} + +template int32_t impl_INamedPolicyData::GetInt32() const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(INamedPolicyData)->abi_GetInt32(&result)); + return result; +} + +template int64_t impl_INamedPolicyData::GetInt64() const +{ + int64_t result {}; + check_hresult(WINRT_SHIM(INamedPolicyData)->abi_GetInt64(&result)); + return result; +} + +template hstring impl_INamedPolicyData::GetString() const +{ + hstring result; + check_hresult(WINRT_SHIM(INamedPolicyData)->abi_GetString(put_abi(result))); + return result; +} + +template event_token impl_INamedPolicyData::Changed(const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(INamedPolicyData)->add_Changed(get_abi(changedHandler), &cookie)); + return cookie; +} + +template event_revoker impl_INamedPolicyData::Changed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Management::Policies::INamedPolicyData::remove_Changed, Changed(changedHandler)); +} + +template void impl_INamedPolicyData::Changed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(INamedPolicyData)->remove_Changed(cookie)); +} + +template Windows::Management::Policies::NamedPolicyData impl_INamedPolicyStatics::GetPolicyFromPath(hstring_view area, hstring_view name) const +{ + Windows::Management::Policies::NamedPolicyData result { nullptr }; + check_hresult(WINRT_SHIM(INamedPolicyStatics)->abi_GetPolicyFromPath(get_abi(area), get_abi(name), put_abi(result))); + return result; +} + +template Windows::Management::Policies::NamedPolicyData impl_INamedPolicyStatics::GetPolicyFromPathForUser(const Windows::System::User & user, hstring_view area, hstring_view name) const +{ + Windows::Management::Policies::NamedPolicyData result { nullptr }; + check_hresult(WINRT_SHIM(INamedPolicyStatics)->abi_GetPolicyFromPathForUser(get_abi(user), get_abi(area), get_abi(name), put_abi(result))); + return result; +} + +inline Windows::Management::Policies::NamedPolicyData NamedPolicy::GetPolicyFromPath(hstring_view area, hstring_view name) +{ + return get_activation_factory().GetPolicyFromPath(area, name); +} + +inline Windows::Management::Policies::NamedPolicyData NamedPolicy::GetPolicyFromPathForUser(const Windows::System::User & user, hstring_view area, hstring_view name) +{ + return get_activation_factory().GetPolicyFromPathForUser(user, area, name); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Policies::INamedPolicyData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Policies::INamedPolicyStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Policies::NamedPolicyData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Management.Workplace.h b/10.0.15042.0/winrt/Windows.Management.Workplace.h new file mode 100644 index 000000000..4ff3b4580 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Management.Workplace.h @@ -0,0 +1,219 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Management.Workplace.3.h" +#include "Windows.Management.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsBrowserAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBrowserAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsCameraAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCameraAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsMicrosoftAccountAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMicrosoftAccountAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsStoreAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStoreAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetMessagingSyncPolicy(Windows::Management::Workplace::MessagingSyncPolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetMessagingSyncPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsMicrosoftAccountOptional(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMicrosoftAccountOptional()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Management::Workplace { + +template bool impl_IMdmAllowPolicyStatics::IsBrowserAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMdmAllowPolicyStatics)->abi_IsBrowserAllowed(&value)); + return value; +} + +template bool impl_IMdmAllowPolicyStatics::IsCameraAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMdmAllowPolicyStatics)->abi_IsCameraAllowed(&value)); + return value; +} + +template bool impl_IMdmAllowPolicyStatics::IsMicrosoftAccountAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMdmAllowPolicyStatics)->abi_IsMicrosoftAccountAllowed(&value)); + return value; +} + +template bool impl_IMdmAllowPolicyStatics::IsStoreAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMdmAllowPolicyStatics)->abi_IsStoreAllowed(&value)); + return value; +} + +template Windows::Management::Workplace::MessagingSyncPolicy impl_IMdmPolicyStatics2::GetMessagingSyncPolicy() const +{ + Windows::Management::Workplace::MessagingSyncPolicy value {}; + check_hresult(WINRT_SHIM(IMdmPolicyStatics2)->abi_GetMessagingSyncPolicy(&value)); + return value; +} + +template bool impl_IWorkplaceSettingsStatics::IsMicrosoftAccountOptional() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWorkplaceSettingsStatics)->get_IsMicrosoftAccountOptional(&value)); + return value; +} + +inline bool MdmPolicy::IsBrowserAllowed() +{ + return get_activation_factory().IsBrowserAllowed(); +} + +inline bool MdmPolicy::IsCameraAllowed() +{ + return get_activation_factory().IsCameraAllowed(); +} + +inline bool MdmPolicy::IsMicrosoftAccountAllowed() +{ + return get_activation_factory().IsMicrosoftAccountAllowed(); +} + +inline bool MdmPolicy::IsStoreAllowed() +{ + return get_activation_factory().IsStoreAllowed(); +} + +inline Windows::Management::Workplace::MessagingSyncPolicy MdmPolicy::GetMessagingSyncPolicy() +{ + return get_activation_factory().GetMessagingSyncPolicy(); +} + +inline bool WorkplaceSettings::IsMicrosoftAccountOptional() +{ + return get_activation_factory().IsMicrosoftAccountOptional(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Workplace::IMdmAllowPolicyStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Workplace::IMdmPolicyStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::Workplace::IWorkplaceSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Management.h b/10.0.15042.0/winrt/Windows.Management.h new file mode 100644 index 000000000..943e3321b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Management.h @@ -0,0 +1,627 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Management.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Format(Windows::Management::MdmAlertDataType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Format(Windows::Management::MdmAlertDataType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Format(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mark(Windows::Management::MdmAlertMark * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mark()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mark(Windows::Management::MdmAlertMark value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mark(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Target(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Target()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Target(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Target(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Alerts(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Alerts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Management::MdmSessionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AttachAsync(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().AttachAsync()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Delete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Delete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartWithAlertsAsync(impl::abi_arg_in> alerts, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().StartAsync(*reinterpret_cast *>(&alerts))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateSession(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCreateSession()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteSessionById(impl::abi_arg_in sessionId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeleteSessionById(*reinterpret_cast(&sessionId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSessionById(impl::abi_arg_in sessionId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSessionById(*reinterpret_cast(&sessionId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Management { + +template hstring impl_IMdmAlert::Data() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMdmAlert)->get_Data(put_abi(value))); + return value; +} + +template void impl_IMdmAlert::Data(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMdmAlert)->put_Data(get_abi(value))); +} + +template Windows::Management::MdmAlertDataType impl_IMdmAlert::Format() const +{ + Windows::Management::MdmAlertDataType value {}; + check_hresult(WINRT_SHIM(IMdmAlert)->get_Format(&value)); + return value; +} + +template void impl_IMdmAlert::Format(Windows::Management::MdmAlertDataType value) const +{ + check_hresult(WINRT_SHIM(IMdmAlert)->put_Format(value)); +} + +template Windows::Management::MdmAlertMark impl_IMdmAlert::Mark() const +{ + Windows::Management::MdmAlertMark value {}; + check_hresult(WINRT_SHIM(IMdmAlert)->get_Mark(&value)); + return value; +} + +template void impl_IMdmAlert::Mark(Windows::Management::MdmAlertMark value) const +{ + check_hresult(WINRT_SHIM(IMdmAlert)->put_Mark(value)); +} + +template hstring impl_IMdmAlert::Source() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMdmAlert)->get_Source(put_abi(value))); + return value; +} + +template void impl_IMdmAlert::Source(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMdmAlert)->put_Source(get_abi(value))); +} + +template uint32_t impl_IMdmAlert::Status() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMdmAlert)->get_Status(&value)); + return value; +} + +template hstring impl_IMdmAlert::Target() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMdmAlert)->get_Target(put_abi(value))); + return value; +} + +template void impl_IMdmAlert::Target(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMdmAlert)->put_Target(get_abi(value))); +} + +template hstring impl_IMdmAlert::Type() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMdmAlert)->get_Type(put_abi(value))); + return value; +} + +template void impl_IMdmAlert::Type(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMdmAlert)->put_Type(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IMdmSession::Alerts() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMdmSession)->get_Alerts(put_abi(value))); + return value; +} + +template HRESULT impl_IMdmSession::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IMdmSession)->get_ExtendedError(&value)); + return value; +} + +template hstring impl_IMdmSession::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMdmSession)->get_Id(put_abi(value))); + return value; +} + +template Windows::Management::MdmSessionState impl_IMdmSession::State() const +{ + Windows::Management::MdmSessionState value {}; + check_hresult(WINRT_SHIM(IMdmSession)->get_State(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMdmSession::AttachAsync() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IMdmSession)->abi_AttachAsync(put_abi(action))); + return action; +} + +template void impl_IMdmSession::Delete() const +{ + check_hresult(WINRT_SHIM(IMdmSession)->abi_Delete()); +} + +template Windows::Foundation::IAsyncAction impl_IMdmSession::StartAsync() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IMdmSession)->abi_StartAsync(put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IMdmSession::StartAsync(iterable alerts) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IMdmSession)->abi_StartWithAlertsAsync(get_abi(alerts), put_abi(action))); + return action; +} + +template Windows::Foundation::Collections::IVectorView impl_IMdmSessionManagerStatics::SessionIds() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMdmSessionManagerStatics)->get_SessionIds(put_abi(value))); + return value; +} + +template Windows::Management::MdmSession impl_IMdmSessionManagerStatics::TryCreateSession() const +{ + Windows::Management::MdmSession result { nullptr }; + check_hresult(WINRT_SHIM(IMdmSessionManagerStatics)->abi_TryCreateSession(put_abi(result))); + return result; +} + +template void impl_IMdmSessionManagerStatics::DeleteSessionById(hstring_view sessionId) const +{ + check_hresult(WINRT_SHIM(IMdmSessionManagerStatics)->abi_DeleteSessionById(get_abi(sessionId))); +} + +template Windows::Management::MdmSession impl_IMdmSessionManagerStatics::GetSessionById(hstring_view sessionId) const +{ + Windows::Management::MdmSession result { nullptr }; + check_hresult(WINRT_SHIM(IMdmSessionManagerStatics)->abi_GetSessionById(get_abi(sessionId), put_abi(result))); + return result; +} + +inline MdmAlert::MdmAlert() : + MdmAlert(activate_instance()) +{} + +inline Windows::Foundation::Collections::IVectorView MdmSessionManager::SessionIds() +{ + return get_activation_factory().SessionIds(); +} + +inline Windows::Management::MdmSession MdmSessionManager::TryCreateSession() +{ + return get_activation_factory().TryCreateSession(); +} + +inline void MdmSessionManager::DeleteSessionById(hstring_view sessionId) +{ + get_activation_factory().DeleteSessionById(sessionId); +} + +inline Windows::Management::MdmSession MdmSessionManager::GetSessionById(hstring_view sessionId) +{ + return get_activation_factory().GetSessionById(sessionId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::IMdmAlert & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::IMdmSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::IMdmSessionManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::MdmAlert & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Management::MdmSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Audio.h b/10.0.15042.0/winrt/Windows.Media.Audio.h new file mode 100644 index 000000000..6c8769d0f --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Audio.h @@ -0,0 +1,5435 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Media.Render.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.Capture.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.Effects.3.h" +#include "internal/Windows.Media.Audio.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" +#include "Windows.Media.Effects.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_PlaybackSpeedFactor(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackSpeedFactor(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackSpeedFactor(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackSpeedFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Seek(impl::abi_arg_in position) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Seek(*reinterpret_cast(&position)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EndTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LoopCount(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LoopCount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LoopCount(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoopCount(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FileCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FileCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FileCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FileCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileEncodingProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileEncodingProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FinalizeAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FinalizeAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_PlaybackSpeedFactor(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackSpeedFactor(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackSpeedFactor(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackSpeedFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddFrame(impl::abi_arg_in frame) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddFrame(*reinterpret_cast(&frame)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DiscardQueuedFrames() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DiscardQueuedFrames(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueuedSampleCount(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueuedSampleCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AudioFrameCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioFrameCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioFrameCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioFrameCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QuantumStarted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QuantumStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QuantumStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuantumStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFrame(impl::abi_arg_out audioFrame) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *audioFrame = detach_abi(this->shim().GetFrame()); + return S_OK; + } + catch (...) + { + *audioFrame = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFrameInputNode(impl::abi_arg_out frameInputNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frameInputNode = detach_abi(this->shim().CreateFrameInputNode()); + return S_OK; + } + catch (...) + { + *frameInputNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFrameInputNodeWithFormat(impl::abi_arg_in encodingProperties, impl::abi_arg_out frameInputNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frameInputNode = detach_abi(this->shim().CreateFrameInputNode(*reinterpret_cast(&encodingProperties))); + return S_OK; + } + catch (...) + { + *frameInputNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDeviceInputNodeAsync(Windows::Media::Capture::MediaCategory category, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDeviceInputNodeAsync(category)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDeviceInputNodeWithFormatAsync(Windows::Media::Capture::MediaCategory category, impl::abi_arg_in encodingProperties, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDeviceInputNodeAsync(category, *reinterpret_cast(&encodingProperties))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDeviceInputNodeWithFormatOnDeviceAsync(Windows::Media::Capture::MediaCategory category, impl::abi_arg_in encodingProperties, impl::abi_arg_in device, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDeviceInputNodeAsync(category, *reinterpret_cast(&encodingProperties), *reinterpret_cast(&device))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFrameOutputNode(impl::abi_arg_out frameOutputNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frameOutputNode = detach_abi(this->shim().CreateFrameOutputNode()); + return S_OK; + } + catch (...) + { + *frameOutputNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFrameOutputNodeWithFormat(impl::abi_arg_in encodingProperties, impl::abi_arg_out frameOutputNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frameOutputNode = detach_abi(this->shim().CreateFrameOutputNode(*reinterpret_cast(&encodingProperties))); + return S_OK; + } + catch (...) + { + *frameOutputNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDeviceOutputNodeAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDeviceOutputNodeAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileInputNodeAsync(impl::abi_arg_in file, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFileInputNodeAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileOutputNodeAsync(impl::abi_arg_in file, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFileOutputNodeAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileOutputNodeWithFileProfileAsync(impl::abi_arg_in file, impl::abi_arg_in fileEncodingProfile, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFileOutputNodeAsync(*reinterpret_cast(&file), *reinterpret_cast(&fileEncodingProfile))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSubmixNode(impl::abi_arg_out submixNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *submixNode = detach_abi(this->shim().CreateSubmixNode()); + return S_OK; + } + catch (...) + { + *submixNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSubmixNodeWithFormat(impl::abi_arg_in encodingProperties, impl::abi_arg_out submixNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *submixNode = detach_abi(this->shim().CreateSubmixNode(*reinterpret_cast(&encodingProperties))); + return S_OK; + } + catch (...) + { + *submixNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetAllNodes() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResetAllNodes(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QuantumStarted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QuantumStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QuantumStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuantumStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QuantumProcessed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QuantumProcessed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QuantumProcessed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuantumProcessed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UnrecoverableErrorOccurred(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UnrecoverableErrorOccurred(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UnrecoverableErrorOccurred(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnrecoverableErrorOccurred(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompletedQuantumCount(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompletedQuantumCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LatencyInSamples(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LatencyInSamples()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryRenderDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryRenderDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RenderDeviceAudioProcessing(Windows::Media::AudioProcessing * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RenderDeviceAudioProcessing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SamplesPerQuantum(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SamplesPerQuantum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFrameInputNodeWithFormatAndEmitter(impl::abi_arg_in encodingProperties, impl::abi_arg_in emitter, impl::abi_arg_out frameInputNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frameInputNode = detach_abi(this->shim().CreateFrameInputNode(*reinterpret_cast(&encodingProperties), *reinterpret_cast(&emitter))); + return S_OK; + } + catch (...) + { + *frameInputNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync(Windows::Media::Capture::MediaCategory category, impl::abi_arg_in encodingProperties, impl::abi_arg_in device, impl::abi_arg_in emitter, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDeviceInputNodeAsync(category, *reinterpret_cast(&encodingProperties), *reinterpret_cast(&device), *reinterpret_cast(&emitter))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileInputNodeWithEmitterAsync(impl::abi_arg_in file, impl::abi_arg_in emitter, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFileInputNodeAsync(*reinterpret_cast(&file), *reinterpret_cast(&emitter))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSubmixNodeWithFormatAndEmitter(impl::abi_arg_in encodingProperties, impl::abi_arg_in emitter, impl::abi_arg_out submixNode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *submixNode = detach_abi(this->shim().CreateSubmixNode(*reinterpret_cast(&encodingProperties), *reinterpret_cast(&emitter))); + return S_OK; + } + catch (...) + { + *submixNode = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBatchUpdater(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateBatchUpdater()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Destination(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Destination()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Gain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Gain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EncodingProperties(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EncodingProperties(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryRenderDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryRenderDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryRenderDevice(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryRenderDevice(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QuantumSizeSelectionMode(Windows::Media::Audio::QuantumSizeSelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QuantumSizeSelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QuantumSizeSelectionMode(Windows::Media::Audio::QuantumSizeSelectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuantumSizeSelectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredSamplesPerQuantum(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredSamplesPerQuantum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredSamplesPerQuantum(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredSamplesPerQuantum(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioRenderCategory(Windows::Media::Render::AudioRenderCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioRenderCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioRenderCategory(Windows::Media::Render::AudioRenderCategory value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioRenderCategory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredRenderDeviceAudioProcessing(Windows::Media::AudioProcessing * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredRenderDeviceAudioProcessing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredRenderDeviceAudioProcessing(Windows::Media::AudioProcessing value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredRenderDeviceAudioProcessing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Media::Render::AudioRenderCategory audioRenderCategory, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(audioRenderCategory)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_in settings, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateAsync(*reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Media::Audio::AudioGraphUnrecoverableError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OutgoingConnections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingConnections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddOutgoingConnection(impl::abi_arg_in destination) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddOutgoingConnection(*reinterpret_cast(&destination)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddOutgoingConnectionWithGain(impl::abi_arg_in destination, double gain) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddOutgoingConnection(*reinterpret_cast(&destination), gain); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveOutgoingConnection(impl::abi_arg_in destination) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveOutgoingConnection(*reinterpret_cast(&destination)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Emitter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Emitter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EffectDefinitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EffectDefinitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutgoingGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutgoingGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutgoingGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutgoingGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConsumeInput(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConsumeInput()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ConsumeInput(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConsumeInput(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableEffectsByDefinition(impl::abi_arg_in definition) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableEffectsByDefinition(*reinterpret_cast(&definition)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableEffectsByDefinition(impl::abi_arg_in definition) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableEffectsByDefinition(*reinterpret_cast(&definition)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direction(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Direction(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Direction(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Shape(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Shape()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecayModel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecayModel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Gain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Gain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DistanceScale(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DistanceScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DistanceScale(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DistanceScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DopplerScale(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DopplerScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DopplerScale(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DopplerScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DopplerVelocity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DopplerVelocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DopplerVelocity(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DopplerVelocity(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDopplerDisabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDopplerDisabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SpatialAudioModel(Windows::Media::Audio::SpatialAudioModel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpatialAudioModel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpatialAudioModel(Windows::Media::Audio::SpatialAudioModel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpatialAudioModel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InnerAngle(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InnerAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OuterAngle(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OuterAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OuterAngleGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OuterAngleGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Media::Audio::AudioNodeEmitterDecayKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateNatural(double minGain, double maxGain, double unityGainDistance, double cutoffDistance, impl::abi_arg_out decayModel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *decayModel = detach_abi(this->shim().CreateNatural(minGain, maxGain, unityGainDistance, cutoffDistance)); + return S_OK; + } + catch (...) + { + *decayModel = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCustom(double minGain, double maxGain, impl::abi_arg_out decayModel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *decayModel = detach_abi(this->shim().CreateCustom(minGain, maxGain)); + return S_OK; + } + catch (...) + { + *decayModel = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAudioNodeEmitter(impl::abi_arg_in shape, impl::abi_arg_in decayModel, Windows::Media::Audio::AudioNodeEmitterSettings settings, impl::abi_arg_out emitter) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *emitter = detach_abi(this->shim().CreateAudioNodeEmitter(*reinterpret_cast(&shape), *reinterpret_cast(&decayModel), settings)); + return S_OK; + } + catch (...) + { + *emitter = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UnityGainDistance(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnityGainDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CutoffDistance(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CutoffDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Media::Audio::AudioNodeEmitterShapeKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConeProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConeProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCone(double innerAngle, double outerAngle, double outerAngleGain, impl::abi_arg_out shape) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *shape = detach_abi(this->shim().CreateCone(innerAngle, outerAngle, outerAngleGain)); + return S_OK; + } + catch (...) + { + *shape = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateOmnidirectional(impl::abi_arg_out shape) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *shape = detach_abi(this->shim().CreateOmnidirectional()); + return S_OK; + } + catch (...) + { + *shape = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpeedOfSound(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpeedOfSound()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpeedOfSound(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpeedOfSound(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DopplerVelocity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DopplerVelocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DopplerVelocity(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DopplerVelocity(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Listener(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Listener(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Listener(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Listener()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Audio::AudioDeviceNodeCreationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceInputNode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInputNode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Audio::AudioDeviceNodeCreationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceOutputNode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceOutputNode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Audio::AudioFileNodeCreationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileInputNode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileInputNode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Audio::AudioFileNodeCreationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileOutputNode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileOutputNode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Audio::AudioGraphCreationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Graph(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Graph()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_WetDryMix(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WetDryMix(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WetDryMix(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WetDryMix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Feedback(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Feedback(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Feedback(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Feedback()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Delay(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Delay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Delay(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in audioGraph, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&audioGraph))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Bandwidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bandwidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Bandwidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bandwidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrequencyCenter(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrequencyCenter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FrequencyCenter(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrequencyCenter(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Gain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Gain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Bands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in audioGraph, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&audioGraph))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequiredSamples(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequiredSamples()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Release(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Release(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Release(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Release()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Loudness(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Loudness(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Loudness(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Loudness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in audioGraph, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&audioGraph))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_WetDryMix(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WetDryMix(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WetDryMix(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WetDryMix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReflectionsDelay(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReflectionsDelay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReflectionsDelay(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReflectionsDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReverbDelay(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReverbDelay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReverbDelay(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReverbDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RearDelay(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RearDelay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RearDelay(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RearDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionLeft(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionLeft(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionLeft(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionLeft()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionRight(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionRight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionRight(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionRight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionMatrixLeft(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionMatrixLeft(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionMatrixLeft(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionMatrixLeft()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionMatrixRight(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionMatrixRight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionMatrixRight(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionMatrixRight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EarlyDiffusion(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EarlyDiffusion(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EarlyDiffusion(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EarlyDiffusion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LateDiffusion(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LateDiffusion(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LateDiffusion(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LateDiffusion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LowEQGain(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LowEQGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LowEQGain(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LowEQGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LowEQCutoff(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LowEQCutoff(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LowEQCutoff(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LowEQCutoff()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HighEQGain(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HighEQGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HighEQGain(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HighEQGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HighEQCutoff(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HighEQCutoff(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HighEQCutoff(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HighEQCutoff()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoomFilterFreq(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoomFilterFreq(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoomFilterFreq(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoomFilterFreq()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoomFilterMain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoomFilterMain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoomFilterMain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoomFilterMain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoomFilterHF(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoomFilterHF(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoomFilterHF(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoomFilterHF()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReflectionsGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReflectionsGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReflectionsGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReflectionsGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReverbGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReverbGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReverbGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReverbGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DecayTime(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecayTime(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecayTime(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecayTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Density(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Density(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Density(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Density()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoomSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoomSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoomSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoomSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisableLateField(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableLateField(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisableLateField(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisableLateField()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in audioGraph, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&audioGraph))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Audio { + +template Windows::Media::Audio::AudioGraphCreationStatus impl_ICreateAudioGraphResult::Status() const +{ + Windows::Media::Audio::AudioGraphCreationStatus value {}; + check_hresult(WINRT_SHIM(ICreateAudioGraphResult)->get_Status(&value)); + return value; +} + +template Windows::Media::Audio::AudioGraph impl_ICreateAudioGraphResult::Graph() const +{ + Windows::Media::Audio::AudioGraph value { nullptr }; + check_hresult(WINRT_SHIM(ICreateAudioGraphResult)->get_Graph(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioGraphSettings impl_IAudioGraphSettingsFactory::Create(Windows::Media::Render::AudioRenderCategory audioRenderCategory) const +{ + Windows::Media::Audio::AudioGraphSettings value { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraphSettingsFactory)->abi_Create(audioRenderCategory, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioGraphSettings::EncodingProperties() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraphSettings)->get_EncodingProperties(put_abi(value))); + return value; +} + +template void impl_IAudioGraphSettings::EncodingProperties(const Windows::Media::MediaProperties::AudioEncodingProperties & value) const +{ + check_hresult(WINRT_SHIM(IAudioGraphSettings)->put_EncodingProperties(get_abi(value))); +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IAudioGraphSettings::PrimaryRenderDevice() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraphSettings)->get_PrimaryRenderDevice(put_abi(value))); + return value; +} + +template void impl_IAudioGraphSettings::PrimaryRenderDevice(const Windows::Devices::Enumeration::DeviceInformation & value) const +{ + check_hresult(WINRT_SHIM(IAudioGraphSettings)->put_PrimaryRenderDevice(get_abi(value))); +} + +template Windows::Media::Audio::QuantumSizeSelectionMode impl_IAudioGraphSettings::QuantumSizeSelectionMode() const +{ + Windows::Media::Audio::QuantumSizeSelectionMode value {}; + check_hresult(WINRT_SHIM(IAudioGraphSettings)->get_QuantumSizeSelectionMode(&value)); + return value; +} + +template void impl_IAudioGraphSettings::QuantumSizeSelectionMode(Windows::Media::Audio::QuantumSizeSelectionMode value) const +{ + check_hresult(WINRT_SHIM(IAudioGraphSettings)->put_QuantumSizeSelectionMode(value)); +} + +template int32_t impl_IAudioGraphSettings::DesiredSamplesPerQuantum() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAudioGraphSettings)->get_DesiredSamplesPerQuantum(&value)); + return value; +} + +template void impl_IAudioGraphSettings::DesiredSamplesPerQuantum(int32_t value) const +{ + check_hresult(WINRT_SHIM(IAudioGraphSettings)->put_DesiredSamplesPerQuantum(value)); +} + +template Windows::Media::Render::AudioRenderCategory impl_IAudioGraphSettings::AudioRenderCategory() const +{ + Windows::Media::Render::AudioRenderCategory value {}; + check_hresult(WINRT_SHIM(IAudioGraphSettings)->get_AudioRenderCategory(&value)); + return value; +} + +template void impl_IAudioGraphSettings::AudioRenderCategory(Windows::Media::Render::AudioRenderCategory value) const +{ + check_hresult(WINRT_SHIM(IAudioGraphSettings)->put_AudioRenderCategory(value)); +} + +template Windows::Media::AudioProcessing impl_IAudioGraphSettings::DesiredRenderDeviceAudioProcessing() const +{ + Windows::Media::AudioProcessing value {}; + check_hresult(WINRT_SHIM(IAudioGraphSettings)->get_DesiredRenderDeviceAudioProcessing(&value)); + return value; +} + +template void impl_IAudioGraphSettings::DesiredRenderDeviceAudioProcessing(Windows::Media::AudioProcessing value) const +{ + check_hresult(WINRT_SHIM(IAudioGraphSettings)->put_DesiredRenderDeviceAudioProcessing(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraphStatics::CreateAsync(const Windows::Media::Audio::AudioGraphSettings & settings) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraphStatics)->abi_CreateAsync(get_abi(settings), put_abi(result))); + return result; +} + +template Windows::Media::Audio::AudioDeviceNodeCreationStatus impl_ICreateAudioDeviceInputNodeResult::Status() const +{ + Windows::Media::Audio::AudioDeviceNodeCreationStatus value {}; + check_hresult(WINRT_SHIM(ICreateAudioDeviceInputNodeResult)->get_Status(&value)); + return value; +} + +template Windows::Media::Audio::AudioDeviceInputNode impl_ICreateAudioDeviceInputNodeResult::DeviceInputNode() const +{ + Windows::Media::Audio::AudioDeviceInputNode value { nullptr }; + check_hresult(WINRT_SHIM(ICreateAudioDeviceInputNodeResult)->get_DeviceInputNode(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioDeviceNodeCreationStatus impl_ICreateAudioDeviceOutputNodeResult::Status() const +{ + Windows::Media::Audio::AudioDeviceNodeCreationStatus value {}; + check_hresult(WINRT_SHIM(ICreateAudioDeviceOutputNodeResult)->get_Status(&value)); + return value; +} + +template Windows::Media::Audio::AudioDeviceOutputNode impl_ICreateAudioDeviceOutputNodeResult::DeviceOutputNode() const +{ + Windows::Media::Audio::AudioDeviceOutputNode value { nullptr }; + check_hresult(WINRT_SHIM(ICreateAudioDeviceOutputNodeResult)->get_DeviceOutputNode(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioFileNodeCreationStatus impl_ICreateAudioFileInputNodeResult::Status() const +{ + Windows::Media::Audio::AudioFileNodeCreationStatus value {}; + check_hresult(WINRT_SHIM(ICreateAudioFileInputNodeResult)->get_Status(&value)); + return value; +} + +template Windows::Media::Audio::AudioFileInputNode impl_ICreateAudioFileInputNodeResult::FileInputNode() const +{ + Windows::Media::Audio::AudioFileInputNode value { nullptr }; + check_hresult(WINRT_SHIM(ICreateAudioFileInputNodeResult)->get_FileInputNode(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioFileNodeCreationStatus impl_ICreateAudioFileOutputNodeResult::Status() const +{ + Windows::Media::Audio::AudioFileNodeCreationStatus value {}; + check_hresult(WINRT_SHIM(ICreateAudioFileOutputNodeResult)->get_Status(&value)); + return value; +} + +template Windows::Media::Audio::AudioFileOutputNode impl_ICreateAudioFileOutputNodeResult::FileOutputNode() const +{ + Windows::Media::Audio::AudioFileOutputNode value { nullptr }; + check_hresult(WINRT_SHIM(ICreateAudioFileOutputNodeResult)->get_FileOutputNode(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioGraphUnrecoverableError impl_IAudioGraphUnrecoverableErrorOccurredEventArgs::Error() const +{ + Windows::Media::Audio::AudioGraphUnrecoverableError value {}; + check_hresult(WINRT_SHIM(IAudioGraphUnrecoverableErrorOccurredEventArgs)->get_Error(&value)); + return value; +} + +template Windows::Media::Audio::AudioFrameInputNode impl_IAudioGraph::CreateFrameInputNode() const +{ + Windows::Media::Audio::AudioFrameInputNode frameInputNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateFrameInputNode(put_abi(frameInputNode))); + return frameInputNode; +} + +template Windows::Media::Audio::AudioFrameInputNode impl_IAudioGraph::CreateFrameInputNode(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties) const +{ + Windows::Media::Audio::AudioFrameInputNode frameInputNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateFrameInputNodeWithFormat(get_abi(encodingProperties), put_abi(frameInputNode))); + return frameInputNode; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph::CreateDeviceInputNodeAsync(Windows::Media::Capture::MediaCategory category) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateDeviceInputNodeAsync(category, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph::CreateDeviceInputNodeAsync(Windows::Media::Capture::MediaCategory category, const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateDeviceInputNodeWithFormatAsync(category, get_abi(encodingProperties), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph::CreateDeviceInputNodeAsync(Windows::Media::Capture::MediaCategory category, const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties, const Windows::Devices::Enumeration::DeviceInformation & device) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateDeviceInputNodeWithFormatOnDeviceAsync(category, get_abi(encodingProperties), get_abi(device), put_abi(result))); + return result; +} + +template Windows::Media::Audio::AudioFrameOutputNode impl_IAudioGraph::CreateFrameOutputNode() const +{ + Windows::Media::Audio::AudioFrameOutputNode frameOutputNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateFrameOutputNode(put_abi(frameOutputNode))); + return frameOutputNode; +} + +template Windows::Media::Audio::AudioFrameOutputNode impl_IAudioGraph::CreateFrameOutputNode(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties) const +{ + Windows::Media::Audio::AudioFrameOutputNode frameOutputNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateFrameOutputNodeWithFormat(get_abi(encodingProperties), put_abi(frameOutputNode))); + return frameOutputNode; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph::CreateDeviceOutputNodeAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateDeviceOutputNodeAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph::CreateFileInputNodeAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateFileInputNodeAsync(get_abi(file), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph::CreateFileOutputNodeAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateFileOutputNodeAsync(get_abi(file), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph::CreateFileOutputNodeAsync(const Windows::Storage::IStorageFile & file, const Windows::Media::MediaProperties::MediaEncodingProfile & fileEncodingProfile) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateFileOutputNodeWithFileProfileAsync(get_abi(file), get_abi(fileEncodingProfile), put_abi(result))); + return result; +} + +template Windows::Media::Audio::AudioSubmixNode impl_IAudioGraph::CreateSubmixNode() const +{ + Windows::Media::Audio::AudioSubmixNode submixNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateSubmixNode(put_abi(submixNode))); + return submixNode; +} + +template Windows::Media::Audio::AudioSubmixNode impl_IAudioGraph::CreateSubmixNode(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties) const +{ + Windows::Media::Audio::AudioSubmixNode submixNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->abi_CreateSubmixNodeWithFormat(get_abi(encodingProperties), put_abi(submixNode))); + return submixNode; +} + +template void impl_IAudioGraph::Start() const +{ + check_hresult(WINRT_SHIM(IAudioGraph)->abi_Start()); +} + +template void impl_IAudioGraph::Stop() const +{ + check_hresult(WINRT_SHIM(IAudioGraph)->abi_Stop()); +} + +template void impl_IAudioGraph::ResetAllNodes() const +{ + check_hresult(WINRT_SHIM(IAudioGraph)->abi_ResetAllNodes()); +} + +template event_token impl_IAudioGraph::QuantumStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioGraph)->add_QuantumStarted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioGraph::QuantumStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Audio::IAudioGraph::remove_QuantumStarted, QuantumStarted(handler)); +} + +template void impl_IAudioGraph::QuantumStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioGraph)->remove_QuantumStarted(token)); +} + +template event_token impl_IAudioGraph::QuantumProcessed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioGraph)->add_QuantumProcessed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioGraph::QuantumProcessed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Audio::IAudioGraph::remove_QuantumProcessed, QuantumProcessed(handler)); +} + +template void impl_IAudioGraph::QuantumProcessed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioGraph)->remove_QuantumProcessed(token)); +} + +template event_token impl_IAudioGraph::UnrecoverableErrorOccurred(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioGraph)->add_UnrecoverableErrorOccurred(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioGraph::UnrecoverableErrorOccurred(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Audio::IAudioGraph::remove_UnrecoverableErrorOccurred, UnrecoverableErrorOccurred(handler)); +} + +template void impl_IAudioGraph::UnrecoverableErrorOccurred(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioGraph)->remove_UnrecoverableErrorOccurred(token)); +} + +template uint64_t impl_IAudioGraph::CompletedQuantumCount() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAudioGraph)->get_CompletedQuantumCount(&value)); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioGraph::EncodingProperties() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->get_EncodingProperties(put_abi(value))); + return value; +} + +template int32_t impl_IAudioGraph::LatencyInSamples() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAudioGraph)->get_LatencyInSamples(&value)); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IAudioGraph::PrimaryRenderDevice() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph)->get_PrimaryRenderDevice(put_abi(value))); + return value; +} + +template Windows::Media::AudioProcessing impl_IAudioGraph::RenderDeviceAudioProcessing() const +{ + Windows::Media::AudioProcessing value {}; + check_hresult(WINRT_SHIM(IAudioGraph)->get_RenderDeviceAudioProcessing(&value)); + return value; +} + +template int32_t impl_IAudioGraph::SamplesPerQuantum() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAudioGraph)->get_SamplesPerQuantum(&value)); + return value; +} + +template Windows::Media::Audio::AudioFrameInputNode impl_IAudioGraph2::CreateFrameInputNode(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties, const Windows::Media::Audio::AudioNodeEmitter & emitter) const +{ + Windows::Media::Audio::AudioFrameInputNode frameInputNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph2)->abi_CreateFrameInputNodeWithFormatAndEmitter(get_abi(encodingProperties), get_abi(emitter), put_abi(frameInputNode))); + return frameInputNode; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph2::CreateDeviceInputNodeAsync(Windows::Media::Capture::MediaCategory category, const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties, const Windows::Devices::Enumeration::DeviceInformation & device, const Windows::Media::Audio::AudioNodeEmitter & emitter) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph2)->abi_CreateDeviceInputNodeWithFormatAndEmitterOnDeviceAsync(category, get_abi(encodingProperties), get_abi(device), get_abi(emitter), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioGraph2::CreateFileInputNodeAsync(const Windows::Storage::IStorageFile & file, const Windows::Media::Audio::AudioNodeEmitter & emitter) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioGraph2)->abi_CreateFileInputNodeWithEmitterAsync(get_abi(file), get_abi(emitter), put_abi(result))); + return result; +} + +template Windows::Media::Audio::AudioSubmixNode impl_IAudioGraph2::CreateSubmixNode(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties, const Windows::Media::Audio::AudioNodeEmitter & emitter) const +{ + Windows::Media::Audio::AudioSubmixNode submixNode { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph2)->abi_CreateSubmixNodeWithFormatAndEmitter(get_abi(encodingProperties), get_abi(emitter), put_abi(submixNode))); + return submixNode; +} + +template Windows::Media::Audio::AudioGraphBatchUpdater impl_IAudioGraph2::CreateBatchUpdater() const +{ + Windows::Media::Audio::AudioGraphBatchUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IAudioGraph2)->abi_CreateBatchUpdater(put_abi(updater))); + return updater; +} + +template Windows::Foundation::Collections::IVector impl_IAudioNode::EffectDefinitions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAudioNode)->get_EffectDefinitions(put_abi(value))); + return value; +} + +template void impl_IAudioNode::OutgoingGain(double value) const +{ + check_hresult(WINRT_SHIM(IAudioNode)->put_OutgoingGain(value)); +} + +template double impl_IAudioNode::OutgoingGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNode)->get_OutgoingGain(&value)); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioNode::EncodingProperties() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioNode)->get_EncodingProperties(put_abi(value))); + return value; +} + +template bool impl_IAudioNode::ConsumeInput() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAudioNode)->get_ConsumeInput(&value)); + return value; +} + +template void impl_IAudioNode::ConsumeInput(bool value) const +{ + check_hresult(WINRT_SHIM(IAudioNode)->put_ConsumeInput(value)); +} + +template void impl_IAudioNode::Start() const +{ + check_hresult(WINRT_SHIM(IAudioNode)->abi_Start()); +} + +template void impl_IAudioNode::Stop() const +{ + check_hresult(WINRT_SHIM(IAudioNode)->abi_Stop()); +} + +template void impl_IAudioNode::Reset() const +{ + check_hresult(WINRT_SHIM(IAudioNode)->abi_Reset()); +} + +template void impl_IAudioNode::DisableEffectsByDefinition(const Windows::Media::Effects::IAudioEffectDefinition & definition) const +{ + check_hresult(WINRT_SHIM(IAudioNode)->abi_DisableEffectsByDefinition(get_abi(definition))); +} + +template void impl_IAudioNode::EnableEffectsByDefinition(const Windows::Media::Effects::IAudioEffectDefinition & definition) const +{ + check_hresult(WINRT_SHIM(IAudioNode)->abi_EnableEffectsByDefinition(get_abi(definition))); +} + +template void impl_IAudioNodeWithListener::Listener(const Windows::Media::Audio::AudioNodeListener & value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeWithListener)->put_Listener(get_abi(value))); +} + +template Windows::Media::Audio::AudioNodeListener impl_IAudioNodeWithListener::Listener() const +{ + Windows::Media::Audio::AudioNodeListener value { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeWithListener)->get_Listener(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAudioInputNode::OutgoingConnections() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAudioInputNode)->get_OutgoingConnections(put_abi(value))); + return value; +} + +template void impl_IAudioInputNode::AddOutgoingConnection(const Windows::Media::Audio::IAudioNode & destination) const +{ + check_hresult(WINRT_SHIM(IAudioInputNode)->abi_AddOutgoingConnection(get_abi(destination))); +} + +template void impl_IAudioInputNode::AddOutgoingConnection(const Windows::Media::Audio::IAudioNode & destination, double gain) const +{ + check_hresult(WINRT_SHIM(IAudioInputNode)->abi_AddOutgoingConnectionWithGain(get_abi(destination), gain)); +} + +template void impl_IAudioInputNode::RemoveOutgoingConnection(const Windows::Media::Audio::IAudioNode & destination) const +{ + check_hresult(WINRT_SHIM(IAudioInputNode)->abi_RemoveOutgoingConnection(get_abi(destination))); +} + +template Windows::Media::Audio::AudioNodeEmitter impl_IAudioInputNode2::Emitter() const +{ + Windows::Media::Audio::AudioNodeEmitter value { nullptr }; + check_hresult(WINRT_SHIM(IAudioInputNode2)->get_Emitter(put_abi(value))); + return value; +} + +template void impl_IAudioFrameInputNode::PlaybackSpeedFactor(double value) const +{ + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->put_PlaybackSpeedFactor(value)); +} + +template double impl_IAudioFrameInputNode::PlaybackSpeedFactor() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->get_PlaybackSpeedFactor(&value)); + return value; +} + +template void impl_IAudioFrameInputNode::AddFrame(const Windows::Media::AudioFrame & frame) const +{ + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->abi_AddFrame(get_abi(frame))); +} + +template void impl_IAudioFrameInputNode::DiscardQueuedFrames() const +{ + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->abi_DiscardQueuedFrames()); +} + +template uint64_t impl_IAudioFrameInputNode::QueuedSampleCount() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->get_QueuedSampleCount(&value)); + return value; +} + +template event_token impl_IAudioFrameInputNode::AudioFrameCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->add_AudioFrameCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioFrameInputNode::AudioFrameCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Audio::IAudioFrameInputNode::remove_AudioFrameCompleted, AudioFrameCompleted(handler)); +} + +template void impl_IAudioFrameInputNode::AudioFrameCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->remove_AudioFrameCompleted(token)); +} + +template event_token impl_IAudioFrameInputNode::QuantumStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->add_QuantumStarted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioFrameInputNode::QuantumStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Audio::IAudioFrameInputNode::remove_QuantumStarted, QuantumStarted(handler)); +} + +template void impl_IAudioFrameInputNode::QuantumStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioFrameInputNode)->remove_QuantumStarted(token)); +} + +template void impl_IAudioFileInputNode::PlaybackSpeedFactor(double value) const +{ + check_hresult(WINRT_SHIM(IAudioFileInputNode)->put_PlaybackSpeedFactor(value)); +} + +template double impl_IAudioFileInputNode::PlaybackSpeedFactor() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->get_PlaybackSpeedFactor(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAudioFileInputNode::Position() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->get_Position(put_abi(value))); + return value; +} + +template void impl_IAudioFileInputNode::Seek(const Windows::Foundation::TimeSpan & position) const +{ + check_hresult(WINRT_SHIM(IAudioFileInputNode)->abi_Seek(get_abi(position))); +} + +template Windows::Foundation::IReference impl_IAudioFileInputNode::StartTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_IAudioFileInputNode::StartTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAudioFileInputNode)->put_StartTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAudioFileInputNode::EndTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->get_EndTime(put_abi(value))); + return value; +} + +template void impl_IAudioFileInputNode::EndTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAudioFileInputNode)->put_EndTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAudioFileInputNode::LoopCount() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->get_LoopCount(put_abi(value))); + return value; +} + +template void impl_IAudioFileInputNode::LoopCount(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAudioFileInputNode)->put_LoopCount(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IAudioFileInputNode::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFile impl_IAudioFileInputNode::SourceFile() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->get_SourceFile(put_abi(value))); + return value; +} + +template event_token impl_IAudioFileInputNode::FileCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioFileInputNode)->add_FileCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioFileInputNode::FileCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Audio::IAudioFileInputNode::remove_FileCompleted, FileCompleted(handler)); +} + +template void impl_IAudioFileInputNode::FileCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioFileInputNode)->remove_FileCompleted(token)); +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IAudioDeviceInputNode::Device() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IAudioDeviceInputNode)->get_Device(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IAudioDeviceOutputNode::Device() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IAudioDeviceOutputNode)->get_Device(put_abi(value))); + return value; +} + +template Windows::Media::AudioFrame impl_IAudioFrameOutputNode::GetFrame() const +{ + Windows::Media::AudioFrame audioFrame { nullptr }; + check_hresult(WINRT_SHIM(IAudioFrameOutputNode)->abi_GetFrame(put_abi(audioFrame))); + return audioFrame; +} + +template Windows::Storage::IStorageFile impl_IAudioFileOutputNode::File() const +{ + Windows::Storage::IStorageFile value; + check_hresult(WINRT_SHIM(IAudioFileOutputNode)->get_File(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IAudioFileOutputNode::FileEncodingProfile() const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IAudioFileOutputNode)->get_FileEncodingProfile(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioFileOutputNode::FinalizeAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAudioFileOutputNode)->abi_FinalizeAsync(put_abi(result))); + return result; +} + +template Windows::Media::AudioFrame impl_IAudioFrameCompletedEventArgs::Frame() const +{ + Windows::Media::AudioFrame value { nullptr }; + check_hresult(WINRT_SHIM(IAudioFrameCompletedEventArgs)->get_Frame(put_abi(value))); + return value; +} + +template int32_t impl_IFrameInputNodeQuantumStartedEventArgs::RequiredSamples() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IFrameInputNodeQuantumStartedEventArgs)->get_RequiredSamples(&value)); + return value; +} + +template Windows::Media::Audio::IAudioNode impl_IAudioGraphConnection::Destination() const +{ + Windows::Media::Audio::IAudioNode value; + check_hresult(WINRT_SHIM(IAudioGraphConnection)->get_Destination(put_abi(value))); + return value; +} + +template void impl_IAudioGraphConnection::Gain(double value) const +{ + check_hresult(WINRT_SHIM(IAudioGraphConnection)->put_Gain(value)); +} + +template double impl_IAudioGraphConnection::Gain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioGraphConnection)->get_Gain(&value)); + return value; +} + +template double impl_IEqualizerBand::Bandwidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IEqualizerBand)->get_Bandwidth(&value)); + return value; +} + +template void impl_IEqualizerBand::Bandwidth(double value) const +{ + check_hresult(WINRT_SHIM(IEqualizerBand)->put_Bandwidth(value)); +} + +template double impl_IEqualizerBand::FrequencyCenter() const +{ + double value {}; + check_hresult(WINRT_SHIM(IEqualizerBand)->get_FrequencyCenter(&value)); + return value; +} + +template void impl_IEqualizerBand::FrequencyCenter(double value) const +{ + check_hresult(WINRT_SHIM(IEqualizerBand)->put_FrequencyCenter(value)); +} + +template double impl_IEqualizerBand::Gain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IEqualizerBand)->get_Gain(&value)); + return value; +} + +template void impl_IEqualizerBand::Gain(double value) const +{ + check_hresult(WINRT_SHIM(IEqualizerBand)->put_Gain(value)); +} + +template Windows::Media::Audio::EqualizerEffectDefinition impl_IEqualizerEffectDefinitionFactory::Create(const Windows::Media::Audio::AudioGraph & audioGraph) const +{ + Windows::Media::Audio::EqualizerEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IEqualizerEffectDefinitionFactory)->abi_Create(get_abi(audioGraph), put_abi(value))); + return value; +} + +template Windows::Media::Audio::ReverbEffectDefinition impl_IReverbEffectDefinitionFactory::Create(const Windows::Media::Audio::AudioGraph & audioGraph) const +{ + Windows::Media::Audio::ReverbEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IReverbEffectDefinitionFactory)->abi_Create(get_abi(audioGraph), put_abi(value))); + return value; +} + +template Windows::Media::Audio::EchoEffectDefinition impl_IEchoEffectDefinitionFactory::Create(const Windows::Media::Audio::AudioGraph & audioGraph) const +{ + Windows::Media::Audio::EchoEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IEchoEffectDefinitionFactory)->abi_Create(get_abi(audioGraph), put_abi(value))); + return value; +} + +template Windows::Media::Audio::LimiterEffectDefinition impl_ILimiterEffectDefinitionFactory::Create(const Windows::Media::Audio::AudioGraph & audioGraph) const +{ + Windows::Media::Audio::LimiterEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(ILimiterEffectDefinitionFactory)->abi_Create(get_abi(audioGraph), put_abi(value))); + return value; +} + +template double impl_IAudioNodeEmitterConeProperties::InnerAngle() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterConeProperties)->get_InnerAngle(&value)); + return value; +} + +template double impl_IAudioNodeEmitterConeProperties::OuterAngle() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterConeProperties)->get_OuterAngle(&value)); + return value; +} + +template double impl_IAudioNodeEmitterConeProperties::OuterAngleGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterConeProperties)->get_OuterAngleGain(&value)); + return value; +} + +template Windows::Media::Audio::AudioNodeEmitterShapeKind impl_IAudioNodeEmitterShape::Kind() const +{ + Windows::Media::Audio::AudioNodeEmitterShapeKind value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterShape)->get_Kind(&value)); + return value; +} + +template Windows::Media::Audio::AudioNodeEmitterConeProperties impl_IAudioNodeEmitterShape::ConeProperties() const +{ + Windows::Media::Audio::AudioNodeEmitterConeProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitterShape)->get_ConeProperties(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioNodeEmitterShape impl_IAudioNodeEmitterShapeStatics::CreateCone(double innerAngle, double outerAngle, double outerAngleGain) const +{ + Windows::Media::Audio::AudioNodeEmitterShape shape { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitterShapeStatics)->abi_CreateCone(innerAngle, outerAngle, outerAngleGain, put_abi(shape))); + return shape; +} + +template Windows::Media::Audio::AudioNodeEmitterShape impl_IAudioNodeEmitterShapeStatics::CreateOmnidirectional() const +{ + Windows::Media::Audio::AudioNodeEmitterShape shape { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitterShapeStatics)->abi_CreateOmnidirectional(put_abi(shape))); + return shape; +} + +template double impl_IAudioNodeEmitterNaturalDecayModelProperties::UnityGainDistance() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterNaturalDecayModelProperties)->get_UnityGainDistance(&value)); + return value; +} + +template double impl_IAudioNodeEmitterNaturalDecayModelProperties::CutoffDistance() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterNaturalDecayModelProperties)->get_CutoffDistance(&value)); + return value; +} + +template Windows::Media::Audio::AudioNodeEmitterDecayKind impl_IAudioNodeEmitterDecayModel::Kind() const +{ + Windows::Media::Audio::AudioNodeEmitterDecayKind value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterDecayModel)->get_Kind(&value)); + return value; +} + +template double impl_IAudioNodeEmitterDecayModel::MinGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterDecayModel)->get_MinGain(&value)); + return value; +} + +template double impl_IAudioNodeEmitterDecayModel::MaxGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitterDecayModel)->get_MaxGain(&value)); + return value; +} + +template Windows::Media::Audio::AudioNodeEmitterNaturalDecayModelProperties impl_IAudioNodeEmitterDecayModel::NaturalProperties() const +{ + Windows::Media::Audio::AudioNodeEmitterNaturalDecayModelProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitterDecayModel)->get_NaturalProperties(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioNodeEmitterDecayModel impl_IAudioNodeEmitterDecayModelStatics::CreateNatural(double minGain, double maxGain, double unityGainDistance, double cutoffDistance) const +{ + Windows::Media::Audio::AudioNodeEmitterDecayModel decayModel { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitterDecayModelStatics)->abi_CreateNatural(minGain, maxGain, unityGainDistance, cutoffDistance, put_abi(decayModel))); + return decayModel; +} + +template Windows::Media::Audio::AudioNodeEmitterDecayModel impl_IAudioNodeEmitterDecayModelStatics::CreateCustom(double minGain, double maxGain) const +{ + Windows::Media::Audio::AudioNodeEmitterDecayModel decayModel { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitterDecayModelStatics)->abi_CreateCustom(minGain, maxGain, put_abi(decayModel))); + return decayModel; +} + +template Windows::Foundation::Numerics::float3 impl_IAudioNodeEmitter::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_Position(put_abi(value))); + return value; +} + +template void impl_IAudioNodeEmitter::Position(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->put_Position(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3 impl_IAudioNodeEmitter::Direction() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_Direction(put_abi(value))); + return value; +} + +template void impl_IAudioNodeEmitter::Direction(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->put_Direction(get_abi(value))); +} + +template Windows::Media::Audio::AudioNodeEmitterShape impl_IAudioNodeEmitter::Shape() const +{ + Windows::Media::Audio::AudioNodeEmitterShape value { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_Shape(put_abi(value))); + return value; +} + +template Windows::Media::Audio::AudioNodeEmitterDecayModel impl_IAudioNodeEmitter::DecayModel() const +{ + Windows::Media::Audio::AudioNodeEmitterDecayModel value { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_DecayModel(put_abi(value))); + return value; +} + +template double impl_IAudioNodeEmitter::Gain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_Gain(&value)); + return value; +} + +template void impl_IAudioNodeEmitter::Gain(double value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->put_Gain(value)); +} + +template double impl_IAudioNodeEmitter::DistanceScale() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_DistanceScale(&value)); + return value; +} + +template void impl_IAudioNodeEmitter::DistanceScale(double value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->put_DistanceScale(value)); +} + +template double impl_IAudioNodeEmitter::DopplerScale() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_DopplerScale(&value)); + return value; +} + +template void impl_IAudioNodeEmitter::DopplerScale(double value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->put_DopplerScale(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IAudioNodeEmitter::DopplerVelocity() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_DopplerVelocity(put_abi(value))); + return value; +} + +template void impl_IAudioNodeEmitter::DopplerVelocity(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->put_DopplerVelocity(get_abi(value))); +} + +template bool impl_IAudioNodeEmitter::IsDopplerDisabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter)->get_IsDopplerDisabled(&value)); + return value; +} + +template Windows::Media::Audio::SpatialAudioModel impl_IAudioNodeEmitter2::SpatialAudioModel() const +{ + Windows::Media::Audio::SpatialAudioModel value {}; + check_hresult(WINRT_SHIM(IAudioNodeEmitter2)->get_SpatialAudioModel(&value)); + return value; +} + +template void impl_IAudioNodeEmitter2::SpatialAudioModel(Windows::Media::Audio::SpatialAudioModel value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeEmitter2)->put_SpatialAudioModel(value)); +} + +template Windows::Media::Audio::AudioNodeEmitter impl_IAudioNodeEmitterFactory::CreateAudioNodeEmitter(const Windows::Media::Audio::AudioNodeEmitterShape & shape, const Windows::Media::Audio::AudioNodeEmitterDecayModel & decayModel, Windows::Media::Audio::AudioNodeEmitterSettings settings) const +{ + Windows::Media::Audio::AudioNodeEmitter emitter { nullptr }; + check_hresult(WINRT_SHIM(IAudioNodeEmitterFactory)->abi_CreateAudioNodeEmitter(get_abi(shape), get_abi(decayModel), settings, put_abi(emitter))); + return emitter; +} + +template Windows::Foundation::Numerics::float3 impl_IAudioNodeListener::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IAudioNodeListener)->get_Position(put_abi(value))); + return value; +} + +template void impl_IAudioNodeListener::Position(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeListener)->put_Position(get_abi(value))); +} + +template Windows::Foundation::Numerics::quaternion impl_IAudioNodeListener::Orientation() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(IAudioNodeListener)->get_Orientation(put_abi(value))); + return value; +} + +template void impl_IAudioNodeListener::Orientation(const Windows::Foundation::Numerics::quaternion & value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeListener)->put_Orientation(get_abi(value))); +} + +template double impl_IAudioNodeListener::SpeedOfSound() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAudioNodeListener)->get_SpeedOfSound(&value)); + return value; +} + +template void impl_IAudioNodeListener::SpeedOfSound(double value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeListener)->put_SpeedOfSound(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IAudioNodeListener::DopplerVelocity() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IAudioNodeListener)->get_DopplerVelocity(put_abi(value))); + return value; +} + +template void impl_IAudioNodeListener::DopplerVelocity(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IAudioNodeListener)->put_DopplerVelocity(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IEqualizerEffectDefinition::Bands() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEqualizerEffectDefinition)->get_Bands(put_abi(value))); + return value; +} + +template void impl_IReverbEffectDefinition::WetDryMix(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_WetDryMix(value)); +} + +template double impl_IReverbEffectDefinition::WetDryMix() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_WetDryMix(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::ReflectionsDelay(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_ReflectionsDelay(value)); +} + +template uint32_t impl_IReverbEffectDefinition::ReflectionsDelay() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_ReflectionsDelay(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::ReverbDelay(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_ReverbDelay(value)); +} + +template uint8_t impl_IReverbEffectDefinition::ReverbDelay() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_ReverbDelay(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::RearDelay(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_RearDelay(value)); +} + +template uint8_t impl_IReverbEffectDefinition::RearDelay() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_RearDelay(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::PositionLeft(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_PositionLeft(value)); +} + +template uint8_t impl_IReverbEffectDefinition::PositionLeft() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_PositionLeft(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::PositionRight(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_PositionRight(value)); +} + +template uint8_t impl_IReverbEffectDefinition::PositionRight() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_PositionRight(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::PositionMatrixLeft(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_PositionMatrixLeft(value)); +} + +template uint8_t impl_IReverbEffectDefinition::PositionMatrixLeft() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_PositionMatrixLeft(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::PositionMatrixRight(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_PositionMatrixRight(value)); +} + +template uint8_t impl_IReverbEffectDefinition::PositionMatrixRight() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_PositionMatrixRight(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::EarlyDiffusion(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_EarlyDiffusion(value)); +} + +template uint8_t impl_IReverbEffectDefinition::EarlyDiffusion() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_EarlyDiffusion(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::LateDiffusion(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_LateDiffusion(value)); +} + +template uint8_t impl_IReverbEffectDefinition::LateDiffusion() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_LateDiffusion(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::LowEQGain(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_LowEQGain(value)); +} + +template uint8_t impl_IReverbEffectDefinition::LowEQGain() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_LowEQGain(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::LowEQCutoff(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_LowEQCutoff(value)); +} + +template uint8_t impl_IReverbEffectDefinition::LowEQCutoff() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_LowEQCutoff(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::HighEQGain(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_HighEQGain(value)); +} + +template uint8_t impl_IReverbEffectDefinition::HighEQGain() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_HighEQGain(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::HighEQCutoff(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_HighEQCutoff(value)); +} + +template uint8_t impl_IReverbEffectDefinition::HighEQCutoff() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_HighEQCutoff(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::RoomFilterFreq(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_RoomFilterFreq(value)); +} + +template double impl_IReverbEffectDefinition::RoomFilterFreq() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_RoomFilterFreq(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::RoomFilterMain(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_RoomFilterMain(value)); +} + +template double impl_IReverbEffectDefinition::RoomFilterMain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_RoomFilterMain(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::RoomFilterHF(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_RoomFilterHF(value)); +} + +template double impl_IReverbEffectDefinition::RoomFilterHF() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_RoomFilterHF(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::ReflectionsGain(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_ReflectionsGain(value)); +} + +template double impl_IReverbEffectDefinition::ReflectionsGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_ReflectionsGain(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::ReverbGain(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_ReverbGain(value)); +} + +template double impl_IReverbEffectDefinition::ReverbGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_ReverbGain(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::DecayTime(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_DecayTime(value)); +} + +template double impl_IReverbEffectDefinition::DecayTime() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_DecayTime(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::Density(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_Density(value)); +} + +template double impl_IReverbEffectDefinition::Density() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_Density(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::RoomSize(double value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_RoomSize(value)); +} + +template double impl_IReverbEffectDefinition::RoomSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_RoomSize(&value)); + return value; +} + +template void impl_IReverbEffectDefinition::DisableLateField(bool value) const +{ + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->put_DisableLateField(value)); +} + +template bool impl_IReverbEffectDefinition::DisableLateField() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IReverbEffectDefinition)->get_DisableLateField(&value)); + return value; +} + +template void impl_IEchoEffectDefinition::WetDryMix(double value) const +{ + check_hresult(WINRT_SHIM(IEchoEffectDefinition)->put_WetDryMix(value)); +} + +template double impl_IEchoEffectDefinition::WetDryMix() const +{ + double value {}; + check_hresult(WINRT_SHIM(IEchoEffectDefinition)->get_WetDryMix(&value)); + return value; +} + +template void impl_IEchoEffectDefinition::Feedback(double value) const +{ + check_hresult(WINRT_SHIM(IEchoEffectDefinition)->put_Feedback(value)); +} + +template double impl_IEchoEffectDefinition::Feedback() const +{ + double value {}; + check_hresult(WINRT_SHIM(IEchoEffectDefinition)->get_Feedback(&value)); + return value; +} + +template void impl_IEchoEffectDefinition::Delay(double value) const +{ + check_hresult(WINRT_SHIM(IEchoEffectDefinition)->put_Delay(value)); +} + +template double impl_IEchoEffectDefinition::Delay() const +{ + double value {}; + check_hresult(WINRT_SHIM(IEchoEffectDefinition)->get_Delay(&value)); + return value; +} + +template void impl_ILimiterEffectDefinition::Release(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ILimiterEffectDefinition)->put_Release(value)); +} + +template uint32_t impl_ILimiterEffectDefinition::Release() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILimiterEffectDefinition)->get_Release(&value)); + return value; +} + +template void impl_ILimiterEffectDefinition::Loudness(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ILimiterEffectDefinition)->put_Loudness(value)); +} + +template uint32_t impl_ILimiterEffectDefinition::Loudness() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILimiterEffectDefinition)->get_Loudness(&value)); + return value; +} + +inline Windows::Foundation::IAsyncOperation AudioGraph::CreateAsync(const Windows::Media::Audio::AudioGraphSettings & settings) +{ + return get_activation_factory().CreateAsync(settings); +} + +inline AudioGraphSettings::AudioGraphSettings(Windows::Media::Render::AudioRenderCategory audioRenderCategory) : + AudioGraphSettings(get_activation_factory().Create(audioRenderCategory)) +{} + +inline AudioNodeEmitter::AudioNodeEmitter() : + AudioNodeEmitter(activate_instance()) +{} + +inline AudioNodeEmitter::AudioNodeEmitter(const Windows::Media::Audio::AudioNodeEmitterShape & shape, const Windows::Media::Audio::AudioNodeEmitterDecayModel & decayModel, Windows::Media::Audio::AudioNodeEmitterSettings settings) : + AudioNodeEmitter(get_activation_factory().CreateAudioNodeEmitter(shape, decayModel, settings)) +{} + +inline Windows::Media::Audio::AudioNodeEmitterDecayModel AudioNodeEmitterDecayModel::CreateNatural(double minGain, double maxGain, double unityGainDistance, double cutoffDistance) +{ + return get_activation_factory().CreateNatural(minGain, maxGain, unityGainDistance, cutoffDistance); +} + +inline Windows::Media::Audio::AudioNodeEmitterDecayModel AudioNodeEmitterDecayModel::CreateCustom(double minGain, double maxGain) +{ + return get_activation_factory().CreateCustom(minGain, maxGain); +} + +inline Windows::Media::Audio::AudioNodeEmitterShape AudioNodeEmitterShape::CreateCone(double innerAngle, double outerAngle, double outerAngleGain) +{ + return get_activation_factory().CreateCone(innerAngle, outerAngle, outerAngleGain); +} + +inline Windows::Media::Audio::AudioNodeEmitterShape AudioNodeEmitterShape::CreateOmnidirectional() +{ + return get_activation_factory().CreateOmnidirectional(); +} + +inline AudioNodeListener::AudioNodeListener() : + AudioNodeListener(activate_instance()) +{} + +inline EchoEffectDefinition::EchoEffectDefinition(const Windows::Media::Audio::AudioGraph & audioGraph) : + EchoEffectDefinition(get_activation_factory().Create(audioGraph)) +{} + +inline EqualizerEffectDefinition::EqualizerEffectDefinition(const Windows::Media::Audio::AudioGraph & audioGraph) : + EqualizerEffectDefinition(get_activation_factory().Create(audioGraph)) +{} + +inline LimiterEffectDefinition::LimiterEffectDefinition(const Windows::Media::Audio::AudioGraph & audioGraph) : + LimiterEffectDefinition(get_activation_factory().Create(audioGraph)) +{} + +inline ReverbEffectDefinition::ReverbEffectDefinition(const Windows::Media::Audio::AudioGraph & audioGraph) : + ReverbEffectDefinition(get_activation_factory().Create(audioGraph)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioDeviceInputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioDeviceOutputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioFileInputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioFileOutputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioFrameCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioFrameInputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioFrameOutputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioGraph & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioGraph2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioGraphConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioGraphSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioGraphSettingsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioGraphStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioGraphUnrecoverableErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioInputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioInputNode2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitter2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitterConeProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitterDecayModel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitterDecayModelStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitterNaturalDecayModelProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitterShape & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeEmitterShapeStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IAudioNodeWithListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ICreateAudioDeviceInputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ICreateAudioDeviceOutputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ICreateAudioFileInputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ICreateAudioFileOutputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ICreateAudioGraphResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IEchoEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IEchoEffectDefinitionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IEqualizerBand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IEqualizerEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IEqualizerEffectDefinitionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IFrameInputNodeQuantumStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ILimiterEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ILimiterEffectDefinitionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IReverbEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::IReverbEffectDefinitionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioDeviceInputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioDeviceOutputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioFileInputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioFileOutputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioFrameCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioFrameInputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioFrameOutputNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioGraph & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioGraphBatchUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioGraphConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioGraphSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioGraphUnrecoverableErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioNodeEmitter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioNodeEmitterConeProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioNodeEmitterDecayModel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioNodeEmitterNaturalDecayModelProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioNodeEmitterShape & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioNodeListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::AudioSubmixNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::CreateAudioDeviceInputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::CreateAudioDeviceOutputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::CreateAudioFileInputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::CreateAudioFileOutputNodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::CreateAudioGraphResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::EchoEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::EqualizerBand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::EqualizerEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::FrameInputNodeQuantumStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::LimiterEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Audio::ReverbEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Capture.Core.h b/10.0.15042.0/winrt/Windows.Media.Capture.Core.h new file mode 100644 index 000000000..56d3a7227 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Capture.Core.h @@ -0,0 +1,348 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Media.Capture.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.Capture.Core.3.h" +#include "Windows.Media.Capture.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CaptureTimeOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaptureTimeOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsedFrameControllerIndex(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsedFrameControllerIndex()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CapturedFrameControlValues(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CapturedFrameControlValues()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FinishAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FinishAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PhotoCaptured(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PhotoCaptured(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PhotoCaptured(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotoCaptured(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UpdateSettingsAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateSettingsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Capture::Core { + +template Windows::Media::Capture::CapturedFrame impl_IVariablePhotoCapturedEventArgs::Frame() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(IVariablePhotoCapturedEventArgs)->get_Frame(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IVariablePhotoCapturedEventArgs::CaptureTimeOffset() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IVariablePhotoCapturedEventArgs)->get_CaptureTimeOffset(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IVariablePhotoCapturedEventArgs::UsedFrameControllerIndex() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IVariablePhotoCapturedEventArgs)->get_UsedFrameControllerIndex(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CapturedFrameControlValues impl_IVariablePhotoCapturedEventArgs::CapturedFrameControlValues() const +{ + Windows::Media::Capture::CapturedFrameControlValues value { nullptr }; + check_hresult(WINRT_SHIM(IVariablePhotoCapturedEventArgs)->get_CapturedFrameControlValues(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IVariablePhotoSequenceCapture::StartAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture)->abi_StartAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IVariablePhotoSequenceCapture::StopAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture)->abi_StopAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IVariablePhotoSequenceCapture::FinishAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture)->abi_FinishAsync(put_abi(operation))); + return operation; +} + +template event_token impl_IVariablePhotoSequenceCapture::PhotoCaptured(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture)->add_PhotoCaptured(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVariablePhotoSequenceCapture::PhotoCaptured(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::Core::IVariablePhotoSequenceCapture::remove_PhotoCaptured, PhotoCaptured(handler)); +} + +template void impl_IVariablePhotoSequenceCapture::PhotoCaptured(event_token token) const +{ + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture)->remove_PhotoCaptured(token)); +} + +template event_token impl_IVariablePhotoSequenceCapture::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVariablePhotoSequenceCapture::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::Core::IVariablePhotoSequenceCapture::remove_Stopped, Stopped(handler)); +} + +template void impl_IVariablePhotoSequenceCapture::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture)->remove_Stopped(token)); +} + +template Windows::Foundation::IAsyncAction impl_IVariablePhotoSequenceCapture2::UpdateSettingsAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceCapture2)->abi_UpdateSettingsAsync(put_abi(operation))); + return operation; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Core::IVariablePhotoCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Core::IVariablePhotoSequenceCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Core::IVariablePhotoSequenceCapture2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Core::VariablePhotoCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Core::VariablePhotoSequenceCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Capture.Frames.h b/10.0.15042.0/winrt/Windows.Media.Capture.Frames.h new file mode 100644 index 000000000..eb4d92f40 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Capture.Frames.h @@ -0,0 +1,2173 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.Capture.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Perception.Spatial.3.h" +#include "internal/Windows.Media.Devices.Core.3.h" +#include "internal/Windows.Media.Devices.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Media.Capture.Frames.3.h" +#include "Windows.Media.Capture.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameReference(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameReference()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Buffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Buffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameReference(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameReference()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoMediaFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoMediaFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DepthFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DepthFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateCoordinateMapper(impl::abi_arg_in cameraIntrinsics, impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryCreateCoordinateMapper(*reinterpret_cast(&cameraIntrinsics), *reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxReliableDepth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxReliableDepth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinReliableDepth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinReliableDepth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DepthScaleInMeters(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DepthScaleInMeters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameReference(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameReference()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoMediaFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoMediaFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIlluminated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIlluminated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MajorType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MajorType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtype(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtype()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameRate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_FrameArrived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameArrived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryAcquireLatestFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryAcquireLatestFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceKind(Windows::Media::Capture::Frames::MediaFrameSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Format(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemRelativeTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemRelativeTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferMediaFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferMediaFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoMediaFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoMediaFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CoordinateSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Info(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Info()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Controller(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Controller()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFormatAsync(impl::abi_arg_in format, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SetFormatAsync(*reinterpret_cast(&format))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FormatChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FormatChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FormatChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FormatChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetCameraIntrinsics(impl::abi_arg_in format, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetCameraIntrinsics(*reinterpret_cast(&format))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPropertyAsync(impl::abi_arg_in propertyId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPropertyAsync(*reinterpret_cast(&propertyId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPropertyAsync(impl::abi_arg_in propertyId, impl::abi_arg_in propertyValue, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SetPropertyAsync(*reinterpret_cast(&propertyId), *reinterpret_cast(&propertyValue))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoDeviceController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPropertyByExtendedIdAsync(uint32_t __extendedPropertyIdSize, impl::abi_arg_in * extendedPropertyId, impl::abi_arg_in> maxPropertyValueSize, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPropertyByExtendedIdAsync(array_view(extendedPropertyId, extendedPropertyId + __extendedPropertyIdSize), *reinterpret_cast *>(&maxPropertyValueSize))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPropertyByExtendedIdAsync(uint32_t __extendedPropertyIdSize, impl::abi_arg_in * extendedPropertyId, uint32_t __propertyValueSize, impl::abi_arg_in * propertyValue, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetPropertyByExtendedIdAsync(array_view(extendedPropertyId, extendedPropertyId + __extendedPropertyIdSize), array_view(propertyValue, propertyValue + __propertyValueSize))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Capture::Frames::MediaFrameSourceGetPropertyStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceInfos(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceInfos()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in id, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaStreamType(Windows::Media::Capture::MediaStreamType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaStreamType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceKind(Windows::Media::Capture::Frames::MediaFrameSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CoordinateSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_FrameArrived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameArrived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryAcquireLatestFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryAcquireLatestFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetFrameReferenceBySourceId(impl::abi_arg_in sourceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetFrameReferenceBySourceId(*reinterpret_cast(&sourceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameReference(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameReference()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoftwareBitmap(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareBitmap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direct3DSurface(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direct3DSurface()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraIntrinsics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraIntrinsics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InfraredMediaFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InfraredMediaFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DepthMediaFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DepthMediaFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVideoFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetVideoFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaFrameFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaFrameFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DepthFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DepthFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Capture::Frames { + +template hstring impl_IMediaFrameSourceGroup::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaFrameSourceGroup)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IMediaFrameSourceGroup::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaFrameSourceGroup)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaFrameSourceGroup::SourceInfos() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaFrameSourceGroup)->get_SourceInfos(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IMediaFrameSourceGroupStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IMediaFrameSourceGroupStatics)->abi_FindAllAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaFrameSourceGroupStatics::FromIdAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaFrameSourceGroupStatics)->abi_FromIdAsync(get_abi(id), put_abi(value))); + return value; +} + +template hstring impl_IMediaFrameSourceGroupStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaFrameSourceGroupStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template hstring impl_IMediaFrameSourceInfo::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaFrameSourceInfo)->get_Id(put_abi(value))); + return value; +} + +template Windows::Media::Capture::MediaStreamType impl_IMediaFrameSourceInfo::MediaStreamType() const +{ + Windows::Media::Capture::MediaStreamType value {}; + check_hresult(WINRT_SHIM(IMediaFrameSourceInfo)->get_MediaStreamType(&value)); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameSourceKind impl_IMediaFrameSourceInfo::SourceKind() const +{ + Windows::Media::Capture::Frames::MediaFrameSourceKind value {}; + check_hresult(WINRT_SHIM(IMediaFrameSourceInfo)->get_SourceKind(&value)); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameSourceGroup impl_IMediaFrameSourceInfo::SourceGroup() const +{ + Windows::Media::Capture::Frames::MediaFrameSourceGroup value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSourceInfo)->get_SourceGroup(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IMediaFrameSourceInfo::DeviceInformation() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSourceInfo)->get_DeviceInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMediaFrameSourceInfo::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMediaFrameSourceInfo)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_IMediaFrameSourceInfo::CoordinateSystem() const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSourceInfo)->get_CoordinateSystem(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameSourceInfo impl_IMediaFrameSource::Info() const +{ + Windows::Media::Capture::Frames::MediaFrameSourceInfo value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSource)->get_Info(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameSourceController impl_IMediaFrameSource::Controller() const +{ + Windows::Media::Capture::Frames::MediaFrameSourceController value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSource)->get_Controller(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaFrameSource::SupportedFormats() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaFrameSource)->get_SupportedFormats(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameFormat impl_IMediaFrameSource::CurrentFormat() const +{ + Windows::Media::Capture::Frames::MediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSource)->get_CurrentFormat(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMediaFrameSource::SetFormatAsync(const Windows::Media::Capture::Frames::MediaFrameFormat & format) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IMediaFrameSource)->abi_SetFormatAsync(get_abi(format), put_abi(value))); + return value; +} + +template event_token impl_IMediaFrameSource::FormatChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaFrameSource)->add_FormatChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaFrameSource::FormatChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::Frames::IMediaFrameSource::remove_FormatChanged, FormatChanged(handler)); +} + +template void impl_IMediaFrameSource::FormatChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaFrameSource)->remove_FormatChanged(token)); +} + +template Windows::Media::Devices::Core::CameraIntrinsics impl_IMediaFrameSource::TryGetCameraIntrinsics(const Windows::Media::Capture::Frames::MediaFrameFormat & format) const +{ + Windows::Media::Devices::Core::CameraIntrinsics value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSource)->abi_TryGetCameraIntrinsics(get_abi(format), put_abi(value))); + return value; +} + +template event_token impl_IMediaFrameReader::FrameArrived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaFrameReader)->add_FrameArrived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaFrameReader::FrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::Frames::IMediaFrameReader::remove_FrameArrived, FrameArrived(handler)); +} + +template void impl_IMediaFrameReader::FrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaFrameReader)->remove_FrameArrived(token)); +} + +template Windows::Media::Capture::Frames::MediaFrameReference impl_IMediaFrameReader::TryAcquireLatestFrame() const +{ + Windows::Media::Capture::Frames::MediaFrameReference value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameReader)->abi_TryAcquireLatestFrame(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaFrameReader::StartAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaFrameReader)->abi_StartAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IMediaFrameReader::StopAsync() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IMediaFrameReader)->abi_StopAsync(put_abi(action))); + return action; +} + +template event_token impl_IMultiSourceMediaFrameReader::FrameArrived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMultiSourceMediaFrameReader)->add_FrameArrived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMultiSourceMediaFrameReader::FrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::Frames::IMultiSourceMediaFrameReader::remove_FrameArrived, FrameArrived(handler)); +} + +template void impl_IMultiSourceMediaFrameReader::FrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMultiSourceMediaFrameReader)->remove_FrameArrived(token)); +} + +template Windows::Media::Capture::Frames::MultiSourceMediaFrameReference impl_IMultiSourceMediaFrameReader::TryAcquireLatestFrame() const +{ + Windows::Media::Capture::Frames::MultiSourceMediaFrameReference value { nullptr }; + check_hresult(WINRT_SHIM(IMultiSourceMediaFrameReader)->abi_TryAcquireLatestFrame(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMultiSourceMediaFrameReader::StartAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMultiSourceMediaFrameReader)->abi_StartAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IMultiSourceMediaFrameReader::StopAsync() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IMultiSourceMediaFrameReader)->abi_StopAsync(put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaFrameSourceController::GetPropertyAsync(hstring_view propertyId) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaFrameSourceController)->abi_GetPropertyAsync(get_abi(propertyId), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaFrameSourceController::SetPropertyAsync(hstring_view propertyId, const Windows::Foundation::IInspectable & propertyValue) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaFrameSourceController)->abi_SetPropertyAsync(get_abi(propertyId), get_abi(propertyValue), put_abi(value))); + return value; +} + +template Windows::Media::Devices::VideoDeviceController impl_IMediaFrameSourceController::VideoDeviceController() const +{ + Windows::Media::Devices::VideoDeviceController value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameSourceController)->get_VideoDeviceController(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaFrameSourceController2::GetPropertyByExtendedIdAsync(array_view extendedPropertyId, const optional & maxPropertyValueSize) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaFrameSourceController2)->abi_GetPropertyByExtendedIdAsync(extendedPropertyId.size(), get_abi(extendedPropertyId), get_abi(maxPropertyValueSize), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaFrameSourceController2::SetPropertyByExtendedIdAsync(array_view extendedPropertyId, array_view propertyValue) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaFrameSourceController2)->abi_SetPropertyByExtendedIdAsync(extendedPropertyId.size(), get_abi(extendedPropertyId), propertyValue.size(), get_abi(propertyValue), put_abi(operation))); + return operation; +} + +template Windows::Media::Capture::Frames::MediaFrameSourceGetPropertyStatus impl_IMediaFrameSourceGetPropertyResult::Status() const +{ + Windows::Media::Capture::Frames::MediaFrameSourceGetPropertyStatus value {}; + check_hresult(WINRT_SHIM(IMediaFrameSourceGetPropertyResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IMediaFrameSourceGetPropertyResult::Value() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IMediaFrameSourceGetPropertyResult)->get_Value(put_abi(value))); + return value; +} + +template hstring impl_IMediaFrameFormat::MajorType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaFrameFormat)->get_MajorType(put_abi(value))); + return value; +} + +template hstring impl_IMediaFrameFormat::Subtype() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaFrameFormat)->get_Subtype(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_IMediaFrameFormat::FrameRate() const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameFormat)->get_FrameRate(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMediaFrameFormat::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMediaFrameFormat)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::VideoMediaFrameFormat impl_IMediaFrameFormat::VideoFormat() const +{ + Windows::Media::Capture::Frames::VideoMediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameFormat)->get_VideoFormat(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameFormat impl_IVideoMediaFrameFormat::MediaFrameFormat() const +{ + Windows::Media::Capture::Frames::MediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrameFormat)->get_MediaFrameFormat(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::DepthMediaFrameFormat impl_IVideoMediaFrameFormat::DepthFormat() const +{ + Windows::Media::Capture::Frames::DepthMediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrameFormat)->get_DepthFormat(put_abi(value))); + return value; +} + +template uint32_t impl_IVideoMediaFrameFormat::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoMediaFrameFormat)->get_Width(&value)); + return value; +} + +template uint32_t impl_IVideoMediaFrameFormat::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoMediaFrameFormat)->get_Height(&value)); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameSourceKind impl_IMediaFrameReference::SourceKind() const +{ + Windows::Media::Capture::Frames::MediaFrameSourceKind value {}; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_SourceKind(&value)); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameFormat impl_IMediaFrameReference::Format() const +{ + Windows::Media::Capture::Frames::MediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_Format(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IMediaFrameReference::SystemRelativeTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_SystemRelativeTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaFrameReference::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMediaFrameReference::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::BufferMediaFrame impl_IMediaFrameReference::BufferMediaFrame() const +{ + Windows::Media::Capture::Frames::BufferMediaFrame value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_BufferMediaFrame(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::VideoMediaFrame impl_IMediaFrameReference::VideoMediaFrame() const +{ + Windows::Media::Capture::Frames::VideoMediaFrame value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_VideoMediaFrame(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_IMediaFrameReference::CoordinateSystem() const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaFrameReference)->get_CoordinateSystem(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameReference impl_IMultiSourceMediaFrameReference::TryGetFrameReferenceBySourceId(hstring_view sourceId) const +{ + Windows::Media::Capture::Frames::MediaFrameReference value { nullptr }; + check_hresult(WINRT_SHIM(IMultiSourceMediaFrameReference)->abi_TryGetFrameReferenceBySourceId(get_abi(sourceId), put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameReference impl_IBufferMediaFrame::FrameReference() const +{ + Windows::Media::Capture::Frames::MediaFrameReference value { nullptr }; + check_hresult(WINRT_SHIM(IBufferMediaFrame)->get_FrameReference(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IBufferMediaFrame::Buffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IBufferMediaFrame)->get_Buffer(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameReference impl_IVideoMediaFrame::FrameReference() const +{ + Windows::Media::Capture::Frames::MediaFrameReference value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->get_FrameReference(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::VideoMediaFrameFormat impl_IVideoMediaFrame::VideoFormat() const +{ + Windows::Media::Capture::Frames::VideoMediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->get_VideoFormat(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_IVideoMediaFrame::SoftwareBitmap() const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->get_SoftwareBitmap(put_abi(value))); + return value; +} + +template Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface impl_IVideoMediaFrame::Direct3DSurface() const +{ + Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface value; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->get_Direct3DSurface(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::CameraIntrinsics impl_IVideoMediaFrame::CameraIntrinsics() const +{ + Windows::Media::Devices::Core::CameraIntrinsics value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->get_CameraIntrinsics(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::InfraredMediaFrame impl_IVideoMediaFrame::InfraredMediaFrame() const +{ + Windows::Media::Capture::Frames::InfraredMediaFrame value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->get_InfraredMediaFrame(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::DepthMediaFrame impl_IVideoMediaFrame::DepthMediaFrame() const +{ + Windows::Media::Capture::Frames::DepthMediaFrame value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->get_DepthMediaFrame(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IVideoMediaFrame::GetVideoFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IVideoMediaFrame)->abi_GetVideoFrame(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameReference impl_IInfraredMediaFrame::FrameReference() const +{ + Windows::Media::Capture::Frames::MediaFrameReference value { nullptr }; + check_hresult(WINRT_SHIM(IInfraredMediaFrame)->get_FrameReference(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::VideoMediaFrame impl_IInfraredMediaFrame::VideoMediaFrame() const +{ + Windows::Media::Capture::Frames::VideoMediaFrame value { nullptr }; + check_hresult(WINRT_SHIM(IInfraredMediaFrame)->get_VideoMediaFrame(put_abi(value))); + return value; +} + +template bool impl_IInfraredMediaFrame::IsIlluminated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInfraredMediaFrame)->get_IsIlluminated(&value)); + return value; +} + +template Windows::Media::Capture::Frames::MediaFrameReference impl_IDepthMediaFrame::FrameReference() const +{ + Windows::Media::Capture::Frames::MediaFrameReference value { nullptr }; + check_hresult(WINRT_SHIM(IDepthMediaFrame)->get_FrameReference(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::VideoMediaFrame impl_IDepthMediaFrame::VideoMediaFrame() const +{ + Windows::Media::Capture::Frames::VideoMediaFrame value { nullptr }; + check_hresult(WINRT_SHIM(IDepthMediaFrame)->get_VideoMediaFrame(put_abi(value))); + return value; +} + +template Windows::Media::Capture::Frames::DepthMediaFrameFormat impl_IDepthMediaFrame::DepthFormat() const +{ + Windows::Media::Capture::Frames::DepthMediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IDepthMediaFrame)->get_DepthFormat(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::DepthCorrelatedCoordinateMapper impl_IDepthMediaFrame::TryCreateCoordinateMapper(const Windows::Media::Devices::Core::CameraIntrinsics & cameraIntrinsics, const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Media::Devices::Core::DepthCorrelatedCoordinateMapper value { nullptr }; + check_hresult(WINRT_SHIM(IDepthMediaFrame)->abi_TryCreateCoordinateMapper(get_abi(cameraIntrinsics), get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template uint32_t impl_IDepthMediaFrame2::MaxReliableDepth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDepthMediaFrame2)->get_MaxReliableDepth(&value)); + return value; +} + +template uint32_t impl_IDepthMediaFrame2::MinReliableDepth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDepthMediaFrame2)->get_MinReliableDepth(&value)); + return value; +} + +template Windows::Media::Capture::Frames::VideoMediaFrameFormat impl_IDepthMediaFrameFormat::VideoFormat() const +{ + Windows::Media::Capture::Frames::VideoMediaFrameFormat value { nullptr }; + check_hresult(WINRT_SHIM(IDepthMediaFrameFormat)->get_VideoFormat(put_abi(value))); + return value; +} + +template double impl_IDepthMediaFrameFormat::DepthScaleInMeters() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDepthMediaFrameFormat)->get_DepthScaleInMeters(&value)); + return value; +} + +inline Windows::Foundation::IAsyncOperation> MediaFrameSourceGroup::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation MediaFrameSourceGroup::FromIdAsync(hstring_view id) +{ + return get_activation_factory().FromIdAsync(id); +} + +inline hstring MediaFrameSourceGroup::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IBufferMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IDepthMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IDepthMediaFrame2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IDepthMediaFrameFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IInfraredMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameSourceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameSourceController2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameSourceGetPropertyResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameSourceGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameSourceGroupStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMediaFrameSourceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMultiSourceMediaFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMultiSourceMediaFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IMultiSourceMediaFrameReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IVideoMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::IVideoMediaFrameFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::BufferMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::DepthMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::DepthMediaFrameFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::InfraredMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameSourceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameSourceGetPropertyResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameSourceGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MediaFrameSourceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MultiSourceMediaFrameArrivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MultiSourceMediaFrameReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::MultiSourceMediaFrameReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::VideoMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::Frames::VideoMediaFrameFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Capture.h b/10.0.15042.0/winrt/Windows.Media.Capture.h new file mode 100644 index 000000000..258e54df8 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Capture.h @@ -0,0 +1,13957 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Media.Core.3.h" +#include "internal/Windows.Media.Capture.Frames.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Media.Devices.3.h" +#include "internal/Windows.Media.Effects.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Security.Authentication.Web.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Media.Capture.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Media::Capture { + +template MediaCaptureFailedEventHandler::MediaCaptureFailedEventHandler(L lambda) : + MediaCaptureFailedEventHandler(impl::make_delegate, MediaCaptureFailedEventHandler>(std::forward(lambda))) +{} + +template MediaCaptureFailedEventHandler::MediaCaptureFailedEventHandler(F * function) : + MediaCaptureFailedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template MediaCaptureFailedEventHandler::MediaCaptureFailedEventHandler(O * object, M method) : + MediaCaptureFailedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void MediaCaptureFailedEventHandler::operator()(const Windows::Media::Capture::MediaCapture & sender, const Windows::Media::Capture::MediaCaptureFailedEventArgs & errorEventArgs) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(errorEventArgs))); +} + +template RecordLimitationExceededEventHandler::RecordLimitationExceededEventHandler(L lambda) : + RecordLimitationExceededEventHandler(impl::make_delegate, RecordLimitationExceededEventHandler>(std::forward(lambda))) +{} + +template RecordLimitationExceededEventHandler::RecordLimitationExceededEventHandler(F * function) : + RecordLimitationExceededEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template RecordLimitationExceededEventHandler::RecordLimitationExceededEventHandler(O * object, M method) : + RecordLimitationExceededEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void RecordLimitationExceededEventHandler::operator()(const Windows::Media::Capture::MediaCapture & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Media::Devices::AdvancedPhotoMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Context(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Context()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameBoundsRelativeToReferencePhoto(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameBoundsRelativeToReferencePhoto()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CaptureAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CaptureAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CaptureWithContextAsync(impl::abi_arg_in context, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CaptureAsync(*reinterpret_cast(&context))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OptionalReferencePhotoCaptured(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OptionalReferencePhotoCaptured(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OptionalReferencePhotoCaptured(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OptionalReferencePhotoCaptured(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AllPhotosCaptured(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AllPhotosCaptured(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AllPhotosCaptured(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllPhotosCaptured(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FinishAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FinishAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_PlugInState(Windows::Media::Capture::AppBroadcastPlugInState value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlugInState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlugInState(Windows::Media::Capture::AppBroadcastPlugInState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlugInState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SignInInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignInInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignInInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignInInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StreamInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreamInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreamInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewerCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewerCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewerCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewerCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TerminateBroadcast(Windows::Media::Capture::AppBroadcastTerminationReason reason, uint32_t providerSpecificReason) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TerminateBroadcast(reason, providerSpecificReason); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HeartbeatRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HeartbeatRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HeartbeatRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeartbeatRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SignInState(Windows::Media::Capture::AppBroadcastSignInState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignInState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OAuthRequestUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OAuthRequestUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OAuthRequestUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OAuthRequestUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OAuthCallbackUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OAuthCallbackUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OAuthCallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OAuthCallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationResult(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationResult()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SignInStateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SignInStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SignInStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignInStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StreamState(Windows::Media::Capture::AppBroadcastStreamState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredVideoEncodingBitrate(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredVideoEncodingBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredVideoEncodingBitrate(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredVideoEncodingBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BandwidthTestBitrate(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BandwidthTestBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BandwidthTestBitrate(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BandwidthTestBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioCodec(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioCodec(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioCodec(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioCodec()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastStreamReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastStreamReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StreamStateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StreamStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StreamStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreamStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoEncodingResolutionChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoEncodingResolutionChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoEncodingResolutionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoEncodingResolutionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoEncodingBitrateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoEncodingBitrateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoEncodingBitrateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoEncodingBitrateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::Capture::AppBroadcastCameraCaptureState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsBroadcastEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBroadcastEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDisabledByPolicy(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisabledByPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGpuConstrained(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGpuConstrained()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasHardwareEncoder(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasHardwareEncoder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAudioCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAudioCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAudioCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAudioCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMicrophoneCaptureEnabledByDefault(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMicrophoneCaptureEnabledByDefault(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMicrophoneCaptureEnabledByDefault(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMicrophoneCaptureEnabledByDefault()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEchoCancellationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEchoCancellationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEchoCancellationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEchoCancellationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemAudioGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemAudioGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemAudioGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemAudioGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MicrophoneGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MicrophoneGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicrophoneGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicrophoneGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCameraCaptureEnabledByDefault(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCameraCaptureEnabledByDefault(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCameraCaptureEnabledByDefault(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCameraCaptureEnabledByDefault()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedCameraId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedCameraId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedCameraId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedCameraId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CameraOverlayLocation(Windows::Media::Capture::AppBroadcastCameraOverlayLocation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraOverlayLocation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraOverlayLocation(Windows::Media::Capture::AppBroadcastCameraOverlayLocation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraOverlayLocation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CameraOverlaySize(Windows::Media::Capture::AppBroadcastCameraOverlaySize value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraOverlaySize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraOverlaySize(Windows::Media::Capture::AppBroadcastCameraOverlaySize * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraOverlaySize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCursorImageCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCursorImageCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCursorImageCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCursorImageCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetGlobalSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetGlobalSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyGlobalSettings(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplyGlobalSettings(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProviderSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetProviderSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyProviderSettings(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplyProviderSettings(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::Capture::AppBroadcastMicrophoneCaptureState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsBroadcastProviderAvailable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBroadcastProviderAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlugInList(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlugInList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultPlugIn(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultPlugIn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultPlugIn(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultPlugIn(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out ppInstance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppInstance = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *ppInstance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out ppInstance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppInstance = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *ppInstance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlugInState(Windows::Media::Capture::AppBroadcastPlugInState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlugInState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StopPreview() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopPreview(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviewState(Windows::Media::Capture::AppBroadcastPreviewState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviewState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PreviewStateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PreviewStateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PreviewStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreviewStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviewStreamReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviewStreamReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreviewState(Windows::Media::Capture::AppBroadcastPreviewState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviewState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoStride(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoStride()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoBitmapPixelFormat(Windows::Graphics::Imaging::BitmapPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoBitmapPixelFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoBitmapAlphaMode(Windows::Graphics::Imaging::BitmapAlphaMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoBitmapAlphaMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetNextVideoFrame(impl::abi_arg_out frame) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frame = detach_abi(this->shim().TryGetNextVideoFrame()); + return S_OK; + } + catch (...) + { + *frame = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoFrameArrived(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoFrameArrived(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoFrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoFrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoBuffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoBuffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AbsoluteTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelativeTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameId(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DefaultBroadcastTitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultBroadcastTitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultBroadcastTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultBroadcastTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioEncodingBitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioEncodingBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioEncodingBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioEncodingBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomVideoEncodingBitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomVideoEncodingBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomVideoEncodingBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomVideoEncodingBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomVideoEncodingHeight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomVideoEncodingHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomVideoEncodingHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomVideoEncodingHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomVideoEncodingWidth(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomVideoEncodingWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomVideoEncodingWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomVideoEncodingWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoEncodingBitrateMode(Windows::Media::Capture::AppBroadcastVideoEncodingBitrateMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoEncodingBitrateMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoEncodingBitrateMode(Windows::Media::Capture::AppBroadcastVideoEncodingBitrateMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoEncodingBitrateMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoEncodingResolutionMode(Windows::Media::Capture::AppBroadcastVideoEncodingResolutionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoEncodingResolutionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoEncodingResolutionMode(Windows::Media::Capture::AppBroadcastVideoEncodingResolutionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoEncodingResolutionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CaptureTargetType(Windows::Media::Capture::AppBroadcastCaptureTargetType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaptureTargetType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CaptureTargetType(Windows::Media::Capture::AppBroadcastCaptureTargetType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CaptureTargetType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BroadcastTitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BroadcastTitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BroadcastLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BroadcastLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BroadcastLanguage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BroadcastLanguage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanCapture(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanCapture()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnterBroadcastModeAsync(impl::abi_arg_in plugIn, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().EnterBroadcastModeAsync(*reinterpret_cast(&plugIn))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExitBroadcastMode(Windows::Media::Capture::AppBroadcastExitBroadcastModeReason reason) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExitBroadcastMode(reason); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartBroadcast() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartBroadcast(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PauseBroadcast() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PauseBroadcast(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResumeBroadcast() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResumeBroadcast(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPreview(impl::abi_arg_in desiredSize, impl::abi_arg_out preview) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *preview = detach_abi(this->shim().StartPreview(*reinterpret_cast(&desiredSize))); + return S_OK; + } + catch (...) + { + *preview = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SignInState(Windows::Media::Capture::AppBroadcastSignInState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignInState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Result(Windows::Media::Capture::AppBroadcastSignInResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCaptureTargetRunning(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCaptureTargetRunning()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewerCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewerCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldCaptureMicrophone(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldCaptureMicrophone()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShouldCaptureMicrophone(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShouldCaptureMicrophone(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RestartMicrophoneCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RestartMicrophoneCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldCaptureCamera(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldCaptureCamera()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShouldCaptureCamera(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShouldCaptureCamera(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RestartCameraCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RestartCameraCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EncodedVideoSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodedVideoSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicrophoneCaptureState(Windows::Media::Capture::AppBroadcastMicrophoneCaptureState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicrophoneCaptureState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicrophoneCaptureError(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicrophoneCaptureError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraCaptureState(Windows::Media::Capture::AppBroadcastCameraCaptureState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraCaptureState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraCaptureError(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraCaptureError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreamState(Windows::Media::Capture::AppBroadcastStreamState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlugInState(Windows::Media::Capture::AppBroadcastPlugInState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlugInState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OAuthRequestUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OAuthRequestUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OAuthCallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OAuthCallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationResult(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationResult()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AuthenticationResult(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationResult(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SignInState(Windows::Media::Capture::AppBroadcastSignInState value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignInState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignInState(Windows::Media::Capture::AppBroadcastSignInState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignInState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TerminationReason(Windows::Media::Capture::AppBroadcastTerminationReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TerminationReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TerminationReasonPlugInSpecific(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TerminationReasonPlugInSpecific()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ViewerCountChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ViewerCountChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ViewerCountChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewerCountChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MicrophoneCaptureStateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MicrophoneCaptureStateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MicrophoneCaptureStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MicrophoneCaptureStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraCaptureStateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraCaptureStateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraCaptureStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraCaptureStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlugInStateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlugInStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlugInStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlugInStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StreamStateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StreamStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StreamStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreamStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CaptureTargetClosed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CaptureTargetClosed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CaptureTargetClosed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CaptureTargetClosed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AudioHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioBuffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioBuffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AbsoluteTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelativeTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasDiscontinuity(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasDiscontinuity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameId(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AudioChannels(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioChannels()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioSampleRate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioSampleRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioAacSequence(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioAacSequence()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetNextAudioFrame(impl::abi_arg_out frame) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frame = detach_abi(this->shim().TryGetNextAudioFrame()); + return S_OK; + } + catch (...) + { + *frame = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetNextVideoFrame(impl::abi_arg_out frame) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *frame = detach_abi(this->shim().TryGetNextVideoFrame()); + return S_OK; + } + catch (...) + { + *frame = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AudioFrameArrived(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioFrameArrived(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioFrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioFrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoFrameArrived(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoFrameArrived(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoFrameArrived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoFrameArrived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StreamState(Windows::Media::Capture::AppBroadcastStreamState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoBuffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoBuffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AbsoluteTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelativeTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsKeyFrame(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsKeyFrame()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasDiscontinuity(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasDiscontinuity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameId(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BackgroundService(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundService()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewerCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewerCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCapturingAudio(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCapturingAudio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCapturingVideo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCapturingVideo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CapturingChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CapturingChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CapturingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CapturingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ToggleGameBarKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleGameBarKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleGameBarKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleGameBarKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleGameBarKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleGameBarKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleGameBarKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleGameBarKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SaveHistoricalVideoKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SaveHistoricalVideoKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SaveHistoricalVideoKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaveHistoricalVideoKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SaveHistoricalVideoKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SaveHistoricalVideoKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SaveHistoricalVideoKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaveHistoricalVideoKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleRecordingKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleRecordingKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleRecordingKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleRecordingKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleRecordingKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleRecordingKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleRecordingKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleRecordingKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TakeScreenshotKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TakeScreenshotKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TakeScreenshotKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TakeScreenshotKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TakeScreenshotKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TakeScreenshotKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TakeScreenshotKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TakeScreenshotKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleRecordingIndicatorKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleRecordingIndicatorKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleRecordingIndicatorKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleRecordingIndicatorKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleRecordingIndicatorKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleRecordingIndicatorKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleRecordingIndicatorKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleRecordingIndicatorKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ToggleMicrophoneCaptureKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleMicrophoneCaptureKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleMicrophoneCaptureKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleMicrophoneCaptureKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleMicrophoneCaptureKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleMicrophoneCaptureKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleMicrophoneCaptureKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleMicrophoneCaptureKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ToggleCameraCaptureKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleCameraCaptureKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleCameraCaptureKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleCameraCaptureKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleCameraCaptureKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleCameraCaptureKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleCameraCaptureKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleCameraCaptureKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleBroadcastKey(Windows::System::VirtualKey value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleBroadcastKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleBroadcastKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleBroadcastKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ToggleBroadcastKeyModifiers(Windows::System::VirtualKeyModifiers value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleBroadcastKeyModifiers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToggleBroadcastKeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleBroadcastKeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplySettings(impl::abi_arg_in appCaptureSettings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplySettings(*reinterpret_cast(&appCaptureSettings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::Capture::AppCaptureMicrophoneCaptureState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StopRecording() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopRecording(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Media::Capture::AppCaptureRecordingState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFileTruncated(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFileTruncated()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DurationGenerated(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DurationGenerated(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DurationGenerated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DurationGenerated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FileGenerated(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FileGenerated(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FileGenerated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FileGenerated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::Capture::AppCaptureRecordingState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Record(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().Record()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RecordTimeSpan(impl::abi_arg_in startTime, impl::abi_arg_in duration, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RecordTimeSpan(*reinterpret_cast(&startTime), *reinterpret_cast(&duration))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanCapture(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanCapture()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_AppCaptureDestinationFolder(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppCaptureDestinationFolder(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppCaptureDestinationFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppCaptureDestinationFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioEncodingBitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioEncodingBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioEncodingBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioEncodingBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAudioCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAudioCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAudioCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAudioCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomVideoEncodingBitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomVideoEncodingBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomVideoEncodingBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomVideoEncodingBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomVideoEncodingHeight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomVideoEncodingHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomVideoEncodingHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomVideoEncodingHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomVideoEncodingWidth(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomVideoEncodingWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomVideoEncodingWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomVideoEncodingWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HistoricalBufferLength(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HistoricalBufferLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HistoricalBufferLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HistoricalBufferLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HistoricalBufferLengthUnit(Windows::Media::Capture::AppCaptureHistoricalBufferLengthUnit value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HistoricalBufferLengthUnit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HistoricalBufferLengthUnit(Windows::Media::Capture::AppCaptureHistoricalBufferLengthUnit * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HistoricalBufferLengthUnit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHistoricalCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHistoricalCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHistoricalCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHistoricalCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHistoricalCaptureOnBatteryAllowed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHistoricalCaptureOnBatteryAllowed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHistoricalCaptureOnBatteryAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHistoricalCaptureOnBatteryAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHistoricalCaptureOnWirelessDisplayAllowed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHistoricalCaptureOnWirelessDisplayAllowed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHistoricalCaptureOnWirelessDisplayAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHistoricalCaptureOnWirelessDisplayAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaximumRecordLength(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaximumRecordLength(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumRecordLength(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumRecordLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScreenshotDestinationFolder(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScreenshotDestinationFolder(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScreenshotDestinationFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScreenshotDestinationFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoEncodingBitrateMode(Windows::Media::Capture::AppCaptureVideoEncodingBitrateMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoEncodingBitrateMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoEncodingBitrateMode(Windows::Media::Capture::AppCaptureVideoEncodingBitrateMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoEncodingBitrateMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoEncodingResolutionMode(Windows::Media::Capture::AppCaptureVideoEncodingResolutionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoEncodingResolutionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoEncodingResolutionMode(Windows::Media::Capture::AppCaptureVideoEncodingResolutionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoEncodingResolutionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAppCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAppCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAppCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAppCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCpuConstrained(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCpuConstrained()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDisabledByPolicy(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisabledByPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMemoryConstrained(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMemoryConstrained()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasHardwareEncoder(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasHardwareEncoder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsGpuConstrained(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGpuConstrained()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateShortcutKeys(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateShortcutKeys()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsMicrophoneCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMicrophoneCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMicrophoneCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMicrophoneCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsMicrophoneCaptureEnabledByDefault(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMicrophoneCaptureEnabledByDefault(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMicrophoneCaptureEnabledByDefault(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMicrophoneCaptureEnabledByDefault()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemAudioGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemAudioGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemAudioGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemAudioGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MicrophoneGain(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MicrophoneGain(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicrophoneGain(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicrophoneGain()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoEncodingFrameRateMode(Windows::Media::Capture::AppCaptureVideoEncodingFrameRateMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoEncodingFrameRateMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoEncodingFrameRateMode(Windows::Media::Capture::AppCaptureVideoEncodingFrameRateMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoEncodingFrameRateMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsEchoCancellationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEchoCancellationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEchoCancellationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEchoCancellationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCursorImageCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCursorImageCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCursorImageCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCursorImageCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTargetRunning(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTargetRunning()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHistoricalCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHistoricalCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldCaptureMicrophone(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldCaptureMicrophone()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShouldCaptureMicrophone(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShouldCaptureMicrophone(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RestartMicrophoneCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RestartMicrophoneCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicrophoneCaptureState(Windows::Media::Capture::AppCaptureMicrophoneCaptureState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicrophoneCaptureState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MicrophoneCaptureError(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MicrophoneCaptureError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MicrophoneCaptureStateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MicrophoneCaptureStateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MicrophoneCaptureStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MicrophoneCaptureStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CaptureTargetClosed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CaptureTargetClosed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CaptureTargetClosed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CaptureTargetClosed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PhotoSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotoSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CaptureFileAsync(Windows::Media::Capture::CameraCaptureUIMode mode, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CaptureFileAsync(mode)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Format(Windows::Media::Capture::CameraCaptureUIPhotoFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Format(Windows::Media::Capture::CameraCaptureUIPhotoFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Format(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxResolution(Windows::Media::Capture::CameraCaptureUIMaxPhotoResolution * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxResolution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxResolution(Windows::Media::Capture::CameraCaptureUIMaxPhotoResolution value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxResolution(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CroppedSizeInPixels(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CroppedSizeInPixels()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CroppedSizeInPixels(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CroppedSizeInPixels(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CroppedAspectRatio(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CroppedAspectRatio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CroppedAspectRatio(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CroppedAspectRatio(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowCropping(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowCropping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowCropping(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowCropping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Format(Windows::Media::Capture::CameraCaptureUIVideoFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Format(Windows::Media::Capture::CameraCaptureUIVideoFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Format(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxResolution(Windows::Media::Capture::CameraCaptureUIMaxVideoResolution * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxResolution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxResolution(Windows::Media::Capture::CameraCaptureUIMaxVideoResolution value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxResolution(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDurationInSeconds(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDurationInSeconds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxDurationInSeconds(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxDurationInSeconds(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowTrimming(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowTrimming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowTrimming(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowTrimming(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Show(impl::abi_arg_in mediaCapture) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&mediaCapture)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Exposure(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exposure()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExposureCompensation(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureCompensation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsoSpeed(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsoSpeed()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Focus(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Focus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SceneMode(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SceneMode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Flashed(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flashed()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlashPowerPercent(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlashPowerPercent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WhiteBalance(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WhiteBalance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomFactor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomFactor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FocusState(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusState()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsoDigitalGain(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsoDigitalGain()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsoAnalogGain(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsoAnalogGain()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SensorFrameRate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SensorFrameRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WhiteBalanceGain(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WhiteBalanceGain()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SoftwareBitmap(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareBitmap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetCapturePolicy(Windows::Media::Capture::GameBarTargetCapturePolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetCapturePolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppBroadcastServices(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppBroadcastServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppCaptureServices(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppCaptureServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CommandReceived(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CommandReceived(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CommandReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommandReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Command(Windows::Media::Capture::GameBarCommand * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Command()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Origin(Windows::Media::Capture::GameBarCommandOrigin * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Origin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_GameBarServicesCreated(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GameBarServicesCreated(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GameBarServicesCreated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GameBarServicesCreated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GameBarServices(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GameBarServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out ppInstance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppInstance = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *ppInstance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMode(Windows::Media::Capture::GameBarServicesDisplayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FinishAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FinishAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PauseAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PauseAsync(behavior)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResumeAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ResumeAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PauseWithResultAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PauseWithResultAsync(behavior)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopWithResultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StopWithResultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CaptureAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CaptureAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FinishAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FinishAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FinishAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FinishAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PhotoCaptured(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PhotoCaptured(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PhotoCaptured(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotoCaptured(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InitializeAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().InitializeAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InitializeWithSettingsAsync(impl::abi_arg_in mediaCaptureInitializationSettings, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().InitializeAsync(*reinterpret_cast(&mediaCaptureInitializationSettings))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartRecordToStorageFileAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in file, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartRecordToStorageFileAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartRecordToStreamAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in stream, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartRecordToStreamAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartRecordToCustomSinkAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in customMediaSink, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartRecordToCustomSinkAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&customMediaSink))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartRecordToCustomSinkIdAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in customSinkActivationId, impl::abi_arg_in customSinkSettings, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartRecordToCustomSinkAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&customSinkActivationId), *reinterpret_cast(&customSinkSettings))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopRecordAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StopRecordAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CapturePhotoToStorageFileAsync(impl::abi_arg_in type, impl::abi_arg_in file, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CapturePhotoToStorageFileAsync(*reinterpret_cast(&type), *reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CapturePhotoToStreamAsync(impl::abi_arg_in type, impl::abi_arg_in stream, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().CapturePhotoToStreamAsync(*reinterpret_cast(&type), *reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddEffectAsync(Windows::Media::Capture::MediaStreamType mediaStreamType, impl::abi_arg_in effectActivationID, impl::abi_arg_in effectSettings, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AddEffectAsync(mediaStreamType, *reinterpret_cast(&effectActivationID), *reinterpret_cast(&effectSettings))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearEffectsAsync(Windows::Media::Capture::MediaStreamType mediaStreamType, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ClearEffectsAsync(mediaStreamType)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetEncoderProperty(Windows::Media::Capture::MediaStreamType mediaStreamType, GUID propertyId, impl::abi_arg_in propertyValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetEncoderProperty(mediaStreamType, propertyId, *reinterpret_cast(&propertyValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEncoderProperty(Windows::Media::Capture::MediaStreamType mediaStreamType, GUID propertyId, impl::abi_arg_out propertyValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *propertyValue = detach_abi(this->shim().GetEncoderProperty(mediaStreamType, propertyId)); + return S_OK; + } + catch (...) + { + *propertyValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Failed(impl::abi_arg_in errorEventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Failed(*reinterpret_cast(&errorEventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Failed(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Failed(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecordLimitationExceeded(impl::abi_arg_in recordLimitationExceededEventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().RecordLimitationExceeded(*reinterpret_cast(&recordLimitationExceededEventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecordLimitationExceeded(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecordLimitationExceeded(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaCaptureSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaCaptureSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioDeviceController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDeviceController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoDeviceController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPreviewMirroring(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPreviewMirroring(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPreviewMirroring(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPreviewMirroring()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPreviewRotation(Windows::Media::Capture::VideoRotation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPreviewRotation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPreviewRotation(Windows::Media::Capture::VideoRotation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPreviewRotation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRecordRotation(Windows::Media::Capture::VideoRotation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRecordRotation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRecordRotation(Windows::Media::Capture::VideoRotation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRecordRotation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PrepareLowLagRecordToStorageFileAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareLowLagRecordToStorageFileAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareLowLagRecordToStreamAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in stream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareLowLagRecordToStreamAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareLowLagRecordToCustomSinkAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in customMediaSink, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareLowLagRecordToCustomSinkAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&customMediaSink))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareLowLagRecordToCustomSinkIdAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in customSinkActivationId, impl::abi_arg_in customSinkSettings, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareLowLagRecordToCustomSinkAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&customSinkActivationId), *reinterpret_cast(&customSinkSettings))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareLowLagPhotoCaptureAsync(impl::abi_arg_in type, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareLowLagPhotoCaptureAsync(*reinterpret_cast(&type))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareLowLagPhotoSequenceCaptureAsync(impl::abi_arg_in type, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareLowLagPhotoSequenceCaptureAsync(*reinterpret_cast(&type))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetEncodingPropertiesAsync(Windows::Media::Capture::MediaStreamType mediaStreamType, impl::abi_arg_in mediaEncodingProperties, impl::abi_arg_in> encoderProperties, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetEncodingPropertiesAsync(mediaStreamType, *reinterpret_cast(&mediaEncodingProperties), *reinterpret_cast(&encoderProperties))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PrepareVariablePhotoSequenceCaptureAsync(impl::abi_arg_in type, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareVariablePhotoSequenceCaptureAsync(*reinterpret_cast(&type))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FocusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FocusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FocusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PhotoConfirmationCaptured(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PhotoConfirmationCaptured(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PhotoConfirmationCaptured(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotoConfirmationCaptured(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddAudioEffectAsync(impl::abi_arg_in definition, impl::abi_arg_out> op) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *op = detach_abi(this->shim().AddAudioEffectAsync(*reinterpret_cast(&definition))); + return S_OK; + } + catch (...) + { + *op = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddVideoEffectAsync(impl::abi_arg_in definition, Windows::Media::Capture::MediaStreamType mediaStreamType, impl::abi_arg_out> op) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *op = detach_abi(this->shim().AddVideoEffectAsync(*reinterpret_cast(&definition), mediaStreamType)); + return S_OK; + } + catch (...) + { + *op = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PauseRecordAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().PauseRecordAsync(behavior)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResumeRecordAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ResumeRecordAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraStreamStateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraStreamStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraStreamStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraStreamStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraStreamState(Windows::Media::Devices::CameraStreamState * streamState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *streamState = detach_abi(this->shim().CameraStreamState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPreviewFrameAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPreviewFrameAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPreviewFrameCopyAsync(impl::abi_arg_in destination, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPreviewFrameAsync(*reinterpret_cast(&destination))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ThermalStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ThermalStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ThermalStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThermalStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThermalStatus(Windows::Media::Capture::MediaCaptureThermalStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThermalStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareAdvancedPhotoCaptureAsync(impl::abi_arg_in encodingProperties, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareAdvancedPhotoCaptureAsync(*reinterpret_cast(&encodingProperties))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RemoveEffectAsync(impl::abi_arg_in effect, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RemoveEffectAsync(*reinterpret_cast(&effect))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PauseRecordWithResultAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PauseRecordWithResultAsync(behavior)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopRecordWithResultAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StopRecordWithResultAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameSources(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameSources()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFrameReaderAsync(impl::abi_arg_in inputSource, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFrameReaderAsync(*reinterpret_cast(&inputSource))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFrameReaderWithSubtypeAsync(impl::abi_arg_in inputSource, impl::abi_arg_in outputSubtype, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFrameReaderAsync(*reinterpret_cast(&inputSource), *reinterpret_cast(&outputSubtype))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFrameReaderWithSubtypeAndSizeAsync(impl::abi_arg_in inputSource, impl::abi_arg_in outputSubtype, impl::abi_arg_in outputSize, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFrameReaderAsync(*reinterpret_cast(&inputSource), *reinterpret_cast(&outputSubtype), *reinterpret_cast(&outputSize))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CaptureDeviceExclusiveControlStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CaptureDeviceExclusiveControlStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CaptureDeviceExclusiveControlStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CaptureDeviceExclusiveControlStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMultiSourceFrameReaderAsync(impl::abi_arg_in> inputSources, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMultiSourceFrameReaderAsync(*reinterpret_cast *>(&inputSources))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Media::Capture::MediaCaptureDeviceExclusiveControlStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Code(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FocusState(Windows::Media::Devices::MediaCaptureFocusState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_AudioDeviceId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioDeviceId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoDeviceId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoDeviceId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StreamingCaptureMode(Windows::Media::Capture::StreamingCaptureMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreamingCaptureMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreamingCaptureMode(Windows::Media::Capture::StreamingCaptureMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamingCaptureMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhotoCaptureSource(Windows::Media::Capture::PhotoCaptureSource value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotoCaptureSource(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotoCaptureSource(Windows::Media::Capture::PhotoCaptureSource * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotoCaptureSource()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_MediaCategory(Windows::Media::Capture::MediaCategory value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaCategory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaCategory(Windows::Media::Capture::MediaCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioProcessing(Windows::Media::AudioProcessing value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioProcessing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioProcessing(Windows::Media::AudioProcessing * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioProcessing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_AudioSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoProfile(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoProfile(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviewMediaDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviewMediaDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreviewMediaDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreviewMediaDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecordMediaDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecordMediaDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RecordMediaDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecordMediaDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotoMediaDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotoMediaDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhotoMediaDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotoMediaDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceGroup(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceGroup(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharingMode(Windows::Media::Capture::MediaCaptureSharingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SharingMode(Windows::Media::Capture::MediaCaptureSharingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SharingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MemoryPreference(Windows::Media::Capture::MediaCaptureMemoryPreference * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MemoryPreference()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MemoryPreference(Windows::Media::Capture::MediaCaptureMemoryPreference value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MemoryPreference(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlwaysPlaySystemShutterSound(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlwaysPlaySystemShutterSound()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlwaysPlaySystemShutterSound(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlwaysPlaySystemShutterSound(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LastFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecordDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecordDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AudioDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreamingCaptureMode(Windows::Media::Capture::StreamingCaptureMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamingCaptureMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotoCaptureSource(Windows::Media::Capture::PhotoCaptureSource * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotoCaptureSource()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoDeviceCharacteristic(Windows::Media::Capture::VideoDeviceCharacteristic * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceCharacteristic()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConcurrentRecordAndPhotoSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConcurrentRecordAndPhotoSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConcurrentRecordAndPhotoSequenceSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConcurrentRecordAndPhotoSequenceSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraSoundRequiredForRegion(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraSoundRequiredForRegion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Horizontal35mmEquivalentFocalLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Horizontal35mmEquivalentFocalLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PitchOffsetDegrees(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PitchOffsetDegrees()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Vertical35mmEquivalentFocalLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Vertical35mmEquivalentFocalLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaCategory(Windows::Media::Capture::MediaCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioProcessing(Windows::Media::AudioProcessing * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioProcessing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsVideoProfileSupported(impl::abi_arg_in videoDeviceId, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVideoProfileSupported(*reinterpret_cast(&videoDeviceId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllVideoProfiles(impl::abi_arg_in videoDeviceId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllVideoProfiles(*reinterpret_cast(&videoDeviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindConcurrentProfiles(impl::abi_arg_in videoDeviceId, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindConcurrentProfiles(*reinterpret_cast(&videoDeviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindKnownVideoProfiles(impl::abi_arg_in videoDeviceId, Windows::Media::Capture::KnownVideoProfile name, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindKnownVideoProfiles(*reinterpret_cast(&videoDeviceId), name)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LastFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecordDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecordDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartPreviewAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartPreviewAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPreviewToCustomSinkAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in customMediaSink, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartPreviewToCustomSinkAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&customMediaSink))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPreviewToCustomSinkIdAsync(impl::abi_arg_in encodingProfile, impl::abi_arg_in customSinkActivationId, impl::abi_arg_in customSinkSettings, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartPreviewToCustomSinkAsync(*reinterpret_cast(&encodingProfile), *reinterpret_cast(&customSinkActivationId), *reinterpret_cast(&customSinkSettings))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopPreviewAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StopPreviewAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedPreviewMediaDescription(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedPreviewMediaDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedRecordMediaDescription(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedRecordMediaDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedPhotoMediaDescription(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedPhotoMediaDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConcurrency(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConcurrency()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVariablePhotoSequenceSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVariablePhotoSequenceSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHdrVideoSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHdrVideoSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Context(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Context()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CaptureTimeOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaptureTimeOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CaptureTimeOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaptureTimeOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AudioSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAudioSuspended(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAudioSuspended()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVideoSuspended(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVideoSuspended()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceSuspensionChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceSuspensionChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceSuspensionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceSuspensionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsAudioSuspended(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAudioSuspended()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVideoSuspended(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVideoSuspended()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Capture { + +template bool impl_IAppCapture::IsCapturingAudio() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCapture)->get_IsCapturingAudio(&value)); + return value; +} + +template bool impl_IAppCapture::IsCapturingVideo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCapture)->get_IsCapturingVideo(&value)); + return value; +} + +template event_token impl_IAppCapture::CapturingChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppCapture)->add_CapturingChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppCapture::CapturingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppCapture::remove_CapturingChanged, CapturingChanged(handler)); +} + +template void impl_IAppCapture::CapturingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppCapture)->remove_CapturingChanged(token)); +} + +template Windows::Media::Capture::AppCapture impl_IAppCaptureStatics::GetForCurrentView() const +{ + Windows::Media::Capture::AppCapture value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CameraCaptureUIPhotoFormat impl_ICameraCaptureUIPhotoCaptureSettings::Format() const +{ + Windows::Media::Capture::CameraCaptureUIPhotoFormat value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->get_Format(&value)); + return value; +} + +template void impl_ICameraCaptureUIPhotoCaptureSettings::Format(Windows::Media::Capture::CameraCaptureUIPhotoFormat value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->put_Format(value)); +} + +template Windows::Media::Capture::CameraCaptureUIMaxPhotoResolution impl_ICameraCaptureUIPhotoCaptureSettings::MaxResolution() const +{ + Windows::Media::Capture::CameraCaptureUIMaxPhotoResolution value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->get_MaxResolution(&value)); + return value; +} + +template void impl_ICameraCaptureUIPhotoCaptureSettings::MaxResolution(Windows::Media::Capture::CameraCaptureUIMaxPhotoResolution value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->put_MaxResolution(value)); +} + +template Windows::Foundation::Size impl_ICameraCaptureUIPhotoCaptureSettings::CroppedSizeInPixels() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->get_CroppedSizeInPixels(put_abi(value))); + return value; +} + +template void impl_ICameraCaptureUIPhotoCaptureSettings::CroppedSizeInPixels(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->put_CroppedSizeInPixels(get_abi(value))); +} + +template Windows::Foundation::Size impl_ICameraCaptureUIPhotoCaptureSettings::CroppedAspectRatio() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->get_CroppedAspectRatio(put_abi(value))); + return value; +} + +template void impl_ICameraCaptureUIPhotoCaptureSettings::CroppedAspectRatio(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->put_CroppedAspectRatio(get_abi(value))); +} + +template bool impl_ICameraCaptureUIPhotoCaptureSettings::AllowCropping() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->get_AllowCropping(&value)); + return value; +} + +template void impl_ICameraCaptureUIPhotoCaptureSettings::AllowCropping(bool value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIPhotoCaptureSettings)->put_AllowCropping(value)); +} + +template Windows::Media::Capture::CameraCaptureUIVideoFormat impl_ICameraCaptureUIVideoCaptureSettings::Format() const +{ + Windows::Media::Capture::CameraCaptureUIVideoFormat value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->get_Format(&value)); + return value; +} + +template void impl_ICameraCaptureUIVideoCaptureSettings::Format(Windows::Media::Capture::CameraCaptureUIVideoFormat value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->put_Format(value)); +} + +template Windows::Media::Capture::CameraCaptureUIMaxVideoResolution impl_ICameraCaptureUIVideoCaptureSettings::MaxResolution() const +{ + Windows::Media::Capture::CameraCaptureUIMaxVideoResolution value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->get_MaxResolution(&value)); + return value; +} + +template void impl_ICameraCaptureUIVideoCaptureSettings::MaxResolution(Windows::Media::Capture::CameraCaptureUIMaxVideoResolution value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->put_MaxResolution(value)); +} + +template float impl_ICameraCaptureUIVideoCaptureSettings::MaxDurationInSeconds() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->get_MaxDurationInSeconds(&value)); + return value; +} + +template void impl_ICameraCaptureUIVideoCaptureSettings::MaxDurationInSeconds(float value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->put_MaxDurationInSeconds(value)); +} + +template bool impl_ICameraCaptureUIVideoCaptureSettings::AllowTrimming() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->get_AllowTrimming(&value)); + return value; +} + +template void impl_ICameraCaptureUIVideoCaptureSettings::AllowTrimming(bool value) const +{ + check_hresult(WINRT_SHIM(ICameraCaptureUIVideoCaptureSettings)->put_AllowTrimming(value)); +} + +template Windows::Media::Capture::CameraCaptureUIPhotoCaptureSettings impl_ICameraCaptureUI::PhotoSettings() const +{ + Windows::Media::Capture::CameraCaptureUIPhotoCaptureSettings value { nullptr }; + check_hresult(WINRT_SHIM(ICameraCaptureUI)->get_PhotoSettings(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CameraCaptureUIVideoCaptureSettings impl_ICameraCaptureUI::VideoSettings() const +{ + Windows::Media::Capture::CameraCaptureUIVideoCaptureSettings value { nullptr }; + check_hresult(WINRT_SHIM(ICameraCaptureUI)->get_VideoSettings(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICameraCaptureUI::CaptureFileAsync(Windows::Media::Capture::CameraCaptureUIMode mode) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ICameraCaptureUI)->abi_CaptureFileAsync(mode, put_abi(asyncInfo))); + return asyncInfo; +} + +template hstring impl_IMediaCaptureFailedEventArgs::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureFailedEventArgs)->get_Message(put_abi(value))); + return value; +} + +template uint32_t impl_IMediaCaptureFailedEventArgs::Code() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaCaptureFailedEventArgs)->get_Code(&value)); + return value; +} + +template uint32_t impl_IMediaCaptureVideoProfileMediaDescription::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfileMediaDescription)->get_Width(&value)); + return value; +} + +template uint32_t impl_IMediaCaptureVideoProfileMediaDescription::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfileMediaDescription)->get_Height(&value)); + return value; +} + +template double impl_IMediaCaptureVideoProfileMediaDescription::FrameRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfileMediaDescription)->get_FrameRate(&value)); + return value; +} + +template bool impl_IMediaCaptureVideoProfileMediaDescription::IsVariablePhotoSequenceSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfileMediaDescription)->get_IsVariablePhotoSequenceSupported(&value)); + return value; +} + +template bool impl_IMediaCaptureVideoProfileMediaDescription::IsHdrVideoSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfileMediaDescription)->get_IsHdrVideoSupported(&value)); + return value; +} + +template hstring impl_IMediaCaptureVideoProfile::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfile)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IMediaCaptureVideoProfile::VideoDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfile)->get_VideoDeviceId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaCaptureVideoProfile::SupportedPreviewMediaDescription() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfile)->get_SupportedPreviewMediaDescription(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaCaptureVideoProfile::SupportedRecordMediaDescription() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfile)->get_SupportedRecordMediaDescription(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaCaptureVideoProfile::SupportedPhotoMediaDescription() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfile)->get_SupportedPhotoMediaDescription(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaCaptureVideoProfile::GetConcurrency() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaCaptureVideoProfile)->abi_GetConcurrency(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings::AudioDeviceId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->put_AudioDeviceId(get_abi(value))); +} + +template hstring impl_IMediaCaptureInitializationSettings::AudioDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->get_AudioDeviceId(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings::VideoDeviceId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->put_VideoDeviceId(get_abi(value))); +} + +template hstring impl_IMediaCaptureInitializationSettings::VideoDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->get_VideoDeviceId(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings::StreamingCaptureMode(Windows::Media::Capture::StreamingCaptureMode value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->put_StreamingCaptureMode(value)); +} + +template Windows::Media::Capture::StreamingCaptureMode impl_IMediaCaptureInitializationSettings::StreamingCaptureMode() const +{ + Windows::Media::Capture::StreamingCaptureMode value {}; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->get_StreamingCaptureMode(&value)); + return value; +} + +template void impl_IMediaCaptureInitializationSettings::PhotoCaptureSource(Windows::Media::Capture::PhotoCaptureSource value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->put_PhotoCaptureSource(value)); +} + +template Windows::Media::Capture::PhotoCaptureSource impl_IMediaCaptureInitializationSettings::PhotoCaptureSource() const +{ + Windows::Media::Capture::PhotoCaptureSource value {}; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings)->get_PhotoCaptureSource(&value)); + return value; +} + +template void impl_IMediaCaptureInitializationSettings2::MediaCategory(Windows::Media::Capture::MediaCategory value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings2)->put_MediaCategory(value)); +} + +template Windows::Media::Capture::MediaCategory impl_IMediaCaptureInitializationSettings2::MediaCategory() const +{ + Windows::Media::Capture::MediaCategory value {}; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings2)->get_MediaCategory(&value)); + return value; +} + +template void impl_IMediaCaptureInitializationSettings2::AudioProcessing(Windows::Media::AudioProcessing value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings2)->put_AudioProcessing(value)); +} + +template Windows::Media::AudioProcessing impl_IMediaCaptureInitializationSettings2::AudioProcessing() const +{ + Windows::Media::AudioProcessing value {}; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings2)->get_AudioProcessing(&value)); + return value; +} + +template void impl_IMediaCaptureInitializationSettings3::AudioSource(const Windows::Media::Core::IMediaSource & value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings3)->put_AudioSource(get_abi(value))); +} + +template Windows::Media::Core::IMediaSource impl_IMediaCaptureInitializationSettings3::AudioSource() const +{ + Windows::Media::Core::IMediaSource value; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings3)->get_AudioSource(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings3::VideoSource(const Windows::Media::Core::IMediaSource & value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings3)->put_VideoSource(get_abi(value))); +} + +template Windows::Media::Core::IMediaSource impl_IMediaCaptureInitializationSettings3::VideoSource() const +{ + Windows::Media::Core::IMediaSource value; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings3)->get_VideoSource(put_abi(value))); + return value; +} + +template Windows::Media::Capture::MediaCaptureVideoProfile impl_IMediaCaptureInitializationSettings4::VideoProfile() const +{ + Windows::Media::Capture::MediaCaptureVideoProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->get_VideoProfile(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings4::VideoProfile(const Windows::Media::Capture::MediaCaptureVideoProfile & value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->put_VideoProfile(get_abi(value))); +} + +template Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription impl_IMediaCaptureInitializationSettings4::PreviewMediaDescription() const +{ + Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->get_PreviewMediaDescription(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings4::PreviewMediaDescription(const Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription & value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->put_PreviewMediaDescription(get_abi(value))); +} + +template Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription impl_IMediaCaptureInitializationSettings4::RecordMediaDescription() const +{ + Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->get_RecordMediaDescription(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings4::RecordMediaDescription(const Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription & value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->put_RecordMediaDescription(get_abi(value))); +} + +template Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription impl_IMediaCaptureInitializationSettings4::PhotoMediaDescription() const +{ + Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->get_PhotoMediaDescription(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings4::PhotoMediaDescription(const Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription & value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings4)->put_PhotoMediaDescription(get_abi(value))); +} + +template Windows::Media::Capture::Frames::MediaFrameSourceGroup impl_IMediaCaptureInitializationSettings5::SourceGroup() const +{ + Windows::Media::Capture::Frames::MediaFrameSourceGroup value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings5)->get_SourceGroup(put_abi(value))); + return value; +} + +template void impl_IMediaCaptureInitializationSettings5::SourceGroup(const Windows::Media::Capture::Frames::MediaFrameSourceGroup & value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings5)->put_SourceGroup(get_abi(value))); +} + +template Windows::Media::Capture::MediaCaptureSharingMode impl_IMediaCaptureInitializationSettings5::SharingMode() const +{ + Windows::Media::Capture::MediaCaptureSharingMode value {}; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings5)->get_SharingMode(&value)); + return value; +} + +template void impl_IMediaCaptureInitializationSettings5::SharingMode(Windows::Media::Capture::MediaCaptureSharingMode value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings5)->put_SharingMode(value)); +} + +template Windows::Media::Capture::MediaCaptureMemoryPreference impl_IMediaCaptureInitializationSettings5::MemoryPreference() const +{ + Windows::Media::Capture::MediaCaptureMemoryPreference value {}; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings5)->get_MemoryPreference(&value)); + return value; +} + +template void impl_IMediaCaptureInitializationSettings5::MemoryPreference(Windows::Media::Capture::MediaCaptureMemoryPreference value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings5)->put_MemoryPreference(value)); +} + +template bool impl_IMediaCaptureInitializationSettings6::AlwaysPlaySystemShutterSound() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings6)->get_AlwaysPlaySystemShutterSound(&value)); + return value; +} + +template void impl_IMediaCaptureInitializationSettings6::AlwaysPlaySystemShutterSound(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaCaptureInitializationSettings6)->put_AlwaysPlaySystemShutterSound(value)); +} + +template bool impl_IMediaCaptureStatics::IsVideoProfileSupported(hstring_view videoDeviceId) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCaptureStatics)->abi_IsVideoProfileSupported(get_abi(videoDeviceId), &value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaCaptureStatics::FindAllVideoProfiles(hstring_view videoDeviceId) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaCaptureStatics)->abi_FindAllVideoProfiles(get_abi(videoDeviceId), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaCaptureStatics::FindConcurrentProfiles(hstring_view videoDeviceId) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaCaptureStatics)->abi_FindConcurrentProfiles(get_abi(videoDeviceId), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaCaptureStatics::FindKnownVideoProfiles(hstring_view videoDeviceId, Windows::Media::Capture::KnownVideoProfile name) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaCaptureStatics)->abi_FindKnownVideoProfiles(get_abi(videoDeviceId), name, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::InitializeAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_InitializeAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::InitializeAsync(const Windows::Media::Capture::MediaCaptureInitializationSettings & mediaCaptureInitializationSettings) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_InitializeWithSettingsAsync(get_abi(mediaCaptureInitializationSettings), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::StartRecordToStorageFileAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_StartRecordToStorageFileAsync(get_abi(encodingProfile), get_abi(file), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::StartRecordToStreamAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_StartRecordToStreamAsync(get_abi(encodingProfile), get_abi(stream), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::StartRecordToCustomSinkAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, const Windows::Media::IMediaExtension & customMediaSink) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_StartRecordToCustomSinkAsync(get_abi(encodingProfile), get_abi(customMediaSink), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::StartRecordToCustomSinkAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, hstring_view customSinkActivationId, const Windows::Foundation::Collections::IPropertySet & customSinkSettings) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_StartRecordToCustomSinkIdAsync(get_abi(encodingProfile), get_abi(customSinkActivationId), get_abi(customSinkSettings), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::StopRecordAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_StopRecordAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::CapturePhotoToStorageFileAsync(const Windows::Media::MediaProperties::ImageEncodingProperties & type, const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_CapturePhotoToStorageFileAsync(get_abi(type), get_abi(file), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::CapturePhotoToStreamAsync(const Windows::Media::MediaProperties::ImageEncodingProperties & type, const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_CapturePhotoToStreamAsync(get_abi(type), get_abi(stream), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::AddEffectAsync(Windows::Media::Capture::MediaStreamType mediaStreamType, hstring_view effectActivationID, const Windows::Foundation::Collections::IPropertySet & effectSettings) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_AddEffectAsync(mediaStreamType, get_abi(effectActivationID), get_abi(effectSettings), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture::ClearEffectsAsync(Windows::Media::Capture::MediaStreamType mediaStreamType) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_ClearEffectsAsync(mediaStreamType, put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IMediaCapture::SetEncoderProperty(Windows::Media::Capture::MediaStreamType mediaStreamType, GUID propertyId, const Windows::Foundation::IInspectable & propertyValue) const +{ + check_hresult(WINRT_SHIM(IMediaCapture)->abi_SetEncoderProperty(mediaStreamType, propertyId, get_abi(propertyValue))); +} + +template Windows::Foundation::IInspectable impl_IMediaCapture::GetEncoderProperty(Windows::Media::Capture::MediaStreamType mediaStreamType, GUID propertyId) const +{ + Windows::Foundation::IInspectable propertyValue; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_GetEncoderProperty(mediaStreamType, propertyId, put_abi(propertyValue))); + return propertyValue; +} + +template event_token impl_IMediaCapture::Failed(const Windows::Media::Capture::MediaCaptureFailedEventHandler & errorEventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IMediaCapture)->add_Failed(get_abi(errorEventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IMediaCapture::Failed(auto_revoke_t, const Windows::Media::Capture::MediaCaptureFailedEventHandler & errorEventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IMediaCapture::remove_Failed, Failed(errorEventHandler)); +} + +template void impl_IMediaCapture::Failed(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IMediaCapture)->remove_Failed(eventCookie)); +} + +template event_token impl_IMediaCapture::RecordLimitationExceeded(const Windows::Media::Capture::RecordLimitationExceededEventHandler & recordLimitationExceededEventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IMediaCapture)->add_RecordLimitationExceeded(get_abi(recordLimitationExceededEventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IMediaCapture::RecordLimitationExceeded(auto_revoke_t, const Windows::Media::Capture::RecordLimitationExceededEventHandler & recordLimitationExceededEventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IMediaCapture::remove_RecordLimitationExceeded, RecordLimitationExceeded(recordLimitationExceededEventHandler)); +} + +template void impl_IMediaCapture::RecordLimitationExceeded(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IMediaCapture)->remove_RecordLimitationExceeded(eventCookie)); +} + +template Windows::Media::Capture::MediaCaptureSettings impl_IMediaCapture::MediaCaptureSettings() const +{ + Windows::Media::Capture::MediaCaptureSettings value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCapture)->get_MediaCaptureSettings(put_abi(value))); + return value; +} + +template Windows::Media::Devices::AudioDeviceController impl_IMediaCapture::AudioDeviceController() const +{ + Windows::Media::Devices::AudioDeviceController value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCapture)->get_AudioDeviceController(put_abi(value))); + return value; +} + +template Windows::Media::Devices::VideoDeviceController impl_IMediaCapture::VideoDeviceController() const +{ + Windows::Media::Devices::VideoDeviceController value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCapture)->get_VideoDeviceController(put_abi(value))); + return value; +} + +template void impl_IMediaCapture::SetPreviewMirroring(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaCapture)->abi_SetPreviewMirroring(value)); +} + +template bool impl_IMediaCapture::GetPreviewMirroring() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_GetPreviewMirroring(&value)); + return value; +} + +template void impl_IMediaCapture::SetPreviewRotation(Windows::Media::Capture::VideoRotation value) const +{ + check_hresult(WINRT_SHIM(IMediaCapture)->abi_SetPreviewRotation(value)); +} + +template Windows::Media::Capture::VideoRotation impl_IMediaCapture::GetPreviewRotation() const +{ + Windows::Media::Capture::VideoRotation value {}; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_GetPreviewRotation(&value)); + return value; +} + +template void impl_IMediaCapture::SetRecordRotation(Windows::Media::Capture::VideoRotation value) const +{ + check_hresult(WINRT_SHIM(IMediaCapture)->abi_SetRecordRotation(value)); +} + +template Windows::Media::Capture::VideoRotation impl_IMediaCapture::GetRecordRotation() const +{ + Windows::Media::Capture::VideoRotation value {}; + check_hresult(WINRT_SHIM(IMediaCapture)->abi_GetRecordRotation(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture2::PrepareLowLagRecordToStorageFileAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture2)->abi_PrepareLowLagRecordToStorageFileAsync(get_abi(encodingProfile), get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture2::PrepareLowLagRecordToStreamAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture2)->abi_PrepareLowLagRecordToStreamAsync(get_abi(encodingProfile), get_abi(stream), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture2::PrepareLowLagRecordToCustomSinkAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, const Windows::Media::IMediaExtension & customMediaSink) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture2)->abi_PrepareLowLagRecordToCustomSinkAsync(get_abi(encodingProfile), get_abi(customMediaSink), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture2::PrepareLowLagRecordToCustomSinkAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, hstring_view customSinkActivationId, const Windows::Foundation::Collections::IPropertySet & customSinkSettings) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture2)->abi_PrepareLowLagRecordToCustomSinkIdAsync(get_abi(encodingProfile), get_abi(customSinkActivationId), get_abi(customSinkSettings), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture2::PrepareLowLagPhotoCaptureAsync(const Windows::Media::MediaProperties::ImageEncodingProperties & type) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture2)->abi_PrepareLowLagPhotoCaptureAsync(get_abi(type), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture2::PrepareLowLagPhotoSequenceCaptureAsync(const Windows::Media::MediaProperties::ImageEncodingProperties & type) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture2)->abi_PrepareLowLagPhotoSequenceCaptureAsync(get_abi(type), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture2::SetEncodingPropertiesAsync(Windows::Media::Capture::MediaStreamType mediaStreamType, const Windows::Media::MediaProperties::IMediaEncodingProperties & mediaEncodingProperties, const Windows::Media::MediaProperties::MediaPropertySet & encoderProperties) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IMediaCapture2)->abi_SetEncodingPropertiesAsync(mediaStreamType, get_abi(mediaEncodingProperties), get_abi(encoderProperties), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture3::PrepareVariablePhotoSequenceCaptureAsync(const Windows::Media::MediaProperties::ImageEncodingProperties & type) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture3)->abi_PrepareVariablePhotoSequenceCaptureAsync(get_abi(type), put_abi(operation))); + return operation; +} + +template event_token impl_IMediaCapture3::FocusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaCapture3)->add_FocusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaCapture3::FocusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IMediaCapture3::remove_FocusChanged, FocusChanged(handler)); +} + +template void impl_IMediaCapture3::FocusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaCapture3)->remove_FocusChanged(token)); +} + +template event_token impl_IMediaCapture3::PhotoConfirmationCaptured(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaCapture3)->add_PhotoConfirmationCaptured(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaCapture3::PhotoConfirmationCaptured(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IMediaCapture3::remove_PhotoConfirmationCaptured, PhotoConfirmationCaptured(handler)); +} + +template void impl_IMediaCapture3::PhotoConfirmationCaptured(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaCapture3)->remove_PhotoConfirmationCaptured(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture4::AddAudioEffectAsync(const Windows::Media::Effects::IAudioEffectDefinition & definition) const +{ + Windows::Foundation::IAsyncOperation op; + check_hresult(WINRT_SHIM(IMediaCapture4)->abi_AddAudioEffectAsync(get_abi(definition), put_abi(op))); + return op; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture4::AddVideoEffectAsync(const Windows::Media::Effects::IVideoEffectDefinition & definition, Windows::Media::Capture::MediaStreamType mediaStreamType) const +{ + Windows::Foundation::IAsyncOperation op; + check_hresult(WINRT_SHIM(IMediaCapture4)->abi_AddVideoEffectAsync(get_abi(definition), mediaStreamType, put_abi(op))); + return op; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture4::PauseRecordAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture4)->abi_PauseRecordAsync(behavior, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture4::ResumeRecordAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture4)->abi_ResumeRecordAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template event_token impl_IMediaCapture4::CameraStreamStateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaCapture4)->add_CameraStreamStateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaCapture4::CameraStreamStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IMediaCapture4::remove_CameraStreamStateChanged, CameraStreamStateChanged(handler)); +} + +template void impl_IMediaCapture4::CameraStreamStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaCapture4)->remove_CameraStreamStateChanged(token)); +} + +template Windows::Media::Devices::CameraStreamState impl_IMediaCapture4::CameraStreamState() const +{ + Windows::Media::Devices::CameraStreamState streamState {}; + check_hresult(WINRT_SHIM(IMediaCapture4)->get_CameraStreamState(&streamState)); + return streamState; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture4::GetPreviewFrameAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture4)->abi_GetPreviewFrameAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture4::GetPreviewFrameAsync(const Windows::Media::VideoFrame & destination) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture4)->abi_GetPreviewFrameCopyAsync(get_abi(destination), put_abi(operation))); + return operation; +} + +template event_token impl_IMediaCapture4::ThermalStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaCapture4)->add_ThermalStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaCapture4::ThermalStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IMediaCapture4::remove_ThermalStatusChanged, ThermalStatusChanged(handler)); +} + +template void impl_IMediaCapture4::ThermalStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaCapture4)->remove_ThermalStatusChanged(token)); +} + +template Windows::Media::Capture::MediaCaptureThermalStatus impl_IMediaCapture4::ThermalStatus() const +{ + Windows::Media::Capture::MediaCaptureThermalStatus value {}; + check_hresult(WINRT_SHIM(IMediaCapture4)->get_ThermalStatus(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture4::PrepareAdvancedPhotoCaptureAsync(const Windows::Media::MediaProperties::ImageEncodingProperties & encodingProperties) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture4)->abi_PrepareAdvancedPhotoCaptureAsync(get_abi(encodingProperties), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCapture5::RemoveEffectAsync(const Windows::Media::IMediaExtension & effect) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCapture5)->abi_RemoveEffectAsync(get_abi(effect), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture5::PauseRecordWithResultAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture5)->abi_PauseRecordWithResultAsync(behavior, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture5::StopRecordWithResultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCapture5)->abi_StopRecordWithResultAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IMapView impl_IMediaCapture5::FrameSources() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMediaCapture5)->get_FrameSources(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture5::CreateFrameReaderAsync(const Windows::Media::Capture::Frames::MediaFrameSource & inputSource) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaCapture5)->abi_CreateFrameReaderAsync(get_abi(inputSource), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture5::CreateFrameReaderAsync(const Windows::Media::Capture::Frames::MediaFrameSource & inputSource, hstring_view outputSubtype) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaCapture5)->abi_CreateFrameReaderWithSubtypeAsync(get_abi(inputSource), get_abi(outputSubtype), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture5::CreateFrameReaderAsync(const Windows::Media::Capture::Frames::MediaFrameSource & inputSource, hstring_view outputSubtype, const Windows::Graphics::Imaging::BitmapSize & outputSize) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaCapture5)->abi_CreateFrameReaderWithSubtypeAndSizeAsync(get_abi(inputSource), get_abi(outputSubtype), get_abi(outputSize), put_abi(value))); + return value; +} + +template event_token impl_IMediaCapture6::CaptureDeviceExclusiveControlStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaCapture6)->add_CaptureDeviceExclusiveControlStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaCapture6::CaptureDeviceExclusiveControlStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IMediaCapture6::remove_CaptureDeviceExclusiveControlStatusChanged, CaptureDeviceExclusiveControlStatusChanged(handler)); +} + +template void impl_IMediaCapture6::CaptureDeviceExclusiveControlStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaCapture6)->remove_CaptureDeviceExclusiveControlStatusChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCapture6::CreateMultiSourceFrameReaderAsync(iterable inputSources) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaCapture6)->abi_CreateMultiSourceFrameReaderAsync(get_abi(inputSources), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ILowLagPhotoCapture::CaptureAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILowLagPhotoCapture)->abi_CaptureAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagPhotoCapture::FinishAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagPhotoCapture)->abi_FinishAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAdvancedPhotoCapture::CaptureAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAdvancedPhotoCapture)->abi_CaptureAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IAdvancedPhotoCapture::CaptureAsync(const Windows::Foundation::IInspectable & context) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAdvancedPhotoCapture)->abi_CaptureWithContextAsync(get_abi(context), put_abi(operation))); + return operation; +} + +template event_token impl_IAdvancedPhotoCapture::OptionalReferencePhotoCaptured(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdvancedPhotoCapture)->add_OptionalReferencePhotoCaptured(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdvancedPhotoCapture::OptionalReferencePhotoCaptured(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAdvancedPhotoCapture::remove_OptionalReferencePhotoCaptured, OptionalReferencePhotoCaptured(handler)); +} + +template void impl_IAdvancedPhotoCapture::OptionalReferencePhotoCaptured(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdvancedPhotoCapture)->remove_OptionalReferencePhotoCaptured(token)); +} + +template event_token impl_IAdvancedPhotoCapture::AllPhotosCaptured(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdvancedPhotoCapture)->add_AllPhotosCaptured(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdvancedPhotoCapture::AllPhotosCaptured(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAdvancedPhotoCapture::remove_AllPhotosCaptured, AllPhotosCaptured(handler)); +} + +template void impl_IAdvancedPhotoCapture::AllPhotosCaptured(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdvancedPhotoCapture)->remove_AllPhotosCaptured(token)); +} + +template Windows::Foundation::IAsyncAction impl_IAdvancedPhotoCapture::FinishAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IAdvancedPhotoCapture)->abi_FinishAsync(put_abi(operation))); + return operation; +} + +template Windows::Media::Capture::CapturedFrame impl_IAdvancedCapturedPhoto::Frame() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedCapturedPhoto)->get_Frame(put_abi(value))); + return value; +} + +template Windows::Media::Devices::AdvancedPhotoMode impl_IAdvancedCapturedPhoto::Mode() const +{ + Windows::Media::Devices::AdvancedPhotoMode value {}; + check_hresult(WINRT_SHIM(IAdvancedCapturedPhoto)->get_Mode(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IAdvancedCapturedPhoto::Context() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IAdvancedCapturedPhoto)->get_Context(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdvancedCapturedPhoto2::FrameBoundsRelativeToReferencePhoto() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdvancedCapturedPhoto2)->get_FrameBoundsRelativeToReferencePhoto(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CapturedFrame impl_IOptionalReferencePhotoCapturedEventArgs::Frame() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(IOptionalReferencePhotoCapturedEventArgs)->get_Frame(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IOptionalReferencePhotoCapturedEventArgs::Context() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IOptionalReferencePhotoCapturedEventArgs)->get_Context(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagMediaRecording::StartAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagMediaRecording)->abi_StartAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagMediaRecording::StopAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagMediaRecording)->abi_StopAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagMediaRecording::FinishAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagMediaRecording)->abi_FinishAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagMediaRecording2::PauseAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagMediaRecording2)->abi_PauseAsync(behavior, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagMediaRecording2::ResumeAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagMediaRecording2)->abi_ResumeAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILowLagMediaRecording3::PauseWithResultAsync(Windows::Media::Devices::MediaCapturePauseBehavior behavior) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILowLagMediaRecording3)->abi_PauseWithResultAsync(behavior, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILowLagMediaRecording3::StopWithResultAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILowLagMediaRecording3)->abi_StopWithResultAsync(put_abi(operation))); + return operation; +} + +template Windows::Media::VideoFrame impl_IMediaCapturePauseResult::LastFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCapturePauseResult)->get_LastFrame(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaCapturePauseResult::RecordDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaCapturePauseResult)->get_RecordDuration(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IMediaCaptureStopResult::LastFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IMediaCaptureStopResult)->get_LastFrame(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaCaptureStopResult::RecordDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaCaptureStopResult)->get_RecordDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagPhotoSequenceCapture::StartAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceCapture)->abi_StartAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagPhotoSequenceCapture::StopAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceCapture)->abi_StopAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ILowLagPhotoSequenceCapture::FinishAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceCapture)->abi_FinishAsync(put_abi(operation))); + return operation; +} + +template event_token impl_ILowLagPhotoSequenceCapture::PhotoCaptured(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceCapture)->add_PhotoCaptured(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ILowLagPhotoSequenceCapture::PhotoCaptured(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::ILowLagPhotoSequenceCapture::remove_PhotoCaptured, PhotoCaptured(handler)); +} + +template void impl_ILowLagPhotoSequenceCapture::PhotoCaptured(event_token token) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceCapture)->remove_PhotoCaptured(token)); +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::Exposure() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_Exposure(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::ExposureCompensation() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_ExposureCompensation(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::IsoSpeed() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_IsoSpeed(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::Focus() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_Focus(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::SceneMode() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_SceneMode(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::Flashed() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_Flashed(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::FlashPowerPercent() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_FlashPowerPercent(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::WhiteBalance() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_WhiteBalance(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues::ZoomFactor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues)->get_ZoomFactor(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues2::FocusState() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues2)->get_FocusState(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues2::IsoDigitalGain() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues2)->get_IsoDigitalGain(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues2::IsoAnalogGain() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues2)->get_IsoAnalogGain(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_ICapturedFrameControlValues2::SensorFrameRate() const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues2)->get_SensorFrameRate(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICapturedFrameControlValues2::WhiteBalanceGain() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICapturedFrameControlValues2)->get_WhiteBalanceGain(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CapturedFrame impl_IPhotoCapturedEventArgs::Frame() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoCapturedEventArgs)->get_Frame(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CapturedFrame impl_IPhotoCapturedEventArgs::Thumbnail() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoCapturedEventArgs)->get_Thumbnail(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPhotoCapturedEventArgs::CaptureTimeOffset() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPhotoCapturedEventArgs)->get_CaptureTimeOffset(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CapturedFrame impl_ICapturedPhoto::Frame() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(ICapturedPhoto)->get_Frame(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CapturedFrame impl_ICapturedPhoto::Thumbnail() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(ICapturedPhoto)->get_Thumbnail(put_abi(value))); + return value; +} + +template uint32_t impl_ICapturedFrame::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICapturedFrame)->get_Width(&value)); + return value; +} + +template uint32_t impl_ICapturedFrame::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICapturedFrame)->get_Height(&value)); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_ICapturedFrameWithSoftwareBitmap::SoftwareBitmap() const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(ICapturedFrameWithSoftwareBitmap)->get_SoftwareBitmap(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCaptureVideoPreview::StartPreviewAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCaptureVideoPreview)->abi_StartPreviewAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCaptureVideoPreview::StartPreviewToCustomSinkAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, const Windows::Media::IMediaExtension & customMediaSink) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCaptureVideoPreview)->abi_StartPreviewToCustomSinkAsync(get_abi(encodingProfile), get_abi(customMediaSink), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCaptureVideoPreview::StartPreviewToCustomSinkAsync(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile, hstring_view customSinkActivationId, const Windows::Foundation::Collections::IPropertySet & customSinkSettings) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCaptureVideoPreview)->abi_StartPreviewToCustomSinkIdAsync(get_abi(encodingProfile), get_abi(customSinkActivationId), get_abi(customSinkSettings), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IMediaCaptureVideoPreview::StopPreviewAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaCaptureVideoPreview)->abi_StopPreviewAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template hstring impl_IMediaCaptureSettings::AudioDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureSettings)->get_AudioDeviceId(put_abi(value))); + return value; +} + +template hstring impl_IMediaCaptureSettings::VideoDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureSettings)->get_VideoDeviceId(put_abi(value))); + return value; +} + +template Windows::Media::Capture::StreamingCaptureMode impl_IMediaCaptureSettings::StreamingCaptureMode() const +{ + Windows::Media::Capture::StreamingCaptureMode value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings)->get_StreamingCaptureMode(&value)); + return value; +} + +template Windows::Media::Capture::PhotoCaptureSource impl_IMediaCaptureSettings::PhotoCaptureSource() const +{ + Windows::Media::Capture::PhotoCaptureSource value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings)->get_PhotoCaptureSource(&value)); + return value; +} + +template Windows::Media::Capture::VideoDeviceCharacteristic impl_IMediaCaptureSettings::VideoDeviceCharacteristic() const +{ + Windows::Media::Capture::VideoDeviceCharacteristic value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings)->get_VideoDeviceCharacteristic(&value)); + return value; +} + +template bool impl_IMediaCaptureSettings2::ConcurrentRecordAndPhotoSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_ConcurrentRecordAndPhotoSupported(&value)); + return value; +} + +template bool impl_IMediaCaptureSettings2::ConcurrentRecordAndPhotoSequenceSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_ConcurrentRecordAndPhotoSequenceSupported(&value)); + return value; +} + +template bool impl_IMediaCaptureSettings2::CameraSoundRequiredForRegion() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_CameraSoundRequiredForRegion(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IMediaCaptureSettings2::Horizontal35mmEquivalentFocalLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_Horizontal35mmEquivalentFocalLength(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IMediaCaptureSettings2::PitchOffsetDegrees() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_PitchOffsetDegrees(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IMediaCaptureSettings2::Vertical35mmEquivalentFocalLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_Vertical35mmEquivalentFocalLength(put_abi(value))); + return value; +} + +template Windows::Media::Capture::MediaCategory impl_IMediaCaptureSettings2::MediaCategory() const +{ + Windows::Media::Capture::MediaCategory value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_MediaCategory(&value)); + return value; +} + +template Windows::Media::AudioProcessing impl_IMediaCaptureSettings2::AudioProcessing() const +{ + Windows::Media::AudioProcessing value {}; + check_hresult(WINRT_SHIM(IMediaCaptureSettings2)->get_AudioProcessing(&value)); + return value; +} + +template Windows::Media::Devices::MediaCaptureFocusState impl_IMediaCaptureFocusChangedEventArgs::FocusState() const +{ + Windows::Media::Devices::MediaCaptureFocusState value {}; + check_hresult(WINRT_SHIM(IMediaCaptureFocusChangedEventArgs)->get_FocusState(&value)); + return value; +} + +template Windows::Media::Capture::CapturedFrame impl_IPhotoConfirmationCapturedEventArgs::Frame() const +{ + Windows::Media::Capture::CapturedFrame value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoConfirmationCapturedEventArgs)->get_Frame(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPhotoConfirmationCapturedEventArgs::CaptureTimeOffset() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPhotoConfirmationCapturedEventArgs)->get_CaptureTimeOffset(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoStreamConfiguration::InputProperties() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IVideoStreamConfiguration)->get_InputProperties(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoStreamConfiguration::OutputProperties() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IVideoStreamConfiguration)->get_OutputProperties(put_abi(value))); + return value; +} + +template hstring impl_IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Media::Capture::MediaCaptureDeviceExclusiveControlStatus impl_IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs::Status() const +{ + Windows::Media::Capture::MediaCaptureDeviceExclusiveControlStatus value {}; + check_hresult(WINRT_SHIM(IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs)->get_Status(&value)); + return value; +} + +template bool impl_ISourceSuspensionChangedEventArgs::IsAudioSuspended() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISourceSuspensionChangedEventArgs)->get_IsAudioSuspended(&value)); + return value; +} + +template bool impl_ISourceSuspensionChangedEventArgs::IsVideoSuspended() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISourceSuspensionChangedEventArgs)->get_IsVideoSuspended(&value)); + return value; +} + +template Windows::Media::Core::IMediaSource impl_IScreenCapture::AudioSource() const +{ + Windows::Media::Core::IMediaSource value; + check_hresult(WINRT_SHIM(IScreenCapture)->get_AudioSource(put_abi(value))); + return value; +} + +template Windows::Media::Core::IMediaSource impl_IScreenCapture::VideoSource() const +{ + Windows::Media::Core::IMediaSource value; + check_hresult(WINRT_SHIM(IScreenCapture)->get_VideoSource(put_abi(value))); + return value; +} + +template bool impl_IScreenCapture::IsAudioSuspended() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScreenCapture)->get_IsAudioSuspended(&value)); + return value; +} + +template bool impl_IScreenCapture::IsVideoSuspended() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScreenCapture)->get_IsVideoSuspended(&value)); + return value; +} + +template event_token impl_IScreenCapture::SourceSuspensionChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IScreenCapture)->add_SourceSuspensionChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IScreenCapture::SourceSuspensionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IScreenCapture::remove_SourceSuspensionChanged, SourceSuspensionChanged(handler)); +} + +template void impl_IScreenCapture::SourceSuspensionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IScreenCapture)->remove_SourceSuspensionChanged(token)); +} + +template Windows::Media::Capture::ScreenCapture impl_IScreenCaptureStatics::GetForCurrentView() const +{ + Windows::Media::Capture::ScreenCapture value { nullptr }; + check_hresult(WINRT_SHIM(IScreenCaptureStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastGlobalSettings impl_IAppBroadcastManagerStatics::GetGlobalSettings() const +{ + Windows::Media::Capture::AppBroadcastGlobalSettings value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastManagerStatics)->abi_GetGlobalSettings(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastManagerStatics::ApplyGlobalSettings(const Windows::Media::Capture::AppBroadcastGlobalSettings & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastManagerStatics)->abi_ApplyGlobalSettings(get_abi(value))); +} + +template Windows::Media::Capture::AppBroadcastProviderSettings impl_IAppBroadcastManagerStatics::GetProviderSettings() const +{ + Windows::Media::Capture::AppBroadcastProviderSettings value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastManagerStatics)->abi_GetProviderSettings(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastManagerStatics::ApplyProviderSettings(const Windows::Media::Capture::AppBroadcastProviderSettings & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastManagerStatics)->abi_ApplyProviderSettings(get_abi(value))); +} + +template bool impl_IAppBroadcastGlobalSettings::IsBroadcastEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsBroadcastEnabled(&value)); + return value; +} + +template bool impl_IAppBroadcastGlobalSettings::IsDisabledByPolicy() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsDisabledByPolicy(&value)); + return value; +} + +template bool impl_IAppBroadcastGlobalSettings::IsGpuConstrained() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsGpuConstrained(&value)); + return value; +} + +template bool impl_IAppBroadcastGlobalSettings::HasHardwareEncoder() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_HasHardwareEncoder(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::IsAudioCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_IsAudioCaptureEnabled(value)); +} + +template bool impl_IAppBroadcastGlobalSettings::IsAudioCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsAudioCaptureEnabled(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::IsMicrophoneCaptureEnabledByDefault(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_IsMicrophoneCaptureEnabledByDefault(value)); +} + +template bool impl_IAppBroadcastGlobalSettings::IsMicrophoneCaptureEnabledByDefault() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsMicrophoneCaptureEnabledByDefault(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::IsEchoCancellationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_IsEchoCancellationEnabled(value)); +} + +template bool impl_IAppBroadcastGlobalSettings::IsEchoCancellationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsEchoCancellationEnabled(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::SystemAudioGain(double value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_SystemAudioGain(value)); +} + +template double impl_IAppBroadcastGlobalSettings::SystemAudioGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_SystemAudioGain(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::MicrophoneGain(double value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_MicrophoneGain(value)); +} + +template double impl_IAppBroadcastGlobalSettings::MicrophoneGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_MicrophoneGain(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::IsCameraCaptureEnabledByDefault(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_IsCameraCaptureEnabledByDefault(value)); +} + +template bool impl_IAppBroadcastGlobalSettings::IsCameraCaptureEnabledByDefault() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsCameraCaptureEnabledByDefault(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::SelectedCameraId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_SelectedCameraId(get_abi(value))); +} + +template hstring impl_IAppBroadcastGlobalSettings::SelectedCameraId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_SelectedCameraId(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::CameraOverlayLocation(Windows::Media::Capture::AppBroadcastCameraOverlayLocation value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_CameraOverlayLocation(value)); +} + +template Windows::Media::Capture::AppBroadcastCameraOverlayLocation impl_IAppBroadcastGlobalSettings::CameraOverlayLocation() const +{ + Windows::Media::Capture::AppBroadcastCameraOverlayLocation value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_CameraOverlayLocation(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::CameraOverlaySize(Windows::Media::Capture::AppBroadcastCameraOverlaySize value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_CameraOverlaySize(value)); +} + +template Windows::Media::Capture::AppBroadcastCameraOverlaySize impl_IAppBroadcastGlobalSettings::CameraOverlaySize() const +{ + Windows::Media::Capture::AppBroadcastCameraOverlaySize value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_CameraOverlaySize(&value)); + return value; +} + +template void impl_IAppBroadcastGlobalSettings::IsCursorImageCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->put_IsCursorImageCaptureEnabled(value)); +} + +template bool impl_IAppBroadcastGlobalSettings::IsCursorImageCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastGlobalSettings)->get_IsCursorImageCaptureEnabled(&value)); + return value; +} + +template void impl_IAppBroadcastProviderSettings::DefaultBroadcastTitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->put_DefaultBroadcastTitle(get_abi(value))); +} + +template hstring impl_IAppBroadcastProviderSettings::DefaultBroadcastTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->get_DefaultBroadcastTitle(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastProviderSettings::AudioEncodingBitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->put_AudioEncodingBitrate(value)); +} + +template uint32_t impl_IAppBroadcastProviderSettings::AudioEncodingBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->get_AudioEncodingBitrate(&value)); + return value; +} + +template void impl_IAppBroadcastProviderSettings::CustomVideoEncodingBitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->put_CustomVideoEncodingBitrate(value)); +} + +template uint32_t impl_IAppBroadcastProviderSettings::CustomVideoEncodingBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->get_CustomVideoEncodingBitrate(&value)); + return value; +} + +template void impl_IAppBroadcastProviderSettings::CustomVideoEncodingHeight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->put_CustomVideoEncodingHeight(value)); +} + +template uint32_t impl_IAppBroadcastProviderSettings::CustomVideoEncodingHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->get_CustomVideoEncodingHeight(&value)); + return value; +} + +template void impl_IAppBroadcastProviderSettings::CustomVideoEncodingWidth(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->put_CustomVideoEncodingWidth(value)); +} + +template uint32_t impl_IAppBroadcastProviderSettings::CustomVideoEncodingWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->get_CustomVideoEncodingWidth(&value)); + return value; +} + +template void impl_IAppBroadcastProviderSettings::VideoEncodingBitrateMode(Windows::Media::Capture::AppBroadcastVideoEncodingBitrateMode value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->put_VideoEncodingBitrateMode(value)); +} + +template Windows::Media::Capture::AppBroadcastVideoEncodingBitrateMode impl_IAppBroadcastProviderSettings::VideoEncodingBitrateMode() const +{ + Windows::Media::Capture::AppBroadcastVideoEncodingBitrateMode value {}; + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->get_VideoEncodingBitrateMode(&value)); + return value; +} + +template void impl_IAppBroadcastProviderSettings::VideoEncodingResolutionMode(Windows::Media::Capture::AppBroadcastVideoEncodingResolutionMode value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->put_VideoEncodingResolutionMode(value)); +} + +template Windows::Media::Capture::AppBroadcastVideoEncodingResolutionMode impl_IAppBroadcastProviderSettings::VideoEncodingResolutionMode() const +{ + Windows::Media::Capture::AppBroadcastVideoEncodingResolutionMode value {}; + check_hresult(WINRT_SHIM(IAppBroadcastProviderSettings)->get_VideoEncodingResolutionMode(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastSignInState impl_IAppBroadcastBackgroundServiceSignInInfo::SignInState() const +{ + Windows::Media::Capture::AppBroadcastSignInState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->get_SignInState(&value)); + return value; +} + +template void impl_IAppBroadcastBackgroundServiceSignInInfo::OAuthRequestUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->put_OAuthRequestUri(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IAppBroadcastBackgroundServiceSignInInfo::OAuthRequestUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->get_OAuthRequestUri(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastBackgroundServiceSignInInfo::OAuthCallbackUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->put_OAuthCallbackUri(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IAppBroadcastBackgroundServiceSignInInfo::OAuthCallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->get_OAuthCallbackUri(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::WebAuthenticationResult impl_IAppBroadcastBackgroundServiceSignInInfo::AuthenticationResult() const +{ + Windows::Security::Authentication::Web::WebAuthenticationResult value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->get_AuthenticationResult(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastBackgroundServiceSignInInfo::UserName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->put_UserName(get_abi(value))); +} + +template hstring impl_IAppBroadcastBackgroundServiceSignInInfo::UserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->get_UserName(put_abi(value))); + return value; +} + +template event_token impl_IAppBroadcastBackgroundServiceSignInInfo::SignInStateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->add_SignInStateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastBackgroundServiceSignInInfo::SignInStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastBackgroundServiceSignInInfo::remove_SignInStateChanged, SignInStateChanged(handler)); +} + +template void impl_IAppBroadcastBackgroundServiceSignInInfo::SignInStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceSignInInfo)->remove_SignInStateChanged(token)); +} + +template Windows::Media::Capture::AppBroadcastStreamState impl_IAppBroadcastBackgroundServiceStreamInfo::StreamState() const +{ + Windows::Media::Capture::AppBroadcastStreamState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->get_StreamState(&value)); + return value; +} + +template void impl_IAppBroadcastBackgroundServiceStreamInfo::DesiredVideoEncodingBitrate(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->put_DesiredVideoEncodingBitrate(value)); +} + +template uint64_t impl_IAppBroadcastBackgroundServiceStreamInfo::DesiredVideoEncodingBitrate() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->get_DesiredVideoEncodingBitrate(&value)); + return value; +} + +template void impl_IAppBroadcastBackgroundServiceStreamInfo::BandwidthTestBitrate(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->put_BandwidthTestBitrate(value)); +} + +template uint64_t impl_IAppBroadcastBackgroundServiceStreamInfo::BandwidthTestBitrate() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->get_BandwidthTestBitrate(&value)); + return value; +} + +template void impl_IAppBroadcastBackgroundServiceStreamInfo::AudioCodec(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->put_AudioCodec(get_abi(value))); +} + +template hstring impl_IAppBroadcastBackgroundServiceStreamInfo::AudioCodec() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->get_AudioCodec(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastStreamReader impl_IAppBroadcastBackgroundServiceStreamInfo::BroadcastStreamReader() const +{ + Windows::Media::Capture::AppBroadcastStreamReader value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->get_BroadcastStreamReader(put_abi(value))); + return value; +} + +template event_token impl_IAppBroadcastBackgroundServiceStreamInfo::StreamStateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->add_StreamStateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastBackgroundServiceStreamInfo::StreamStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastBackgroundServiceStreamInfo::remove_StreamStateChanged, StreamStateChanged(handler)); +} + +template void impl_IAppBroadcastBackgroundServiceStreamInfo::StreamStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->remove_StreamStateChanged(token)); +} + +template event_token impl_IAppBroadcastBackgroundServiceStreamInfo::VideoEncodingResolutionChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->add_VideoEncodingResolutionChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastBackgroundServiceStreamInfo::VideoEncodingResolutionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastBackgroundServiceStreamInfo::remove_VideoEncodingResolutionChanged, VideoEncodingResolutionChanged(handler)); +} + +template void impl_IAppBroadcastBackgroundServiceStreamInfo::VideoEncodingResolutionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->remove_VideoEncodingResolutionChanged(token)); +} + +template event_token impl_IAppBroadcastBackgroundServiceStreamInfo::VideoEncodingBitrateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->add_VideoEncodingBitrateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastBackgroundServiceStreamInfo::VideoEncodingBitrateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastBackgroundServiceStreamInfo::remove_VideoEncodingBitrateChanged, VideoEncodingBitrateChanged(handler)); +} + +template void impl_IAppBroadcastBackgroundServiceStreamInfo::VideoEncodingBitrateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundServiceStreamInfo)->remove_VideoEncodingBitrateChanged(token)); +} + +template void impl_IAppBroadcastBackgroundService::PlugInState(Windows::Media::Capture::AppBroadcastPlugInState value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->put_PlugInState(value)); +} + +template Windows::Media::Capture::AppBroadcastPlugInState impl_IAppBroadcastBackgroundService::PlugInState() const +{ + Windows::Media::Capture::AppBroadcastPlugInState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->get_PlugInState(&value)); + return value; +} + +template void impl_IAppBroadcastBackgroundService::SignInInfo(const Windows::Media::Capture::AppBroadcastBackgroundServiceSignInInfo & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->put_SignInInfo(get_abi(value))); +} + +template Windows::Media::Capture::AppBroadcastBackgroundServiceSignInInfo impl_IAppBroadcastBackgroundService::SignInInfo() const +{ + Windows::Media::Capture::AppBroadcastBackgroundServiceSignInInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->get_SignInInfo(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastBackgroundService::StreamInfo(const Windows::Media::Capture::AppBroadcastBackgroundServiceStreamInfo & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->put_StreamInfo(get_abi(value))); +} + +template Windows::Media::Capture::AppBroadcastBackgroundServiceStreamInfo impl_IAppBroadcastBackgroundService::StreamInfo() const +{ + Windows::Media::Capture::AppBroadcastBackgroundServiceStreamInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->get_StreamInfo(put_abi(value))); + return value; +} + +template hstring impl_IAppBroadcastBackgroundService::AppId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->get_AppId(put_abi(value))); + return value; +} + +template hstring impl_IAppBroadcastBackgroundService::BroadcastTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->get_BroadcastTitle(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastBackgroundService::ViewerCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->put_ViewerCount(value)); +} + +template uint32_t impl_IAppBroadcastBackgroundService::ViewerCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->get_ViewerCount(&value)); + return value; +} + +template void impl_IAppBroadcastBackgroundService::TerminateBroadcast(Windows::Media::Capture::AppBroadcastTerminationReason reason, uint32_t providerSpecificReason) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->abi_TerminateBroadcast(reason, providerSpecificReason)); +} + +template event_token impl_IAppBroadcastBackgroundService::HeartbeatRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->add_HeartbeatRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastBackgroundService::HeartbeatRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastBackgroundService::remove_HeartbeatRequested, HeartbeatRequested(handler)); +} + +template void impl_IAppBroadcastBackgroundService::HeartbeatRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->remove_HeartbeatRequested(token)); +} + +template hstring impl_IAppBroadcastBackgroundService::TitleId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastBackgroundService)->get_TitleId(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastSignInState impl_IAppBroadcastSignInStateChangedEventArgs::SignInState() const +{ + Windows::Media::Capture::AppBroadcastSignInState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastSignInStateChangedEventArgs)->get_SignInState(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastSignInResult impl_IAppBroadcastSignInStateChangedEventArgs::Result() const +{ + Windows::Media::Capture::AppBroadcastSignInResult value {}; + check_hresult(WINRT_SHIM(IAppBroadcastSignInStateChangedEventArgs)->get_Result(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastStreamState impl_IAppBroadcastStreamStateChangedEventArgs::StreamState() const +{ + Windows::Media::Capture::AppBroadcastStreamState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamStateChangedEventArgs)->get_StreamState(&value)); + return value; +} + +template void impl_IAppBroadcastHeartbeatRequestedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastHeartbeatRequestedEventArgs)->put_Handled(value)); +} + +template bool impl_IAppBroadcastHeartbeatRequestedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastHeartbeatRequestedEventArgs)->get_Handled(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastStreamReader::AudioChannels() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->get_AudioChannels(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastStreamReader::AudioSampleRate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->get_AudioSampleRate(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IAppBroadcastStreamReader::AudioAacSequence() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->get_AudioAacSequence(put_abi(value))); + return value; +} + +template uint32_t impl_IAppBroadcastStreamReader::AudioBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->get_AudioBitrate(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastStreamAudioFrame impl_IAppBroadcastStreamReader::TryGetNextAudioFrame() const +{ + Windows::Media::Capture::AppBroadcastStreamAudioFrame frame { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->abi_TryGetNextAudioFrame(put_abi(frame))); + return frame; +} + +template uint32_t impl_IAppBroadcastStreamReader::VideoWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->get_VideoWidth(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastStreamReader::VideoHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->get_VideoHeight(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastStreamReader::VideoBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->get_VideoBitrate(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastStreamVideoFrame impl_IAppBroadcastStreamReader::TryGetNextVideoFrame() const +{ + Windows::Media::Capture::AppBroadcastStreamVideoFrame frame { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->abi_TryGetNextVideoFrame(put_abi(frame))); + return frame; +} + +template event_token impl_IAppBroadcastStreamReader::AudioFrameArrived(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->add_AudioFrameArrived(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastStreamReader::AudioFrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastStreamReader::remove_AudioFrameArrived, AudioFrameArrived(value)); +} + +template void impl_IAppBroadcastStreamReader::AudioFrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->remove_AudioFrameArrived(token)); +} + +template event_token impl_IAppBroadcastStreamReader::VideoFrameArrived(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->add_VideoFrameArrived(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastStreamReader::VideoFrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastStreamReader::remove_VideoFrameArrived, VideoFrameArrived(value)); +} + +template void impl_IAppBroadcastStreamReader::VideoFrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastStreamReader)->remove_VideoFrameArrived(token)); +} + +template Windows::Media::Capture::AppBroadcastStreamVideoHeader impl_IAppBroadcastStreamVideoFrame::VideoHeader() const +{ + Windows::Media::Capture::AppBroadcastStreamVideoHeader value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoFrame)->get_VideoHeader(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IAppBroadcastStreamVideoFrame::VideoBuffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoFrame)->get_VideoBuffer(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastStreamAudioHeader impl_IAppBroadcastStreamAudioFrame::AudioHeader() const +{ + Windows::Media::Capture::AppBroadcastStreamAudioHeader value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastStreamAudioFrame)->get_AudioHeader(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IAppBroadcastStreamAudioFrame::AudioBuffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IAppBroadcastStreamAudioFrame)->get_AudioBuffer(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAppBroadcastStreamAudioHeader::AbsoluteTimestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamAudioHeader)->get_AbsoluteTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppBroadcastStreamAudioHeader::RelativeTimestamp() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamAudioHeader)->get_RelativeTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppBroadcastStreamAudioHeader::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamAudioHeader)->get_Duration(put_abi(value))); + return value; +} + +template bool impl_IAppBroadcastStreamAudioHeader::HasDiscontinuity() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamAudioHeader)->get_HasDiscontinuity(&value)); + return value; +} + +template uint64_t impl_IAppBroadcastStreamAudioHeader::FrameId() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamAudioHeader)->get_FrameId(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IAppBroadcastStreamVideoHeader::AbsoluteTimestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoHeader)->get_AbsoluteTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppBroadcastStreamVideoHeader::RelativeTimestamp() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoHeader)->get_RelativeTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppBroadcastStreamVideoHeader::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoHeader)->get_Duration(put_abi(value))); + return value; +} + +template bool impl_IAppBroadcastStreamVideoHeader::IsKeyFrame() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoHeader)->get_IsKeyFrame(&value)); + return value; +} + +template bool impl_IAppBroadcastStreamVideoHeader::HasDiscontinuity() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoHeader)->get_HasDiscontinuity(&value)); + return value; +} + +template uint64_t impl_IAppBroadcastStreamVideoHeader::FrameId() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastStreamVideoHeader)->get_FrameId(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastBackgroundService impl_IAppBroadcastTriggerDetails::BackgroundService() const +{ + Windows::Media::Capture::AppBroadcastBackgroundService value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastTriggerDetails)->get_BackgroundService(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastPlugInManager impl_IAppBroadcastPlugInManagerStatics::GetDefault() const +{ + Windows::Media::Capture::AppBroadcastPlugInManager ppInstance { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastPlugInManagerStatics)->abi_GetDefault(put_abi(ppInstance))); + return ppInstance; +} + +template Windows::Media::Capture::AppBroadcastPlugInManager impl_IAppBroadcastPlugInManagerStatics::GetForUser(const Windows::System::User & user) const +{ + Windows::Media::Capture::AppBroadcastPlugInManager ppInstance { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastPlugInManagerStatics)->abi_GetForUser(get_abi(user), put_abi(ppInstance))); + return ppInstance; +} + +template bool impl_IAppBroadcastPlugInManager::IsBroadcastProviderAvailable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPlugInManager)->get_IsBroadcastProviderAvailable(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAppBroadcastPlugInManager::PlugInList() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAppBroadcastPlugInManager)->get_PlugInList(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastPlugIn impl_IAppBroadcastPlugInManager::DefaultPlugIn() const +{ + Windows::Media::Capture::AppBroadcastPlugIn value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastPlugInManager)->get_DefaultPlugIn(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastPlugInManager::DefaultPlugIn(const Windows::Media::Capture::AppBroadcastPlugIn & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastPlugInManager)->put_DefaultPlugIn(get_abi(value))); +} + +template hstring impl_IAppBroadcastPlugIn::AppId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastPlugIn)->get_AppId(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastProviderSettings impl_IAppBroadcastPlugIn::ProviderSettings() const +{ + Windows::Media::Capture::AppBroadcastProviderSettings value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastPlugIn)->get_ProviderSettings(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IAppBroadcastPlugIn::Logo() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IAppBroadcastPlugIn)->get_Logo(put_abi(value))); + return value; +} + +template hstring impl_IAppBroadcastPlugIn::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastPlugIn)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastCaptureTargetType impl_IAppBroadcastServices::CaptureTargetType() const +{ + Windows::Media::Capture::AppBroadcastCaptureTargetType value {}; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->get_CaptureTargetType(&value)); + return value; +} + +template void impl_IAppBroadcastServices::CaptureTargetType(Windows::Media::Capture::AppBroadcastCaptureTargetType value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastServices)->put_CaptureTargetType(value)); +} + +template hstring impl_IAppBroadcastServices::BroadcastTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->get_BroadcastTitle(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastServices::BroadcastTitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastServices)->put_BroadcastTitle(get_abi(value))); +} + +template hstring impl_IAppBroadcastServices::BroadcastLanguage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->get_BroadcastLanguage(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastServices::BroadcastLanguage(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastServices)->put_BroadcastLanguage(get_abi(value))); +} + +template hstring impl_IAppBroadcastServices::UserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->get_UserName(put_abi(value))); + return value; +} + +template bool impl_IAppBroadcastServices::CanCapture() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->get_CanCapture(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAppBroadcastServices::EnterBroadcastModeAsync(const Windows::Media::Capture::AppBroadcastPlugIn & plugIn) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->abi_EnterBroadcastModeAsync(get_abi(plugIn), put_abi(operation))); + return operation; +} + +template void impl_IAppBroadcastServices::ExitBroadcastMode(Windows::Media::Capture::AppBroadcastExitBroadcastModeReason reason) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastServices)->abi_ExitBroadcastMode(reason)); +} + +template void impl_IAppBroadcastServices::StartBroadcast() const +{ + check_hresult(WINRT_SHIM(IAppBroadcastServices)->abi_StartBroadcast()); +} + +template void impl_IAppBroadcastServices::PauseBroadcast() const +{ + check_hresult(WINRT_SHIM(IAppBroadcastServices)->abi_PauseBroadcast()); +} + +template void impl_IAppBroadcastServices::ResumeBroadcast() const +{ + check_hresult(WINRT_SHIM(IAppBroadcastServices)->abi_ResumeBroadcast()); +} + +template Windows::Media::Capture::AppBroadcastPreview impl_IAppBroadcastServices::StartPreview(const Windows::Foundation::Size & desiredSize) const +{ + Windows::Media::Capture::AppBroadcastPreview preview { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->abi_StartPreview(get_abi(desiredSize), put_abi(preview))); + return preview; +} + +template Windows::Media::Capture::AppBroadcastState impl_IAppBroadcastServices::State() const +{ + Windows::Media::Capture::AppBroadcastState value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastServices)->get_State(put_abi(value))); + return value; +} + +template bool impl_IAppBroadcastState::IsCaptureTargetRunning() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_IsCaptureTargetRunning(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastState::ViewerCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_ViewerCount(&value)); + return value; +} + +template bool impl_IAppBroadcastState::ShouldCaptureMicrophone() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_ShouldCaptureMicrophone(&value)); + return value; +} + +template void impl_IAppBroadcastState::ShouldCaptureMicrophone(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->put_ShouldCaptureMicrophone(value)); +} + +template void impl_IAppBroadcastState::RestartMicrophoneCapture() const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->abi_RestartMicrophoneCapture()); +} + +template bool impl_IAppBroadcastState::ShouldCaptureCamera() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_ShouldCaptureCamera(&value)); + return value; +} + +template void impl_IAppBroadcastState::ShouldCaptureCamera(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->put_ShouldCaptureCamera(value)); +} + +template void impl_IAppBroadcastState::RestartCameraCapture() const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->abi_RestartCameraCapture()); +} + +template Windows::Foundation::Size impl_IAppBroadcastState::EncodedVideoSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_EncodedVideoSize(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastMicrophoneCaptureState impl_IAppBroadcastState::MicrophoneCaptureState() const +{ + Windows::Media::Capture::AppBroadcastMicrophoneCaptureState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_MicrophoneCaptureState(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastState::MicrophoneCaptureError() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_MicrophoneCaptureError(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastCameraCaptureState impl_IAppBroadcastState::CameraCaptureState() const +{ + Windows::Media::Capture::AppBroadcastCameraCaptureState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_CameraCaptureState(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastState::CameraCaptureError() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_CameraCaptureError(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastStreamState impl_IAppBroadcastState::StreamState() const +{ + Windows::Media::Capture::AppBroadcastStreamState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_StreamState(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastPlugInState impl_IAppBroadcastState::PlugInState() const +{ + Windows::Media::Capture::AppBroadcastPlugInState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_PlugInState(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IAppBroadcastState::OAuthRequestUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_OAuthRequestUri(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IAppBroadcastState::OAuthCallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_OAuthCallbackUri(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::WebAuthenticationResult impl_IAppBroadcastState::AuthenticationResult() const +{ + Windows::Security::Authentication::Web::WebAuthenticationResult value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_AuthenticationResult(put_abi(value))); + return value; +} + +template void impl_IAppBroadcastState::AuthenticationResult(const Windows::Security::Authentication::Web::WebAuthenticationResult & value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->put_AuthenticationResult(get_abi(value))); +} + +template void impl_IAppBroadcastState::SignInState(Windows::Media::Capture::AppBroadcastSignInState value) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->put_SignInState(value)); +} + +template Windows::Media::Capture::AppBroadcastSignInState impl_IAppBroadcastState::SignInState() const +{ + Windows::Media::Capture::AppBroadcastSignInState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_SignInState(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastTerminationReason impl_IAppBroadcastState::TerminationReason() const +{ + Windows::Media::Capture::AppBroadcastTerminationReason value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_TerminationReason(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastState::TerminationReasonPlugInSpecific() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->get_TerminationReasonPlugInSpecific(&value)); + return value; +} + +template event_token impl_IAppBroadcastState::ViewerCountChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->add_ViewerCountChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastState::ViewerCountChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastState::remove_ViewerCountChanged, ViewerCountChanged(value)); +} + +template void impl_IAppBroadcastState::ViewerCountChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->remove_ViewerCountChanged(token)); +} + +template event_token impl_IAppBroadcastState::MicrophoneCaptureStateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->add_MicrophoneCaptureStateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastState::MicrophoneCaptureStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastState::remove_MicrophoneCaptureStateChanged, MicrophoneCaptureStateChanged(value)); +} + +template void impl_IAppBroadcastState::MicrophoneCaptureStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->remove_MicrophoneCaptureStateChanged(token)); +} + +template event_token impl_IAppBroadcastState::CameraCaptureStateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->add_CameraCaptureStateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastState::CameraCaptureStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastState::remove_CameraCaptureStateChanged, CameraCaptureStateChanged(value)); +} + +template void impl_IAppBroadcastState::CameraCaptureStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->remove_CameraCaptureStateChanged(token)); +} + +template event_token impl_IAppBroadcastState::PlugInStateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->add_PlugInStateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastState::PlugInStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastState::remove_PlugInStateChanged, PlugInStateChanged(handler)); +} + +template void impl_IAppBroadcastState::PlugInStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->remove_PlugInStateChanged(token)); +} + +template event_token impl_IAppBroadcastState::StreamStateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->add_StreamStateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastState::StreamStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastState::remove_StreamStateChanged, StreamStateChanged(handler)); +} + +template void impl_IAppBroadcastState::StreamStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->remove_StreamStateChanged(token)); +} + +template event_token impl_IAppBroadcastState::CaptureTargetClosed(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastState)->add_CaptureTargetClosed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastState::CaptureTargetClosed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastState::remove_CaptureTargetClosed, CaptureTargetClosed(value)); +} + +template void impl_IAppBroadcastState::CaptureTargetClosed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastState)->remove_CaptureTargetClosed(token)); +} + +template void impl_IAppBroadcastPreview::StopPreview() const +{ + check_hresult(WINRT_SHIM(IAppBroadcastPreview)->abi_StopPreview()); +} + +template Windows::Media::Capture::AppBroadcastPreviewState impl_IAppBroadcastPreview::PreviewState() const +{ + Windows::Media::Capture::AppBroadcastPreviewState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreview)->get_PreviewState(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IAppBroadcastPreview::ErrorCode() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppBroadcastPreview)->get_ErrorCode(put_abi(value))); + return value; +} + +template event_token impl_IAppBroadcastPreview::PreviewStateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreview)->add_PreviewStateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastPreview::PreviewStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastPreview::remove_PreviewStateChanged, PreviewStateChanged(value)); +} + +template void impl_IAppBroadcastPreview::PreviewStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastPreview)->remove_PreviewStateChanged(token)); +} + +template Windows::Media::Capture::AppBroadcastPreviewStreamReader impl_IAppBroadcastPreview::PreviewStreamReader() const +{ + Windows::Media::Capture::AppBroadcastPreviewStreamReader value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastPreview)->get_PreviewStreamReader(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastPlugInState impl_IAppBroadcastPlugInStateChangedEventArgs::PlugInState() const +{ + Windows::Media::Capture::AppBroadcastPlugInState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPlugInStateChangedEventArgs)->get_PlugInState(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastPreviewState impl_IAppBroadcastPreviewStateChangedEventArgs::PreviewState() const +{ + Windows::Media::Capture::AppBroadcastPreviewState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStateChangedEventArgs)->get_PreviewState(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastPreviewStateChangedEventArgs::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStateChangedEventArgs)->get_ErrorCode(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastPreviewStreamReader::VideoWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->get_VideoWidth(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastPreviewStreamReader::VideoHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->get_VideoHeight(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastPreviewStreamReader::VideoStride() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->get_VideoStride(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapPixelFormat impl_IAppBroadcastPreviewStreamReader::VideoBitmapPixelFormat() const +{ + Windows::Graphics::Imaging::BitmapPixelFormat value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->get_VideoBitmapPixelFormat(&value)); + return value; +} + +template Windows::Graphics::Imaging::BitmapAlphaMode impl_IAppBroadcastPreviewStreamReader::VideoBitmapAlphaMode() const +{ + Windows::Graphics::Imaging::BitmapAlphaMode value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->get_VideoBitmapAlphaMode(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastPreviewStreamVideoFrame impl_IAppBroadcastPreviewStreamReader::TryGetNextVideoFrame() const +{ + Windows::Media::Capture::AppBroadcastPreviewStreamVideoFrame frame { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->abi_TryGetNextVideoFrame(put_abi(frame))); + return frame; +} + +template event_token impl_IAppBroadcastPreviewStreamReader::VideoFrameArrived(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->add_VideoFrameArrived(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBroadcastPreviewStreamReader::VideoFrameArrived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppBroadcastPreviewStreamReader::remove_VideoFrameArrived, VideoFrameArrived(value)); +} + +template void impl_IAppBroadcastPreviewStreamReader::VideoFrameArrived(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamReader)->remove_VideoFrameArrived(token)); +} + +template Windows::Media::Capture::AppBroadcastPreviewStreamVideoHeader impl_IAppBroadcastPreviewStreamVideoFrame::VideoHeader() const +{ + Windows::Media::Capture::AppBroadcastPreviewStreamVideoHeader value { nullptr }; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamVideoFrame)->get_VideoHeader(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IAppBroadcastPreviewStreamVideoFrame::VideoBuffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamVideoFrame)->get_VideoBuffer(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAppBroadcastPreviewStreamVideoHeader::AbsoluteTimestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamVideoHeader)->get_AbsoluteTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppBroadcastPreviewStreamVideoHeader::RelativeTimestamp() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamVideoHeader)->get_RelativeTimestamp(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppBroadcastPreviewStreamVideoHeader::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamVideoHeader)->get_Duration(put_abi(value))); + return value; +} + +template uint64_t impl_IAppBroadcastPreviewStreamVideoHeader::FrameId() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastPreviewStreamVideoHeader)->get_FrameId(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastMicrophoneCaptureState impl_IAppBroadcastMicrophoneCaptureStateChangedEventArgs::State() const +{ + Windows::Media::Capture::AppBroadcastMicrophoneCaptureState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastMicrophoneCaptureStateChangedEventArgs)->get_State(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastMicrophoneCaptureStateChangedEventArgs::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastMicrophoneCaptureStateChangedEventArgs)->get_ErrorCode(&value)); + return value; +} + +template Windows::Media::Capture::AppBroadcastCameraCaptureState impl_IAppBroadcastCameraCaptureStateChangedEventArgs::State() const +{ + Windows::Media::Capture::AppBroadcastCameraCaptureState value {}; + check_hresult(WINRT_SHIM(IAppBroadcastCameraCaptureStateChangedEventArgs)->get_State(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastCameraCaptureStateChangedEventArgs::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastCameraCaptureStateChangedEventArgs)->get_ErrorCode(&value)); + return value; +} + +template uint32_t impl_IAppBroadcastViewerCountChangedEventArgs::ViewerCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppBroadcastViewerCountChangedEventArgs)->get_ViewerCount(&value)); + return value; +} + +template Windows::Media::Capture::AppCaptureSettings impl_IAppCaptureManagerStatics::GetCurrentSettings() const +{ + Windows::Media::Capture::AppCaptureSettings value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureManagerStatics)->abi_GetCurrentSettings(put_abi(value))); + return value; +} + +template void impl_IAppCaptureManagerStatics::ApplySettings(const Windows::Media::Capture::AppCaptureSettings & appCaptureSettings) const +{ + check_hresult(WINRT_SHIM(IAppCaptureManagerStatics)->abi_ApplySettings(get_abi(appCaptureSettings))); +} + +template void impl_IAppCaptureAlternateShortcutKeys::ToggleGameBarKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_ToggleGameBarKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys::ToggleGameBarKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_ToggleGameBarKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::ToggleGameBarKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_ToggleGameBarKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys::ToggleGameBarKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_ToggleGameBarKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::SaveHistoricalVideoKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_SaveHistoricalVideoKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys::SaveHistoricalVideoKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_SaveHistoricalVideoKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::SaveHistoricalVideoKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_SaveHistoricalVideoKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys::SaveHistoricalVideoKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_SaveHistoricalVideoKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_ToggleRecordingKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_ToggleRecordingKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_ToggleRecordingKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_ToggleRecordingKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::TakeScreenshotKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_TakeScreenshotKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys::TakeScreenshotKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_TakeScreenshotKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::TakeScreenshotKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_TakeScreenshotKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys::TakeScreenshotKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_TakeScreenshotKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingIndicatorKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_ToggleRecordingIndicatorKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingIndicatorKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_ToggleRecordingIndicatorKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingIndicatorKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->put_ToggleRecordingIndicatorKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys::ToggleRecordingIndicatorKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys)->get_ToggleRecordingIndicatorKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys2::ToggleMicrophoneCaptureKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys2)->put_ToggleMicrophoneCaptureKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys2::ToggleMicrophoneCaptureKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys2)->get_ToggleMicrophoneCaptureKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys2::ToggleMicrophoneCaptureKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys2)->put_ToggleMicrophoneCaptureKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys2::ToggleMicrophoneCaptureKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys2)->get_ToggleMicrophoneCaptureKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys3::ToggleCameraCaptureKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->put_ToggleCameraCaptureKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys3::ToggleCameraCaptureKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->get_ToggleCameraCaptureKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys3::ToggleCameraCaptureKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->put_ToggleCameraCaptureKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys3::ToggleCameraCaptureKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->get_ToggleCameraCaptureKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys3::ToggleBroadcastKey(Windows::System::VirtualKey value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->put_ToggleBroadcastKey(value)); +} + +template Windows::System::VirtualKey impl_IAppCaptureAlternateShortcutKeys3::ToggleBroadcastKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->get_ToggleBroadcastKey(&value)); + return value; +} + +template void impl_IAppCaptureAlternateShortcutKeys3::ToggleBroadcastKeyModifiers(Windows::System::VirtualKeyModifiers value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->put_ToggleBroadcastKeyModifiers(value)); +} + +template Windows::System::VirtualKeyModifiers impl_IAppCaptureAlternateShortcutKeys3::ToggleBroadcastKeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IAppCaptureAlternateShortcutKeys3)->get_ToggleBroadcastKeyModifiers(&value)); + return value; +} + +template void impl_IAppCaptureSettings::AppCaptureDestinationFolder(const Windows::Storage::StorageFolder & value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_AppCaptureDestinationFolder(get_abi(value))); +} + +template Windows::Storage::StorageFolder impl_IAppCaptureSettings::AppCaptureDestinationFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_AppCaptureDestinationFolder(put_abi(value))); + return value; +} + +template void impl_IAppCaptureSettings::AudioEncodingBitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_AudioEncodingBitrate(value)); +} + +template uint32_t impl_IAppCaptureSettings::AudioEncodingBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_AudioEncodingBitrate(&value)); + return value; +} + +template void impl_IAppCaptureSettings::IsAudioCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_IsAudioCaptureEnabled(value)); +} + +template bool impl_IAppCaptureSettings::IsAudioCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsAudioCaptureEnabled(&value)); + return value; +} + +template void impl_IAppCaptureSettings::CustomVideoEncodingBitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_CustomVideoEncodingBitrate(value)); +} + +template uint32_t impl_IAppCaptureSettings::CustomVideoEncodingBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_CustomVideoEncodingBitrate(&value)); + return value; +} + +template void impl_IAppCaptureSettings::CustomVideoEncodingHeight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_CustomVideoEncodingHeight(value)); +} + +template uint32_t impl_IAppCaptureSettings::CustomVideoEncodingHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_CustomVideoEncodingHeight(&value)); + return value; +} + +template void impl_IAppCaptureSettings::CustomVideoEncodingWidth(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_CustomVideoEncodingWidth(value)); +} + +template uint32_t impl_IAppCaptureSettings::CustomVideoEncodingWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_CustomVideoEncodingWidth(&value)); + return value; +} + +template void impl_IAppCaptureSettings::HistoricalBufferLength(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_HistoricalBufferLength(value)); +} + +template uint32_t impl_IAppCaptureSettings::HistoricalBufferLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_HistoricalBufferLength(&value)); + return value; +} + +template void impl_IAppCaptureSettings::HistoricalBufferLengthUnit(Windows::Media::Capture::AppCaptureHistoricalBufferLengthUnit value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_HistoricalBufferLengthUnit(value)); +} + +template Windows::Media::Capture::AppCaptureHistoricalBufferLengthUnit impl_IAppCaptureSettings::HistoricalBufferLengthUnit() const +{ + Windows::Media::Capture::AppCaptureHistoricalBufferLengthUnit value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_HistoricalBufferLengthUnit(&value)); + return value; +} + +template void impl_IAppCaptureSettings::IsHistoricalCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_IsHistoricalCaptureEnabled(value)); +} + +template bool impl_IAppCaptureSettings::IsHistoricalCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsHistoricalCaptureEnabled(&value)); + return value; +} + +template void impl_IAppCaptureSettings::IsHistoricalCaptureOnBatteryAllowed(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_IsHistoricalCaptureOnBatteryAllowed(value)); +} + +template bool impl_IAppCaptureSettings::IsHistoricalCaptureOnBatteryAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsHistoricalCaptureOnBatteryAllowed(&value)); + return value; +} + +template void impl_IAppCaptureSettings::IsHistoricalCaptureOnWirelessDisplayAllowed(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_IsHistoricalCaptureOnWirelessDisplayAllowed(value)); +} + +template bool impl_IAppCaptureSettings::IsHistoricalCaptureOnWirelessDisplayAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsHistoricalCaptureOnWirelessDisplayAllowed(&value)); + return value; +} + +template void impl_IAppCaptureSettings::MaximumRecordLength(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_MaximumRecordLength(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IAppCaptureSettings::MaximumRecordLength() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_MaximumRecordLength(put_abi(value))); + return value; +} + +template void impl_IAppCaptureSettings::ScreenshotDestinationFolder(const Windows::Storage::StorageFolder & value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_ScreenshotDestinationFolder(get_abi(value))); +} + +template Windows::Storage::StorageFolder impl_IAppCaptureSettings::ScreenshotDestinationFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_ScreenshotDestinationFolder(put_abi(value))); + return value; +} + +template void impl_IAppCaptureSettings::VideoEncodingBitrateMode(Windows::Media::Capture::AppCaptureVideoEncodingBitrateMode value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_VideoEncodingBitrateMode(value)); +} + +template Windows::Media::Capture::AppCaptureVideoEncodingBitrateMode impl_IAppCaptureSettings::VideoEncodingBitrateMode() const +{ + Windows::Media::Capture::AppCaptureVideoEncodingBitrateMode value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_VideoEncodingBitrateMode(&value)); + return value; +} + +template void impl_IAppCaptureSettings::VideoEncodingResolutionMode(Windows::Media::Capture::AppCaptureVideoEncodingResolutionMode value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_VideoEncodingResolutionMode(value)); +} + +template Windows::Media::Capture::AppCaptureVideoEncodingResolutionMode impl_IAppCaptureSettings::VideoEncodingResolutionMode() const +{ + Windows::Media::Capture::AppCaptureVideoEncodingResolutionMode value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_VideoEncodingResolutionMode(&value)); + return value; +} + +template void impl_IAppCaptureSettings::IsAppCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings)->put_IsAppCaptureEnabled(value)); +} + +template bool impl_IAppCaptureSettings::IsAppCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsAppCaptureEnabled(&value)); + return value; +} + +template bool impl_IAppCaptureSettings::IsCpuConstrained() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsCpuConstrained(&value)); + return value; +} + +template bool impl_IAppCaptureSettings::IsDisabledByPolicy() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsDisabledByPolicy(&value)); + return value; +} + +template bool impl_IAppCaptureSettings::IsMemoryConstrained() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_IsMemoryConstrained(&value)); + return value; +} + +template bool impl_IAppCaptureSettings::HasHardwareEncoder() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings)->get_HasHardwareEncoder(&value)); + return value; +} + +template bool impl_IAppCaptureSettings2::IsGpuConstrained() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings2)->get_IsGpuConstrained(&value)); + return value; +} + +template Windows::Media::Capture::AppCaptureAlternateShortcutKeys impl_IAppCaptureSettings2::AlternateShortcutKeys() const +{ + Windows::Media::Capture::AppCaptureAlternateShortcutKeys value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureSettings2)->get_AlternateShortcutKeys(put_abi(value))); + return value; +} + +template void impl_IAppCaptureSettings3::IsMicrophoneCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings3)->put_IsMicrophoneCaptureEnabled(value)); +} + +template bool impl_IAppCaptureSettings3::IsMicrophoneCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings3)->get_IsMicrophoneCaptureEnabled(&value)); + return value; +} + +template void impl_IAppCaptureSettings4::IsMicrophoneCaptureEnabledByDefault(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->put_IsMicrophoneCaptureEnabledByDefault(value)); +} + +template bool impl_IAppCaptureSettings4::IsMicrophoneCaptureEnabledByDefault() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->get_IsMicrophoneCaptureEnabledByDefault(&value)); + return value; +} + +template void impl_IAppCaptureSettings4::SystemAudioGain(double value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->put_SystemAudioGain(value)); +} + +template double impl_IAppCaptureSettings4::SystemAudioGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->get_SystemAudioGain(&value)); + return value; +} + +template void impl_IAppCaptureSettings4::MicrophoneGain(double value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->put_MicrophoneGain(value)); +} + +template double impl_IAppCaptureSettings4::MicrophoneGain() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->get_MicrophoneGain(&value)); + return value; +} + +template void impl_IAppCaptureSettings4::VideoEncodingFrameRateMode(Windows::Media::Capture::AppCaptureVideoEncodingFrameRateMode value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->put_VideoEncodingFrameRateMode(value)); +} + +template Windows::Media::Capture::AppCaptureVideoEncodingFrameRateMode impl_IAppCaptureSettings4::VideoEncodingFrameRateMode() const +{ + Windows::Media::Capture::AppCaptureVideoEncodingFrameRateMode value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings4)->get_VideoEncodingFrameRateMode(&value)); + return value; +} + +template void impl_IAppCaptureSettings5::IsEchoCancellationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings5)->put_IsEchoCancellationEnabled(value)); +} + +template bool impl_IAppCaptureSettings5::IsEchoCancellationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings5)->get_IsEchoCancellationEnabled(&value)); + return value; +} + +template void impl_IAppCaptureSettings5::IsCursorImageCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureSettings5)->put_IsCursorImageCaptureEnabled(value)); +} + +template bool impl_IAppCaptureSettings5::IsCursorImageCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureSettings5)->get_IsCursorImageCaptureEnabled(&value)); + return value; +} + +template Windows::Media::Capture::AppCaptureRecordOperation impl_IAppCaptureServices::Record() const +{ + Windows::Media::Capture::AppCaptureRecordOperation operation { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureServices)->abi_Record(put_abi(operation))); + return operation; +} + +template Windows::Media::Capture::AppCaptureRecordOperation impl_IAppCaptureServices::RecordTimeSpan(const Windows::Foundation::DateTime & startTime, const Windows::Foundation::TimeSpan & duration) const +{ + Windows::Media::Capture::AppCaptureRecordOperation operation { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureServices)->abi_RecordTimeSpan(get_abi(startTime), get_abi(duration), put_abi(operation))); + return operation; +} + +template bool impl_IAppCaptureServices::CanCapture() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureServices)->get_CanCapture(&value)); + return value; +} + +template Windows::Media::Capture::AppCaptureState impl_IAppCaptureServices::State() const +{ + Windows::Media::Capture::AppCaptureState value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureServices)->get_State(put_abi(value))); + return value; +} + +template bool impl_IAppCaptureState::IsTargetRunning() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureState)->get_IsTargetRunning(&value)); + return value; +} + +template bool impl_IAppCaptureState::IsHistoricalCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureState)->get_IsHistoricalCaptureEnabled(&value)); + return value; +} + +template bool impl_IAppCaptureState::ShouldCaptureMicrophone() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppCaptureState)->get_ShouldCaptureMicrophone(&value)); + return value; +} + +template void impl_IAppCaptureState::ShouldCaptureMicrophone(bool value) const +{ + check_hresult(WINRT_SHIM(IAppCaptureState)->put_ShouldCaptureMicrophone(value)); +} + +template void impl_IAppCaptureState::RestartMicrophoneCapture() const +{ + check_hresult(WINRT_SHIM(IAppCaptureState)->abi_RestartMicrophoneCapture()); +} + +template Windows::Media::Capture::AppCaptureMicrophoneCaptureState impl_IAppCaptureState::MicrophoneCaptureState() const +{ + Windows::Media::Capture::AppCaptureMicrophoneCaptureState value {}; + check_hresult(WINRT_SHIM(IAppCaptureState)->get_MicrophoneCaptureState(&value)); + return value; +} + +template uint32_t impl_IAppCaptureState::MicrophoneCaptureError() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureState)->get_MicrophoneCaptureError(&value)); + return value; +} + +template event_token impl_IAppCaptureState::MicrophoneCaptureStateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppCaptureState)->add_MicrophoneCaptureStateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppCaptureState::MicrophoneCaptureStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppCaptureState::remove_MicrophoneCaptureStateChanged, MicrophoneCaptureStateChanged(value)); +} + +template void impl_IAppCaptureState::MicrophoneCaptureStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppCaptureState)->remove_MicrophoneCaptureStateChanged(token)); +} + +template event_token impl_IAppCaptureState::CaptureTargetClosed(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppCaptureState)->add_CaptureTargetClosed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppCaptureState::CaptureTargetClosed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppCaptureState::remove_CaptureTargetClosed, CaptureTargetClosed(value)); +} + +template void impl_IAppCaptureState::CaptureTargetClosed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppCaptureState)->remove_CaptureTargetClosed(token)); +} + +template Windows::Media::Capture::AppCaptureMicrophoneCaptureState impl_IAppCaptureMicrophoneCaptureStateChangedEventArgs::State() const +{ + Windows::Media::Capture::AppCaptureMicrophoneCaptureState value {}; + check_hresult(WINRT_SHIM(IAppCaptureMicrophoneCaptureStateChangedEventArgs)->get_State(&value)); + return value; +} + +template uint32_t impl_IAppCaptureMicrophoneCaptureStateChangedEventArgs::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureMicrophoneCaptureStateChangedEventArgs)->get_ErrorCode(&value)); + return value; +} + +template void impl_IAppCaptureRecordOperation::StopRecording() const +{ + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->abi_StopRecording()); +} + +template Windows::Media::Capture::AppCaptureRecordingState impl_IAppCaptureRecordOperation::State() const +{ + Windows::Media::Capture::AppCaptureRecordingState value {}; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->get_State(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IAppCaptureRecordOperation::ErrorCode() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->get_ErrorCode(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAppCaptureRecordOperation::Duration() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFile impl_IAppCaptureRecordOperation::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->get_File(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAppCaptureRecordOperation::IsFileTruncated() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->get_IsFileTruncated(put_abi(value))); + return value; +} + +template event_token impl_IAppCaptureRecordOperation::StateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->add_StateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppCaptureRecordOperation::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppCaptureRecordOperation::remove_StateChanged, StateChanged(value)); +} + +template void impl_IAppCaptureRecordOperation::StateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->remove_StateChanged(token)); +} + +template event_token impl_IAppCaptureRecordOperation::DurationGenerated(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->add_DurationGenerated(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppCaptureRecordOperation::DurationGenerated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppCaptureRecordOperation::remove_DurationGenerated, DurationGenerated(value)); +} + +template void impl_IAppCaptureRecordOperation::DurationGenerated(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->remove_DurationGenerated(token)); +} + +template event_token impl_IAppCaptureRecordOperation::FileGenerated(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->add_FileGenerated(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppCaptureRecordOperation::FileGenerated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IAppCaptureRecordOperation::remove_FileGenerated, FileGenerated(value)); +} + +template void impl_IAppCaptureRecordOperation::FileGenerated(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppCaptureRecordOperation)->remove_FileGenerated(token)); +} + +template Windows::Media::Capture::AppCaptureRecordingState impl_IAppCaptureRecordingStateChangedEventArgs::State() const +{ + Windows::Media::Capture::AppCaptureRecordingState value {}; + check_hresult(WINRT_SHIM(IAppCaptureRecordingStateChangedEventArgs)->get_State(&value)); + return value; +} + +template uint32_t impl_IAppCaptureRecordingStateChangedEventArgs::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAppCaptureRecordingStateChangedEventArgs)->get_ErrorCode(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAppCaptureDurationGeneratedEventArgs::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAppCaptureDurationGeneratedEventArgs)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFile impl_IAppCaptureFileGeneratedEventArgs::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IAppCaptureFileGeneratedEventArgs)->get_File(put_abi(value))); + return value; +} + +template void impl_ICameraOptionsUIStatics::Show(const Windows::Media::Capture::MediaCapture & mediaCapture) const +{ + check_hresult(WINRT_SHIM(ICameraOptionsUIStatics)->abi_Show(get_abi(mediaCapture))); +} + +template Windows::Media::Capture::GameBarServicesManager impl_IGameBarServicesManagerStatics::GetDefault() const +{ + Windows::Media::Capture::GameBarServicesManager ppInstance { nullptr }; + check_hresult(WINRT_SHIM(IGameBarServicesManagerStatics)->abi_GetDefault(put_abi(ppInstance))); + return ppInstance; +} + +template event_token impl_IGameBarServicesManager::GameBarServicesCreated(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameBarServicesManager)->add_GameBarServicesCreated(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGameBarServicesManager::GameBarServicesCreated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IGameBarServicesManager::remove_GameBarServicesCreated, GameBarServicesCreated(value)); +} + +template void impl_IGameBarServicesManager::GameBarServicesCreated(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameBarServicesManager)->remove_GameBarServicesCreated(token)); +} + +template Windows::Media::Capture::GameBarServices impl_IGameBarServicesManagerGameBarServicesCreatedEventArgs::GameBarServices() const +{ + Windows::Media::Capture::GameBarServices value { nullptr }; + check_hresult(WINRT_SHIM(IGameBarServicesManagerGameBarServicesCreatedEventArgs)->get_GameBarServices(put_abi(value))); + return value; +} + +template Windows::Media::Capture::GameBarTargetCapturePolicy impl_IGameBarServices::TargetCapturePolicy() const +{ + Windows::Media::Capture::GameBarTargetCapturePolicy value {}; + check_hresult(WINRT_SHIM(IGameBarServices)->get_TargetCapturePolicy(&value)); + return value; +} + +template void impl_IGameBarServices::EnableCapture() const +{ + check_hresult(WINRT_SHIM(IGameBarServices)->abi_EnableCapture()); +} + +template void impl_IGameBarServices::DisableCapture() const +{ + check_hresult(WINRT_SHIM(IGameBarServices)->abi_DisableCapture()); +} + +template Windows::Media::Capture::GameBarServicesTargetInfo impl_IGameBarServices::TargetInfo() const +{ + Windows::Media::Capture::GameBarServicesTargetInfo value { nullptr }; + check_hresult(WINRT_SHIM(IGameBarServices)->get_TargetInfo(put_abi(value))); + return value; +} + +template hstring impl_IGameBarServices::SessionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameBarServices)->get_SessionId(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppBroadcastServices impl_IGameBarServices::AppBroadcastServices() const +{ + Windows::Media::Capture::AppBroadcastServices value { nullptr }; + check_hresult(WINRT_SHIM(IGameBarServices)->get_AppBroadcastServices(put_abi(value))); + return value; +} + +template Windows::Media::Capture::AppCaptureServices impl_IGameBarServices::AppCaptureServices() const +{ + Windows::Media::Capture::AppCaptureServices value { nullptr }; + check_hresult(WINRT_SHIM(IGameBarServices)->get_AppCaptureServices(put_abi(value))); + return value; +} + +template event_token impl_IGameBarServices::CommandReceived(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGameBarServices)->add_CommandReceived(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGameBarServices::CommandReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Capture::IGameBarServices::remove_CommandReceived, CommandReceived(value)); +} + +template void impl_IGameBarServices::CommandReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IGameBarServices)->remove_CommandReceived(token)); +} + +template hstring impl_IGameBarServicesTargetInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameBarServicesTargetInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IGameBarServicesTargetInfo::AppId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameBarServicesTargetInfo)->get_AppId(put_abi(value))); + return value; +} + +template hstring impl_IGameBarServicesTargetInfo::TitleId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGameBarServicesTargetInfo)->get_TitleId(put_abi(value))); + return value; +} + +template Windows::Media::Capture::GameBarServicesDisplayMode impl_IGameBarServicesTargetInfo::DisplayMode() const +{ + Windows::Media::Capture::GameBarServicesDisplayMode value {}; + check_hresult(WINRT_SHIM(IGameBarServicesTargetInfo)->get_DisplayMode(&value)); + return value; +} + +template Windows::Media::Capture::GameBarCommand impl_IGameBarServicesCommandEventArgs::Command() const +{ + Windows::Media::Capture::GameBarCommand value {}; + check_hresult(WINRT_SHIM(IGameBarServicesCommandEventArgs)->get_Command(&value)); + return value; +} + +template Windows::Media::Capture::GameBarCommandOrigin impl_IGameBarServicesCommandEventArgs::Origin() const +{ + Windows::Media::Capture::GameBarCommandOrigin value {}; + check_hresult(WINRT_SHIM(IGameBarServicesCommandEventArgs)->get_Origin(&value)); + return value; +} + +inline Windows::Media::Capture::AppBroadcastGlobalSettings AppBroadcastManager::GetGlobalSettings() +{ + return get_activation_factory().GetGlobalSettings(); +} + +inline void AppBroadcastManager::ApplyGlobalSettings(const Windows::Media::Capture::AppBroadcastGlobalSettings & value) +{ + get_activation_factory().ApplyGlobalSettings(value); +} + +inline Windows::Media::Capture::AppBroadcastProviderSettings AppBroadcastManager::GetProviderSettings() +{ + return get_activation_factory().GetProviderSettings(); +} + +inline void AppBroadcastManager::ApplyProviderSettings(const Windows::Media::Capture::AppBroadcastProviderSettings & value) +{ + get_activation_factory().ApplyProviderSettings(value); +} + +inline Windows::Media::Capture::AppBroadcastPlugInManager AppBroadcastPlugInManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Media::Capture::AppBroadcastPlugInManager AppBroadcastPlugInManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline Windows::Media::Capture::AppCapture AppCapture::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::Media::Capture::AppCaptureSettings AppCaptureManager::GetCurrentSettings() +{ + return get_activation_factory().GetCurrentSettings(); +} + +inline void AppCaptureManager::ApplySettings(const Windows::Media::Capture::AppCaptureSettings & appCaptureSettings) +{ + get_activation_factory().ApplySettings(appCaptureSettings); +} + +inline CameraCaptureUI::CameraCaptureUI() : + CameraCaptureUI(activate_instance()) +{} + +inline void CameraOptionsUI::Show(const Windows::Media::Capture::MediaCapture & mediaCapture) +{ + get_activation_factory().Show(mediaCapture); +} + +inline Windows::Media::Capture::GameBarServicesManager GameBarServicesManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline MediaCapture::MediaCapture() : + MediaCapture(activate_instance()) +{} + +inline bool MediaCapture::IsVideoProfileSupported(hstring_view videoDeviceId) +{ + return get_activation_factory().IsVideoProfileSupported(videoDeviceId); +} + +inline Windows::Foundation::Collections::IVectorView MediaCapture::FindAllVideoProfiles(hstring_view videoDeviceId) +{ + return get_activation_factory().FindAllVideoProfiles(videoDeviceId); +} + +inline Windows::Foundation::Collections::IVectorView MediaCapture::FindConcurrentProfiles(hstring_view videoDeviceId) +{ + return get_activation_factory().FindConcurrentProfiles(videoDeviceId); +} + +inline Windows::Foundation::Collections::IVectorView MediaCapture::FindKnownVideoProfiles(hstring_view videoDeviceId, Windows::Media::Capture::KnownVideoProfile name) +{ + return get_activation_factory().FindKnownVideoProfiles(videoDeviceId, name); +} + +inline MediaCaptureInitializationSettings::MediaCaptureInitializationSettings() : + MediaCaptureInitializationSettings(activate_instance()) +{} + +inline Windows::Media::Capture::ScreenCapture ScreenCapture::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAdvancedCapturedPhoto & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAdvancedCapturedPhoto2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAdvancedPhotoCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastBackgroundService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastBackgroundServiceSignInInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastBackgroundServiceStreamInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastCameraCaptureStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastGlobalSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastHeartbeatRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastMicrophoneCaptureStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPlugIn & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPlugInManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPlugInManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPlugInStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPreviewStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPreviewStreamReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPreviewStreamVideoFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastPreviewStreamVideoHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastProviderSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastServices & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastSignInStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastStreamAudioFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastStreamAudioHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastStreamReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastStreamStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastStreamVideoFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastStreamVideoHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppBroadcastViewerCountChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureAlternateShortcutKeys & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureAlternateShortcutKeys2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureAlternateShortcutKeys3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureDurationGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureFileGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureMicrophoneCaptureStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureRecordOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureRecordingStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureServices & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureSettings2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureSettings3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureSettings4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureSettings5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IAppCaptureStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICameraCaptureUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICameraCaptureUIPhotoCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICameraCaptureUIVideoCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICameraOptionsUIStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICapturedFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICapturedFrameControlValues & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICapturedFrameControlValues2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICapturedFrameWithSoftwareBitmap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ICapturedPhoto & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IGameBarServices & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IGameBarServicesCommandEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IGameBarServicesManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IGameBarServicesManagerGameBarServicesCreatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IGameBarServicesManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IGameBarServicesTargetInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ILowLagMediaRecording & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ILowLagMediaRecording2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ILowLagMediaRecording3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ILowLagPhotoCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ILowLagPhotoSequenceCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCapture2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCapture3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCapture4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCapture5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCapture6 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureDeviceExclusiveControlStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureFocusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureInitializationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureInitializationSettings2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureInitializationSettings3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureInitializationSettings4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureInitializationSettings5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureInitializationSettings6 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCapturePauseResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureSettings2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureStopResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureVideoPreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureVideoProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IMediaCaptureVideoProfileMediaDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IOptionalReferencePhotoCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IPhotoCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IPhotoConfirmationCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IScreenCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IScreenCaptureStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ISourceSuspensionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::IVideoStreamConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AdvancedCapturedPhoto & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AdvancedPhotoCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastBackgroundService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastBackgroundServiceSignInInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastBackgroundServiceStreamInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastCameraCaptureStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastGlobalSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastHeartbeatRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastMicrophoneCaptureStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPlugIn & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPlugInManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPlugInStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPreviewStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPreviewStreamReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPreviewStreamVideoFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastPreviewStreamVideoHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastProviderSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastServices & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastSignInStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastStreamAudioFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastStreamAudioHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastStreamReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastStreamStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastStreamVideoFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastStreamVideoHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppBroadcastViewerCountChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureAlternateShortcutKeys & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureDurationGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureFileGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureMicrophoneCaptureStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureRecordOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureRecordingStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureServices & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::AppCaptureState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::CameraCaptureUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::CameraCaptureUIPhotoCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::CameraCaptureUIVideoCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::CapturedFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::CapturedFrameControlValues & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::CapturedPhoto & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::GameBarServices & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::GameBarServicesCommandEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::GameBarServicesManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::GameBarServicesManagerGameBarServicesCreatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::GameBarServicesTargetInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::LowLagMediaRecording & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::LowLagPhotoCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::LowLagPhotoSequenceCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureDeviceExclusiveControlStatusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureFocusChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureInitializationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCapturePauseResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureStopResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureVideoProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::MediaCaptureVideoProfileMediaDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::OptionalReferencePhotoCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::PhotoCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::PhotoConfirmationCapturedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::ScreenCapture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::SourceSuspensionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Capture::VideoStreamConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Casting.h b/10.0.15042.0/winrt/Windows.Media.Casting.h new file mode 100644 index 000000000..5c0cea95b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Casting.h @@ -0,0 +1,1076 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.Media.Casting.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::Casting::CastingConnectionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ErrorOccurred(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ErrorOccurred(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ErrorOccurred(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ErrorOccurred(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStartCastingAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStartCastingAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisconnectAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DisconnectAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorStatus(Windows::Media::Casting::CastingConnectionErrorStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSupportedCastingPlaybackTypesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetSupportedCastingPlaybackTypesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCastingConnection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateCastingConnection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Filter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Filter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Appearance(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appearance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CastingDeviceSelected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CastingDeviceSelected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CastingDeviceSelected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CastingDeviceSelected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CastingDevicePickerDismissed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CastingDevicePickerDismissed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CastingDevicePickerDismissed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CastingDevicePickerDismissed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Show(impl::abi_arg_in selection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&selection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowWithPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&selection), preferredPlacement); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Hide() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hide(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportsAudio(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsAudio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportsAudio(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportsAudio(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsVideo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsVideo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportsVideo(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportsVideo(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsPictures(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsPictures()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportsPictures(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportsPictures(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCastingSources(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedCastingSources()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedCastingDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedCastingDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(Windows::Media::Casting::CastingPlaybackTypes type, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector(type)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelectorFromCastingSourceAsync(impl::abi_arg_in castingSource, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDeviceSelectorFromCastingSourceAsync(*reinterpret_cast(&castingSource))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeviceInfoSupportsCastingAsync(impl::abi_arg_in device, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeviceInfoSupportsCastingAsync(*reinterpret_cast(&device))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreferredSourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredSourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredSourceUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredSourceUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Casting { + +template Windows::Foundation::Uri impl_ICastingSource::PreferredSourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ICastingSource)->get_PreferredSourceUri(put_abi(value))); + return value; +} + +template void impl_ICastingSource::PreferredSourceUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ICastingSource)->put_PreferredSourceUri(get_abi(value))); +} + +template Windows::Media::Casting::CastingConnectionErrorStatus impl_ICastingConnectionErrorOccurredEventArgs::ErrorStatus() const +{ + Windows::Media::Casting::CastingConnectionErrorStatus value {}; + check_hresult(WINRT_SHIM(ICastingConnectionErrorOccurredEventArgs)->get_ErrorStatus(&value)); + return value; +} + +template hstring impl_ICastingConnectionErrorOccurredEventArgs::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICastingConnectionErrorOccurredEventArgs)->get_Message(put_abi(value))); + return value; +} + +template Windows::Media::Casting::CastingConnectionState impl_ICastingConnection::State() const +{ + Windows::Media::Casting::CastingConnectionState value {}; + check_hresult(WINRT_SHIM(ICastingConnection)->get_State(&value)); + return value; +} + +template Windows::Media::Casting::CastingDevice impl_ICastingConnection::Device() const +{ + Windows::Media::Casting::CastingDevice value { nullptr }; + check_hresult(WINRT_SHIM(ICastingConnection)->get_Device(put_abi(value))); + return value; +} + +template Windows::Media::Casting::CastingSource impl_ICastingConnection::Source() const +{ + Windows::Media::Casting::CastingSource value { nullptr }; + check_hresult(WINRT_SHIM(ICastingConnection)->get_Source(put_abi(value))); + return value; +} + +template void impl_ICastingConnection::Source(const Windows::Media::Casting::CastingSource & value) const +{ + check_hresult(WINRT_SHIM(ICastingConnection)->put_Source(get_abi(value))); +} + +template event_token impl_ICastingConnection::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICastingConnection)->add_StateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICastingConnection::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Casting::ICastingConnection::remove_StateChanged, StateChanged(handler)); +} + +template void impl_ICastingConnection::StateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ICastingConnection)->remove_StateChanged(token)); +} + +template event_token impl_ICastingConnection::ErrorOccurred(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICastingConnection)->add_ErrorOccurred(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICastingConnection::ErrorOccurred(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Casting::ICastingConnection::remove_ErrorOccurred, ErrorOccurred(handler)); +} + +template void impl_ICastingConnection::ErrorOccurred(event_token token) const +{ + check_hresult(WINRT_SHIM(ICastingConnection)->remove_ErrorOccurred(token)); +} + +template Windows::Foundation::IAsyncOperation impl_ICastingConnection::RequestStartCastingAsync(const Windows::Media::Casting::CastingSource & value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICastingConnection)->abi_RequestStartCastingAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICastingConnection::DisconnectAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICastingConnection)->abi_DisconnectAsync(put_abi(operation))); + return operation; +} + +template hstring impl_ICastingDevice::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICastingDevice)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_ICastingDevice::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICastingDevice)->get_FriendlyName(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamWithContentType impl_ICastingDevice::Icon() const +{ + Windows::Storage::Streams::IRandomAccessStreamWithContentType value; + check_hresult(WINRT_SHIM(ICastingDevice)->get_Icon(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICastingDevice::GetSupportedCastingPlaybackTypesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICastingDevice)->abi_GetSupportedCastingPlaybackTypesAsync(put_abi(operation))); + return operation; +} + +template Windows::Media::Casting::CastingConnection impl_ICastingDevice::CreateCastingConnection() const +{ + Windows::Media::Casting::CastingConnection value { nullptr }; + check_hresult(WINRT_SHIM(ICastingDevice)->abi_CreateCastingConnection(put_abi(value))); + return value; +} + +template hstring impl_ICastingDeviceStatics::GetDeviceSelector(Windows::Media::Casting::CastingPlaybackTypes type) const +{ + hstring value; + check_hresult(WINRT_SHIM(ICastingDeviceStatics)->abi_GetDeviceSelector(type, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICastingDeviceStatics::GetDeviceSelectorFromCastingSourceAsync(const Windows::Media::Casting::CastingSource & castingSource) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICastingDeviceStatics)->abi_GetDeviceSelectorFromCastingSourceAsync(get_abi(castingSource), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICastingDeviceStatics::FromIdAsync(hstring_view value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICastingDeviceStatics)->abi_FromIdAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICastingDeviceStatics::DeviceInfoSupportsCastingAsync(const Windows::Devices::Enumeration::DeviceInformation & device) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICastingDeviceStatics)->abi_DeviceInfoSupportsCastingAsync(get_abi(device), put_abi(operation))); + return operation; +} + +template Windows::Media::Casting::CastingDevice impl_ICastingDeviceSelectedEventArgs::SelectedCastingDevice() const +{ + Windows::Media::Casting::CastingDevice value { nullptr }; + check_hresult(WINRT_SHIM(ICastingDeviceSelectedEventArgs)->get_SelectedCastingDevice(put_abi(value))); + return value; +} + +template bool impl_ICastingDevicePickerFilter::SupportsAudio() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICastingDevicePickerFilter)->get_SupportsAudio(&value)); + return value; +} + +template void impl_ICastingDevicePickerFilter::SupportsAudio(bool value) const +{ + check_hresult(WINRT_SHIM(ICastingDevicePickerFilter)->put_SupportsAudio(value)); +} + +template bool impl_ICastingDevicePickerFilter::SupportsVideo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICastingDevicePickerFilter)->get_SupportsVideo(&value)); + return value; +} + +template void impl_ICastingDevicePickerFilter::SupportsVideo(bool value) const +{ + check_hresult(WINRT_SHIM(ICastingDevicePickerFilter)->put_SupportsVideo(value)); +} + +template bool impl_ICastingDevicePickerFilter::SupportsPictures() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICastingDevicePickerFilter)->get_SupportsPictures(&value)); + return value; +} + +template void impl_ICastingDevicePickerFilter::SupportsPictures(bool value) const +{ + check_hresult(WINRT_SHIM(ICastingDevicePickerFilter)->put_SupportsPictures(value)); +} + +template Windows::Foundation::Collections::IVector impl_ICastingDevicePickerFilter::SupportedCastingSources() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICastingDevicePickerFilter)->get_SupportedCastingSources(put_abi(value))); + return value; +} + +template Windows::Media::Casting::CastingDevicePickerFilter impl_ICastingDevicePicker::Filter() const +{ + Windows::Media::Casting::CastingDevicePickerFilter value { nullptr }; + check_hresult(WINRT_SHIM(ICastingDevicePicker)->get_Filter(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DevicePickerAppearance impl_ICastingDevicePicker::Appearance() const +{ + Windows::Devices::Enumeration::DevicePickerAppearance value { nullptr }; + check_hresult(WINRT_SHIM(ICastingDevicePicker)->get_Appearance(put_abi(value))); + return value; +} + +template event_token impl_ICastingDevicePicker::CastingDeviceSelected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICastingDevicePicker)->add_CastingDeviceSelected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICastingDevicePicker::CastingDeviceSelected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Casting::ICastingDevicePicker::remove_CastingDeviceSelected, CastingDeviceSelected(handler)); +} + +template void impl_ICastingDevicePicker::CastingDeviceSelected(event_token token) const +{ + check_hresult(WINRT_SHIM(ICastingDevicePicker)->remove_CastingDeviceSelected(token)); +} + +template event_token impl_ICastingDevicePicker::CastingDevicePickerDismissed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICastingDevicePicker)->add_CastingDevicePickerDismissed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICastingDevicePicker::CastingDevicePickerDismissed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Casting::ICastingDevicePicker::remove_CastingDevicePickerDismissed, CastingDevicePickerDismissed(handler)); +} + +template void impl_ICastingDevicePicker::CastingDevicePickerDismissed(event_token token) const +{ + check_hresult(WINRT_SHIM(ICastingDevicePicker)->remove_CastingDevicePickerDismissed(token)); +} + +template void impl_ICastingDevicePicker::Show(const Windows::Foundation::Rect & selection) const +{ + check_hresult(WINRT_SHIM(ICastingDevicePicker)->abi_Show(get_abi(selection))); +} + +template void impl_ICastingDevicePicker::Show(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + check_hresult(WINRT_SHIM(ICastingDevicePicker)->abi_ShowWithPlacement(get_abi(selection), preferredPlacement)); +} + +template void impl_ICastingDevicePicker::Hide() const +{ + check_hresult(WINRT_SHIM(ICastingDevicePicker)->abi_Hide()); +} + +inline hstring CastingDevice::GetDeviceSelector(Windows::Media::Casting::CastingPlaybackTypes type) +{ + return get_activation_factory().GetDeviceSelector(type); +} + +inline Windows::Foundation::IAsyncOperation CastingDevice::GetDeviceSelectorFromCastingSourceAsync(const Windows::Media::Casting::CastingSource & castingSource) +{ + return get_activation_factory().GetDeviceSelectorFromCastingSourceAsync(castingSource); +} + +inline Windows::Foundation::IAsyncOperation CastingDevice::FromIdAsync(hstring_view value) +{ + return get_activation_factory().FromIdAsync(value); +} + +inline Windows::Foundation::IAsyncOperation CastingDevice::DeviceInfoSupportsCastingAsync(const Windows::Devices::Enumeration::DeviceInformation & device) +{ + return get_activation_factory().DeviceInfoSupportsCastingAsync(device); +} + +inline CastingDevicePicker::CastingDevicePicker() : + CastingDevicePicker(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingConnectionErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingDevicePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingDevicePickerFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingDeviceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::ICastingSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::CastingConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::CastingConnectionErrorOccurredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::CastingDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::CastingDevicePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::CastingDevicePickerFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::CastingDeviceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Casting::CastingSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.ClosedCaptioning.h b/10.0.15042.0/winrt/Windows.Media.ClosedCaptioning.h new file mode 100644 index 000000000..71692da56 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.ClosedCaptioning.h @@ -0,0 +1,350 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Media.ClosedCaptioning.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontColor(Windows::Media::ClosedCaptioning::ClosedCaptionColor * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ComputedFontColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputedFontColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontOpacity(Windows::Media::ClosedCaptioning::ClosedCaptionOpacity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontSize(Windows::Media::ClosedCaptioning::ClosedCaptionSize * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::Media::ClosedCaptioning::ClosedCaptionStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontEffect(Windows::Media::ClosedCaptioning::ClosedCaptionEdgeEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontEffect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(Windows::Media::ClosedCaptioning::ClosedCaptionColor * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ComputedBackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputedBackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundOpacity(Windows::Media::ClosedCaptioning::ClosedCaptionOpacity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegionColor(Windows::Media::ClosedCaptioning::ClosedCaptionColor * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegionColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ComputedRegionColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputedRegionColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegionOpacity(Windows::Media::ClosedCaptioning::ClosedCaptionOpacity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegionOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::ClosedCaptioning { + +template Windows::Media::ClosedCaptioning::ClosedCaptionColor impl_IClosedCaptionPropertiesStatics::FontColor() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionColor value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_FontColor(&value)); + return value; +} + +template Windows::UI::Color impl_IClosedCaptionPropertiesStatics::ComputedFontColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_ComputedFontColor(put_abi(value))); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionOpacity impl_IClosedCaptionPropertiesStatics::FontOpacity() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionOpacity value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_FontOpacity(&value)); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionSize impl_IClosedCaptionPropertiesStatics::FontSize() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionSize value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_FontSize(&value)); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionStyle impl_IClosedCaptionPropertiesStatics::FontStyle() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionStyle value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_FontStyle(&value)); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionEdgeEffect impl_IClosedCaptionPropertiesStatics::FontEffect() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionEdgeEffect value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_FontEffect(&value)); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionColor impl_IClosedCaptionPropertiesStatics::BackgroundColor() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionColor value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_BackgroundColor(&value)); + return value; +} + +template Windows::UI::Color impl_IClosedCaptionPropertiesStatics::ComputedBackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_ComputedBackgroundColor(put_abi(value))); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionOpacity impl_IClosedCaptionPropertiesStatics::BackgroundOpacity() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionOpacity value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_BackgroundOpacity(&value)); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionColor impl_IClosedCaptionPropertiesStatics::RegionColor() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionColor value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_RegionColor(&value)); + return value; +} + +template Windows::UI::Color impl_IClosedCaptionPropertiesStatics::ComputedRegionColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_ComputedRegionColor(put_abi(value))); + return value; +} + +template Windows::Media::ClosedCaptioning::ClosedCaptionOpacity impl_IClosedCaptionPropertiesStatics::RegionOpacity() const +{ + Windows::Media::ClosedCaptioning::ClosedCaptionOpacity value {}; + check_hresult(WINRT_SHIM(IClosedCaptionPropertiesStatics)->get_RegionOpacity(&value)); + return value; +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionColor ClosedCaptionProperties::FontColor() +{ + return get_activation_factory().FontColor(); +} + +inline Windows::UI::Color ClosedCaptionProperties::ComputedFontColor() +{ + return get_activation_factory().ComputedFontColor(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionOpacity ClosedCaptionProperties::FontOpacity() +{ + return get_activation_factory().FontOpacity(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionSize ClosedCaptionProperties::FontSize() +{ + return get_activation_factory().FontSize(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionStyle ClosedCaptionProperties::FontStyle() +{ + return get_activation_factory().FontStyle(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionEdgeEffect ClosedCaptionProperties::FontEffect() +{ + return get_activation_factory().FontEffect(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionColor ClosedCaptionProperties::BackgroundColor() +{ + return get_activation_factory().BackgroundColor(); +} + +inline Windows::UI::Color ClosedCaptionProperties::ComputedBackgroundColor() +{ + return get_activation_factory().ComputedBackgroundColor(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionOpacity ClosedCaptionProperties::BackgroundOpacity() +{ + return get_activation_factory().BackgroundOpacity(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionColor ClosedCaptionProperties::RegionColor() +{ + return get_activation_factory().RegionColor(); +} + +inline Windows::UI::Color ClosedCaptionProperties::ComputedRegionColor() +{ + return get_activation_factory().ComputedRegionColor(); +} + +inline Windows::Media::ClosedCaptioning::ClosedCaptionOpacity ClosedCaptionProperties::RegionOpacity() +{ + return get_activation_factory().RegionOpacity(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ClosedCaptioning::IClosedCaptionPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.ContentRestrictions.h b/10.0.15042.0/winrt/Windows.Media.ContentRestrictions.h new file mode 100644 index 000000000..e4954115b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.ContentRestrictions.h @@ -0,0 +1,556 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.ContentRestrictions.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GeographicRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeographicRegion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxBrowsableAgeRating(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxBrowsableAgeRating()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredAgeRating(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredAgeRating()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Image(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Image()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Image(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Image(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Category(Windows::Media::ContentRestrictions::RatedContentCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Category()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Category(Windows::Media::ContentRestrictions::RatedContentCategory value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Category(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ratings(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ratings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Ratings(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ratings(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in id, impl::abi_arg_in title, Windows::Media::ContentRestrictions::RatedContentCategory category, impl::abi_arg_out RatedContentDescription) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *RatedContentDescription = detach_abi(this->shim().Create(*reinterpret_cast(&id), *reinterpret_cast(&title), category)); + return S_OK; + } + catch (...) + { + *RatedContentDescription = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetBrowsePolicyAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetBrowsePolicyAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRestrictionLevelAsync(impl::abi_arg_in RatedContentDescription, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetRestrictionLevelAsync(*reinterpret_cast(&RatedContentDescription))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestContentAccessAsync(impl::abi_arg_in RatedContentDescription, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestContentAccessAsync(*reinterpret_cast(&RatedContentDescription))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RestrictionsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RestrictionsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RestrictionsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RestrictionsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithMaxAgeRating(uint32_t maxAgeRating, impl::abi_arg_out ratedContentRestrictions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ratedContentRestrictions = detach_abi(this->shim().CreateWithMaxAgeRating(maxAgeRating)); + return S_OK; + } + catch (...) + { + *ratedContentRestrictions = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::ContentRestrictions { + +template hstring impl_IRatedContentDescription::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRatedContentDescription)->get_Id(put_abi(value))); + return value; +} + +template void impl_IRatedContentDescription::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IRatedContentDescription)->put_Id(get_abi(value))); +} + +template hstring impl_IRatedContentDescription::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRatedContentDescription)->get_Title(put_abi(value))); + return value; +} + +template void impl_IRatedContentDescription::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IRatedContentDescription)->put_Title(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IRatedContentDescription::Image() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IRatedContentDescription)->get_Image(put_abi(value))); + return value; +} + +template void impl_IRatedContentDescription::Image(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IRatedContentDescription)->put_Image(get_abi(value))); +} + +template Windows::Media::ContentRestrictions::RatedContentCategory impl_IRatedContentDescription::Category() const +{ + Windows::Media::ContentRestrictions::RatedContentCategory value {}; + check_hresult(WINRT_SHIM(IRatedContentDescription)->get_Category(&value)); + return value; +} + +template void impl_IRatedContentDescription::Category(Windows::Media::ContentRestrictions::RatedContentCategory value) const +{ + check_hresult(WINRT_SHIM(IRatedContentDescription)->put_Category(value)); +} + +template Windows::Foundation::Collections::IVector impl_IRatedContentDescription::Ratings() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IRatedContentDescription)->get_Ratings(put_abi(value))); + return value; +} + +template void impl_IRatedContentDescription::Ratings(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IRatedContentDescription)->put_Ratings(get_abi(value))); +} + +template Windows::Media::ContentRestrictions::RatedContentDescription impl_IRatedContentDescriptionFactory::Create(hstring_view id, hstring_view title, Windows::Media::ContentRestrictions::RatedContentCategory category) const +{ + Windows::Media::ContentRestrictions::RatedContentDescription RatedContentDescription { nullptr }; + check_hresult(WINRT_SHIM(IRatedContentDescriptionFactory)->abi_Create(get_abi(id), get_abi(title), category, put_abi(RatedContentDescription))); + return RatedContentDescription; +} + +template hstring impl_IContentRestrictionsBrowsePolicy::GeographicRegion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContentRestrictionsBrowsePolicy)->get_GeographicRegion(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IContentRestrictionsBrowsePolicy::MaxBrowsableAgeRating() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContentRestrictionsBrowsePolicy)->get_MaxBrowsableAgeRating(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IContentRestrictionsBrowsePolicy::PreferredAgeRating() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContentRestrictionsBrowsePolicy)->get_PreferredAgeRating(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRatedContentRestrictions::GetBrowsePolicyAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRatedContentRestrictions)->abi_GetBrowsePolicyAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRatedContentRestrictions::GetRestrictionLevelAsync(const Windows::Media::ContentRestrictions::RatedContentDescription & RatedContentDescription) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRatedContentRestrictions)->abi_GetRestrictionLevelAsync(get_abi(RatedContentDescription), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRatedContentRestrictions::RequestContentAccessAsync(const Windows::Media::ContentRestrictions::RatedContentDescription & RatedContentDescription) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRatedContentRestrictions)->abi_RequestContentAccessAsync(get_abi(RatedContentDescription), put_abi(operation))); + return operation; +} + +template event_token impl_IRatedContentRestrictions::RestrictionsChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRatedContentRestrictions)->add_RestrictionsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRatedContentRestrictions::RestrictionsChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::ContentRestrictions::IRatedContentRestrictions::remove_RestrictionsChanged, RestrictionsChanged(handler)); +} + +template void impl_IRatedContentRestrictions::RestrictionsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRatedContentRestrictions)->remove_RestrictionsChanged(token)); +} + +template Windows::Media::ContentRestrictions::RatedContentRestrictions impl_IRatedContentRestrictionsFactory::CreateWithMaxAgeRating(uint32_t maxAgeRating) const +{ + Windows::Media::ContentRestrictions::RatedContentRestrictions ratedContentRestrictions { nullptr }; + check_hresult(WINRT_SHIM(IRatedContentRestrictionsFactory)->abi_CreateWithMaxAgeRating(maxAgeRating, put_abi(ratedContentRestrictions))); + return ratedContentRestrictions; +} + +inline RatedContentDescription::RatedContentDescription(hstring_view id, hstring_view title, Windows::Media::ContentRestrictions::RatedContentCategory category) : + RatedContentDescription(get_activation_factory().Create(id, title, category)) +{} + +inline RatedContentRestrictions::RatedContentRestrictions() : + RatedContentRestrictions(activate_instance()) +{} + +inline RatedContentRestrictions::RatedContentRestrictions(uint32_t maxAgeRating) : + RatedContentRestrictions(get_activation_factory().CreateWithMaxAgeRating(maxAgeRating)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::IContentRestrictionsBrowsePolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::IRatedContentDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::IRatedContentDescriptionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::IRatedContentRestrictions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::IRatedContentRestrictionsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::ContentRestrictionsBrowsePolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::RatedContentDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ContentRestrictions::RatedContentRestrictions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Core.Preview.h b/10.0.15042.0/winrt/Windows.Media.Core.Preview.h new file mode 100644 index 000000000..72937ffd1 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Core.Preview.h @@ -0,0 +1,126 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.Core.Preview.3.h" +#include "Windows.Media.Core.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SoundLevel(Windows::Media::SoundLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoundLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SoundLevelChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SoundLevelChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SoundLevelChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SoundLevelChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Core::Preview { + +template Windows::Media::SoundLevel impl_ISoundLevelBrokerStatics::SoundLevel() const +{ + Windows::Media::SoundLevel value {}; + check_hresult(WINRT_SHIM(ISoundLevelBrokerStatics)->get_SoundLevel(&value)); + return value; +} + +template event_token impl_ISoundLevelBrokerStatics::SoundLevelChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISoundLevelBrokerStatics)->add_SoundLevelChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISoundLevelBrokerStatics::SoundLevelChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::Preview::ISoundLevelBrokerStatics::remove_SoundLevelChanged, SoundLevelChanged(handler)); +} + +template void impl_ISoundLevelBrokerStatics::SoundLevelChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISoundLevelBrokerStatics)->remove_SoundLevelChanged(token)); +} + +inline Windows::Media::SoundLevel SoundLevelBroker::SoundLevel() +{ + return get_activation_factory().SoundLevel(); +} + +inline event_token SoundLevelBroker::SoundLevelChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().SoundLevelChanged(handler); +} + +inline factory_event_revoker SoundLevelBroker::SoundLevelChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::Core::Preview::ISoundLevelBrokerStatics::remove_SoundLevelChanged, factory.SoundLevelChanged(handler) }; +} + +inline void SoundLevelBroker::SoundLevelChanged(event_token token) +{ + get_activation_factory().SoundLevelChanged(token); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::Preview::ISoundLevelBrokerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Core.h b/10.0.15042.0/winrt/Windows.Media.Core.h new file mode 100644 index 000000000..7b5f5cf87 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Core.h @@ -0,0 +1,10957 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Media.Protection.3.h" +#include "internal/Windows.Storage.FileProperties.3.h" +#include "internal/Windows.Media.Capture.3.h" +#include "internal/Windows.Media.Devices.3.h" +#include "internal/Windows.Media.Streaming.Adaptive.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Media.Playback.3.h" +#include "internal/Windows.Media.Core.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" +#include "Windows.Media.Effects.h" +#include "Windows.Media.Playback.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncodingProperties(impl::abi_arg_out encodingProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *encodingProperties = detach_abi(this->shim().EncodingProperties()); + return S_OK; + } + catch (...) + { + *encodingProperties = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_LeadingEncoderPadding(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeadingEncoderPadding(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeadingEncoderPadding(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeadingEncoderPadding()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrailingEncoderPadding(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrailingEncoderPadding(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrailingEncoderPadding(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrailingEncoderPadding()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in encodingProperties, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&encodingProperties))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_OpenFailed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OpenFailed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OpenFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpenFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetEncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DecoderStatus(Windows::Media::Core::MediaDecoderStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecoderStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Degradation(Windows::Media::Core::AudioDecoderDegradation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Degradation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DegradationReason(Windows::Media::Core::AudioDecoderDegradationReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DegradationReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaSourceStatus(Windows::Media::Core::MediaSourceStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaSourceStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Media::Core::CodecKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Category(Windows::Media::Core::CodecCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Category()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTrusted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrusted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAllAsync(Windows::Media::Core::CodecKind kind, Windows::Media::Core::CodecCategory category, impl::abi_arg_in subType, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllAsync(kind, category, *reinterpret_cast(&subType))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoFormatDV25(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatDV25()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatDV50(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatDV50()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatDvc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatDvc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatDvh1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatDvh1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatDvhD(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatDvhD()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatDvsd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatDvsd()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatDvsl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatDvsl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatH263(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatH263()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatH264(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatH264()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatH265(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatH265()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatH264ES(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatH264ES()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatHevc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatHevc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatHevcES(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatHevcES()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatM4S2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatM4S2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMjpg(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMjpg()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMP43(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMP43()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMP4S(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMP4S()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMP4V(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMP4V()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMpeg2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMpeg2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatVP80(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatVP80()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatVP90(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatVP90()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMpg1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMpg1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMss1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMss1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatMss2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatMss2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatWmv1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatWmv1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatWmv2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatWmv2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatWmv3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatWmv3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormatWvc1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormatWvc1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoFormat420O(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoFormat420O()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatAac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatAac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatAdts(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatAdts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatAlac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatAlac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatAmrNB(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatAmrNB()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatAmrWB(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatAmrWB()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatAmrWP(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatAmrWP()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatDolbyAC3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatDolbyAC3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatDolbyAC3Spdif(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatDolbyAC3Spdif()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatDolbyDDPlus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatDolbyDDPlus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatDrm(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatDrm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatDts(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatDts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatFlac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatFlac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatFloat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatFloat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatMP3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatMP3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatMPeg(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatMPeg()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatMsp1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatMsp1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatOpus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatOpus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatPcm(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatPcm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatWmaSpdif(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatWmaSpdif()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatWMAudioLossless(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatWMAudioLossless()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatWMAudioV8(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatWMAudioV8()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFormatWMAudioV9(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFormatWMAudioV9()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResultFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResultFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredDetectionInterval(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredDetectionInterval(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredDetectionInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredDetectionInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FaceDetected(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().FaceDetected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FaceDetected(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FaceDetected(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DetectionMode(Windows::Media::Core::FaceDetectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DetectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DetectionMode(Windows::Media::Core::FaceDetectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SynchronousDetectionEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SynchronousDetectionEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SynchronousDetectionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SynchronousDetectionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DetectedFaces(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DetectedFaces()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Certainty(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certainty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameControllers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameControllers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Extent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Extent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Extent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SoftwareBitmap(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SoftwareBitmap(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoftwareBitmap(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareBitmap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Binding(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Binding(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Binding(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Binding(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Token(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Token()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Token(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Token(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Canceled(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Canceled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Canceled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Canceled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaBinder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaBinder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetUri(impl::abi_arg_in uri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetUri(*reinterpret_cast(&uri)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStream(impl::abi_arg_in stream, impl::abi_arg_in contentType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStream(*reinterpret_cast(&stream), *reinterpret_cast(&contentType)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStreamReference(impl::abi_arg_in stream, impl::abi_arg_in contentType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStreamReference(*reinterpret_cast(&stream), *reinterpret_cast(&contentType)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetAdaptiveMediaSource(impl::abi_arg_in mediaSource) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAdaptiveMediaSource(*reinterpret_cast(&mediaSource)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStorageFile(impl::abi_arg_in file) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStorageFile(*reinterpret_cast(&file)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_StartTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Cue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_OpenOperationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OpenOperationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OpenOperationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpenOperationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExternalTimedTextSources(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExternalTimedTextSources()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExternalTimedMetadataTracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExternalTimedMetadataTracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Media::Core::MediaSourceState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AdaptiveMediaSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdaptiveMediaSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaStreamSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaStreamSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MseStreamSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MseStreamSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldState(Windows::Media::Core::MediaSourceState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewState(Windows::Media::Core::MediaSourceState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromAdaptiveMediaSource(impl::abi_arg_in mediaSource, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromAdaptiveMediaSource(*reinterpret_cast(&mediaSource))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromMediaStreamSource(impl::abi_arg_in mediaSource, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromMediaStreamSource(*reinterpret_cast(&mediaSource))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromMseStreamSource(impl::abi_arg_in mediaSource, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromMseStreamSource(*reinterpret_cast(&mediaSource))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromIMediaSource(impl::abi_arg_in mediaSource, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromIMediaSource(*reinterpret_cast(&mediaSource))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStorageFile(impl::abi_arg_in file, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromStorageFile(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStream(impl::abi_arg_in stream, impl::abi_arg_in contentType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromStream(*reinterpret_cast(&stream), *reinterpret_cast(&contentType))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStreamReference(impl::abi_arg_in stream, impl::abi_arg_in contentType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromStreamReference(*reinterpret_cast(&stream), *reinterpret_cast(&contentType))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUri(impl::abi_arg_in uri, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromUri(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromMediaBinder(impl::abi_arg_in binder, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromMediaBinder(*reinterpret_cast(&binder))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSelected(bool * selected) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selected = detach_abi(this->shim().IsSelected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Language(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Language(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Processed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Processed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Processed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Processed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Buffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Buffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Protection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Protection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DecodeTimestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecodeTimestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecodeTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecodeTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyFrame(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyFrame(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyFrame(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyFrame()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Discontinuous(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Discontinuous(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Discontinuous(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Discontinuous()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetKeyIdentifier(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetKeyIdentifier(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetKeyIdentifier(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetKeyIdentifier(detach_abi(__valueSize, value)); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetInitializationVector(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetInitializationVector(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInitializationVector(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetInitializationVector(detach_abi(__valueSize, value)); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSubSampleMapping(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSubSampleMapping(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSubSampleMapping(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetSubSampleMapping(detach_abi(__valueSize, value)); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromBuffer(impl::abi_arg_in buffer, impl::abi_arg_in timestamp, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromBuffer(*reinterpret_cast(&buffer), *reinterpret_cast(×tamp))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStreamAsync(impl::abi_arg_in stream, uint32_t count, impl::abi_arg_in timestamp, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromStreamAsync(*reinterpret_cast(&stream), count, *reinterpret_cast(×tamp))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Closed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Starting(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Starting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Starting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Starting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Paused(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Paused(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Paused(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Paused(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SampleRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SampleRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SampleRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SampleRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SwitchStreamsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SwitchStreamsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SwitchStreamsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SwitchStreamsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyError(Windows::Media::Core::MediaStreamSourceErrorStatus errorStatus) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyError(errorStatus); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStreamDescriptor(impl::abi_arg_in descriptor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddStreamDescriptor(*reinterpret_cast(&descriptor)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MediaProtectionManager(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaProtectionManager(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaProtectionManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaProtectionManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanSeek(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanSeek(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSeek(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BufferTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBufferedRange(impl::abi_arg_in startOffset, impl::abi_arg_in endOffset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBufferedRange(*reinterpret_cast(&startOffset), *reinterpret_cast(&endOffset)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MusicProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MusicProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddProtectionKey(impl::abi_arg_in streamDescriptor, uint32_t __keyIdentifierSize, impl::abi_arg_in * keyIdentifier, uint32_t __licenseDataSize, impl::abi_arg_in * licenseData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddProtectionKey(*reinterpret_cast(&streamDescriptor), array_view(keyIdentifier, keyIdentifier + __keyIdentifierSize), array_view(licenseData, licenseData + __licenseDataSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SampleRendered(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SampleRendered(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SampleRendered(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SampleRendered(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_MaxSupportedPlaybackRate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxSupportedPlaybackRate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSupportedPlaybackRate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSupportedPlaybackRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::Media::Core::MediaStreamSourceClosedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromDescriptor(impl::abi_arg_in descriptor, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromDescriptor(*reinterpret_cast(&descriptor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromDescriptors(impl::abi_arg_in descriptor, impl::abi_arg_in descriptor2, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromDescriptors(*reinterpret_cast(&descriptor), *reinterpret_cast(&descriptor2))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SampleLag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SampleLag()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StreamDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Sample(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Sample(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sample(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sample()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportSampleProgress(uint32_t progress) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportSampleProgress(progress); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartPosition(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartPosition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetActualStartPosition(impl::abi_arg_in position) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetActualStartPosition(*reinterpret_cast(&position)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldStreamDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldStreamDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewStreamDescriptor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewStreamDescriptor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrackKind(Windows::Media::Core::MediaTrackKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrackKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_UpdateStarting(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UpdateStarting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UpdateStarting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateStarting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UpdateEnded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UpdateEnded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UpdateEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ErrorOccurred(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ErrorOccurred(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ErrorOccurred(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ErrorOccurred(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Aborted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Aborted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Aborted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Aborted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Media::Core::MseAppendMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Media::Core::MseAppendMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsUpdating(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUpdating()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Buffered(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Buffered()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimestampOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimestampOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TimestampOffset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimestampOffset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppendWindowStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppendWindowStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppendWindowStart(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendWindowStart(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppendWindowEnd(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppendWindowEnd()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppendWindowEnd(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendWindowEnd(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendBuffer(impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendBuffer(*reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendStream(impl::abi_arg_in stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendStream(*reinterpret_cast(&stream)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendStreamMaxSize(impl::abi_arg_in stream, uint64_t maxSize) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendStream(*reinterpret_cast(&stream), maxSize); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Abort() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Abort(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in start, impl::abi_arg_in> end) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&start), *reinterpret_cast *>(&end)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SourceBufferAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceBufferAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceBufferAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceBufferAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceBufferRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceBufferRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceBufferRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceBufferRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Buffers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Buffers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Opened(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opened(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Ended(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Ended(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Ended(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ended(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceBuffers(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceBuffers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActiveSourceBuffers(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActiveSourceBuffers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadyState(Windows::Media::Core::MseReadyState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadyState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddSourceBuffer(impl::abi_arg_in mimeType, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().AddSourceBuffer(*reinterpret_cast(&mimeType))); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveSourceBuffer(impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveSourceBuffer(*reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndOfStream(Windows::Media::Core::MseEndOfStreamStatus status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndOfStream(status); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsContentTypeSupported(impl::abi_arg_in contentType, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContentTypeSupported(*reinterpret_cast(&contentType))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HighDynamicRangeAnalyzer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HighDynamicRangeAnalyzer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredAnalysisInterval(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredAnalysisInterval(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredAnalysisInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredAnalysisInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SceneAnalyzed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().SceneAnalyzed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SceneAnalyzed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SceneAnalyzed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameControlValues(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameControlValues()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HighDynamicRange(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HighDynamicRange()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResultFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResultFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SelectedIndexChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectedIndexChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectedIndexChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedIndexChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartPositionInInput(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartPositionInInput()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartPositionInInput(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPositionInInput(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndPositionInInput(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndPositionInInput()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EndPositionInInput(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndPositionInInput(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CueEntered(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CueEntered(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CueEntered(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CueEntered(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CueExited(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CueExited(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CueExited(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CueExited(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TrackFailed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TrackFailed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TrackFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrackFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cues(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cues()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActiveCues(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActiveCues()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimedMetadataKind(Windows::Media::Core::TimedMetadataKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimedMetadataKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DispatchType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DispatchType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddCue(impl::abi_arg_in cue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddCue(*reinterpret_cast(&cue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveCue(impl::abi_arg_in cue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveCue(*reinterpret_cast(&cue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlaybackItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorCode(Windows::Media::Core::TimedMetadataTrackErrorCode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in id, impl::abi_arg_in language, Windows::Media::Core::TimedMetadataKind kind, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&id), *reinterpret_cast(&language), kind)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TimedMetadataTracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimedMetadataTracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CueRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CueRegion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CueRegion(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CueRegion(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CueStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CueStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CueStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CueStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Lines(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Lines()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subformats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subformats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Extent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Extent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Extent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Background(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Background()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Background(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Background(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WritingMode(Windows::Media::Core::TimedTextWritingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WritingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WritingMode(Windows::Media::Core::TimedTextWritingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WritingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayAlignment(Windows::Media::Core::TimedTextDisplayAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayAlignment(Windows::Media::Core::TimedTextDisplayAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineHeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineHeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOverflowClipped(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOverflowClipped()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOverflowClipped(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOverflowClipped(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrapping(Windows::Media::Core::TimedTextWrapping * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrapping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextWrapping(Windows::Media::Core::TimedTextWrapping value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextWrapping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollMode(Windows::Media::Core::TimedTextScrollMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScrollMode(Windows::Media::Core::TimedTextScrollMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Resolved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Resolved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Resolved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resolved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromStream(impl::abi_arg_in stream, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromStream(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUri(impl::abi_arg_in uri, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromUri(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStreamWithLanguage(impl::abi_arg_in stream, impl::abi_arg_in defaultLanguage, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromStream(*reinterpret_cast(&stream), *reinterpret_cast(&defaultLanguage))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUriWithLanguage(impl::abi_arg_in uri, impl::abi_arg_in defaultLanguage, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromUri(*reinterpret_cast(&uri), *reinterpret_cast(&defaultLanguage))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromStreamWithIndex(impl::abi_arg_in stream, impl::abi_arg_in indexStream, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromStreamWithIndex(*reinterpret_cast(&stream), *reinterpret_cast(&indexStream))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUriWithIndex(impl::abi_arg_in uri, impl::abi_arg_in indexUri, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromUriWithIndex(*reinterpret_cast(&uri), *reinterpret_cast(&indexUri))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStreamWithIndexAndLanguage(impl::abi_arg_in stream, impl::abi_arg_in indexStream, impl::abi_arg_in defaultLanguage, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromStreamWithIndex(*reinterpret_cast(&stream), *reinterpret_cast(&indexStream), *reinterpret_cast(&defaultLanguage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUriWithIndexAndLanguage(impl::abi_arg_in uri, impl::abi_arg_in indexUri, impl::abi_arg_in defaultLanguage, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromUriWithIndex(*reinterpret_cast(&uri), *reinterpret_cast(&indexUri), *reinterpret_cast(&defaultLanguage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeight(Windows::Media::Core::TimedTextWeight * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontWeight(Windows::Media::Core::TimedTextWeight value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontWeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Foreground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Foreground()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Foreground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Foreground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Background(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Background()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Background(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Background(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBackgroundAlwaysShown(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBackgroundAlwaysShown()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsBackgroundAlwaysShown(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsBackgroundAlwaysShown(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlowDirection(Windows::Media::Core::TimedTextFlowDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlowDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FlowDirection(Windows::Media::Core::TimedTextFlowDirection value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlowDirection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineAlignment(Windows::Media::Core::TimedTextLineAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineAlignment(Windows::Media::Core::TimedTextLineAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutlineColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutlineColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutlineColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutlineColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutlineThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutlineThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutlineThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutlineThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutlineRadius(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutlineRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutlineRadius(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutlineRadius(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontStyle(Windows::Media::Core::TimedTextFontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStyle(Windows::Media::Core::TimedTextFontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsUnderlineEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUnderlineEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsUnderlineEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsUnderlineEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLineThroughEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLineThroughEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLineThroughEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLineThroughEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOverlineEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOverlineEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOverlineEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOverlineEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Length(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Length(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubformatStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubformatStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SubformatStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SubformatStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnabledChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().EnabledChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnabledChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnabledChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRecommendedStreamConfiguration(impl::abi_arg_in controller, impl::abi_arg_in desiredProperties, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRecommendedStreamConfiguration(*reinterpret_cast(&controller), *reinterpret_cast(&desiredProperties))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::Media::Core::VideoStabilizationEffectEnabledChangedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncodingProperties(impl::abi_arg_out encodingProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *encodingProperties = detach_abi(this->shim().EncodingProperties()); + return S_OK; + } + catch (...) + { + *encodingProperties = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in encodingProperties, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&encodingProperties))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_OpenFailed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OpenFailed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OpenFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpenFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetEncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DecoderStatus(Windows::Media::Core::MediaDecoderStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecoderStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaSourceStatus(Windows::Media::Core::MediaSourceStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaSourceStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Core { + +template void impl_IMediaCue::StartTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaCue)->put_StartTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaCue::StartTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaCue)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_IMediaCue::Duration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaCue)->put_Duration(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaCue::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaCue)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IMediaCue::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaCue)->put_Id(get_abi(value))); +} + +template hstring impl_IMediaCue::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaCue)->get_Id(put_abi(value))); + return value; +} + +template void impl_IDataCue::Data(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IDataCue)->put_Data(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_IDataCue::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IDataCue)->get_Data(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::PropertySet impl_IDataCue2::Properties() const +{ + Windows::Foundation::Collections::PropertySet value { nullptr }; + check_hresult(WINRT_SHIM(IDataCue2)->get_Properties(put_abi(value))); + return value; +} + +template void impl_IChapterCue::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IChapterCue)->put_Title(get_abi(value))); +} + +template hstring impl_IChapterCue::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IChapterCue)->get_Title(put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedTextPoint impl_IImageCue::Position() const +{ + Windows::Media::Core::TimedTextPoint value {}; + check_hresult(WINRT_SHIM(IImageCue)->get_Position(put_abi(value))); + return value; +} + +template void impl_IImageCue::Position(const Windows::Media::Core::TimedTextPoint & value) const +{ + check_hresult(WINRT_SHIM(IImageCue)->put_Position(get_abi(value))); +} + +template Windows::Media::Core::TimedTextSize impl_IImageCue::Extent() const +{ + Windows::Media::Core::TimedTextSize value {}; + check_hresult(WINRT_SHIM(IImageCue)->get_Extent(put_abi(value))); + return value; +} + +template void impl_IImageCue::Extent(const Windows::Media::Core::TimedTextSize & value) const +{ + check_hresult(WINRT_SHIM(IImageCue)->put_Extent(get_abi(value))); +} + +template void impl_IImageCue::SoftwareBitmap(const Windows::Graphics::Imaging::SoftwareBitmap & value) const +{ + check_hresult(WINRT_SHIM(IImageCue)->put_SoftwareBitmap(get_abi(value))); +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_IImageCue::SoftwareBitmap() const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(IImageCue)->get_SoftwareBitmap(put_abi(value))); + return value; +} + +template hstring impl_ISpeechCue::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeechCue)->get_Text(put_abi(value))); + return value; +} + +template void impl_ISpeechCue::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISpeechCue)->put_Text(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ISpeechCue::StartPositionInInput() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpeechCue)->get_StartPositionInInput(put_abi(value))); + return value; +} + +template void impl_ISpeechCue::StartPositionInInput(const optional & value) const +{ + check_hresult(WINRT_SHIM(ISpeechCue)->put_StartPositionInInput(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ISpeechCue::EndPositionInInput() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpeechCue)->get_EndPositionInInput(put_abi(value))); + return value; +} + +template void impl_ISpeechCue::EndPositionInInput(const optional & value) const +{ + check_hresult(WINRT_SHIM(ISpeechCue)->put_EndPositionInInput(get_abi(value))); +} + +template Windows::Media::Core::TimedTextRegion impl_ITimedTextCue::CueRegion() const +{ + Windows::Media::Core::TimedTextRegion value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextCue)->get_CueRegion(put_abi(value))); + return value; +} + +template void impl_ITimedTextCue::CueRegion(const Windows::Media::Core::TimedTextRegion & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextCue)->put_CueRegion(get_abi(value))); +} + +template Windows::Media::Core::TimedTextStyle impl_ITimedTextCue::CueStyle() const +{ + Windows::Media::Core::TimedTextStyle value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextCue)->get_CueStyle(put_abi(value))); + return value; +} + +template void impl_ITimedTextCue::CueStyle(const Windows::Media::Core::TimedTextStyle & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextCue)->put_CueStyle(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_ITimedTextCue::Lines() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ITimedTextCue)->get_Lines(put_abi(value))); + return value; +} + +template hstring impl_ITimedTextRegion::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_Name(put_abi(value))); + return value; +} + +template void impl_ITimedTextRegion::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_Name(get_abi(value))); +} + +template Windows::Media::Core::TimedTextPoint impl_ITimedTextRegion::Position() const +{ + Windows::Media::Core::TimedTextPoint value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_Position(put_abi(value))); + return value; +} + +template void impl_ITimedTextRegion::Position(const Windows::Media::Core::TimedTextPoint & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_Position(get_abi(value))); +} + +template Windows::Media::Core::TimedTextSize impl_ITimedTextRegion::Extent() const +{ + Windows::Media::Core::TimedTextSize value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_Extent(put_abi(value))); + return value; +} + +template void impl_ITimedTextRegion::Extent(const Windows::Media::Core::TimedTextSize & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_Extent(get_abi(value))); +} + +template Windows::UI::Color impl_ITimedTextRegion::Background() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_Background(put_abi(value))); + return value; +} + +template void impl_ITimedTextRegion::Background(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_Background(get_abi(value))); +} + +template Windows::Media::Core::TimedTextWritingMode impl_ITimedTextRegion::WritingMode() const +{ + Windows::Media::Core::TimedTextWritingMode value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_WritingMode(&value)); + return value; +} + +template void impl_ITimedTextRegion::WritingMode(Windows::Media::Core::TimedTextWritingMode value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_WritingMode(value)); +} + +template Windows::Media::Core::TimedTextDisplayAlignment impl_ITimedTextRegion::DisplayAlignment() const +{ + Windows::Media::Core::TimedTextDisplayAlignment value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_DisplayAlignment(&value)); + return value; +} + +template void impl_ITimedTextRegion::DisplayAlignment(Windows::Media::Core::TimedTextDisplayAlignment value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_DisplayAlignment(value)); +} + +template Windows::Media::Core::TimedTextDouble impl_ITimedTextRegion::LineHeight() const +{ + Windows::Media::Core::TimedTextDouble value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_LineHeight(put_abi(value))); + return value; +} + +template void impl_ITimedTextRegion::LineHeight(const Windows::Media::Core::TimedTextDouble & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_LineHeight(get_abi(value))); +} + +template bool impl_ITimedTextRegion::IsOverflowClipped() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_IsOverflowClipped(&value)); + return value; +} + +template void impl_ITimedTextRegion::IsOverflowClipped(bool value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_IsOverflowClipped(value)); +} + +template Windows::Media::Core::TimedTextPadding impl_ITimedTextRegion::Padding() const +{ + Windows::Media::Core::TimedTextPadding value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_Padding(put_abi(value))); + return value; +} + +template void impl_ITimedTextRegion::Padding(const Windows::Media::Core::TimedTextPadding & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_Padding(get_abi(value))); +} + +template Windows::Media::Core::TimedTextWrapping impl_ITimedTextRegion::TextWrapping() const +{ + Windows::Media::Core::TimedTextWrapping value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_TextWrapping(&value)); + return value; +} + +template void impl_ITimedTextRegion::TextWrapping(Windows::Media::Core::TimedTextWrapping value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_TextWrapping(value)); +} + +template int32_t impl_ITimedTextRegion::ZIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_ZIndex(&value)); + return value; +} + +template void impl_ITimedTextRegion::ZIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_ZIndex(value)); +} + +template Windows::Media::Core::TimedTextScrollMode impl_ITimedTextRegion::ScrollMode() const +{ + Windows::Media::Core::TimedTextScrollMode value {}; + check_hresult(WINRT_SHIM(ITimedTextRegion)->get_ScrollMode(&value)); + return value; +} + +template void impl_ITimedTextRegion::ScrollMode(Windows::Media::Core::TimedTextScrollMode value) const +{ + check_hresult(WINRT_SHIM(ITimedTextRegion)->put_ScrollMode(value)); +} + +template hstring impl_ITimedTextStyle::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_Name(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_Name(get_abi(value))); +} + +template hstring impl_ITimedTextStyle::FontFamily() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_FontFamily(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::FontFamily(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_FontFamily(get_abi(value))); +} + +template Windows::Media::Core::TimedTextDouble impl_ITimedTextStyle::FontSize() const +{ + Windows::Media::Core::TimedTextDouble value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_FontSize(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::FontSize(const Windows::Media::Core::TimedTextDouble & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_FontSize(get_abi(value))); +} + +template Windows::Media::Core::TimedTextWeight impl_ITimedTextStyle::FontWeight() const +{ + Windows::Media::Core::TimedTextWeight value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_FontWeight(&value)); + return value; +} + +template void impl_ITimedTextStyle::FontWeight(Windows::Media::Core::TimedTextWeight value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_FontWeight(value)); +} + +template Windows::UI::Color impl_ITimedTextStyle::Foreground() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_Foreground(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::Foreground(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_Foreground(get_abi(value))); +} + +template Windows::UI::Color impl_ITimedTextStyle::Background() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_Background(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::Background(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_Background(get_abi(value))); +} + +template bool impl_ITimedTextStyle::IsBackgroundAlwaysShown() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_IsBackgroundAlwaysShown(&value)); + return value; +} + +template void impl_ITimedTextStyle::IsBackgroundAlwaysShown(bool value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_IsBackgroundAlwaysShown(value)); +} + +template Windows::Media::Core::TimedTextFlowDirection impl_ITimedTextStyle::FlowDirection() const +{ + Windows::Media::Core::TimedTextFlowDirection value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_FlowDirection(&value)); + return value; +} + +template void impl_ITimedTextStyle::FlowDirection(Windows::Media::Core::TimedTextFlowDirection value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_FlowDirection(value)); +} + +template Windows::Media::Core::TimedTextLineAlignment impl_ITimedTextStyle::LineAlignment() const +{ + Windows::Media::Core::TimedTextLineAlignment value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_LineAlignment(&value)); + return value; +} + +template void impl_ITimedTextStyle::LineAlignment(Windows::Media::Core::TimedTextLineAlignment value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_LineAlignment(value)); +} + +template Windows::UI::Color impl_ITimedTextStyle::OutlineColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_OutlineColor(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::OutlineColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_OutlineColor(get_abi(value))); +} + +template Windows::Media::Core::TimedTextDouble impl_ITimedTextStyle::OutlineThickness() const +{ + Windows::Media::Core::TimedTextDouble value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_OutlineThickness(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::OutlineThickness(const Windows::Media::Core::TimedTextDouble & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_OutlineThickness(get_abi(value))); +} + +template Windows::Media::Core::TimedTextDouble impl_ITimedTextStyle::OutlineRadius() const +{ + Windows::Media::Core::TimedTextDouble value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle)->get_OutlineRadius(put_abi(value))); + return value; +} + +template void impl_ITimedTextStyle::OutlineRadius(const Windows::Media::Core::TimedTextDouble & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle)->put_OutlineRadius(get_abi(value))); +} + +template Windows::Media::Core::TimedTextFontStyle impl_ITimedTextStyle2::FontStyle() const +{ + Windows::Media::Core::TimedTextFontStyle value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle2)->get_FontStyle(&value)); + return value; +} + +template void impl_ITimedTextStyle2::FontStyle(Windows::Media::Core::TimedTextFontStyle value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle2)->put_FontStyle(value)); +} + +template bool impl_ITimedTextStyle2::IsUnderlineEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle2)->get_IsUnderlineEnabled(&value)); + return value; +} + +template void impl_ITimedTextStyle2::IsUnderlineEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle2)->put_IsUnderlineEnabled(value)); +} + +template bool impl_ITimedTextStyle2::IsLineThroughEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle2)->get_IsLineThroughEnabled(&value)); + return value; +} + +template void impl_ITimedTextStyle2::IsLineThroughEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle2)->put_IsLineThroughEnabled(value)); +} + +template bool impl_ITimedTextStyle2::IsOverlineEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITimedTextStyle2)->get_IsOverlineEnabled(&value)); + return value; +} + +template void impl_ITimedTextStyle2::IsOverlineEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITimedTextStyle2)->put_IsOverlineEnabled(value)); +} + +template int32_t impl_ITimedTextSubformat::StartIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITimedTextSubformat)->get_StartIndex(&value)); + return value; +} + +template void impl_ITimedTextSubformat::StartIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITimedTextSubformat)->put_StartIndex(value)); +} + +template int32_t impl_ITimedTextSubformat::Length() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITimedTextSubformat)->get_Length(&value)); + return value; +} + +template void impl_ITimedTextSubformat::Length(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITimedTextSubformat)->put_Length(value)); +} + +template Windows::Media::Core::TimedTextStyle impl_ITimedTextSubformat::SubformatStyle() const +{ + Windows::Media::Core::TimedTextStyle value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSubformat)->get_SubformatStyle(put_abi(value))); + return value; +} + +template void impl_ITimedTextSubformat::SubformatStyle(const Windows::Media::Core::TimedTextStyle & value) const +{ + check_hresult(WINRT_SHIM(ITimedTextSubformat)->put_SubformatStyle(get_abi(value))); +} + +template hstring impl_ITimedTextLine::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimedTextLine)->get_Text(put_abi(value))); + return value; +} + +template void impl_ITimedTextLine::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITimedTextLine)->put_Text(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_ITimedTextLine::Subformats() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ITimedTextLine)->get_Subformats(put_abi(value))); + return value; +} + +template bool impl_IMediaStreamDescriptor::IsSelected() const +{ + bool selected {}; + check_hresult(WINRT_SHIM(IMediaStreamDescriptor)->get_IsSelected(&selected)); + return selected; +} + +template void impl_IMediaStreamDescriptor::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamDescriptor)->put_Name(get_abi(value))); +} + +template hstring impl_IMediaStreamDescriptor::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaStreamDescriptor)->get_Name(put_abi(value))); + return value; +} + +template void impl_IMediaStreamDescriptor::Language(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamDescriptor)->put_Language(get_abi(value))); +} + +template hstring impl_IMediaStreamDescriptor::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaStreamDescriptor)->get_Language(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioStreamDescriptor::EncodingProperties() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties encodingProperties { nullptr }; + check_hresult(WINRT_SHIM(IAudioStreamDescriptor)->get_EncodingProperties(put_abi(encodingProperties))); + return encodingProperties; +} + +template void impl_IAudioStreamDescriptor2::LeadingEncoderPadding(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAudioStreamDescriptor2)->put_LeadingEncoderPadding(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAudioStreamDescriptor2::LeadingEncoderPadding() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAudioStreamDescriptor2)->get_LeadingEncoderPadding(put_abi(value))); + return value; +} + +template void impl_IAudioStreamDescriptor2::TrailingEncoderPadding(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAudioStreamDescriptor2)->put_TrailingEncoderPadding(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAudioStreamDescriptor2::TrailingEncoderPadding() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAudioStreamDescriptor2)->get_TrailingEncoderPadding(put_abi(value))); + return value; +} + +template Windows::Media::Core::AudioStreamDescriptor impl_IAudioStreamDescriptorFactory::Create(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties) const +{ + Windows::Media::Core::AudioStreamDescriptor result { nullptr }; + check_hresult(WINRT_SHIM(IAudioStreamDescriptorFactory)->abi_Create(get_abi(encodingProperties), put_abi(result))); + return result; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoStreamDescriptor::EncodingProperties() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties encodingProperties { nullptr }; + check_hresult(WINRT_SHIM(IVideoStreamDescriptor)->get_EncodingProperties(put_abi(encodingProperties))); + return encodingProperties; +} + +template Windows::Media::Core::VideoStreamDescriptor impl_IVideoStreamDescriptorFactory::Create(const Windows::Media::MediaProperties::VideoEncodingProperties & encodingProperties) const +{ + Windows::Media::Core::VideoStreamDescriptor result { nullptr }; + check_hresult(WINRT_SHIM(IVideoStreamDescriptorFactory)->abi_Create(get_abi(encodingProperties), put_abi(result))); + return result; +} + +template event_token impl_IMediaStreamSource::Closed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->add_Closed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaStreamSource::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaStreamSource::remove_Closed, Closed(handler)); +} + +template void impl_IMediaStreamSource::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->remove_Closed(token)); +} + +template event_token impl_IMediaStreamSource::Starting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->add_Starting(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaStreamSource::Starting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaStreamSource::remove_Starting, Starting(handler)); +} + +template void impl_IMediaStreamSource::Starting(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->remove_Starting(token)); +} + +template event_token impl_IMediaStreamSource::Paused(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->add_Paused(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaStreamSource::Paused(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaStreamSource::remove_Paused, Paused(handler)); +} + +template void impl_IMediaStreamSource::Paused(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->remove_Paused(token)); +} + +template event_token impl_IMediaStreamSource::SampleRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->add_SampleRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaStreamSource::SampleRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaStreamSource::remove_SampleRequested, SampleRequested(handler)); +} + +template void impl_IMediaStreamSource::SampleRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->remove_SampleRequested(token)); +} + +template event_token impl_IMediaStreamSource::SwitchStreamsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->add_SwitchStreamsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaStreamSource::SwitchStreamsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaStreamSource::remove_SwitchStreamsRequested, SwitchStreamsRequested(handler)); +} + +template void impl_IMediaStreamSource::SwitchStreamsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->remove_SwitchStreamsRequested(token)); +} + +template void impl_IMediaStreamSource::NotifyError(Windows::Media::Core::MediaStreamSourceErrorStatus errorStatus) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->abi_NotifyError(errorStatus)); +} + +template void impl_IMediaStreamSource::AddStreamDescriptor(const Windows::Media::Core::IMediaStreamDescriptor & descriptor) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->abi_AddStreamDescriptor(get_abi(descriptor))); +} + +template void impl_IMediaStreamSource::MediaProtectionManager(const Windows::Media::Protection::MediaProtectionManager & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->put_MediaProtectionManager(get_abi(value))); +} + +template Windows::Media::Protection::MediaProtectionManager impl_IMediaStreamSource::MediaProtectionManager() const +{ + Windows::Media::Protection::MediaProtectionManager value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSource)->get_MediaProtectionManager(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSource::Duration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->put_Duration(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaStreamSource::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSource::CanSeek(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->put_CanSeek(value)); +} + +template bool impl_IMediaStreamSource::CanSeek() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->get_CanSeek(&value)); + return value; +} + +template void impl_IMediaStreamSource::BufferTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->put_BufferTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaStreamSource::BufferTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaStreamSource)->get_BufferTime(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSource::SetBufferedRange(const Windows::Foundation::TimeSpan & startOffset, const Windows::Foundation::TimeSpan & endOffset) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->abi_SetBufferedRange(get_abi(startOffset), get_abi(endOffset))); +} + +template Windows::Storage::FileProperties::MusicProperties impl_IMediaStreamSource::MusicProperties() const +{ + Windows::Storage::FileProperties::MusicProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSource)->get_MusicProperties(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::VideoProperties impl_IMediaStreamSource::VideoProperties() const +{ + Windows::Storage::FileProperties::VideoProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSource)->get_VideoProperties(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSource::Thumbnail(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->put_Thumbnail(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IMediaStreamSource::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IMediaStreamSource)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSource::AddProtectionKey(const Windows::Media::Core::IMediaStreamDescriptor & streamDescriptor, array_view keyIdentifier, array_view licenseData) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource)->abi_AddProtectionKey(get_abi(streamDescriptor), keyIdentifier.size(), get_abi(keyIdentifier), licenseData.size(), get_abi(licenseData))); +} + +template event_token impl_IMediaStreamSource2::SampleRendered(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaStreamSource2)->add_SampleRendered(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaStreamSource2::SampleRendered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaStreamSource2::remove_SampleRendered, SampleRendered(handler)); +} + +template void impl_IMediaStreamSource2::SampleRendered(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource2)->remove_SampleRendered(token)); +} + +template void impl_IMediaStreamSource3::MaxSupportedPlaybackRate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSource3)->put_MaxSupportedPlaybackRate(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IMediaStreamSource3::MaxSupportedPlaybackRate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaStreamSource3)->get_MaxSupportedPlaybackRate(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSource impl_IMediaStreamSourceFactory::CreateFromDescriptor(const Windows::Media::Core::IMediaStreamDescriptor & descriptor) const +{ + Windows::Media::Core::MediaStreamSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceFactory)->abi_CreateFromDescriptor(get_abi(descriptor), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaStreamSource impl_IMediaStreamSourceFactory::CreateFromDescriptors(const Windows::Media::Core::IMediaStreamDescriptor & descriptor, const Windows::Media::Core::IMediaStreamDescriptor & descriptor2) const +{ + Windows::Media::Core::MediaStreamSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceFactory)->abi_CreateFromDescriptors(get_abi(descriptor), get_abi(descriptor2), put_abi(result))); + return result; +} + +template event_token impl_IMediaStreamSample::Processed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaStreamSample)->add_Processed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaStreamSample::Processed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaStreamSample::remove_Processed, Processed(handler)); +} + +template void impl_IMediaStreamSample::Processed(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSample)->remove_Processed(token)); +} + +template Windows::Storage::Streams::Buffer impl_IMediaStreamSample::Buffer() const +{ + Windows::Storage::Streams::Buffer value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_Buffer(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaStreamSample::Timestamp() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSamplePropertySet impl_IMediaStreamSample::ExtendedProperties() const +{ + Windows::Media::Core::MediaStreamSamplePropertySet value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_ExtendedProperties(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSampleProtectionProperties impl_IMediaStreamSample::Protection() const +{ + Windows::Media::Core::MediaStreamSampleProtectionProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_Protection(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSample::DecodeTimestamp(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSample)->put_DecodeTimestamp(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaStreamSample::DecodeTimestamp() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_DecodeTimestamp(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSample::Duration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSample)->put_Duration(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaStreamSample::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSample::KeyFrame(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSample)->put_KeyFrame(value)); +} + +template bool impl_IMediaStreamSample::KeyFrame() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_KeyFrame(&value)); + return value; +} + +template void impl_IMediaStreamSample::Discontinuous(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSample)->put_Discontinuous(value)); +} + +template bool impl_IMediaStreamSample::Discontinuous() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaStreamSample)->get_Discontinuous(&value)); + return value; +} + +template Windows::Media::Core::MediaStreamSample impl_IMediaStreamSampleStatics::CreateFromBuffer(const Windows::Storage::Streams::IBuffer & buffer, const Windows::Foundation::TimeSpan & timestamp) const +{ + Windows::Media::Core::MediaStreamSample value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSampleStatics)->abi_CreateFromBuffer(get_abi(buffer), get_abi(timestamp), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaStreamSampleStatics::CreateFromStreamAsync(const Windows::Storage::Streams::IInputStream & stream, uint32_t count, const Windows::Foundation::TimeSpan & timestamp) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IMediaStreamSampleStatics)->abi_CreateFromStreamAsync(get_abi(stream), count, get_abi(timestamp), put_abi(value))); + return value; +} + +template void impl_IMediaStreamSampleProtectionProperties::SetKeyIdentifier(array_view value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSampleProtectionProperties)->abi_SetKeyIdentifier(value.size(), get_abi(value))); +} + +template void impl_IMediaStreamSampleProtectionProperties::GetKeyIdentifier(com_array & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSampleProtectionProperties)->abi_GetKeyIdentifier(impl::put_size_abi(value), put_abi(value))); +} + +template void impl_IMediaStreamSampleProtectionProperties::SetInitializationVector(array_view value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSampleProtectionProperties)->abi_SetInitializationVector(value.size(), get_abi(value))); +} + +template void impl_IMediaStreamSampleProtectionProperties::GetInitializationVector(com_array & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSampleProtectionProperties)->abi_GetInitializationVector(impl::put_size_abi(value), put_abi(value))); +} + +template void impl_IMediaStreamSampleProtectionProperties::SetSubSampleMapping(array_view value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSampleProtectionProperties)->abi_SetSubSampleMapping(value.size(), get_abi(value))); +} + +template void impl_IMediaStreamSampleProtectionProperties::GetSubSampleMapping(com_array & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSampleProtectionProperties)->abi_GetSubSampleMapping(impl::put_size_abi(value), put_abi(value))); +} + +template Windows::Media::Core::MediaStreamSourceClosedReason impl_IMediaStreamSourceClosedRequest::Reason() const +{ + Windows::Media::Core::MediaStreamSourceClosedReason value {}; + check_hresult(WINRT_SHIM(IMediaStreamSourceClosedRequest)->get_Reason(&value)); + return value; +} + +template Windows::Media::Core::MediaStreamSourceClosedRequest impl_IMediaStreamSourceClosedEventArgs::Request() const +{ + Windows::Media::Core::MediaStreamSourceClosedRequest value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceClosedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSourceStartingRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IMediaStreamSourceStartingRequestDeferral)->abi_Complete()); +} + +template Windows::Foundation::IReference impl_IMediaStreamSourceStartingRequest::StartPosition() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaStreamSourceStartingRequest)->get_StartPosition(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSourceStartingRequestDeferral impl_IMediaStreamSourceStartingRequest::GetDeferral() const +{ + Windows::Media::Core::MediaStreamSourceStartingRequestDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceStartingRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_IMediaStreamSourceStartingRequest::SetActualStartPosition(const Windows::Foundation::TimeSpan & position) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSourceStartingRequest)->abi_SetActualStartPosition(get_abi(position))); +} + +template Windows::Media::Core::MediaStreamSourceStartingRequest impl_IMediaStreamSourceStartingEventArgs::Request() const +{ + Windows::Media::Core::MediaStreamSourceStartingRequest value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceStartingEventArgs)->get_Request(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSourceSampleRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRequestDeferral)->abi_Complete()); +} + +template Windows::Media::Core::IMediaStreamDescriptor impl_IMediaStreamSourceSampleRequest::StreamDescriptor() const +{ + Windows::Media::Core::IMediaStreamDescriptor value; + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRequest)->get_StreamDescriptor(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSourceSampleRequestDeferral impl_IMediaStreamSourceSampleRequest::GetDeferral() const +{ + Windows::Media::Core::MediaStreamSourceSampleRequestDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_IMediaStreamSourceSampleRequest::Sample(const Windows::Media::Core::MediaStreamSample & value) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRequest)->put_Sample(get_abi(value))); +} + +template Windows::Media::Core::MediaStreamSample impl_IMediaStreamSourceSampleRequest::Sample() const +{ + Windows::Media::Core::MediaStreamSample value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRequest)->get_Sample(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSourceSampleRequest::ReportSampleProgress(uint32_t progress) const +{ + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRequest)->abi_ReportSampleProgress(progress)); +} + +template Windows::Media::Core::MediaStreamSourceSampleRequest impl_IMediaStreamSourceSampleRequestedEventArgs::Request() const +{ + Windows::Media::Core::MediaStreamSourceSampleRequest value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template void impl_IMediaStreamSourceSwitchStreamsRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IMediaStreamSourceSwitchStreamsRequestDeferral)->abi_Complete()); +} + +template Windows::Media::Core::IMediaStreamDescriptor impl_IMediaStreamSourceSwitchStreamsRequest::OldStreamDescriptor() const +{ + Windows::Media::Core::IMediaStreamDescriptor value; + check_hresult(WINRT_SHIM(IMediaStreamSourceSwitchStreamsRequest)->get_OldStreamDescriptor(put_abi(value))); + return value; +} + +template Windows::Media::Core::IMediaStreamDescriptor impl_IMediaStreamSourceSwitchStreamsRequest::NewStreamDescriptor() const +{ + Windows::Media::Core::IMediaStreamDescriptor value; + check_hresult(WINRT_SHIM(IMediaStreamSourceSwitchStreamsRequest)->get_NewStreamDescriptor(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSourceSwitchStreamsRequestDeferral impl_IMediaStreamSourceSwitchStreamsRequest::GetDeferral() const +{ + Windows::Media::Core::MediaStreamSourceSwitchStreamsRequestDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceSwitchStreamsRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::Media::Core::MediaStreamSourceSwitchStreamsRequest impl_IMediaStreamSourceSwitchStreamsRequestedEventArgs::Request() const +{ + Windows::Media::Core::MediaStreamSourceSwitchStreamsRequest value { nullptr }; + check_hresult(WINRT_SHIM(IMediaStreamSourceSwitchStreamsRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaStreamSourceSampleRenderedEventArgs::SampleLag() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaStreamSourceSampleRenderedEventArgs)->get_SampleLag(put_abi(value))); + return value; +} + +template bool impl_IMseStreamSourceStatics::IsContentTypeSupported(hstring_view contentType) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMseStreamSourceStatics)->abi_IsContentTypeSupported(get_abi(contentType), &value)); + return value; +} + +template event_token impl_IMseStreamSource::Opened(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseStreamSource)->add_Opened(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseStreamSource::Opened(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseStreamSource::remove_Opened, Opened(handler)); +} + +template void impl_IMseStreamSource::Opened(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseStreamSource)->remove_Opened(token)); +} + +template event_token impl_IMseStreamSource::Ended(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseStreamSource)->add_Ended(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseStreamSource::Ended(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseStreamSource::remove_Ended, Ended(handler)); +} + +template void impl_IMseStreamSource::Ended(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseStreamSource)->remove_Ended(token)); +} + +template event_token impl_IMseStreamSource::Closed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseStreamSource)->add_Closed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseStreamSource::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseStreamSource::remove_Closed, Closed(handler)); +} + +template void impl_IMseStreamSource::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseStreamSource)->remove_Closed(token)); +} + +template Windows::Media::Core::MseSourceBufferList impl_IMseStreamSource::SourceBuffers() const +{ + Windows::Media::Core::MseSourceBufferList value { nullptr }; + check_hresult(WINRT_SHIM(IMseStreamSource)->get_SourceBuffers(put_abi(value))); + return value; +} + +template Windows::Media::Core::MseSourceBufferList impl_IMseStreamSource::ActiveSourceBuffers() const +{ + Windows::Media::Core::MseSourceBufferList value { nullptr }; + check_hresult(WINRT_SHIM(IMseStreamSource)->get_ActiveSourceBuffers(put_abi(value))); + return value; +} + +template Windows::Media::Core::MseReadyState impl_IMseStreamSource::ReadyState() const +{ + Windows::Media::Core::MseReadyState value {}; + check_hresult(WINRT_SHIM(IMseStreamSource)->get_ReadyState(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IMseStreamSource::Duration() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMseStreamSource)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IMseStreamSource::Duration(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMseStreamSource)->put_Duration(get_abi(value))); +} + +template Windows::Media::Core::MseSourceBuffer impl_IMseStreamSource::AddSourceBuffer(hstring_view mimeType) const +{ + Windows::Media::Core::MseSourceBuffer buffer { nullptr }; + check_hresult(WINRT_SHIM(IMseStreamSource)->abi_AddSourceBuffer(get_abi(mimeType), put_abi(buffer))); + return buffer; +} + +template void impl_IMseStreamSource::RemoveSourceBuffer(const Windows::Media::Core::MseSourceBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(IMseStreamSource)->abi_RemoveSourceBuffer(get_abi(buffer))); +} + +template void impl_IMseStreamSource::EndOfStream(Windows::Media::Core::MseEndOfStreamStatus status) const +{ + check_hresult(WINRT_SHIM(IMseStreamSource)->abi_EndOfStream(status)); +} + +template event_token impl_IMseSourceBuffer::UpdateStarting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->add_UpdateStarting(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseSourceBuffer::UpdateStarting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseSourceBuffer::remove_UpdateStarting, UpdateStarting(handler)); +} + +template void impl_IMseSourceBuffer::UpdateStarting(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->remove_UpdateStarting(token)); +} + +template event_token impl_IMseSourceBuffer::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseSourceBuffer::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseSourceBuffer::remove_Updated, Updated(handler)); +} + +template void impl_IMseSourceBuffer::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->remove_Updated(token)); +} + +template event_token impl_IMseSourceBuffer::UpdateEnded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->add_UpdateEnded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseSourceBuffer::UpdateEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseSourceBuffer::remove_UpdateEnded, UpdateEnded(handler)); +} + +template void impl_IMseSourceBuffer::UpdateEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->remove_UpdateEnded(token)); +} + +template event_token impl_IMseSourceBuffer::ErrorOccurred(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->add_ErrorOccurred(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseSourceBuffer::ErrorOccurred(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseSourceBuffer::remove_ErrorOccurred, ErrorOccurred(handler)); +} + +template void impl_IMseSourceBuffer::ErrorOccurred(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->remove_ErrorOccurred(token)); +} + +template event_token impl_IMseSourceBuffer::Aborted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->add_Aborted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseSourceBuffer::Aborted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseSourceBuffer::remove_Aborted, Aborted(handler)); +} + +template void impl_IMseSourceBuffer::Aborted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->remove_Aborted(token)); +} + +template Windows::Media::Core::MseAppendMode impl_IMseSourceBuffer::Mode() const +{ + Windows::Media::Core::MseAppendMode value {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->get_Mode(&value)); + return value; +} + +template void impl_IMseSourceBuffer::Mode(Windows::Media::Core::MseAppendMode value) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->put_Mode(value)); +} + +template bool impl_IMseSourceBuffer::IsUpdating() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->get_IsUpdating(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMseSourceBuffer::Buffered() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->get_Buffered(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMseSourceBuffer::TimestampOffset() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->get_TimestampOffset(put_abi(value))); + return value; +} + +template void impl_IMseSourceBuffer::TimestampOffset(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->put_TimestampOffset(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMseSourceBuffer::AppendWindowStart() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->get_AppendWindowStart(put_abi(value))); + return value; +} + +template void impl_IMseSourceBuffer::AppendWindowStart(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->put_AppendWindowStart(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IMseSourceBuffer::AppendWindowEnd() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMseSourceBuffer)->get_AppendWindowEnd(put_abi(value))); + return value; +} + +template void impl_IMseSourceBuffer::AppendWindowEnd(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->put_AppendWindowEnd(get_abi(value))); +} + +template void impl_IMseSourceBuffer::AppendBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->abi_AppendBuffer(get_abi(buffer))); +} + +template void impl_IMseSourceBuffer::AppendStream(const Windows::Storage::Streams::IInputStream & stream) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->abi_AppendStream(get_abi(stream))); +} + +template void impl_IMseSourceBuffer::AppendStream(const Windows::Storage::Streams::IInputStream & stream, uint64_t maxSize) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->abi_AppendStreamMaxSize(get_abi(stream), maxSize)); +} + +template void impl_IMseSourceBuffer::Abort() const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->abi_Abort()); +} + +template void impl_IMseSourceBuffer::Remove(const Windows::Foundation::TimeSpan & start, const optional & end) const +{ + check_hresult(WINRT_SHIM(IMseSourceBuffer)->abi_Remove(get_abi(start), get_abi(end))); +} + +template event_token impl_IMseSourceBufferList::SourceBufferAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseSourceBufferList)->add_SourceBufferAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseSourceBufferList::SourceBufferAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseSourceBufferList::remove_SourceBufferAdded, SourceBufferAdded(handler)); +} + +template void impl_IMseSourceBufferList::SourceBufferAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseSourceBufferList)->remove_SourceBufferAdded(token)); +} + +template event_token impl_IMseSourceBufferList::SourceBufferRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMseSourceBufferList)->add_SourceBufferRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMseSourceBufferList::SourceBufferRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMseSourceBufferList::remove_SourceBufferRemoved, SourceBufferRemoved(handler)); +} + +template void impl_IMseSourceBufferList::SourceBufferRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IMseSourceBufferList)->remove_SourceBufferRemoved(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IMseSourceBufferList::Buffers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMseSourceBufferList)->get_Buffers(put_abi(value))); + return value; +} + +template void impl_IHighDynamicRangeControl::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IHighDynamicRangeControl)->put_Enabled(value)); +} + +template bool impl_IHighDynamicRangeControl::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHighDynamicRangeControl)->get_Enabled(&value)); + return value; +} + +template Windows::Media::Core::HighDynamicRangeControl impl_ISceneAnalysisEffect::HighDynamicRangeAnalyzer() const +{ + Windows::Media::Core::HighDynamicRangeControl value { nullptr }; + check_hresult(WINRT_SHIM(ISceneAnalysisEffect)->get_HighDynamicRangeAnalyzer(put_abi(value))); + return value; +} + +template void impl_ISceneAnalysisEffect::DesiredAnalysisInterval(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISceneAnalysisEffect)->put_DesiredAnalysisInterval(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ISceneAnalysisEffect::DesiredAnalysisInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISceneAnalysisEffect)->get_DesiredAnalysisInterval(put_abi(value))); + return value; +} + +template event_token impl_ISceneAnalysisEffect::SceneAnalyzed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISceneAnalysisEffect)->add_SceneAnalyzed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ISceneAnalysisEffect::SceneAnalyzed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::ISceneAnalysisEffect::remove_SceneAnalyzed, SceneAnalyzed(handler)); +} + +template void impl_ISceneAnalysisEffect::SceneAnalyzed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISceneAnalysisEffect)->remove_SceneAnalyzed(cookie)); +} + +template double impl_IHighDynamicRangeOutput::Certainty() const +{ + double value {}; + check_hresult(WINRT_SHIM(IHighDynamicRangeOutput)->get_Certainty(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHighDynamicRangeOutput::FrameControllers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHighDynamicRangeOutput)->get_FrameControllers(put_abi(value))); + return value; +} + +template Windows::Media::Capture::CapturedFrameControlValues impl_ISceneAnalysisEffectFrame::FrameControlValues() const +{ + Windows::Media::Capture::CapturedFrameControlValues value { nullptr }; + check_hresult(WINRT_SHIM(ISceneAnalysisEffectFrame)->get_FrameControlValues(put_abi(value))); + return value; +} + +template Windows::Media::Core::HighDynamicRangeOutput impl_ISceneAnalysisEffectFrame::HighDynamicRange() const +{ + Windows::Media::Core::HighDynamicRangeOutput value { nullptr }; + check_hresult(WINRT_SHIM(ISceneAnalysisEffectFrame)->get_HighDynamicRange(put_abi(value))); + return value; +} + +template Windows::Media::Core::SceneAnalysisEffectFrame impl_ISceneAnalyzedEventArgs::ResultFrame() const +{ + Windows::Media::Core::SceneAnalysisEffectFrame value { nullptr }; + check_hresult(WINRT_SHIM(ISceneAnalyzedEventArgs)->get_ResultFrame(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IFaceDetectionEffectFrame::DetectedFaces() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFaceDetectionEffectFrame)->get_DetectedFaces(put_abi(value))); + return value; +} + +template Windows::Media::Core::FaceDetectionEffectFrame impl_IFaceDetectedEventArgs::ResultFrame() const +{ + Windows::Media::Core::FaceDetectionEffectFrame value { nullptr }; + check_hresult(WINRT_SHIM(IFaceDetectedEventArgs)->get_ResultFrame(put_abi(value))); + return value; +} + +template void impl_IFaceDetectionEffect::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IFaceDetectionEffect)->put_Enabled(value)); +} + +template bool impl_IFaceDetectionEffect::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFaceDetectionEffect)->get_Enabled(&value)); + return value; +} + +template void impl_IFaceDetectionEffect::DesiredDetectionInterval(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IFaceDetectionEffect)->put_DesiredDetectionInterval(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IFaceDetectionEffect::DesiredDetectionInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IFaceDetectionEffect)->get_DesiredDetectionInterval(put_abi(value))); + return value; +} + +template event_token impl_IFaceDetectionEffect::FaceDetected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IFaceDetectionEffect)->add_FaceDetected(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IFaceDetectionEffect::FaceDetected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IFaceDetectionEffect::remove_FaceDetected, FaceDetected(handler)); +} + +template void impl_IFaceDetectionEffect::FaceDetected(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IFaceDetectionEffect)->remove_FaceDetected(cookie)); +} + +template void impl_IFaceDetectionEffectDefinition::DetectionMode(Windows::Media::Core::FaceDetectionMode value) const +{ + check_hresult(WINRT_SHIM(IFaceDetectionEffectDefinition)->put_DetectionMode(value)); +} + +template Windows::Media::Core::FaceDetectionMode impl_IFaceDetectionEffectDefinition::DetectionMode() const +{ + Windows::Media::Core::FaceDetectionMode value {}; + check_hresult(WINRT_SHIM(IFaceDetectionEffectDefinition)->get_DetectionMode(&value)); + return value; +} + +template void impl_IFaceDetectionEffectDefinition::SynchronousDetectionEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IFaceDetectionEffectDefinition)->put_SynchronousDetectionEnabled(value)); +} + +template bool impl_IFaceDetectionEffectDefinition::SynchronousDetectionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFaceDetectionEffectDefinition)->get_SynchronousDetectionEnabled(&value)); + return value; +} + +template Windows::Media::Core::VideoStabilizationEffectEnabledChangedReason impl_IVideoStabilizationEffectEnabledChangedEventArgs::Reason() const +{ + Windows::Media::Core::VideoStabilizationEffectEnabledChangedReason value {}; + check_hresult(WINRT_SHIM(IVideoStabilizationEffectEnabledChangedEventArgs)->get_Reason(&value)); + return value; +} + +template void impl_IVideoStabilizationEffect::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IVideoStabilizationEffect)->put_Enabled(value)); +} + +template bool impl_IVideoStabilizationEffect::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVideoStabilizationEffect)->get_Enabled(&value)); + return value; +} + +template event_token impl_IVideoStabilizationEffect::EnabledChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IVideoStabilizationEffect)->add_EnabledChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IVideoStabilizationEffect::EnabledChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IVideoStabilizationEffect::remove_EnabledChanged, EnabledChanged(handler)); +} + +template void impl_IVideoStabilizationEffect::EnabledChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IVideoStabilizationEffect)->remove_EnabledChanged(cookie)); +} + +template Windows::Media::Capture::VideoStreamConfiguration impl_IVideoStabilizationEffect::GetRecommendedStreamConfiguration(const Windows::Media::Devices::VideoDeviceController & controller, const Windows::Media::MediaProperties::VideoEncodingProperties & desiredProperties) const +{ + Windows::Media::Capture::VideoStreamConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IVideoStabilizationEffect)->abi_GetRecommendedStreamConfiguration(get_abi(controller), get_abi(desiredProperties), put_abi(value))); + return value; +} + +template HRESULT impl_IMediaSourceError::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IMediaSourceError)->get_ExtendedError(&value)); + return value; +} + +template Windows::Media::Core::MediaSourceError impl_IMediaSourceOpenOperationCompletedEventArgs::Error() const +{ + Windows::Media::Core::MediaSourceError value { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceOpenOperationCompletedEventArgs)->get_Error(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaSourceState impl_IMediaSourceStateChangedEventArgs::OldState() const +{ + Windows::Media::Core::MediaSourceState value {}; + check_hresult(WINRT_SHIM(IMediaSourceStateChangedEventArgs)->get_OldState(&value)); + return value; +} + +template Windows::Media::Core::MediaSourceState impl_IMediaSourceStateChangedEventArgs::NewState() const +{ + Windows::Media::Core::MediaSourceState value {}; + check_hresult(WINRT_SHIM(IMediaSourceStateChangedEventArgs)->get_NewState(&value)); + return value; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromAdaptiveMediaSource(const Windows::Media::Streaming::Adaptive::AdaptiveMediaSource & mediaSource) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromAdaptiveMediaSource(get_abi(mediaSource), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromMediaStreamSource(const Windows::Media::Core::MediaStreamSource & mediaSource) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromMediaStreamSource(get_abi(mediaSource), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromMseStreamSource(const Windows::Media::Core::MseStreamSource & mediaSource) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromMseStreamSource(get_abi(mediaSource), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromIMediaSource(const Windows::Media::Core::IMediaSource & mediaSource) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromIMediaSource(get_abi(mediaSource), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromStorageFile(const Windows::Storage::IStorageFile & file) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromStorageFile(get_abi(file), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream, hstring_view contentType) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromStream(get_abi(stream), get_abi(contentType), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromStreamReference(const Windows::Storage::Streams::IRandomAccessStreamReference & stream, hstring_view contentType) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromStreamReference(get_abi(stream), get_abi(contentType), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics::CreateFromUri(const Windows::Foundation::Uri & uri) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics)->abi_CreateFromUri(get_abi(uri), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaSource impl_IMediaSourceStatics2::CreateFromMediaBinder(const Windows::Media::Core::MediaBinder & binder) const +{ + Windows::Media::Core::MediaSource result { nullptr }; + check_hresult(WINRT_SHIM(IMediaSourceStatics2)->abi_CreateFromMediaBinder(get_abi(binder), put_abi(result))); + return result; +} + +template event_token impl_IMediaBinder::Binding(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaBinder)->add_Binding(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaBinder::Binding(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaBinder::remove_Binding, Binding(handler)); +} + +template void impl_IMediaBinder::Binding(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaBinder)->remove_Binding(token)); +} + +template hstring impl_IMediaBinder::Token() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaBinder)->get_Token(put_abi(value))); + return value; +} + +template void impl_IMediaBinder::Token(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaBinder)->put_Token(get_abi(value))); +} + +template Windows::Media::Core::MediaSource impl_IMediaBinder::Source() const +{ + Windows::Media::Core::MediaSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBinder)->get_Source(put_abi(value))); + return value; +} + +template event_token impl_IMediaBindingEventArgs::Canceled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaBindingEventArgs)->add_Canceled(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaBindingEventArgs::Canceled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaBindingEventArgs::remove_Canceled, Canceled(handler)); +} + +template void impl_IMediaBindingEventArgs::Canceled(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaBindingEventArgs)->remove_Canceled(token)); +} + +template Windows::Media::Core::MediaBinder impl_IMediaBindingEventArgs::MediaBinder() const +{ + Windows::Media::Core::MediaBinder value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBindingEventArgs)->get_MediaBinder(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IMediaBindingEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IMediaBindingEventArgs)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_IMediaBindingEventArgs::SetUri(const Windows::Foundation::Uri & uri) const +{ + check_hresult(WINRT_SHIM(IMediaBindingEventArgs)->abi_SetUri(get_abi(uri))); +} + +template void impl_IMediaBindingEventArgs::SetStream(const Windows::Storage::Streams::IRandomAccessStream & stream, hstring_view contentType) const +{ + check_hresult(WINRT_SHIM(IMediaBindingEventArgs)->abi_SetStream(get_abi(stream), get_abi(contentType))); +} + +template void impl_IMediaBindingEventArgs::SetStreamReference(const Windows::Storage::Streams::IRandomAccessStreamReference & stream, hstring_view contentType) const +{ + check_hresult(WINRT_SHIM(IMediaBindingEventArgs)->abi_SetStreamReference(get_abi(stream), get_abi(contentType))); +} + +template void impl_IMediaBindingEventArgs2::SetAdaptiveMediaSource(const Windows::Media::Streaming::Adaptive::AdaptiveMediaSource & mediaSource) const +{ + check_hresult(WINRT_SHIM(IMediaBindingEventArgs2)->abi_SetAdaptiveMediaSource(get_abi(mediaSource))); +} + +template void impl_IMediaBindingEventArgs2::SetStorageFile(const Windows::Storage::IStorageFile & file) const +{ + check_hresult(WINRT_SHIM(IMediaBindingEventArgs2)->abi_SetStorageFile(get_abi(file))); +} + +template event_token impl_IMediaSource2::OpenOperationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaSource2)->add_OpenOperationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaSource2::OpenOperationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaSource2::remove_OpenOperationCompleted, OpenOperationCompleted(handler)); +} + +template void impl_IMediaSource2::OpenOperationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaSource2)->remove_OpenOperationCompleted(token)); +} + +template Windows::Foundation::Collections::ValueSet impl_IMediaSource2::CustomProperties() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IMediaSource2)->get_CustomProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IMediaSource2::Duration() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaSource2)->get_Duration(put_abi(value))); + return value; +} + +template bool impl_IMediaSource2::IsOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaSource2)->get_IsOpen(&value)); + return value; +} + +template Windows::Foundation::Collections::IObservableVector impl_IMediaSource2::ExternalTimedTextSources() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IMediaSource2)->get_ExternalTimedTextSources(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IObservableVector impl_IMediaSource2::ExternalTimedMetadataTracks() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IMediaSource2)->get_ExternalTimedMetadataTracks(put_abi(value))); + return value; +} + +template event_token impl_IMediaSource3::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaSource3)->add_StateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaSource3::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IMediaSource3::remove_StateChanged, StateChanged(handler)); +} + +template void impl_IMediaSource3::StateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaSource3)->remove_StateChanged(token)); +} + +template Windows::Media::Core::MediaSourceState impl_IMediaSource3::State() const +{ + Windows::Media::Core::MediaSourceState value {}; + check_hresult(WINRT_SHIM(IMediaSource3)->get_State(&value)); + return value; +} + +template void impl_IMediaSource3::Reset() const +{ + check_hresult(WINRT_SHIM(IMediaSource3)->abi_Reset()); +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSource impl_IMediaSource4::AdaptiveMediaSource() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaSource4)->get_AdaptiveMediaSource(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSource impl_IMediaSource4::MediaStreamSource() const +{ + Windows::Media::Core::MediaStreamSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaSource4)->get_MediaStreamSource(put_abi(value))); + return value; +} + +template Windows::Media::Core::MseStreamSource impl_IMediaSource4::MseStreamSource() const +{ + Windows::Media::Core::MseStreamSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaSource4)->get_MseStreamSource(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IMediaSource4::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IMediaSource4)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMediaSource4::OpenAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IMediaSource4)->abi_OpenAsync(put_abi(operation))); + return operation; +} + +template event_token impl_ISingleSelectMediaTrackList::SelectedIndexChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISingleSelectMediaTrackList)->add_SelectedIndexChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISingleSelectMediaTrackList::SelectedIndexChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::ISingleSelectMediaTrackList::remove_SelectedIndexChanged, SelectedIndexChanged(handler)); +} + +template void impl_ISingleSelectMediaTrackList::SelectedIndexChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISingleSelectMediaTrackList)->remove_SelectedIndexChanged(token)); +} + +template void impl_ISingleSelectMediaTrackList::SelectedIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISingleSelectMediaTrackList)->put_SelectedIndex(value)); +} + +template int32_t impl_ISingleSelectMediaTrackList::SelectedIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISingleSelectMediaTrackList)->get_SelectedIndex(&value)); + return value; +} + +template hstring impl_IMediaTrack::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaTrack)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IMediaTrack::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaTrack)->get_Language(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaTrackKind impl_IMediaTrack::TrackKind() const +{ + Windows::Media::Core::MediaTrackKind value {}; + check_hresult(WINRT_SHIM(IMediaTrack)->get_TrackKind(&value)); + return value; +} + +template void impl_IMediaTrack::Label(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaTrack)->put_Label(get_abi(value))); +} + +template hstring impl_IMediaTrack::Label() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaTrack)->get_Label(put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedMetadataTrackErrorCode impl_ITimedMetadataTrackError::ErrorCode() const +{ + Windows::Media::Core::TimedMetadataTrackErrorCode value {}; + check_hresult(WINRT_SHIM(ITimedMetadataTrackError)->get_ErrorCode(&value)); + return value; +} + +template HRESULT impl_ITimedMetadataTrackError::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(ITimedMetadataTrackError)->get_ExtendedError(&value)); + return value; +} + +template Windows::Media::Core::IMediaCue impl_IMediaCueEventArgs::Cue() const +{ + Windows::Media::Core::IMediaCue value; + check_hresult(WINRT_SHIM(IMediaCueEventArgs)->get_Cue(put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedMetadataTrackError impl_ITimedMetadataTrackFailedEventArgs::Error() const +{ + Windows::Media::Core::TimedMetadataTrackError value { nullptr }; + check_hresult(WINRT_SHIM(ITimedMetadataTrackFailedEventArgs)->get_Error(put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedMetadataTrack impl_ITimedMetadataTrackFactory::Create(hstring_view id, hstring_view language, Windows::Media::Core::TimedMetadataKind kind) const +{ + Windows::Media::Core::TimedMetadataTrack value { nullptr }; + check_hresult(WINRT_SHIM(ITimedMetadataTrackFactory)->abi_Create(get_abi(id), get_abi(language), kind, put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITimedMetadataTrackProvider::TimedMetadataTracks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITimedMetadataTrackProvider)->get_TimedMetadataTracks(put_abi(value))); + return value; +} + +template event_token impl_ITimedMetadataTrack::CueEntered(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->add_CueEntered(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ITimedMetadataTrack::CueEntered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::ITimedMetadataTrack::remove_CueEntered, CueEntered(handler)); +} + +template void impl_ITimedMetadataTrack::CueEntered(event_token token) const +{ + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->remove_CueEntered(token)); +} + +template event_token impl_ITimedMetadataTrack::CueExited(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->add_CueExited(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ITimedMetadataTrack::CueExited(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::ITimedMetadataTrack::remove_CueExited, CueExited(handler)); +} + +template void impl_ITimedMetadataTrack::CueExited(event_token token) const +{ + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->remove_CueExited(token)); +} + +template event_token impl_ITimedMetadataTrack::TrackFailed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->add_TrackFailed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ITimedMetadataTrack::TrackFailed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::ITimedMetadataTrack::remove_TrackFailed, TrackFailed(handler)); +} + +template void impl_ITimedMetadataTrack::TrackFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->remove_TrackFailed(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_ITimedMetadataTrack::Cues() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->get_Cues(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITimedMetadataTrack::ActiveCues() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->get_ActiveCues(put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedMetadataKind impl_ITimedMetadataTrack::TimedMetadataKind() const +{ + Windows::Media::Core::TimedMetadataKind value {}; + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->get_TimedMetadataKind(&value)); + return value; +} + +template hstring impl_ITimedMetadataTrack::DispatchType() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->get_DispatchType(put_abi(value))); + return value; +} + +template void impl_ITimedMetadataTrack::AddCue(const Windows::Media::Core::IMediaCue & cue) const +{ + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->abi_AddCue(get_abi(cue))); +} + +template void impl_ITimedMetadataTrack::RemoveCue(const Windows::Media::Core::IMediaCue & cue) const +{ + check_hresult(WINRT_SHIM(ITimedMetadataTrack)->abi_RemoveCue(get_abi(cue))); +} + +template Windows::Media::Core::TimedMetadataTrackError impl_ITimedTextSourceResolveResultEventArgs::Error() const +{ + Windows::Media::Core::TimedMetadataTrackError value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceResolveResultEventArgs)->get_Error(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITimedTextSourceResolveResultEventArgs::Tracks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITimedTextSourceResolveResultEventArgs)->get_Tracks(put_abi(value))); + return value; +} + +template event_token impl_ITimedTextSource::Resolved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITimedTextSource)->add_Resolved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ITimedTextSource::Resolved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::ITimedTextSource::remove_Resolved, Resolved(handler)); +} + +template void impl_ITimedTextSource::Resolved(event_token token) const +{ + check_hresult(WINRT_SHIM(ITimedTextSource)->remove_Resolved(token)); +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Media::Core::TimedTextSource value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics)->abi_CreateFromStream(get_abi(stream), put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics::CreateFromUri(const Windows::Foundation::Uri & uri) const +{ + Windows::Media::Core::TimedTextSource value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics)->abi_CreateFromUri(get_abi(uri), put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream, hstring_view defaultLanguage) const +{ + Windows::Media::Core::TimedTextSource value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics)->abi_CreateFromStreamWithLanguage(get_abi(stream), get_abi(defaultLanguage), put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics::CreateFromUri(const Windows::Foundation::Uri & uri, hstring_view defaultLanguage) const +{ + Windows::Media::Core::TimedTextSource value { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics)->abi_CreateFromUriWithLanguage(get_abi(uri), get_abi(defaultLanguage), put_abi(value))); + return value; +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics2::CreateFromStreamWithIndex(const Windows::Storage::Streams::IRandomAccessStream & stream, const Windows::Storage::Streams::IRandomAccessStream & indexStream) const +{ + Windows::Media::Core::TimedTextSource result { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics2)->abi_CreateFromStreamWithIndex(get_abi(stream), get_abi(indexStream), put_abi(result))); + return result; +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics2::CreateFromUriWithIndex(const Windows::Foundation::Uri & uri, const Windows::Foundation::Uri & indexUri) const +{ + Windows::Media::Core::TimedTextSource result { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics2)->abi_CreateFromUriWithIndex(get_abi(uri), get_abi(indexUri), put_abi(result))); + return result; +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics2::CreateFromStreamWithIndex(const Windows::Storage::Streams::IRandomAccessStream & stream, const Windows::Storage::Streams::IRandomAccessStream & indexStream, hstring_view defaultLanguage) const +{ + Windows::Media::Core::TimedTextSource result { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics2)->abi_CreateFromStreamWithIndexAndLanguage(get_abi(stream), get_abi(indexStream), get_abi(defaultLanguage), put_abi(result))); + return result; +} + +template Windows::Media::Core::TimedTextSource impl_ITimedTextSourceStatics2::CreateFromUriWithIndex(const Windows::Foundation::Uri & uri, const Windows::Foundation::Uri & indexUri, hstring_view defaultLanguage) const +{ + Windows::Media::Core::TimedTextSource result { nullptr }; + check_hresult(WINRT_SHIM(ITimedTextSourceStatics2)->abi_CreateFromUriWithIndexAndLanguage(get_abi(uri), get_abi(indexUri), get_abi(defaultLanguage), put_abi(result))); + return result; +} + +template Windows::Media::Core::MediaDecoderStatus impl_IVideoTrackSupportInfo::DecoderStatus() const +{ + Windows::Media::Core::MediaDecoderStatus value {}; + check_hresult(WINRT_SHIM(IVideoTrackSupportInfo)->get_DecoderStatus(&value)); + return value; +} + +template Windows::Media::Core::MediaSourceStatus impl_IVideoTrackSupportInfo::MediaSourceStatus() const +{ + Windows::Media::Core::MediaSourceStatus value {}; + check_hresult(WINRT_SHIM(IVideoTrackSupportInfo)->get_MediaSourceStatus(&value)); + return value; +} + +template Windows::Media::Core::MediaDecoderStatus impl_IAudioTrackSupportInfo::DecoderStatus() const +{ + Windows::Media::Core::MediaDecoderStatus value {}; + check_hresult(WINRT_SHIM(IAudioTrackSupportInfo)->get_DecoderStatus(&value)); + return value; +} + +template Windows::Media::Core::AudioDecoderDegradation impl_IAudioTrackSupportInfo::Degradation() const +{ + Windows::Media::Core::AudioDecoderDegradation value {}; + check_hresult(WINRT_SHIM(IAudioTrackSupportInfo)->get_Degradation(&value)); + return value; +} + +template Windows::Media::Core::AudioDecoderDegradationReason impl_IAudioTrackSupportInfo::DegradationReason() const +{ + Windows::Media::Core::AudioDecoderDegradationReason value {}; + check_hresult(WINRT_SHIM(IAudioTrackSupportInfo)->get_DegradationReason(&value)); + return value; +} + +template Windows::Media::Core::MediaSourceStatus impl_IAudioTrackSupportInfo::MediaSourceStatus() const +{ + Windows::Media::Core::MediaSourceStatus value {}; + check_hresult(WINRT_SHIM(IAudioTrackSupportInfo)->get_MediaSourceStatus(&value)); + return value; +} + +template HRESULT impl_IVideoTrackOpenFailedEventArgs::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IVideoTrackOpenFailedEventArgs)->get_ExtendedError(&value)); + return value; +} + +template HRESULT impl_IAudioTrackOpenFailedEventArgs::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IAudioTrackOpenFailedEventArgs)->get_ExtendedError(&value)); + return value; +} + +template event_token impl_IVideoTrack::OpenFailed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVideoTrack)->add_OpenFailed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVideoTrack::OpenFailed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IVideoTrack::remove_OpenFailed, OpenFailed(handler)); +} + +template void impl_IVideoTrack::OpenFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IVideoTrack)->remove_OpenFailed(token)); +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoTrack::GetEncodingProperties() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IVideoTrack)->abi_GetEncodingProperties(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IVideoTrack::PlaybackItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IVideoTrack)->get_PlaybackItem(put_abi(value))); + return value; +} + +template hstring impl_IVideoTrack::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoTrack)->get_Name(put_abi(value))); + return value; +} + +template Windows::Media::Core::VideoTrackSupportInfo impl_IVideoTrack::SupportInfo() const +{ + Windows::Media::Core::VideoTrackSupportInfo value { nullptr }; + check_hresult(WINRT_SHIM(IVideoTrack)->get_SupportInfo(put_abi(value))); + return value; +} + +template event_token impl_IAudioTrack::OpenFailed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioTrack)->add_OpenFailed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioTrack::OpenFailed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Core::IAudioTrack::remove_OpenFailed, OpenFailed(handler)); +} + +template void impl_IAudioTrack::OpenFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioTrack)->remove_OpenFailed(token)); +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioTrack::GetEncodingProperties() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioTrack)->abi_GetEncodingProperties(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IAudioTrack::PlaybackItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IAudioTrack)->get_PlaybackItem(put_abi(value))); + return value; +} + +template hstring impl_IAudioTrack::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAudioTrack)->get_Name(put_abi(value))); + return value; +} + +template Windows::Media::Core::AudioTrackSupportInfo impl_IAudioTrack::SupportInfo() const +{ + Windows::Media::Core::AudioTrackSupportInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAudioTrack)->get_SupportInfo(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_ITimedMetadataTrack2::PlaybackItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(ITimedMetadataTrack2)->get_PlaybackItem(put_abi(value))); + return value; +} + +template hstring impl_ITimedMetadataTrack2::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimedMetadataTrack2)->get_Name(put_abi(value))); + return value; +} + +template Windows::Media::Core::CodecKind impl_ICodecInfo::Kind() const +{ + Windows::Media::Core::CodecKind value {}; + check_hresult(WINRT_SHIM(ICodecInfo)->get_Kind(&value)); + return value; +} + +template Windows::Media::Core::CodecCategory impl_ICodecInfo::Category() const +{ + Windows::Media::Core::CodecCategory value {}; + check_hresult(WINRT_SHIM(ICodecInfo)->get_Category(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICodecInfo::Subtypes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICodecInfo)->get_Subtypes(put_abi(value))); + return value; +} + +template hstring impl_ICodecInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template bool impl_ICodecInfo::IsTrusted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICodecInfo)->get_IsTrusted(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ICodecQuery::FindAllAsync(Windows::Media::Core::CodecKind kind, Windows::Media::Core::CodecCategory category, hstring_view subType) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(ICodecQuery)->abi_FindAllAsync(kind, category, get_abi(subType), put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatDV25() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatDV25(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatDV50() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatDV50(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatDvc() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatDvc(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatDvh1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatDvh1(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatDvhD() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatDvhD(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatDvsd() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatDvsd(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatDvsl() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatDvsl(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatH263() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatH263(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatH264() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatH264(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatH265() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatH265(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatH264ES() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatH264ES(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatHevc() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatHevc(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatHevcES() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatHevcES(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatM4S2() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatM4S2(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMjpg() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMjpg(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMP43() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMP43(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMP4S() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMP4S(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMP4V() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMP4V(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMpeg2() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMpeg2(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatVP80() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatVP80(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatVP90() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatVP90(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMpg1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMpg1(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMss1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMss1(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatMss2() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatMss2(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatWmv1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatWmv1(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatWmv2() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatWmv2(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatWmv3() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatWmv3(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormatWvc1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormatWvc1(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::VideoFormat420O() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_VideoFormat420O(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatAac() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatAac(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatAdts() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatAdts(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatAlac() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatAlac(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatAmrNB() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatAmrNB(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatAmrWB() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatAmrWB(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatAmrWP() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatAmrWP(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatDolbyAC3() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatDolbyAC3(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatDolbyAC3Spdif() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatDolbyAC3Spdif(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatDolbyDDPlus() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatDolbyDDPlus(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatDrm() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatDrm(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatDts() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatDts(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatFlac() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatFlac(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatFloat() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatFloat(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatMP3() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatMP3(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatMPeg() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatMPeg(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatMsp1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatMsp1(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatOpus() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatOpus(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatPcm() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatPcm(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatWmaSpdif() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatWmaSpdif(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatWMAudioLossless() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatWMAudioLossless(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatWMAudioV8() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatWMAudioV8(put_abi(value))); + return value; +} + +template hstring impl_ICodecSubtypesStatics::AudioFormatWMAudioV9() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICodecSubtypesStatics)->get_AudioFormatWMAudioV9(put_abi(value))); + return value; +} + +inline AudioStreamDescriptor::AudioStreamDescriptor(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties) : + AudioStreamDescriptor(get_activation_factory().Create(encodingProperties)) +{} + +inline ChapterCue::ChapterCue() : + ChapterCue(activate_instance()) +{} + +inline CodecQuery::CodecQuery() : + CodecQuery(activate_instance()) +{} + +inline hstring CodecSubtypes::VideoFormatDV25() +{ + return get_activation_factory().VideoFormatDV25(); +} + +inline hstring CodecSubtypes::VideoFormatDV50() +{ + return get_activation_factory().VideoFormatDV50(); +} + +inline hstring CodecSubtypes::VideoFormatDvc() +{ + return get_activation_factory().VideoFormatDvc(); +} + +inline hstring CodecSubtypes::VideoFormatDvh1() +{ + return get_activation_factory().VideoFormatDvh1(); +} + +inline hstring CodecSubtypes::VideoFormatDvhD() +{ + return get_activation_factory().VideoFormatDvhD(); +} + +inline hstring CodecSubtypes::VideoFormatDvsd() +{ + return get_activation_factory().VideoFormatDvsd(); +} + +inline hstring CodecSubtypes::VideoFormatDvsl() +{ + return get_activation_factory().VideoFormatDvsl(); +} + +inline hstring CodecSubtypes::VideoFormatH263() +{ + return get_activation_factory().VideoFormatH263(); +} + +inline hstring CodecSubtypes::VideoFormatH264() +{ + return get_activation_factory().VideoFormatH264(); +} + +inline hstring CodecSubtypes::VideoFormatH265() +{ + return get_activation_factory().VideoFormatH265(); +} + +inline hstring CodecSubtypes::VideoFormatH264ES() +{ + return get_activation_factory().VideoFormatH264ES(); +} + +inline hstring CodecSubtypes::VideoFormatHevc() +{ + return get_activation_factory().VideoFormatHevc(); +} + +inline hstring CodecSubtypes::VideoFormatHevcES() +{ + return get_activation_factory().VideoFormatHevcES(); +} + +inline hstring CodecSubtypes::VideoFormatM4S2() +{ + return get_activation_factory().VideoFormatM4S2(); +} + +inline hstring CodecSubtypes::VideoFormatMjpg() +{ + return get_activation_factory().VideoFormatMjpg(); +} + +inline hstring CodecSubtypes::VideoFormatMP43() +{ + return get_activation_factory().VideoFormatMP43(); +} + +inline hstring CodecSubtypes::VideoFormatMP4S() +{ + return get_activation_factory().VideoFormatMP4S(); +} + +inline hstring CodecSubtypes::VideoFormatMP4V() +{ + return get_activation_factory().VideoFormatMP4V(); +} + +inline hstring CodecSubtypes::VideoFormatMpeg2() +{ + return get_activation_factory().VideoFormatMpeg2(); +} + +inline hstring CodecSubtypes::VideoFormatVP80() +{ + return get_activation_factory().VideoFormatVP80(); +} + +inline hstring CodecSubtypes::VideoFormatVP90() +{ + return get_activation_factory().VideoFormatVP90(); +} + +inline hstring CodecSubtypes::VideoFormatMpg1() +{ + return get_activation_factory().VideoFormatMpg1(); +} + +inline hstring CodecSubtypes::VideoFormatMss1() +{ + return get_activation_factory().VideoFormatMss1(); +} + +inline hstring CodecSubtypes::VideoFormatMss2() +{ + return get_activation_factory().VideoFormatMss2(); +} + +inline hstring CodecSubtypes::VideoFormatWmv1() +{ + return get_activation_factory().VideoFormatWmv1(); +} + +inline hstring CodecSubtypes::VideoFormatWmv2() +{ + return get_activation_factory().VideoFormatWmv2(); +} + +inline hstring CodecSubtypes::VideoFormatWmv3() +{ + return get_activation_factory().VideoFormatWmv3(); +} + +inline hstring CodecSubtypes::VideoFormatWvc1() +{ + return get_activation_factory().VideoFormatWvc1(); +} + +inline hstring CodecSubtypes::VideoFormat420O() +{ + return get_activation_factory().VideoFormat420O(); +} + +inline hstring CodecSubtypes::AudioFormatAac() +{ + return get_activation_factory().AudioFormatAac(); +} + +inline hstring CodecSubtypes::AudioFormatAdts() +{ + return get_activation_factory().AudioFormatAdts(); +} + +inline hstring CodecSubtypes::AudioFormatAlac() +{ + return get_activation_factory().AudioFormatAlac(); +} + +inline hstring CodecSubtypes::AudioFormatAmrNB() +{ + return get_activation_factory().AudioFormatAmrNB(); +} + +inline hstring CodecSubtypes::AudioFormatAmrWB() +{ + return get_activation_factory().AudioFormatAmrWB(); +} + +inline hstring CodecSubtypes::AudioFormatAmrWP() +{ + return get_activation_factory().AudioFormatAmrWP(); +} + +inline hstring CodecSubtypes::AudioFormatDolbyAC3() +{ + return get_activation_factory().AudioFormatDolbyAC3(); +} + +inline hstring CodecSubtypes::AudioFormatDolbyAC3Spdif() +{ + return get_activation_factory().AudioFormatDolbyAC3Spdif(); +} + +inline hstring CodecSubtypes::AudioFormatDolbyDDPlus() +{ + return get_activation_factory().AudioFormatDolbyDDPlus(); +} + +inline hstring CodecSubtypes::AudioFormatDrm() +{ + return get_activation_factory().AudioFormatDrm(); +} + +inline hstring CodecSubtypes::AudioFormatDts() +{ + return get_activation_factory().AudioFormatDts(); +} + +inline hstring CodecSubtypes::AudioFormatFlac() +{ + return get_activation_factory().AudioFormatFlac(); +} + +inline hstring CodecSubtypes::AudioFormatFloat() +{ + return get_activation_factory().AudioFormatFloat(); +} + +inline hstring CodecSubtypes::AudioFormatMP3() +{ + return get_activation_factory().AudioFormatMP3(); +} + +inline hstring CodecSubtypes::AudioFormatMPeg() +{ + return get_activation_factory().AudioFormatMPeg(); +} + +inline hstring CodecSubtypes::AudioFormatMsp1() +{ + return get_activation_factory().AudioFormatMsp1(); +} + +inline hstring CodecSubtypes::AudioFormatOpus() +{ + return get_activation_factory().AudioFormatOpus(); +} + +inline hstring CodecSubtypes::AudioFormatPcm() +{ + return get_activation_factory().AudioFormatPcm(); +} + +inline hstring CodecSubtypes::AudioFormatWmaSpdif() +{ + return get_activation_factory().AudioFormatWmaSpdif(); +} + +inline hstring CodecSubtypes::AudioFormatWMAudioLossless() +{ + return get_activation_factory().AudioFormatWMAudioLossless(); +} + +inline hstring CodecSubtypes::AudioFormatWMAudioV8() +{ + return get_activation_factory().AudioFormatWMAudioV8(); +} + +inline hstring CodecSubtypes::AudioFormatWMAudioV9() +{ + return get_activation_factory().AudioFormatWMAudioV9(); +} + +inline DataCue::DataCue() : + DataCue(activate_instance()) +{} + +inline FaceDetectionEffectDefinition::FaceDetectionEffectDefinition() : + FaceDetectionEffectDefinition(activate_instance()) +{} + +inline ImageCue::ImageCue() : + ImageCue(activate_instance()) +{} + +inline MediaBinder::MediaBinder() : + MediaBinder(activate_instance()) +{} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromAdaptiveMediaSource(const Windows::Media::Streaming::Adaptive::AdaptiveMediaSource & mediaSource) +{ + return get_activation_factory().CreateFromAdaptiveMediaSource(mediaSource); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromMediaStreamSource(const Windows::Media::Core::MediaStreamSource & mediaSource) +{ + return get_activation_factory().CreateFromMediaStreamSource(mediaSource); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromMseStreamSource(const Windows::Media::Core::MseStreamSource & mediaSource) +{ + return get_activation_factory().CreateFromMseStreamSource(mediaSource); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromIMediaSource(const Windows::Media::Core::IMediaSource & mediaSource) +{ + return get_activation_factory().CreateFromIMediaSource(mediaSource); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromStorageFile(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().CreateFromStorageFile(file); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream, hstring_view contentType) +{ + return get_activation_factory().CreateFromStream(stream, contentType); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromStreamReference(const Windows::Storage::Streams::IRandomAccessStreamReference & stream, hstring_view contentType) +{ + return get_activation_factory().CreateFromStreamReference(stream, contentType); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromUri(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().CreateFromUri(uri); +} + +inline Windows::Media::Core::MediaSource MediaSource::CreateFromMediaBinder(const Windows::Media::Core::MediaBinder & binder) +{ + return get_activation_factory().CreateFromMediaBinder(binder); +} + +inline Windows::Media::Core::MediaStreamSample MediaStreamSample::CreateFromBuffer(const Windows::Storage::Streams::IBuffer & buffer, const Windows::Foundation::TimeSpan & timestamp) +{ + return get_activation_factory().CreateFromBuffer(buffer, timestamp); +} + +inline Windows::Foundation::IAsyncOperation MediaStreamSample::CreateFromStreamAsync(const Windows::Storage::Streams::IInputStream & stream, uint32_t count, const Windows::Foundation::TimeSpan & timestamp) +{ + return get_activation_factory().CreateFromStreamAsync(stream, count, timestamp); +} + +inline MediaStreamSource::MediaStreamSource(const Windows::Media::Core::IMediaStreamDescriptor & descriptor) : + MediaStreamSource(get_activation_factory().CreateFromDescriptor(descriptor)) +{} + +inline MediaStreamSource::MediaStreamSource(const Windows::Media::Core::IMediaStreamDescriptor & descriptor, const Windows::Media::Core::IMediaStreamDescriptor & descriptor2) : + MediaStreamSource(get_activation_factory().CreateFromDescriptors(descriptor, descriptor2)) +{} + +inline MseStreamSource::MseStreamSource() : + MseStreamSource(activate_instance()) +{} + +inline bool MseStreamSource::IsContentTypeSupported(hstring_view contentType) +{ + return get_activation_factory().IsContentTypeSupported(contentType); +} + +inline SceneAnalysisEffectDefinition::SceneAnalysisEffectDefinition() : + SceneAnalysisEffectDefinition(activate_instance()) +{} + +inline SpeechCue::SpeechCue() : + SpeechCue(activate_instance()) +{} + +inline TimedMetadataTrack::TimedMetadataTrack(hstring_view id, hstring_view language, Windows::Media::Core::TimedMetadataKind kind) : + TimedMetadataTrack(get_activation_factory().Create(id, language, kind)) +{} + +inline TimedTextCue::TimedTextCue() : + TimedTextCue(activate_instance()) +{} + +inline TimedTextLine::TimedTextLine() : + TimedTextLine(activate_instance()) +{} + +inline TimedTextRegion::TimedTextRegion() : + TimedTextRegion(activate_instance()) +{} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream) +{ + return get_activation_factory().CreateFromStream(stream); +} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromUri(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().CreateFromUri(uri); +} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream, hstring_view defaultLanguage) +{ + return get_activation_factory().CreateFromStream(stream, defaultLanguage); +} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromUri(const Windows::Foundation::Uri & uri, hstring_view defaultLanguage) +{ + return get_activation_factory().CreateFromUri(uri, defaultLanguage); +} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromStreamWithIndex(const Windows::Storage::Streams::IRandomAccessStream & stream, const Windows::Storage::Streams::IRandomAccessStream & indexStream) +{ + return get_activation_factory().CreateFromStreamWithIndex(stream, indexStream); +} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromUriWithIndex(const Windows::Foundation::Uri & uri, const Windows::Foundation::Uri & indexUri) +{ + return get_activation_factory().CreateFromUriWithIndex(uri, indexUri); +} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromStreamWithIndex(const Windows::Storage::Streams::IRandomAccessStream & stream, const Windows::Storage::Streams::IRandomAccessStream & indexStream, hstring_view defaultLanguage) +{ + return get_activation_factory().CreateFromStreamWithIndex(stream, indexStream, defaultLanguage); +} + +inline Windows::Media::Core::TimedTextSource TimedTextSource::CreateFromUriWithIndex(const Windows::Foundation::Uri & uri, const Windows::Foundation::Uri & indexUri, hstring_view defaultLanguage) +{ + return get_activation_factory().CreateFromUriWithIndex(uri, indexUri, defaultLanguage); +} + +inline TimedTextStyle::TimedTextStyle() : + TimedTextStyle(activate_instance()) +{} + +inline TimedTextSubformat::TimedTextSubformat() : + TimedTextSubformat(activate_instance()) +{} + +inline VideoStabilizationEffectDefinition::VideoStabilizationEffectDefinition() : + VideoStabilizationEffectDefinition(activate_instance()) +{} + +inline VideoStreamDescriptor::VideoStreamDescriptor(const Windows::Media::MediaProperties::VideoEncodingProperties & encodingProperties) : + VideoStreamDescriptor(get_activation_factory().Create(encodingProperties)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IAudioStreamDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IAudioStreamDescriptor2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IAudioStreamDescriptorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IAudioTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IAudioTrackOpenFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IAudioTrackSupportInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IChapterCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ICodecInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ICodecQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ICodecSubtypesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IDataCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IDataCue2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IFaceDetectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IFaceDetectionEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IFaceDetectionEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IFaceDetectionEffectFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IHighDynamicRangeControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IHighDynamicRangeOutput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IImageCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaBinder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaBindingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaBindingEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaCueEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSource3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSource4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSourceError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSourceOpenOperationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSourceStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaSourceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSample & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSampleProtectionProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSampleStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSource3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceClosedRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceSampleRenderedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceSampleRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceSampleRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceSampleRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceStartingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceStartingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceStartingRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceSwitchStreamsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceSwitchStreamsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaStreamSourceSwitchStreamsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMediaTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMseSourceBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMseSourceBufferList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMseStreamSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IMseStreamSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ISceneAnalysisEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ISceneAnalysisEffectFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ISceneAnalyzedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ISingleSelectMediaTrackList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ISpeechCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedMetadataTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedMetadataTrack2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedMetadataTrackError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedMetadataTrackFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedMetadataTrackFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedMetadataTrackProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextRegion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextSourceResolveResultEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextSourceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextStyle & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextStyle2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ITimedTextSubformat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IVideoStabilizationEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IVideoStabilizationEffectEnabledChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IVideoStreamDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IVideoStreamDescriptorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IVideoTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IVideoTrackOpenFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::IVideoTrackSupportInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::AudioStreamDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::AudioTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::AudioTrackOpenFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::AudioTrackSupportInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ChapterCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::CodecInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::CodecQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::DataCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::FaceDetectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::FaceDetectionEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::FaceDetectionEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::FaceDetectionEffectFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::HighDynamicRangeControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::HighDynamicRangeOutput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::ImageCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaBinder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaBindingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaCueEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaSourceError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaSourceOpenOperationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaSourceStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSample & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSamplePropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSampleProtectionProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceClosedRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceSampleRenderedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceSampleRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceSampleRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceSampleRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceStartingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceStartingRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceStartingRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceSwitchStreamsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceSwitchStreamsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MediaStreamSourceSwitchStreamsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MseSourceBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MseSourceBufferList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::MseStreamSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::SceneAnalysisEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::SceneAnalysisEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::SceneAnalysisEffectFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::SceneAnalyzedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::SpeechCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedMetadataTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedMetadataTrackError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedMetadataTrackFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedTextCue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedTextLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedTextRegion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedTextSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedTextSourceResolveResultEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedTextStyle & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::TimedTextSubformat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::VideoStabilizationEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::VideoStabilizationEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::VideoStabilizationEffectEnabledChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::VideoStreamDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::VideoTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::VideoTrackOpenFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Core::VideoTrackSupportInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Devices.Core.h b/10.0.15042.0/winrt/Windows.Media.Devices.Core.h new file mode 100644 index 000000000..51ae5410a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Devices.Core.h @@ -0,0 +1,2079 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Perception.Spatial.3.h" +#include "internal/Windows.Media.Devices.Core.3.h" +#include "Windows.Media.Devices.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FocalLength(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocalLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrincipalPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrincipalPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RadialDistortion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RadialDistortion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TangentialDistortion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TangentialDistortion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProjectOntoFrame(impl::abi_arg_in coordinate, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProjectOntoFrame(*reinterpret_cast(&coordinate))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprojectAtUnitDepth(impl::abi_arg_in pixelCoordinate, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprojectAtUnitDepth(*reinterpret_cast(&pixelCoordinate))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProjectManyOntoFrame(uint32_t __coordinatesSize, impl::abi_arg_in * coordinates, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProjectManyOntoFrame(*reinterpret_cast(&coordinates), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprojectPixelsAtUnitDepth(uint32_t __pixelCoordinatesSize, impl::abi_arg_in * pixelCoordinates, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnprojectPixelsAtUnitDepth(*reinterpret_cast(&pixelCoordinates), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UndistortedProjectionTransform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UndistortedProjectionTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DistortPoint(impl::abi_arg_in input, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DistortPoint(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DistortPoints(uint32_t __inputsSize, impl::abi_arg_in * inputs, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DistortPoints(*reinterpret_cast(&inputs), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UndistortPoint(impl::abi_arg_in input, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UndistortPoint(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UndistortPoints(uint32_t __inputsSize, impl::abi_arg_in * inputs, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UndistortPoints(*reinterpret_cast(&inputs), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in focalLength, impl::abi_arg_in principalPoint, impl::abi_arg_in radialDistortion, impl::abi_arg_in tangentialDistortion, uint32_t imageWidth, uint32_t imageHeight, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&focalLength), *reinterpret_cast(&principalPoint), *reinterpret_cast(&radialDistortion), *reinterpret_cast(&tangentialDistortion), imageWidth, imageHeight)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UnprojectPoint(impl::abi_arg_in sourcePoint, impl::abi_arg_in targetCoordinateSystem, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprojectPoint(*reinterpret_cast(&sourcePoint), *reinterpret_cast(&targetCoordinateSystem))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprojectPoints(uint32_t __sourcePointsSize, impl::abi_arg_in * sourcePoints, impl::abi_arg_in targetCoordinateSystem, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnprojectPoints(*reinterpret_cast(&sourcePoints), *reinterpret_cast(&targetCoordinateSystem), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MapPoint(impl::abi_arg_in sourcePoint, impl::abi_arg_in targetCoordinateSystem, impl::abi_arg_in targetCameraIntrinsics, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().MapPoint(*reinterpret_cast(&sourcePoint), *reinterpret_cast(&targetCoordinateSystem), *reinterpret_cast(&targetCameraIntrinsics))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MapPoints(uint32_t __sourcePointsSize, impl::abi_arg_in * sourcePoints, impl::abi_arg_in targetCoordinateSystem, impl::abi_arg_in targetCameraIntrinsics, uint32_t __resultsSize, impl::abi_arg_out results) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapPoints(*reinterpret_cast(&sourcePoints), *reinterpret_cast(&targetCoordinateSystem), *reinterpret_cast(&targetCameraIntrinsics), *results); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Exposure(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exposure()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExposureCompensation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureCompensation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsoSpeed(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsoSpeed()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Focus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Focus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotoConfirmationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotoConfirmationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Flash(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flash()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExposureControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExposureCompensationControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureCompensationControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsoSpeedControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsoSpeedControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotoConfirmationEnabled(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotoConfirmationEnabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhotoConfirmationEnabled(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotoConfirmationEnabled(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FlashControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlashControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Auto(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Auto()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Auto(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Auto(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RedEyeReductionSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RedEyeReductionSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::Media::Devices::Core::FrameFlashMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Media::Devices::Core::FrameFlashMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Auto(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Auto()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Auto(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Auto(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RedEyeReduction(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RedEyeReduction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RedEyeReduction(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RedEyeReduction(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerPercent(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerPercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PowerPercent(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PowerPercent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Auto(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Auto()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Auto(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Auto(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPhotosPerSecond(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPhotosPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosPerSecondLimit(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosPerSecondLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhotosPerSecondLimit(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotosPerSecondLimit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHighestConcurrentFrameRate(impl::abi_arg_in captureProperties, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetHighestConcurrentFrameRate(*reinterpret_cast(&captureProperties))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentFrameRate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentFrameRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameCapabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameCapabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredFrameControllers(impl::abi_arg_out> items) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *items = detach_abi(this->shim().DesiredFrameControllers()); + return S_OK; + } + catch (...) + { + *items = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Devices::Core { + +template bool impl_IFrameExposureCapabilities::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameExposureCapabilities)->get_Supported(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IFrameExposureCapabilities::Min() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IFrameExposureCapabilities)->get_Min(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IFrameExposureCapabilities::Max() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IFrameExposureCapabilities)->get_Max(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IFrameExposureCapabilities::Step() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IFrameExposureCapabilities)->get_Step(put_abi(value))); + return value; +} + +template bool impl_IFrameExposureCompensationCapabilities::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameExposureCompensationCapabilities)->get_Supported(&value)); + return value; +} + +template float impl_IFrameExposureCompensationCapabilities::Min() const +{ + float value {}; + check_hresult(WINRT_SHIM(IFrameExposureCompensationCapabilities)->get_Min(&value)); + return value; +} + +template float impl_IFrameExposureCompensationCapabilities::Max() const +{ + float value {}; + check_hresult(WINRT_SHIM(IFrameExposureCompensationCapabilities)->get_Max(&value)); + return value; +} + +template float impl_IFrameExposureCompensationCapabilities::Step() const +{ + float value {}; + check_hresult(WINRT_SHIM(IFrameExposureCompensationCapabilities)->get_Step(&value)); + return value; +} + +template bool impl_IFrameIsoSpeedCapabilities::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameIsoSpeedCapabilities)->get_Supported(&value)); + return value; +} + +template uint32_t impl_IFrameIsoSpeedCapabilities::Min() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFrameIsoSpeedCapabilities)->get_Min(&value)); + return value; +} + +template uint32_t impl_IFrameIsoSpeedCapabilities::Max() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFrameIsoSpeedCapabilities)->get_Max(&value)); + return value; +} + +template uint32_t impl_IFrameIsoSpeedCapabilities::Step() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFrameIsoSpeedCapabilities)->get_Step(&value)); + return value; +} + +template bool impl_IFrameFocusCapabilities::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameFocusCapabilities)->get_Supported(&value)); + return value; +} + +template uint32_t impl_IFrameFocusCapabilities::Min() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFrameFocusCapabilities)->get_Min(&value)); + return value; +} + +template uint32_t impl_IFrameFocusCapabilities::Max() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFrameFocusCapabilities)->get_Max(&value)); + return value; +} + +template uint32_t impl_IFrameFocusCapabilities::Step() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFrameFocusCapabilities)->get_Step(&value)); + return value; +} + +template bool impl_IFrameFlashCapabilities::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameFlashCapabilities)->get_Supported(&value)); + return value; +} + +template bool impl_IFrameFlashCapabilities::RedEyeReductionSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameFlashCapabilities)->get_RedEyeReductionSupported(&value)); + return value; +} + +template bool impl_IFrameFlashCapabilities::PowerSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameFlashCapabilities)->get_PowerSupported(&value)); + return value; +} + +template Windows::Media::Devices::Core::FrameExposureCapabilities impl_IFrameControlCapabilities::Exposure() const +{ + Windows::Media::Devices::Core::FrameExposureCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IFrameControlCapabilities)->get_Exposure(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::FrameExposureCompensationCapabilities impl_IFrameControlCapabilities::ExposureCompensation() const +{ + Windows::Media::Devices::Core::FrameExposureCompensationCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IFrameControlCapabilities)->get_ExposureCompensation(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::FrameIsoSpeedCapabilities impl_IFrameControlCapabilities::IsoSpeed() const +{ + Windows::Media::Devices::Core::FrameIsoSpeedCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IFrameControlCapabilities)->get_IsoSpeed(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::FrameFocusCapabilities impl_IFrameControlCapabilities::Focus() const +{ + Windows::Media::Devices::Core::FrameFocusCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IFrameControlCapabilities)->get_Focus(put_abi(value))); + return value; +} + +template bool impl_IFrameControlCapabilities::PhotoConfirmationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameControlCapabilities)->get_PhotoConfirmationSupported(&value)); + return value; +} + +template Windows::Media::Devices::Core::FrameFlashCapabilities impl_IFrameControlCapabilities2::Flash() const +{ + Windows::Media::Devices::Core::FrameFlashCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IFrameControlCapabilities2)->get_Flash(put_abi(value))); + return value; +} + +template bool impl_IFrameExposureControl::Auto() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameExposureControl)->get_Auto(&value)); + return value; +} + +template void impl_IFrameExposureControl::Auto(bool value) const +{ + check_hresult(WINRT_SHIM(IFrameExposureControl)->put_Auto(value)); +} + +template Windows::Foundation::IReference impl_IFrameExposureControl::Value() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IFrameExposureControl)->get_Value(put_abi(value))); + return value; +} + +template void impl_IFrameExposureControl::Value(const optional & value) const +{ + check_hresult(WINRT_SHIM(IFrameExposureControl)->put_Value(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IFrameExposureCompensationControl::Value() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IFrameExposureCompensationControl)->get_Value(put_abi(value))); + return value; +} + +template void impl_IFrameExposureCompensationControl::Value(const optional & value) const +{ + check_hresult(WINRT_SHIM(IFrameExposureCompensationControl)->put_Value(get_abi(value))); +} + +template bool impl_IFrameIsoSpeedControl::Auto() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameIsoSpeedControl)->get_Auto(&value)); + return value; +} + +template void impl_IFrameIsoSpeedControl::Auto(bool value) const +{ + check_hresult(WINRT_SHIM(IFrameIsoSpeedControl)->put_Auto(value)); +} + +template Windows::Foundation::IReference impl_IFrameIsoSpeedControl::Value() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IFrameIsoSpeedControl)->get_Value(put_abi(value))); + return value; +} + +template void impl_IFrameIsoSpeedControl::Value(const optional & value) const +{ + check_hresult(WINRT_SHIM(IFrameIsoSpeedControl)->put_Value(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IFrameFocusControl::Value() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IFrameFocusControl)->get_Value(put_abi(value))); + return value; +} + +template void impl_IFrameFocusControl::Value(const optional & value) const +{ + check_hresult(WINRT_SHIM(IFrameFocusControl)->put_Value(get_abi(value))); +} + +template Windows::Media::Devices::Core::FrameFlashMode impl_IFrameFlashControl::Mode() const +{ + Windows::Media::Devices::Core::FrameFlashMode value {}; + check_hresult(WINRT_SHIM(IFrameFlashControl)->get_Mode(&value)); + return value; +} + +template void impl_IFrameFlashControl::Mode(Windows::Media::Devices::Core::FrameFlashMode value) const +{ + check_hresult(WINRT_SHIM(IFrameFlashControl)->put_Mode(value)); +} + +template bool impl_IFrameFlashControl::Auto() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameFlashControl)->get_Auto(&value)); + return value; +} + +template void impl_IFrameFlashControl::Auto(bool value) const +{ + check_hresult(WINRT_SHIM(IFrameFlashControl)->put_Auto(value)); +} + +template bool impl_IFrameFlashControl::RedEyeReduction() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrameFlashControl)->get_RedEyeReduction(&value)); + return value; +} + +template void impl_IFrameFlashControl::RedEyeReduction(bool value) const +{ + check_hresult(WINRT_SHIM(IFrameFlashControl)->put_RedEyeReduction(value)); +} + +template float impl_IFrameFlashControl::PowerPercent() const +{ + float value {}; + check_hresult(WINRT_SHIM(IFrameFlashControl)->get_PowerPercent(&value)); + return value; +} + +template void impl_IFrameFlashControl::PowerPercent(float value) const +{ + check_hresult(WINRT_SHIM(IFrameFlashControl)->put_PowerPercent(value)); +} + +template Windows::Media::Devices::Core::FrameExposureControl impl_IFrameController::ExposureControl() const +{ + Windows::Media::Devices::Core::FrameExposureControl value { nullptr }; + check_hresult(WINRT_SHIM(IFrameController)->get_ExposureControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::FrameExposureCompensationControl impl_IFrameController::ExposureCompensationControl() const +{ + Windows::Media::Devices::Core::FrameExposureCompensationControl value { nullptr }; + check_hresult(WINRT_SHIM(IFrameController)->get_ExposureCompensationControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::FrameIsoSpeedControl impl_IFrameController::IsoSpeedControl() const +{ + Windows::Media::Devices::Core::FrameIsoSpeedControl value { nullptr }; + check_hresult(WINRT_SHIM(IFrameController)->get_IsoSpeedControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::FrameFocusControl impl_IFrameController::FocusControl() const +{ + Windows::Media::Devices::Core::FrameFocusControl value { nullptr }; + check_hresult(WINRT_SHIM(IFrameController)->get_FocusControl(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IFrameController::PhotoConfirmationEnabled() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IFrameController)->get_PhotoConfirmationEnabled(put_abi(value))); + return value; +} + +template void impl_IFrameController::PhotoConfirmationEnabled(const optional & value) const +{ + check_hresult(WINRT_SHIM(IFrameController)->put_PhotoConfirmationEnabled(get_abi(value))); +} + +template Windows::Media::Devices::Core::FrameFlashControl impl_IFrameController2::FlashControl() const +{ + Windows::Media::Devices::Core::FrameFlashControl value { nullptr }; + check_hresult(WINRT_SHIM(IFrameController2)->get_FlashControl(put_abi(value))); + return value; +} + +template bool impl_IVariablePhotoSequenceController::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->get_Supported(&value)); + return value; +} + +template float impl_IVariablePhotoSequenceController::MaxPhotosPerSecond() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->get_MaxPhotosPerSecond(&value)); + return value; +} + +template float impl_IVariablePhotoSequenceController::PhotosPerSecondLimit() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->get_PhotosPerSecondLimit(&value)); + return value; +} + +template void impl_IVariablePhotoSequenceController::PhotosPerSecondLimit(float value) const +{ + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->put_PhotosPerSecondLimit(value)); +} + +template Windows::Media::MediaProperties::MediaRatio impl_IVariablePhotoSequenceController::GetHighestConcurrentFrameRate(const Windows::Media::MediaProperties::IMediaEncodingProperties & captureProperties) const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->abi_GetHighestConcurrentFrameRate(get_abi(captureProperties), put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_IVariablePhotoSequenceController::GetCurrentFrameRate() const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->abi_GetCurrentFrameRate(put_abi(value))); + return value; +} + +template Windows::Media::Devices::Core::FrameControlCapabilities impl_IVariablePhotoSequenceController::FrameCapabilities() const +{ + Windows::Media::Devices::Core::FrameControlCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->get_FrameCapabilities(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVariablePhotoSequenceController::DesiredFrameControllers() const +{ + Windows::Foundation::Collections::IVector items; + check_hresult(WINRT_SHIM(IVariablePhotoSequenceController)->get_DesiredFrameControllers(put_abi(items))); + return items; +} + +template Windows::Media::Devices::Core::CameraIntrinsics impl_ICameraIntrinsicsFactory::Create(const Windows::Foundation::Numerics::float2 & focalLength, const Windows::Foundation::Numerics::float2 & principalPoint, const Windows::Foundation::Numerics::float3 & radialDistortion, const Windows::Foundation::Numerics::float2 & tangentialDistortion, uint32_t imageWidth, uint32_t imageHeight) const +{ + Windows::Media::Devices::Core::CameraIntrinsics result { nullptr }; + check_hresult(WINRT_SHIM(ICameraIntrinsicsFactory)->abi_Create(get_abi(focalLength), get_abi(principalPoint), get_abi(radialDistortion), get_abi(tangentialDistortion), imageWidth, imageHeight, put_abi(result))); + return result; +} + +template Windows::Foundation::Numerics::float2 impl_ICameraIntrinsics::FocalLength() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->get_FocalLength(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float2 impl_ICameraIntrinsics::PrincipalPoint() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->get_PrincipalPoint(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ICameraIntrinsics::RadialDistortion() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->get_RadialDistortion(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float2 impl_ICameraIntrinsics::TangentialDistortion() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->get_TangentialDistortion(put_abi(value))); + return value; +} + +template uint32_t impl_ICameraIntrinsics::ImageWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->get_ImageWidth(&value)); + return value; +} + +template uint32_t impl_ICameraIntrinsics::ImageHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->get_ImageHeight(&value)); + return value; +} + +template Windows::Foundation::Point impl_ICameraIntrinsics::ProjectOntoFrame(const Windows::Foundation::Numerics::float3 & coordinate) const +{ + Windows::Foundation::Point result {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->abi_ProjectOntoFrame(get_abi(coordinate), put_abi(result))); + return result; +} + +template Windows::Foundation::Numerics::float2 impl_ICameraIntrinsics::UnprojectAtUnitDepth(const Windows::Foundation::Point & pixelCoordinate) const +{ + Windows::Foundation::Numerics::float2 result {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics)->abi_UnprojectAtUnitDepth(get_abi(pixelCoordinate), put_abi(result))); + return result; +} + +template void impl_ICameraIntrinsics::ProjectManyOntoFrame(array_view coordinates, array_view results) const +{ + check_hresult(WINRT_SHIM(ICameraIntrinsics)->abi_ProjectManyOntoFrame(coordinates.size(), get_abi(coordinates), results.size(), get_abi(results))); +} + +template void impl_ICameraIntrinsics::UnprojectPixelsAtUnitDepth(array_view pixelCoordinates, array_view results) const +{ + check_hresult(WINRT_SHIM(ICameraIntrinsics)->abi_UnprojectPixelsAtUnitDepth(pixelCoordinates.size(), get_abi(pixelCoordinates), results.size(), get_abi(results))); +} + +template Windows::Foundation::Numerics::float4x4 impl_ICameraIntrinsics2::UndistortedProjectionTransform() const +{ + Windows::Foundation::Numerics::float4x4 value {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics2)->get_UndistortedProjectionTransform(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_ICameraIntrinsics2::DistortPoint(const Windows::Foundation::Point & input) const +{ + Windows::Foundation::Point result {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics2)->abi_DistortPoint(get_abi(input), put_abi(result))); + return result; +} + +template void impl_ICameraIntrinsics2::DistortPoints(array_view inputs, array_view results) const +{ + check_hresult(WINRT_SHIM(ICameraIntrinsics2)->abi_DistortPoints(inputs.size(), get_abi(inputs), results.size(), get_abi(results))); +} + +template Windows::Foundation::Point impl_ICameraIntrinsics2::UndistortPoint(const Windows::Foundation::Point & input) const +{ + Windows::Foundation::Point result {}; + check_hresult(WINRT_SHIM(ICameraIntrinsics2)->abi_UndistortPoint(get_abi(input), put_abi(result))); + return result; +} + +template void impl_ICameraIntrinsics2::UndistortPoints(array_view inputs, array_view results) const +{ + check_hresult(WINRT_SHIM(ICameraIntrinsics2)->abi_UndistortPoints(inputs.size(), get_abi(inputs), results.size(), get_abi(results))); +} + +template Windows::Foundation::Numerics::float3 impl_IDepthCorrelatedCoordinateMapper::UnprojectPoint(const Windows::Foundation::Point & sourcePoint, const Windows::Perception::Spatial::SpatialCoordinateSystem & targetCoordinateSystem) const +{ + Windows::Foundation::Numerics::float3 result {}; + check_hresult(WINRT_SHIM(IDepthCorrelatedCoordinateMapper)->abi_UnprojectPoint(get_abi(sourcePoint), get_abi(targetCoordinateSystem), put_abi(result))); + return result; +} + +template void impl_IDepthCorrelatedCoordinateMapper::UnprojectPoints(array_view sourcePoints, const Windows::Perception::Spatial::SpatialCoordinateSystem & targetCoordinateSystem, array_view results) const +{ + check_hresult(WINRT_SHIM(IDepthCorrelatedCoordinateMapper)->abi_UnprojectPoints(sourcePoints.size(), get_abi(sourcePoints), get_abi(targetCoordinateSystem), results.size(), get_abi(results))); +} + +template Windows::Foundation::Point impl_IDepthCorrelatedCoordinateMapper::MapPoint(const Windows::Foundation::Point & sourcePoint, const Windows::Perception::Spatial::SpatialCoordinateSystem & targetCoordinateSystem, const Windows::Media::Devices::Core::CameraIntrinsics & targetCameraIntrinsics) const +{ + Windows::Foundation::Point result {}; + check_hresult(WINRT_SHIM(IDepthCorrelatedCoordinateMapper)->abi_MapPoint(get_abi(sourcePoint), get_abi(targetCoordinateSystem), get_abi(targetCameraIntrinsics), put_abi(result))); + return result; +} + +template void impl_IDepthCorrelatedCoordinateMapper::MapPoints(array_view sourcePoints, const Windows::Perception::Spatial::SpatialCoordinateSystem & targetCoordinateSystem, const Windows::Media::Devices::Core::CameraIntrinsics & targetCameraIntrinsics, array_view results) const +{ + check_hresult(WINRT_SHIM(IDepthCorrelatedCoordinateMapper)->abi_MapPoints(sourcePoints.size(), get_abi(sourcePoints), get_abi(targetCoordinateSystem), get_abi(targetCameraIntrinsics), results.size(), get_abi(results))); +} + +inline FrameController::FrameController() : + FrameController(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::ICameraIntrinsics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::ICameraIntrinsics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::ICameraIntrinsicsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IDepthCorrelatedCoordinateMapper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameControlCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameControlCapabilities2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameController2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameExposureCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameExposureCompensationCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameExposureCompensationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameExposureControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameFlashCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameFlashControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameFocusCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameFocusControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameIsoSpeedCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IFrameIsoSpeedControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::IVariablePhotoSequenceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::CameraIntrinsics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::DepthCorrelatedCoordinateMapper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameControlCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameExposureCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameExposureCompensationCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameExposureCompensationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameExposureControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameFlashCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameFlashControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameFocusCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameFocusControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameIsoSpeedCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::FrameIsoSpeedControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::Core::VariablePhotoSequenceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Devices.h b/10.0.15042.0/winrt/Windows.Media.Devices.h new file mode 100644 index 000000000..356272900 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Devices.h @@ -0,0 +1,7070 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.Capture.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Media.Devices.Core.3.h" +#include "internal/Windows.Media.Devices.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Media::Devices { + +template CallControlEventHandler::CallControlEventHandler(L lambda) : + CallControlEventHandler(impl::make_delegate, CallControlEventHandler>(std::forward(lambda))) +{} + +template CallControlEventHandler::CallControlEventHandler(F * function) : + CallControlEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template CallControlEventHandler::CallControlEventHandler(O * object, M method) : + CallControlEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void CallControlEventHandler::operator()(const Windows::Media::Devices::CallControl & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +template DialRequestedEventHandler::DialRequestedEventHandler(L lambda) : + DialRequestedEventHandler(impl::make_delegate, DialRequestedEventHandler>(std::forward(lambda))) +{} + +template DialRequestedEventHandler::DialRequestedEventHandler(F * function) : + DialRequestedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DialRequestedEventHandler::DialRequestedEventHandler(O * object, M method) : + DialRequestedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DialRequestedEventHandler::operator()(const Windows::Media::Devices::CallControl & sender, const Windows::Media::Devices::DialRequestedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template KeypadPressedEventHandler::KeypadPressedEventHandler(L lambda) : + KeypadPressedEventHandler(impl::make_delegate, KeypadPressedEventHandler>(std::forward(lambda))) +{} + +template KeypadPressedEventHandler::KeypadPressedEventHandler(F * function) : + KeypadPressedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template KeypadPressedEventHandler::KeypadPressedEventHandler(O * object, M method) : + KeypadPressedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void KeypadPressedEventHandler::operator()(const Windows::Media::Devices::CallControl & sender, const Windows::Media::Devices::KeypadPressedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template RedialRequestedEventHandler::RedialRequestedEventHandler(L lambda) : + RedialRequestedEventHandler(impl::make_delegate, RedialRequestedEventHandler>(std::forward(lambda))) +{} + +template RedialRequestedEventHandler::RedialRequestedEventHandler(F * function) : + RedialRequestedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template RedialRequestedEventHandler::RedialRequestedEventHandler(O * object, M method) : + RedialRequestedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void RedialRequestedEventHandler::operator()(const Windows::Media::Devices::CallControl & sender, const Windows::Media::Devices::RedialRequestedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::Media::Devices::AdvancedPhotoMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Media::Devices::AdvancedPhotoMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedModes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedModes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Media::Devices::AdvancedPhotoMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Configure(impl::abi_arg_in settings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Configure(*reinterpret_cast(&settings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetDeviceProperty(impl::abi_arg_in propertyId, impl::abi_arg_in propertyValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDeviceProperty(*reinterpret_cast(&propertyId), *reinterpret_cast(&propertyValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceProperty(impl::abi_arg_in propertyId, impl::abi_arg_out propertyValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *propertyValue = detach_abi(this->shim().GetDeviceProperty(*reinterpret_cast(&propertyId))); + return S_OK; + } + catch (...) + { + *propertyValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LowLagPhotoSequence(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LowLagPhotoSequence()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LowLagPhoto(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LowLagPhoto()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SceneModeControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SceneModeControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TorchControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TorchControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlashControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlashControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WhiteBalanceControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WhiteBalanceControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExposureControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExposureCompensationControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposureCompensationControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsoSpeedControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsoSpeedControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegionsOfInterestControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegionsOfInterestControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryUse(Windows::Media::Devices::CaptureUse * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryUse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryUse(Windows::Media::Devices::CaptureUse value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryUse(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VariablePhotoSequenceController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VariablePhotoSequenceController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotoConfirmationControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotoConfirmationControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExposurePriorityVideoControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExposurePriorityVideoControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredOptimization(Windows::Media::Devices::MediaCaptureOptimization * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredOptimization()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredOptimization(Windows::Media::Devices::MediaCaptureOptimization value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredOptimization(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HdrVideoControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HdrVideoControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpticalImageStabilizationControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalImageStabilizationControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdvancedPhotoControl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvancedPhotoControl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDevicePropertyById(impl::abi_arg_in propertyId, impl::abi_arg_in> maxPropertyValueSize, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDevicePropertyById(*reinterpret_cast(&propertyId), *reinterpret_cast *>(&maxPropertyValueSize))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDevicePropertyById(impl::abi_arg_in propertyId, impl::abi_arg_in propertyValue, Windows::Media::Devices::VideoDeviceControllerSetDevicePropertyStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SetDevicePropertyById(*reinterpret_cast(&propertyId), *reinterpret_cast(&propertyValue))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDevicePropertyByExtendedId(uint32_t __extendedPropertyIdSize, impl::abi_arg_in * extendedPropertyId, impl::abi_arg_in> maxPropertyValueSize, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDevicePropertyByExtendedId(array_view(extendedPropertyId, extendedPropertyId + __extendedPropertyIdSize), *reinterpret_cast *>(&maxPropertyValueSize))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDevicePropertyByExtendedId(uint32_t __extendedPropertyIdSize, impl::abi_arg_in * extendedPropertyId, uint32_t __propertyValueSize, impl::abi_arg_in * propertyValue, Windows::Media::Devices::VideoDeviceControllerSetDevicePropertyStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SetDevicePropertyByExtendedId(array_view(extendedPropertyId, extendedPropertyId + __extendedPropertyIdSize), array_view(propertyValue, propertyValue + __propertyValueSize))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Muted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Muted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Muted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Muted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VolumePercent(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VolumePercent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VolumePercent(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VolumePercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClassId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClassId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstanceId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MajorVersion(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MajorVersion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinorVersion(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinorVersion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendCommandAsync(impl::abi_arg_in Command, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendCommandAsync(*reinterpret_cast(&Command))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Module(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Module()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NotificationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotificationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ModuleNotificationReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ModuleNotificationReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ModuleNotificationReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ModuleNotificationReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllById(impl::abi_arg_in moduleId, impl::abi_arg_out> modules) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *modules = detach_abi(this->shim().FindAllById(*reinterpret_cast(&moduleId))); + return S_OK; + } + catch (...) + { + *modules = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAll(impl::abi_arg_out> modules) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *modules = detach_abi(this->shim().FindAll()); + return S_OK; + } + catch (...) + { + *modules = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in deviceId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IndicateNewIncomingCall(bool enableRinger, impl::abi_arg_in callerId, uint64_t * callToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *callToken = detach_abi(this->shim().IndicateNewIncomingCall(enableRinger, *reinterpret_cast(&callerId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IndicateNewOutgoingCall(uint64_t * callToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *callToken = detach_abi(this->shim().IndicateNewOutgoingCall()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IndicateActiveCall(uint64_t callToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IndicateActiveCall(callToken); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndCall(uint64_t callToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndCall(callToken); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasRinger(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasRinger()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AnswerRequested(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AnswerRequested(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AnswerRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AnswerRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HangUpRequested(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HangUpRequested(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HangUpRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HangUpRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DialRequested(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DialRequested(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DialRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DialRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RedialRequested(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RedialRequested(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RedialRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RedialRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_KeypadPressed(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().KeypadPressed(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_KeypadPressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeypadPressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AudioTransferRequested(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioTransferRequested(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioTransferRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioTransferRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out callControl) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *callControl = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *callControl = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromId(impl::abi_arg_in deviceId, impl::abi_arg_out callControl) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *callControl = detach_abi(this->shim().FromId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *callControl = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Role(Windows::Media::Devices::AudioDeviceRole * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Role()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Handled() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValueAsync(float value, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetValueAsync(value)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Auto(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Auto()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAutoAsync(bool value, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetAutoAsync(value)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValueAsync(impl::abi_arg_in shutterDuration, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetValueAsync(*reinterpret_cast(&shutterDuration))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RedEyeReductionSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RedEyeReductionSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Auto(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Auto()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Auto(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Auto(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RedEyeReduction(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RedEyeReduction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RedEyeReduction(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RedEyeReduction(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerPercent(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerPercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PowerPercent(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PowerPercent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AssistantLightSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AssistantLightSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AssistantLightEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AssistantLightEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AssistantLightEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AssistantLightEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedPresets(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedPresets()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Preset(Windows::Media::Devices::FocusPreset * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Preset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPresetAsync(Windows::Media::Devices::FocusPreset preset, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetPresetAsync(preset)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPresetWithCompletionOptionAsync(Windows::Media::Devices::FocusPreset preset, bool completeBeforeFocus, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetPresetAsync(preset, completeBeforeFocus)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValueAsync(uint32_t focus, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetValueAsync(focus)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FocusAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FocusAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FocusChangedSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusChangedSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WaitForFocusSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WaitForFocusSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedFocusModes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedFocusModes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedFocusDistances(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedFocusDistances()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedFocusRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedFocusRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Media::Devices::FocusMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusState(Windows::Media::Devices::MediaCaptureFocusState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnlockAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().UnlockAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LockAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().LockAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Configure(impl::abi_arg_in settings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Configure(*reinterpret_cast(&settings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::Media::Devices::FocusMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Media::Devices::FocusMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoFocusRange(Windows::Media::Devices::AutoFocusRange * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoFocusRange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoFocusRange(Windows::Media::Devices::AutoFocusRange value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoFocusRange(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Distance(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Distance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Distance(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Distance(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WaitForFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WaitForFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WaitForFocus(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WaitForFocus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisableDriverFallback(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisableDriverFallback()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisableDriverFallback(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableDriverFallback(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedModes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedModes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Media::Devices::HdrVideoMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Media::Devices::HdrVideoMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedPresets(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedPresets()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Preset(Windows::Media::Devices::IsoSpeedPreset * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Preset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPresetAsync(Windows::Media::Devices::IsoSpeedPreset preset, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetPresetAsync(preset)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Min(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValueAsync(uint32_t isoSpeed, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetValueAsync(isoSpeed)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Auto(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Auto()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAutoAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetAutoAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TelephonyKey(Windows::Media::Devices::TelephonyKey * telephonyKey) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *telephonyKey = detach_abi(this->shim().TelephonyKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetHighestConcurrentFrameRate(impl::abi_arg_in captureProperties, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetHighestConcurrentFrameRate(*reinterpret_cast(&captureProperties))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentFrameRate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentFrameRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbnailEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbnailEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ThumbnailEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThumbnailEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbnailFormat(Windows::Media::MediaProperties::MediaThumbnailFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbnailFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ThumbnailFormat(Windows::Media::MediaProperties::MediaThumbnailFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThumbnailFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredThumbnailSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredThumbnailSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredThumbnailSize(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredThumbnailSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareAcceleratedThumbnailSupported(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareAcceleratedThumbnailSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPastPhotos(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPastPhotos()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPhotosPerSecond(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPhotosPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PastPhotoLimit(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PastPhotoLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PastPhotoLimit(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PastPhotoLimit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosPerSecondLimit(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosPerSecondLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhotosPerSecondLimit(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhotosPerSecondLimit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHighestConcurrentFrameRate(impl::abi_arg_in captureProperties, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetHighestConcurrentFrameRate(*reinterpret_cast(&captureProperties))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentFrameRate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentFrameRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbnailEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbnailEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ThumbnailEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThumbnailEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbnailFormat(Windows::Media::MediaProperties::MediaThumbnailFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbnailFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ThumbnailFormat(Windows::Media::MediaProperties::MediaThumbnailFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThumbnailFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredThumbnailSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredThumbnailSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredThumbnailSize(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredThumbnailSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareAcceleratedThumbnailSupported(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareAcceleratedThumbnailSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Capabilities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetValue(double * value, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TryGetValue(*value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetValue(double value, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySetValue(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetAuto(bool * value, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TryGetAuto(*value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetAuto(bool value, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySetAuto(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Default(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Default()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoModeSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoModeSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAvailableMediaStreamProperties(Windows::Media::Capture::MediaStreamType mediaStreamType, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAvailableMediaStreamProperties(mediaStreamType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMediaStreamProperties(Windows::Media::Capture::MediaStreamType mediaStreamType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetMediaStreamProperties(mediaStreamType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMediaStreamPropertiesAsync(Windows::Media::Capture::MediaStreamType mediaStreamType, impl::abi_arg_in mediaEncodingProperties, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetMediaStreamPropertiesAsync(mediaStreamType, *reinterpret_cast(&mediaEncodingProperties))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAudioCaptureSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetAudioCaptureSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAudioRenderSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetAudioRenderSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVideoCaptureSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetVideoCaptureSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAudioCaptureId(Windows::Media::Devices::AudioDeviceRole role, impl::abi_arg_out deviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceId = detach_abi(this->shim().GetDefaultAudioCaptureId(role)); + return S_OK; + } + catch (...) + { + *deviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultAudioRenderId(Windows::Media::Devices::AudioDeviceRole role, impl::abi_arg_out deviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceId = detach_abi(this->shim().GetDefaultAudioRenderId(role)); + return S_OK; + } + catch (...) + { + *deviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DefaultAudioCaptureDeviceChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().DefaultAudioCaptureDeviceChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DefaultAudioCaptureDeviceChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultAudioCaptureDeviceChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DefaultAudioRenderDeviceChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().DefaultAudioRenderDeviceChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DefaultAudioRenderDeviceChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultAudioRenderDeviceChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Devices::SendCommandStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Result(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedModes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedModes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Media::Devices::OpticalImageStabilizationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Media::Devices::OpticalImageStabilizationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * pbSupported) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pbSupported = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelFormat(Windows::Media::MediaProperties::MediaPixelFormat * format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *format = detach_abi(this->shim().PixelFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PixelFormat(Windows::Media::MediaProperties::MediaPixelFormat format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PixelFormat(format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Handled() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AutoFocusEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoFocusEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoFocusEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoFocusEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoWhiteBalanceEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoWhiteBalanceEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoWhiteBalanceEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoWhiteBalanceEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoExposureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoExposureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoExposureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoExposureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Bounds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bounds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Media::Devices::RegionOfInterestType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(Windows::Media::Devices::RegionOfInterestType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BoundsNormalized(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundsNormalized()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BoundsNormalized(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BoundsNormalized(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Weight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Weight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Weight(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Weight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxRegions(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxRegions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRegionsAsync(impl::abi_arg_in> regions, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetRegionsAsync(*reinterpret_cast *>(®ions))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRegionsWithLockAsync(impl::abi_arg_in> regions, bool lockValues, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetRegionsAsync(*reinterpret_cast *>(®ions), lockValues)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearRegionsAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ClearRegionsAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoFocusSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoFocusSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoWhiteBalanceSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoWhiteBalanceSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoExposureSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoExposureSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedModes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedModes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(Windows::Media::Devices::CaptureSceneMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValueAsync(Windows::Media::Devices::CaptureSceneMode sceneMode, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetValueAsync(sceneMode)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerPercent(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerPercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PowerPercent(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PowerPercent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Brightness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Brightness()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contrast(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contrast()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WhiteBalance(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WhiteBalance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BacklightCompensation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BacklightCompensation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pan(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pan()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tilt(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tilt()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Zoom(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Zoom()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Roll(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Roll()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Exposure(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exposure()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Focus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Focus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetPowerlineFrequency(Windows::Media::Capture::PowerlineFrequency value, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySetPowerlineFrequency(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPowerlineFrequency(Windows::Media::Capture::PowerlineFrequency * value, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TryGetPowerlineFrequency(*value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Preset(Windows::Media::Devices::ColorTemperaturePreset * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Preset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPresetAsync(Windows::Media::Devices::ColorTemperaturePreset preset, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetPresetAsync(preset)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValueAsync(uint32_t temperature, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetValueAsync(temperature)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Supported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Supported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Min(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Min()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Max(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Max()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Step(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Step()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedModes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedModes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mode(Windows::Media::Devices::ZoomTransitionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Configure(impl::abi_arg_in settings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Configure(*reinterpret_cast(&settings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::Media::Devices::ZoomTransitionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::Media::Devices::ZoomTransitionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Devices { + +template hstring impl_IDefaultAudioDeviceChangedEventArgs::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDefaultAudioDeviceChangedEventArgs)->get_Id(put_abi(value))); + return value; +} + +template Windows::Media::Devices::AudioDeviceRole impl_IDefaultAudioDeviceChangedEventArgs::Role() const +{ + Windows::Media::Devices::AudioDeviceRole value {}; + check_hresult(WINRT_SHIM(IDefaultAudioDeviceChangedEventArgs)->get_Role(&value)); + return value; +} + +template hstring impl_IMediaDeviceStatics::GetAudioCaptureSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->abi_GetAudioCaptureSelector(put_abi(selector))); + return selector; +} + +template hstring impl_IMediaDeviceStatics::GetAudioRenderSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->abi_GetAudioRenderSelector(put_abi(selector))); + return selector; +} + +template hstring impl_IMediaDeviceStatics::GetVideoCaptureSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->abi_GetVideoCaptureSelector(put_abi(selector))); + return selector; +} + +template hstring impl_IMediaDeviceStatics::GetDefaultAudioCaptureId(Windows::Media::Devices::AudioDeviceRole role) const +{ + hstring deviceId; + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->abi_GetDefaultAudioCaptureId(role, put_abi(deviceId))); + return deviceId; +} + +template hstring impl_IMediaDeviceStatics::GetDefaultAudioRenderId(Windows::Media::Devices::AudioDeviceRole role) const +{ + hstring deviceId; + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->abi_GetDefaultAudioRenderId(role, put_abi(deviceId))); + return deviceId; +} + +template event_token impl_IMediaDeviceStatics::DefaultAudioCaptureDeviceChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->add_DefaultAudioCaptureDeviceChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaDeviceStatics::DefaultAudioCaptureDeviceChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::IMediaDeviceStatics::remove_DefaultAudioCaptureDeviceChanged, DefaultAudioCaptureDeviceChanged(handler)); +} + +template void impl_IMediaDeviceStatics::DefaultAudioCaptureDeviceChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->remove_DefaultAudioCaptureDeviceChanged(cookie)); +} + +template event_token impl_IMediaDeviceStatics::DefaultAudioRenderDeviceChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->add_DefaultAudioRenderDeviceChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaDeviceStatics::DefaultAudioRenderDeviceChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::IMediaDeviceStatics::remove_DefaultAudioRenderDeviceChanged, DefaultAudioRenderDeviceChanged(handler)); +} + +template void impl_IMediaDeviceStatics::DefaultAudioRenderDeviceChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaDeviceStatics)->remove_DefaultAudioRenderDeviceChanged(cookie)); +} + +template Windows::Media::Devices::SendCommandStatus impl_IModuleCommandResult::Status() const +{ + Windows::Media::Devices::SendCommandStatus value {}; + check_hresult(WINRT_SHIM(IModuleCommandResult)->get_Status(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IModuleCommandResult::Result() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IModuleCommandResult)->get_Result(put_abi(value))); + return value; +} + +template hstring impl_IAudioDeviceModule::ClassId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAudioDeviceModule)->get_ClassId(put_abi(value))); + return value; +} + +template hstring impl_IAudioDeviceModule::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAudioDeviceModule)->get_DisplayName(put_abi(value))); + return value; +} + +template uint32_t impl_IAudioDeviceModule::InstanceId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioDeviceModule)->get_InstanceId(&value)); + return value; +} + +template uint32_t impl_IAudioDeviceModule::MajorVersion() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioDeviceModule)->get_MajorVersion(&value)); + return value; +} + +template uint32_t impl_IAudioDeviceModule::MinorVersion() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioDeviceModule)->get_MinorVersion(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IAudioDeviceModule::SendCommandAsync(const Windows::Storage::Streams::IBuffer & Command) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IAudioDeviceModule)->abi_SendCommandAsync(get_abi(Command), put_abi(operation))); + return operation; +} + +template event_token impl_IAudioDeviceModulesManager::ModuleNotificationReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioDeviceModulesManager)->add_ModuleNotificationReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioDeviceModulesManager::ModuleNotificationReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::IAudioDeviceModulesManager::remove_ModuleNotificationReceived, ModuleNotificationReceived(handler)); +} + +template void impl_IAudioDeviceModulesManager::ModuleNotificationReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioDeviceModulesManager)->remove_ModuleNotificationReceived(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IAudioDeviceModulesManager::FindAllById(hstring_view moduleId) const +{ + Windows::Foundation::Collections::IVectorView modules; + check_hresult(WINRT_SHIM(IAudioDeviceModulesManager)->abi_FindAllById(get_abi(moduleId), put_abi(modules))); + return modules; +} + +template Windows::Foundation::Collections::IVectorView impl_IAudioDeviceModulesManager::FindAll() const +{ + Windows::Foundation::Collections::IVectorView modules; + check_hresult(WINRT_SHIM(IAudioDeviceModulesManager)->abi_FindAll(put_abi(modules))); + return modules; +} + +template Windows::Media::Devices::AudioDeviceModulesManager impl_IAudioDeviceModulesManagerFactory::Create(hstring_view deviceId) const +{ + Windows::Media::Devices::AudioDeviceModulesManager result { nullptr }; + check_hresult(WINRT_SHIM(IAudioDeviceModulesManagerFactory)->abi_Create(get_abi(deviceId), put_abi(result))); + return result; +} + +template Windows::Media::Devices::AudioDeviceModule impl_IAudioDeviceModuleNotificationEventArgs::Module() const +{ + Windows::Media::Devices::AudioDeviceModule value { nullptr }; + check_hresult(WINRT_SHIM(IAudioDeviceModuleNotificationEventArgs)->get_Module(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IAudioDeviceModuleNotificationEventArgs::NotificationData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IAudioDeviceModuleNotificationEventArgs)->get_NotificationData(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISceneModeControl::SupportedModes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISceneModeControl)->get_SupportedModes(put_abi(value))); + return value; +} + +template Windows::Media::Devices::CaptureSceneMode impl_ISceneModeControl::Value() const +{ + Windows::Media::Devices::CaptureSceneMode value {}; + check_hresult(WINRT_SHIM(ISceneModeControl)->get_Value(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISceneModeControl::SetValueAsync(Windows::Media::Devices::CaptureSceneMode sceneMode) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(ISceneModeControl)->abi_SetValueAsync(sceneMode, put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_ITorchControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITorchControl)->get_Supported(&value)); + return value; +} + +template bool impl_ITorchControl::PowerSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITorchControl)->get_PowerSupported(&value)); + return value; +} + +template bool impl_ITorchControl::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITorchControl)->get_Enabled(&value)); + return value; +} + +template void impl_ITorchControl::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITorchControl)->put_Enabled(value)); +} + +template float impl_ITorchControl::PowerPercent() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITorchControl)->get_PowerPercent(&value)); + return value; +} + +template void impl_ITorchControl::PowerPercent(float value) const +{ + check_hresult(WINRT_SHIM(ITorchControl)->put_PowerPercent(value)); +} + +template bool impl_IFlashControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl)->get_Supported(&value)); + return value; +} + +template bool impl_IFlashControl::PowerSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl)->get_PowerSupported(&value)); + return value; +} + +template bool impl_IFlashControl::RedEyeReductionSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl)->get_RedEyeReductionSupported(&value)); + return value; +} + +template bool impl_IFlashControl::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl)->get_Enabled(&value)); + return value; +} + +template void impl_IFlashControl::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IFlashControl)->put_Enabled(value)); +} + +template bool impl_IFlashControl::Auto() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl)->get_Auto(&value)); + return value; +} + +template void impl_IFlashControl::Auto(bool value) const +{ + check_hresult(WINRT_SHIM(IFlashControl)->put_Auto(value)); +} + +template bool impl_IFlashControl::RedEyeReduction() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl)->get_RedEyeReduction(&value)); + return value; +} + +template void impl_IFlashControl::RedEyeReduction(bool value) const +{ + check_hresult(WINRT_SHIM(IFlashControl)->put_RedEyeReduction(value)); +} + +template float impl_IFlashControl::PowerPercent() const +{ + float value {}; + check_hresult(WINRT_SHIM(IFlashControl)->get_PowerPercent(&value)); + return value; +} + +template void impl_IFlashControl::PowerPercent(float value) const +{ + check_hresult(WINRT_SHIM(IFlashControl)->put_PowerPercent(value)); +} + +template bool impl_IFlashControl2::AssistantLightSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl2)->get_AssistantLightSupported(&value)); + return value; +} + +template bool impl_IFlashControl2::AssistantLightEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlashControl2)->get_AssistantLightEnabled(&value)); + return value; +} + +template void impl_IFlashControl2::AssistantLightEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IFlashControl2)->put_AssistantLightEnabled(value)); +} + +template bool impl_IExposureCompensationControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IExposureCompensationControl)->get_Supported(&value)); + return value; +} + +template float impl_IExposureCompensationControl::Min() const +{ + float value {}; + check_hresult(WINRT_SHIM(IExposureCompensationControl)->get_Min(&value)); + return value; +} + +template float impl_IExposureCompensationControl::Max() const +{ + float value {}; + check_hresult(WINRT_SHIM(IExposureCompensationControl)->get_Max(&value)); + return value; +} + +template float impl_IExposureCompensationControl::Step() const +{ + float value {}; + check_hresult(WINRT_SHIM(IExposureCompensationControl)->get_Step(&value)); + return value; +} + +template float impl_IExposureCompensationControl::Value() const +{ + float value {}; + check_hresult(WINRT_SHIM(IExposureCompensationControl)->get_Value(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IExposureCompensationControl::SetValueAsync(float value) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IExposureCompensationControl)->abi_SetValueAsync(value, put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_IIsoSpeedControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IIsoSpeedControl)->get_Supported(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IIsoSpeedControl::SupportedPresets() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IIsoSpeedControl)->get_SupportedPresets(put_abi(value))); + return value; +} + +template Windows::Media::Devices::IsoSpeedPreset impl_IIsoSpeedControl::Preset() const +{ + Windows::Media::Devices::IsoSpeedPreset value {}; + check_hresult(WINRT_SHIM(IIsoSpeedControl)->get_Preset(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IIsoSpeedControl::SetPresetAsync(Windows::Media::Devices::IsoSpeedPreset preset) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IIsoSpeedControl)->abi_SetPresetAsync(preset, put_abi(asyncInfo))); + return asyncInfo; +} + +template uint32_t impl_IIsoSpeedControl2::Min() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IIsoSpeedControl2)->get_Min(&value)); + return value; +} + +template uint32_t impl_IIsoSpeedControl2::Max() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IIsoSpeedControl2)->get_Max(&value)); + return value; +} + +template uint32_t impl_IIsoSpeedControl2::Step() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IIsoSpeedControl2)->get_Step(&value)); + return value; +} + +template uint32_t impl_IIsoSpeedControl2::Value() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IIsoSpeedControl2)->get_Value(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IIsoSpeedControl2::SetValueAsync(uint32_t isoSpeed) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IIsoSpeedControl2)->abi_SetValueAsync(isoSpeed, put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_IIsoSpeedControl2::Auto() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IIsoSpeedControl2)->get_Auto(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IIsoSpeedControl2::SetAutoAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IIsoSpeedControl2)->abi_SetAutoAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_IWhiteBalanceControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->get_Supported(&value)); + return value; +} + +template Windows::Media::Devices::ColorTemperaturePreset impl_IWhiteBalanceControl::Preset() const +{ + Windows::Media::Devices::ColorTemperaturePreset value {}; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->get_Preset(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IWhiteBalanceControl::SetPresetAsync(Windows::Media::Devices::ColorTemperaturePreset preset) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->abi_SetPresetAsync(preset, put_abi(asyncInfo))); + return asyncInfo; +} + +template uint32_t impl_IWhiteBalanceControl::Min() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->get_Min(&value)); + return value; +} + +template uint32_t impl_IWhiteBalanceControl::Max() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->get_Max(&value)); + return value; +} + +template uint32_t impl_IWhiteBalanceControl::Step() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->get_Step(&value)); + return value; +} + +template uint32_t impl_IWhiteBalanceControl::Value() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->get_Value(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IWhiteBalanceControl::SetValueAsync(uint32_t temperature) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWhiteBalanceControl)->abi_SetValueAsync(temperature, put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_IExposureControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IExposureControl)->get_Supported(&value)); + return value; +} + +template bool impl_IExposureControl::Auto() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IExposureControl)->get_Auto(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IExposureControl::SetAutoAsync(bool value) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IExposureControl)->abi_SetAutoAsync(value, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::TimeSpan impl_IExposureControl::Min() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IExposureControl)->get_Min(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IExposureControl::Max() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IExposureControl)->get_Max(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IExposureControl::Step() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IExposureControl)->get_Step(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IExposureControl::Value() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IExposureControl)->get_Value(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IExposureControl::SetValueAsync(const Windows::Foundation::TimeSpan & shutterDuration) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IExposureControl)->abi_SetValueAsync(get_abi(shutterDuration), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Media::Devices::ZoomTransitionMode impl_IZoomSettings::Mode() const +{ + Windows::Media::Devices::ZoomTransitionMode value {}; + check_hresult(WINRT_SHIM(IZoomSettings)->get_Mode(&value)); + return value; +} + +template void impl_IZoomSettings::Mode(Windows::Media::Devices::ZoomTransitionMode value) const +{ + check_hresult(WINRT_SHIM(IZoomSettings)->put_Mode(value)); +} + +template float impl_IZoomSettings::Value() const +{ + float value {}; + check_hresult(WINRT_SHIM(IZoomSettings)->get_Value(&value)); + return value; +} + +template void impl_IZoomSettings::Value(float value) const +{ + check_hresult(WINRT_SHIM(IZoomSettings)->put_Value(value)); +} + +template bool impl_IZoomControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IZoomControl)->get_Supported(&value)); + return value; +} + +template float impl_IZoomControl::Min() const +{ + float value {}; + check_hresult(WINRT_SHIM(IZoomControl)->get_Min(&value)); + return value; +} + +template float impl_IZoomControl::Max() const +{ + float value {}; + check_hresult(WINRT_SHIM(IZoomControl)->get_Max(&value)); + return value; +} + +template float impl_IZoomControl::Step() const +{ + float value {}; + check_hresult(WINRT_SHIM(IZoomControl)->get_Step(&value)); + return value; +} + +template float impl_IZoomControl::Value() const +{ + float value {}; + check_hresult(WINRT_SHIM(IZoomControl)->get_Value(&value)); + return value; +} + +template void impl_IZoomControl::Value(float value) const +{ + check_hresult(WINRT_SHIM(IZoomControl)->put_Value(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_IZoomControl2::SupportedModes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IZoomControl2)->get_SupportedModes(put_abi(value))); + return value; +} + +template Windows::Media::Devices::ZoomTransitionMode impl_IZoomControl2::Mode() const +{ + Windows::Media::Devices::ZoomTransitionMode value {}; + check_hresult(WINRT_SHIM(IZoomControl2)->get_Mode(&value)); + return value; +} + +template void impl_IZoomControl2::Configure(const Windows::Media::Devices::ZoomSettings & settings) const +{ + check_hresult(WINRT_SHIM(IZoomControl2)->abi_Configure(get_abi(settings))); +} + +template Windows::Media::Devices::FocusMode impl_IFocusSettings::Mode() const +{ + Windows::Media::Devices::FocusMode value {}; + check_hresult(WINRT_SHIM(IFocusSettings)->get_Mode(&value)); + return value; +} + +template void impl_IFocusSettings::Mode(Windows::Media::Devices::FocusMode value) const +{ + check_hresult(WINRT_SHIM(IFocusSettings)->put_Mode(value)); +} + +template Windows::Media::Devices::AutoFocusRange impl_IFocusSettings::AutoFocusRange() const +{ + Windows::Media::Devices::AutoFocusRange value {}; + check_hresult(WINRT_SHIM(IFocusSettings)->get_AutoFocusRange(&value)); + return value; +} + +template void impl_IFocusSettings::AutoFocusRange(Windows::Media::Devices::AutoFocusRange value) const +{ + check_hresult(WINRT_SHIM(IFocusSettings)->put_AutoFocusRange(value)); +} + +template Windows::Foundation::IReference impl_IFocusSettings::Value() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IFocusSettings)->get_Value(put_abi(value))); + return value; +} + +template void impl_IFocusSettings::Value(const optional & value) const +{ + check_hresult(WINRT_SHIM(IFocusSettings)->put_Value(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IFocusSettings::Distance() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IFocusSettings)->get_Distance(put_abi(value))); + return value; +} + +template void impl_IFocusSettings::Distance(const optional & value) const +{ + check_hresult(WINRT_SHIM(IFocusSettings)->put_Distance(get_abi(value))); +} + +template bool impl_IFocusSettings::WaitForFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFocusSettings)->get_WaitForFocus(&value)); + return value; +} + +template void impl_IFocusSettings::WaitForFocus(bool value) const +{ + check_hresult(WINRT_SHIM(IFocusSettings)->put_WaitForFocus(value)); +} + +template bool impl_IFocusSettings::DisableDriverFallback() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFocusSettings)->get_DisableDriverFallback(&value)); + return value; +} + +template void impl_IFocusSettings::DisableDriverFallback(bool value) const +{ + check_hresult(WINRT_SHIM(IFocusSettings)->put_DisableDriverFallback(value)); +} + +template bool impl_IFocusControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFocusControl)->get_Supported(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IFocusControl::SupportedPresets() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFocusControl)->get_SupportedPresets(put_abi(value))); + return value; +} + +template Windows::Media::Devices::FocusPreset impl_IFocusControl::Preset() const +{ + Windows::Media::Devices::FocusPreset value {}; + check_hresult(WINRT_SHIM(IFocusControl)->get_Preset(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IFocusControl::SetPresetAsync(Windows::Media::Devices::FocusPreset preset) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IFocusControl)->abi_SetPresetAsync(preset, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IFocusControl::SetPresetAsync(Windows::Media::Devices::FocusPreset preset, bool completeBeforeFocus) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IFocusControl)->abi_SetPresetWithCompletionOptionAsync(preset, completeBeforeFocus, put_abi(asyncInfo))); + return asyncInfo; +} + +template uint32_t impl_IFocusControl::Min() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFocusControl)->get_Min(&value)); + return value; +} + +template uint32_t impl_IFocusControl::Max() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFocusControl)->get_Max(&value)); + return value; +} + +template uint32_t impl_IFocusControl::Step() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFocusControl)->get_Step(&value)); + return value; +} + +template uint32_t impl_IFocusControl::Value() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IFocusControl)->get_Value(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IFocusControl::SetValueAsync(uint32_t focus) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IFocusControl)->abi_SetValueAsync(focus, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IFocusControl::FocusAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IFocusControl)->abi_FocusAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_IFocusControl2::FocusChangedSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFocusControl2)->get_FocusChangedSupported(&value)); + return value; +} + +template bool impl_IFocusControl2::WaitForFocusSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFocusControl2)->get_WaitForFocusSupported(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IFocusControl2::SupportedFocusModes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFocusControl2)->get_SupportedFocusModes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IFocusControl2::SupportedFocusDistances() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFocusControl2)->get_SupportedFocusDistances(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IFocusControl2::SupportedFocusRanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFocusControl2)->get_SupportedFocusRanges(put_abi(value))); + return value; +} + +template Windows::Media::Devices::FocusMode impl_IFocusControl2::Mode() const +{ + Windows::Media::Devices::FocusMode value {}; + check_hresult(WINRT_SHIM(IFocusControl2)->get_Mode(&value)); + return value; +} + +template Windows::Media::Devices::MediaCaptureFocusState impl_IFocusControl2::FocusState() const +{ + Windows::Media::Devices::MediaCaptureFocusState value {}; + check_hresult(WINRT_SHIM(IFocusControl2)->get_FocusState(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IFocusControl2::UnlockAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IFocusControl2)->abi_UnlockAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IFocusControl2::LockAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IFocusControl2)->abi_LockAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IFocusControl2::Configure(const Windows::Media::Devices::FocusSettings & settings) const +{ + check_hresult(WINRT_SHIM(IFocusControl2)->abi_Configure(get_abi(settings))); +} + +template bool impl_IRegionOfInterest::AutoFocusEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRegionOfInterest)->get_AutoFocusEnabled(&value)); + return value; +} + +template void impl_IRegionOfInterest::AutoFocusEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRegionOfInterest)->put_AutoFocusEnabled(value)); +} + +template bool impl_IRegionOfInterest::AutoWhiteBalanceEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRegionOfInterest)->get_AutoWhiteBalanceEnabled(&value)); + return value; +} + +template void impl_IRegionOfInterest::AutoWhiteBalanceEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRegionOfInterest)->put_AutoWhiteBalanceEnabled(value)); +} + +template bool impl_IRegionOfInterest::AutoExposureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRegionOfInterest)->get_AutoExposureEnabled(&value)); + return value; +} + +template void impl_IRegionOfInterest::AutoExposureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRegionOfInterest)->put_AutoExposureEnabled(value)); +} + +template Windows::Foundation::Rect impl_IRegionOfInterest::Bounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IRegionOfInterest)->get_Bounds(put_abi(value))); + return value; +} + +template void impl_IRegionOfInterest::Bounds(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IRegionOfInterest)->put_Bounds(get_abi(value))); +} + +template Windows::Media::Devices::RegionOfInterestType impl_IRegionOfInterest2::Type() const +{ + Windows::Media::Devices::RegionOfInterestType value {}; + check_hresult(WINRT_SHIM(IRegionOfInterest2)->get_Type(&value)); + return value; +} + +template void impl_IRegionOfInterest2::Type(Windows::Media::Devices::RegionOfInterestType value) const +{ + check_hresult(WINRT_SHIM(IRegionOfInterest2)->put_Type(value)); +} + +template bool impl_IRegionOfInterest2::BoundsNormalized() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRegionOfInterest2)->get_BoundsNormalized(&value)); + return value; +} + +template void impl_IRegionOfInterest2::BoundsNormalized(bool value) const +{ + check_hresult(WINRT_SHIM(IRegionOfInterest2)->put_BoundsNormalized(value)); +} + +template uint32_t impl_IRegionOfInterest2::Weight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IRegionOfInterest2)->get_Weight(&value)); + return value; +} + +template void impl_IRegionOfInterest2::Weight(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IRegionOfInterest2)->put_Weight(value)); +} + +template uint32_t impl_IRegionsOfInterestControl::MaxRegions() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IRegionsOfInterestControl)->get_MaxRegions(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IRegionsOfInterestControl::SetRegionsAsync(iterable regions) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IRegionsOfInterestControl)->abi_SetRegionsAsync(get_abi(regions), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IRegionsOfInterestControl::SetRegionsAsync(iterable regions, bool lockValues) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IRegionsOfInterestControl)->abi_SetRegionsWithLockAsync(get_abi(regions), lockValues, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IRegionsOfInterestControl::ClearRegionsAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IRegionsOfInterestControl)->abi_ClearRegionsAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_IRegionsOfInterestControl::AutoFocusSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRegionsOfInterestControl)->get_AutoFocusSupported(&value)); + return value; +} + +template bool impl_IRegionsOfInterestControl::AutoWhiteBalanceSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRegionsOfInterestControl)->get_AutoWhiteBalanceSupported(&value)); + return value; +} + +template bool impl_IRegionsOfInterestControl::AutoExposureSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRegionsOfInterestControl)->get_AutoExposureSupported(&value)); + return value; +} + +template bool impl_IExposurePriorityVideoControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IExposurePriorityVideoControl)->get_Supported(&value)); + return value; +} + +template bool impl_IExposurePriorityVideoControl::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IExposurePriorityVideoControl)->get_Enabled(&value)); + return value; +} + +template void impl_IExposurePriorityVideoControl::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IExposurePriorityVideoControl)->put_Enabled(value)); +} + +template bool impl_IHdrVideoControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHdrVideoControl)->get_Supported(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IHdrVideoControl::SupportedModes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IHdrVideoControl)->get_SupportedModes(put_abi(value))); + return value; +} + +template Windows::Media::Devices::HdrVideoMode impl_IHdrVideoControl::Mode() const +{ + Windows::Media::Devices::HdrVideoMode value {}; + check_hresult(WINRT_SHIM(IHdrVideoControl)->get_Mode(&value)); + return value; +} + +template void impl_IHdrVideoControl::Mode(Windows::Media::Devices::HdrVideoMode value) const +{ + check_hresult(WINRT_SHIM(IHdrVideoControl)->put_Mode(value)); +} + +template Windows::Media::Devices::AdvancedPhotoMode impl_IAdvancedPhotoCaptureSettings::Mode() const +{ + Windows::Media::Devices::AdvancedPhotoMode value {}; + check_hresult(WINRT_SHIM(IAdvancedPhotoCaptureSettings)->get_Mode(&value)); + return value; +} + +template void impl_IAdvancedPhotoCaptureSettings::Mode(Windows::Media::Devices::AdvancedPhotoMode value) const +{ + check_hresult(WINRT_SHIM(IAdvancedPhotoCaptureSettings)->put_Mode(value)); +} + +template bool impl_IAdvancedPhotoControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAdvancedPhotoControl)->get_Supported(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAdvancedPhotoControl::SupportedModes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAdvancedPhotoControl)->get_SupportedModes(put_abi(value))); + return value; +} + +template Windows::Media::Devices::AdvancedPhotoMode impl_IAdvancedPhotoControl::Mode() const +{ + Windows::Media::Devices::AdvancedPhotoMode value {}; + check_hresult(WINRT_SHIM(IAdvancedPhotoControl)->get_Mode(&value)); + return value; +} + +template void impl_IAdvancedPhotoControl::Configure(const Windows::Media::Devices::AdvancedPhotoCaptureSettings & settings) const +{ + check_hresult(WINRT_SHIM(IAdvancedPhotoControl)->abi_Configure(get_abi(settings))); +} + +template bool impl_IOpticalImageStabilizationControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IOpticalImageStabilizationControl)->get_Supported(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IOpticalImageStabilizationControl::SupportedModes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IOpticalImageStabilizationControl)->get_SupportedModes(put_abi(value))); + return value; +} + +template Windows::Media::Devices::OpticalImageStabilizationMode impl_IOpticalImageStabilizationControl::Mode() const +{ + Windows::Media::Devices::OpticalImageStabilizationMode value {}; + check_hresult(WINRT_SHIM(IOpticalImageStabilizationControl)->get_Mode(&value)); + return value; +} + +template void impl_IOpticalImageStabilizationControl::Mode(Windows::Media::Devices::OpticalImageStabilizationMode value) const +{ + check_hresult(WINRT_SHIM(IOpticalImageStabilizationControl)->put_Mode(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaDeviceController::GetAvailableMediaStreamProperties(Windows::Media::Capture::MediaStreamType mediaStreamType) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaDeviceController)->abi_GetAvailableMediaStreamProperties(mediaStreamType, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::IMediaEncodingProperties impl_IMediaDeviceController::GetMediaStreamProperties(Windows::Media::Capture::MediaStreamType mediaStreamType) const +{ + Windows::Media::MediaProperties::IMediaEncodingProperties value; + check_hresult(WINRT_SHIM(IMediaDeviceController)->abi_GetMediaStreamProperties(mediaStreamType, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMediaDeviceController::SetMediaStreamPropertiesAsync(Windows::Media::Capture::MediaStreamType mediaStreamType, const Windows::Media::MediaProperties::IMediaEncodingProperties & mediaEncodingProperties) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMediaDeviceController)->abi_SetMediaStreamPropertiesAsync(mediaStreamType, get_abi(mediaEncodingProperties), put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IAudioDeviceController::Muted(bool value) const +{ + check_hresult(WINRT_SHIM(IAudioDeviceController)->put_Muted(value)); +} + +template bool impl_IAudioDeviceController::Muted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAudioDeviceController)->get_Muted(&value)); + return value; +} + +template void impl_IAudioDeviceController::VolumePercent(float value) const +{ + check_hresult(WINRT_SHIM(IAudioDeviceController)->put_VolumePercent(value)); +} + +template float impl_IAudioDeviceController::VolumePercent() const +{ + float value {}; + check_hresult(WINRT_SHIM(IAudioDeviceController)->get_VolumePercent(&value)); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Brightness() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Brightness(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Contrast() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Contrast(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Hue() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Hue(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::WhiteBalance() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_WhiteBalance(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::BacklightCompensation() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_BacklightCompensation(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Pan() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Pan(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Tilt() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Tilt(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Zoom() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Zoom(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Roll() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Roll(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Exposure() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Exposure(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaDeviceControl impl_IVideoDeviceController::Focus() const +{ + Windows::Media::Devices::MediaDeviceControl value { nullptr }; + check_hresult(WINRT_SHIM(IVideoDeviceController)->get_Focus(put_abi(value))); + return value; +} + +template bool impl_IVideoDeviceController::TrySetPowerlineFrequency(Windows::Media::Capture::PowerlineFrequency value) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IVideoDeviceController)->abi_TrySetPowerlineFrequency(value, &succeeded)); + return succeeded; +} + +template bool impl_IVideoDeviceController::TryGetPowerlineFrequency(Windows::Media::Capture::PowerlineFrequency & value) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IVideoDeviceController)->abi_TryGetPowerlineFrequency(&value, &succeeded)); + return succeeded; +} + +template Windows::Media::Devices::LowLagPhotoSequenceControl impl_IAdvancedVideoCaptureDeviceController2::LowLagPhotoSequence() const +{ + Windows::Media::Devices::LowLagPhotoSequenceControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_LowLagPhotoSequence(put_abi(value))); + return value; +} + +template Windows::Media::Devices::LowLagPhotoControl impl_IAdvancedVideoCaptureDeviceController2::LowLagPhoto() const +{ + Windows::Media::Devices::LowLagPhotoControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_LowLagPhoto(put_abi(value))); + return value; +} + +template Windows::Media::Devices::SceneModeControl impl_IAdvancedVideoCaptureDeviceController2::SceneModeControl() const +{ + Windows::Media::Devices::SceneModeControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_SceneModeControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::TorchControl impl_IAdvancedVideoCaptureDeviceController2::TorchControl() const +{ + Windows::Media::Devices::TorchControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_TorchControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::FlashControl impl_IAdvancedVideoCaptureDeviceController2::FlashControl() const +{ + Windows::Media::Devices::FlashControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_FlashControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::WhiteBalanceControl impl_IAdvancedVideoCaptureDeviceController2::WhiteBalanceControl() const +{ + Windows::Media::Devices::WhiteBalanceControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_WhiteBalanceControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::ExposureControl impl_IAdvancedVideoCaptureDeviceController2::ExposureControl() const +{ + Windows::Media::Devices::ExposureControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_ExposureControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::FocusControl impl_IAdvancedVideoCaptureDeviceController2::FocusControl() const +{ + Windows::Media::Devices::FocusControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_FocusControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::ExposureCompensationControl impl_IAdvancedVideoCaptureDeviceController2::ExposureCompensationControl() const +{ + Windows::Media::Devices::ExposureCompensationControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_ExposureCompensationControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::IsoSpeedControl impl_IAdvancedVideoCaptureDeviceController2::IsoSpeedControl() const +{ + Windows::Media::Devices::IsoSpeedControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_IsoSpeedControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::RegionsOfInterestControl impl_IAdvancedVideoCaptureDeviceController2::RegionsOfInterestControl() const +{ + Windows::Media::Devices::RegionsOfInterestControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_RegionsOfInterestControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::CaptureUse impl_IAdvancedVideoCaptureDeviceController2::PrimaryUse() const +{ + Windows::Media::Devices::CaptureUse value {}; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->get_PrimaryUse(&value)); + return value; +} + +template void impl_IAdvancedVideoCaptureDeviceController2::PrimaryUse(Windows::Media::Devices::CaptureUse value) const +{ + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController2)->put_PrimaryUse(value)); +} + +template Windows::Media::Devices::Core::VariablePhotoSequenceController impl_IAdvancedVideoCaptureDeviceController3::VariablePhotoSequenceController() const +{ + Windows::Media::Devices::Core::VariablePhotoSequenceController value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController3)->get_VariablePhotoSequenceController(put_abi(value))); + return value; +} + +template Windows::Media::Devices::PhotoConfirmationControl impl_IAdvancedVideoCaptureDeviceController3::PhotoConfirmationControl() const +{ + Windows::Media::Devices::PhotoConfirmationControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController3)->get_PhotoConfirmationControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::ZoomControl impl_IAdvancedVideoCaptureDeviceController3::ZoomControl() const +{ + Windows::Media::Devices::ZoomControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController3)->get_ZoomControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::ExposurePriorityVideoControl impl_IAdvancedVideoCaptureDeviceController4::ExposurePriorityVideoControl() const +{ + Windows::Media::Devices::ExposurePriorityVideoControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController4)->get_ExposurePriorityVideoControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::MediaCaptureOptimization impl_IAdvancedVideoCaptureDeviceController4::DesiredOptimization() const +{ + Windows::Media::Devices::MediaCaptureOptimization value {}; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController4)->get_DesiredOptimization(&value)); + return value; +} + +template void impl_IAdvancedVideoCaptureDeviceController4::DesiredOptimization(Windows::Media::Devices::MediaCaptureOptimization value) const +{ + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController4)->put_DesiredOptimization(value)); +} + +template Windows::Media::Devices::HdrVideoControl impl_IAdvancedVideoCaptureDeviceController4::HdrVideoControl() const +{ + Windows::Media::Devices::HdrVideoControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController4)->get_HdrVideoControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::OpticalImageStabilizationControl impl_IAdvancedVideoCaptureDeviceController4::OpticalImageStabilizationControl() const +{ + Windows::Media::Devices::OpticalImageStabilizationControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController4)->get_OpticalImageStabilizationControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::AdvancedPhotoControl impl_IAdvancedVideoCaptureDeviceController4::AdvancedPhotoControl() const +{ + Windows::Media::Devices::AdvancedPhotoControl value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController4)->get_AdvancedPhotoControl(put_abi(value))); + return value; +} + +template Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyStatus impl_IVideoDeviceControllerGetDevicePropertyResult::Status() const +{ + Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyStatus value {}; + check_hresult(WINRT_SHIM(IVideoDeviceControllerGetDevicePropertyResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IVideoDeviceControllerGetDevicePropertyResult::Value() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IVideoDeviceControllerGetDevicePropertyResult)->get_Value(put_abi(value))); + return value; +} + +template hstring impl_IAdvancedVideoCaptureDeviceController5::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController5)->get_Id(put_abi(value))); + return value; +} + +template Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyResult impl_IAdvancedVideoCaptureDeviceController5::GetDevicePropertyById(hstring_view propertyId, const optional & maxPropertyValueSize) const +{ + Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyResult value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController5)->abi_GetDevicePropertyById(get_abi(propertyId), get_abi(maxPropertyValueSize), put_abi(value))); + return value; +} + +template Windows::Media::Devices::VideoDeviceControllerSetDevicePropertyStatus impl_IAdvancedVideoCaptureDeviceController5::SetDevicePropertyById(hstring_view propertyId, const Windows::Foundation::IInspectable & propertyValue) const +{ + Windows::Media::Devices::VideoDeviceControllerSetDevicePropertyStatus value {}; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController5)->abi_SetDevicePropertyById(get_abi(propertyId), get_abi(propertyValue), &value)); + return value; +} + +template Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyResult impl_IAdvancedVideoCaptureDeviceController5::GetDevicePropertyByExtendedId(array_view extendedPropertyId, const optional & maxPropertyValueSize) const +{ + Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyResult value { nullptr }; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController5)->abi_GetDevicePropertyByExtendedId(extendedPropertyId.size(), get_abi(extendedPropertyId), get_abi(maxPropertyValueSize), put_abi(value))); + return value; +} + +template Windows::Media::Devices::VideoDeviceControllerSetDevicePropertyStatus impl_IAdvancedVideoCaptureDeviceController5::SetDevicePropertyByExtendedId(array_view extendedPropertyId, array_view propertyValue) const +{ + Windows::Media::Devices::VideoDeviceControllerSetDevicePropertyStatus value {}; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController5)->abi_SetDevicePropertyByExtendedId(extendedPropertyId.size(), get_abi(extendedPropertyId), propertyValue.size(), get_abi(propertyValue), &value)); + return value; +} + +template Windows::Media::Devices::MediaDeviceControlCapabilities impl_IMediaDeviceControl::Capabilities() const +{ + Windows::Media::Devices::MediaDeviceControlCapabilities value { nullptr }; + check_hresult(WINRT_SHIM(IMediaDeviceControl)->get_Capabilities(put_abi(value))); + return value; +} + +template bool impl_IMediaDeviceControl::TryGetValue(double & value) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IMediaDeviceControl)->abi_TryGetValue(&value, &succeeded)); + return succeeded; +} + +template bool impl_IMediaDeviceControl::TrySetValue(double value) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IMediaDeviceControl)->abi_TrySetValue(value, &succeeded)); + return succeeded; +} + +template bool impl_IMediaDeviceControl::TryGetAuto(bool & value) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IMediaDeviceControl)->abi_TryGetAuto(&value, &succeeded)); + return succeeded; +} + +template bool impl_IMediaDeviceControl::TrySetAuto(bool value) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IMediaDeviceControl)->abi_TrySetAuto(value, &succeeded)); + return succeeded; +} + +template bool impl_IMediaDeviceControlCapabilities::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaDeviceControlCapabilities)->get_Supported(&value)); + return value; +} + +template double impl_IMediaDeviceControlCapabilities::Min() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaDeviceControlCapabilities)->get_Min(&value)); + return value; +} + +template double impl_IMediaDeviceControlCapabilities::Max() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaDeviceControlCapabilities)->get_Max(&value)); + return value; +} + +template double impl_IMediaDeviceControlCapabilities::Step() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaDeviceControlCapabilities)->get_Step(&value)); + return value; +} + +template double impl_IMediaDeviceControlCapabilities::Default() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaDeviceControlCapabilities)->get_Default(&value)); + return value; +} + +template bool impl_IMediaDeviceControlCapabilities::AutoModeSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaDeviceControlCapabilities)->get_AutoModeSupported(&value)); + return value; +} + +template void impl_IAdvancedVideoCaptureDeviceController::SetDeviceProperty(hstring_view propertyId, const Windows::Foundation::IInspectable & propertyValue) const +{ + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController)->abi_SetDeviceProperty(get_abi(propertyId), get_abi(propertyValue))); +} + +template Windows::Foundation::IInspectable impl_IAdvancedVideoCaptureDeviceController::GetDeviceProperty(hstring_view propertyId) const +{ + Windows::Foundation::IInspectable propertyValue; + check_hresult(WINRT_SHIM(IAdvancedVideoCaptureDeviceController)->abi_GetDeviceProperty(get_abi(propertyId), put_abi(propertyValue))); + return propertyValue; +} + +template bool impl_ILowLagPhotoSequenceControl::Supported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_Supported(&value)); + return value; +} + +template uint32_t impl_ILowLagPhotoSequenceControl::MaxPastPhotos() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_MaxPastPhotos(&value)); + return value; +} + +template float impl_ILowLagPhotoSequenceControl::MaxPhotosPerSecond() const +{ + float value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_MaxPhotosPerSecond(&value)); + return value; +} + +template uint32_t impl_ILowLagPhotoSequenceControl::PastPhotoLimit() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_PastPhotoLimit(&value)); + return value; +} + +template void impl_ILowLagPhotoSequenceControl::PastPhotoLimit(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->put_PastPhotoLimit(value)); +} + +template float impl_ILowLagPhotoSequenceControl::PhotosPerSecondLimit() const +{ + float value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_PhotosPerSecondLimit(&value)); + return value; +} + +template void impl_ILowLagPhotoSequenceControl::PhotosPerSecondLimit(float value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->put_PhotosPerSecondLimit(value)); +} + +template Windows::Media::MediaProperties::MediaRatio impl_ILowLagPhotoSequenceControl::GetHighestConcurrentFrameRate(const Windows::Media::MediaProperties::IMediaEncodingProperties & captureProperties) const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->abi_GetHighestConcurrentFrameRate(get_abi(captureProperties), put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_ILowLagPhotoSequenceControl::GetCurrentFrameRate() const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->abi_GetCurrentFrameRate(put_abi(value))); + return value; +} + +template bool impl_ILowLagPhotoSequenceControl::ThumbnailEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_ThumbnailEnabled(&value)); + return value; +} + +template void impl_ILowLagPhotoSequenceControl::ThumbnailEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->put_ThumbnailEnabled(value)); +} + +template Windows::Media::MediaProperties::MediaThumbnailFormat impl_ILowLagPhotoSequenceControl::ThumbnailFormat() const +{ + Windows::Media::MediaProperties::MediaThumbnailFormat value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_ThumbnailFormat(&value)); + return value; +} + +template void impl_ILowLagPhotoSequenceControl::ThumbnailFormat(Windows::Media::MediaProperties::MediaThumbnailFormat value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->put_ThumbnailFormat(value)); +} + +template uint32_t impl_ILowLagPhotoSequenceControl::DesiredThumbnailSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_DesiredThumbnailSize(&value)); + return value; +} + +template void impl_ILowLagPhotoSequenceControl::DesiredThumbnailSize(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->put_DesiredThumbnailSize(value)); +} + +template uint32_t impl_ILowLagPhotoSequenceControl::HardwareAcceleratedThumbnailSupported() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoSequenceControl)->get_HardwareAcceleratedThumbnailSupported(&value)); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_ILowLagPhotoControl::GetHighestConcurrentFrameRate(const Windows::Media::MediaProperties::IMediaEncodingProperties & captureProperties) const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->abi_GetHighestConcurrentFrameRate(get_abi(captureProperties), put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_ILowLagPhotoControl::GetCurrentFrameRate() const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->abi_GetCurrentFrameRate(put_abi(value))); + return value; +} + +template bool impl_ILowLagPhotoControl::ThumbnailEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->get_ThumbnailEnabled(&value)); + return value; +} + +template void impl_ILowLagPhotoControl::ThumbnailEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->put_ThumbnailEnabled(value)); +} + +template Windows::Media::MediaProperties::MediaThumbnailFormat impl_ILowLagPhotoControl::ThumbnailFormat() const +{ + Windows::Media::MediaProperties::MediaThumbnailFormat value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->get_ThumbnailFormat(&value)); + return value; +} + +template void impl_ILowLagPhotoControl::ThumbnailFormat(Windows::Media::MediaProperties::MediaThumbnailFormat value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->put_ThumbnailFormat(value)); +} + +template uint32_t impl_ILowLagPhotoControl::DesiredThumbnailSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->get_DesiredThumbnailSize(&value)); + return value; +} + +template void impl_ILowLagPhotoControl::DesiredThumbnailSize(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->put_DesiredThumbnailSize(value)); +} + +template uint32_t impl_ILowLagPhotoControl::HardwareAcceleratedThumbnailSupported() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILowLagPhotoControl)->get_HardwareAcceleratedThumbnailSupported(&value)); + return value; +} + +template bool impl_IPhotoConfirmationControl::Supported() const +{ + bool pbSupported {}; + check_hresult(WINRT_SHIM(IPhotoConfirmationControl)->get_Supported(&pbSupported)); + return pbSupported; +} + +template bool impl_IPhotoConfirmationControl::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoConfirmationControl)->get_Enabled(&value)); + return value; +} + +template void impl_IPhotoConfirmationControl::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPhotoConfirmationControl)->put_Enabled(value)); +} + +template Windows::Media::MediaProperties::MediaPixelFormat impl_IPhotoConfirmationControl::PixelFormat() const +{ + Windows::Media::MediaProperties::MediaPixelFormat format {}; + check_hresult(WINRT_SHIM(IPhotoConfirmationControl)->get_PixelFormat(&format)); + return format; +} + +template void impl_IPhotoConfirmationControl::PixelFormat(Windows::Media::MediaProperties::MediaPixelFormat format) const +{ + check_hresult(WINRT_SHIM(IPhotoConfirmationControl)->put_PixelFormat(format)); +} + +template void impl_IDialRequestedEventArgs::Handled() const +{ + check_hresult(WINRT_SHIM(IDialRequestedEventArgs)->abi_Handled()); +} + +template Windows::Foundation::IInspectable impl_IDialRequestedEventArgs::Contact() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IDialRequestedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template void impl_IRedialRequestedEventArgs::Handled() const +{ + check_hresult(WINRT_SHIM(IRedialRequestedEventArgs)->abi_Handled()); +} + +template Windows::Media::Devices::TelephonyKey impl_IKeypadPressedEventArgs::TelephonyKey() const +{ + Windows::Media::Devices::TelephonyKey telephonyKey {}; + check_hresult(WINRT_SHIM(IKeypadPressedEventArgs)->get_TelephonyKey(&telephonyKey)); + return telephonyKey; +} + +template uint64_t impl_ICallControl::IndicateNewIncomingCall(bool enableRinger, hstring_view callerId) const +{ + uint64_t callToken {}; + check_hresult(WINRT_SHIM(ICallControl)->abi_IndicateNewIncomingCall(enableRinger, get_abi(callerId), &callToken)); + return callToken; +} + +template uint64_t impl_ICallControl::IndicateNewOutgoingCall() const +{ + uint64_t callToken {}; + check_hresult(WINRT_SHIM(ICallControl)->abi_IndicateNewOutgoingCall(&callToken)); + return callToken; +} + +template void impl_ICallControl::IndicateActiveCall(uint64_t callToken) const +{ + check_hresult(WINRT_SHIM(ICallControl)->abi_IndicateActiveCall(callToken)); +} + +template void impl_ICallControl::EndCall(uint64_t callToken) const +{ + check_hresult(WINRT_SHIM(ICallControl)->abi_EndCall(callToken)); +} + +template bool impl_ICallControl::HasRinger() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICallControl)->get_HasRinger(&value)); + return value; +} + +template event_token impl_ICallControl::AnswerRequested(const Windows::Media::Devices::CallControlEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICallControl)->add_AnswerRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICallControl::AnswerRequested(auto_revoke_t, const Windows::Media::Devices::CallControlEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::ICallControl::remove_AnswerRequested, AnswerRequested(handler)); +} + +template void impl_ICallControl::AnswerRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICallControl)->remove_AnswerRequested(token)); +} + +template event_token impl_ICallControl::HangUpRequested(const Windows::Media::Devices::CallControlEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICallControl)->add_HangUpRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICallControl::HangUpRequested(auto_revoke_t, const Windows::Media::Devices::CallControlEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::ICallControl::remove_HangUpRequested, HangUpRequested(handler)); +} + +template void impl_ICallControl::HangUpRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICallControl)->remove_HangUpRequested(token)); +} + +template event_token impl_ICallControl::DialRequested(const Windows::Media::Devices::DialRequestedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICallControl)->add_DialRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICallControl::DialRequested(auto_revoke_t, const Windows::Media::Devices::DialRequestedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::ICallControl::remove_DialRequested, DialRequested(handler)); +} + +template void impl_ICallControl::DialRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICallControl)->remove_DialRequested(token)); +} + +template event_token impl_ICallControl::RedialRequested(const Windows::Media::Devices::RedialRequestedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICallControl)->add_RedialRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICallControl::RedialRequested(auto_revoke_t, const Windows::Media::Devices::RedialRequestedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::ICallControl::remove_RedialRequested, RedialRequested(handler)); +} + +template void impl_ICallControl::RedialRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICallControl)->remove_RedialRequested(token)); +} + +template event_token impl_ICallControl::KeypadPressed(const Windows::Media::Devices::KeypadPressedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICallControl)->add_KeypadPressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICallControl::KeypadPressed(auto_revoke_t, const Windows::Media::Devices::KeypadPressedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::ICallControl::remove_KeypadPressed, KeypadPressed(handler)); +} + +template void impl_ICallControl::KeypadPressed(event_token token) const +{ + check_hresult(WINRT_SHIM(ICallControl)->remove_KeypadPressed(token)); +} + +template event_token impl_ICallControl::AudioTransferRequested(const Windows::Media::Devices::CallControlEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICallControl)->add_AudioTransferRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICallControl::AudioTransferRequested(auto_revoke_t, const Windows::Media::Devices::CallControlEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Devices::ICallControl::remove_AudioTransferRequested, AudioTransferRequested(handler)); +} + +template void impl_ICallControl::AudioTransferRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICallControl)->remove_AudioTransferRequested(token)); +} + +template Windows::Media::Devices::CallControl impl_ICallControlStatics::GetDefault() const +{ + Windows::Media::Devices::CallControl callControl { nullptr }; + check_hresult(WINRT_SHIM(ICallControlStatics)->abi_GetDefault(put_abi(callControl))); + return callControl; +} + +template Windows::Media::Devices::CallControl impl_ICallControlStatics::FromId(hstring_view deviceId) const +{ + Windows::Media::Devices::CallControl callControl { nullptr }; + check_hresult(WINRT_SHIM(ICallControlStatics)->abi_FromId(get_abi(deviceId), put_abi(callControl))); + return callControl; +} + +inline AdvancedPhotoCaptureSettings::AdvancedPhotoCaptureSettings() : + AdvancedPhotoCaptureSettings(activate_instance()) +{} + +inline AudioDeviceModulesManager::AudioDeviceModulesManager(hstring_view deviceId) : + AudioDeviceModulesManager(get_activation_factory().Create(deviceId)) +{} + +inline Windows::Media::Devices::CallControl CallControl::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Media::Devices::CallControl CallControl::FromId(hstring_view deviceId) +{ + return get_activation_factory().FromId(deviceId); +} + +inline FocusSettings::FocusSettings() : + FocusSettings(activate_instance()) +{} + +inline hstring MediaDevice::GetAudioCaptureSelector() +{ + return get_activation_factory().GetAudioCaptureSelector(); +} + +inline hstring MediaDevice::GetAudioRenderSelector() +{ + return get_activation_factory().GetAudioRenderSelector(); +} + +inline hstring MediaDevice::GetVideoCaptureSelector() +{ + return get_activation_factory().GetVideoCaptureSelector(); +} + +inline hstring MediaDevice::GetDefaultAudioCaptureId(Windows::Media::Devices::AudioDeviceRole role) +{ + return get_activation_factory().GetDefaultAudioCaptureId(role); +} + +inline hstring MediaDevice::GetDefaultAudioRenderId(Windows::Media::Devices::AudioDeviceRole role) +{ + return get_activation_factory().GetDefaultAudioRenderId(role); +} + +inline event_token MediaDevice::DefaultAudioCaptureDeviceChanged(const Windows::Foundation::TypedEventHandler & handler) +{ + return get_activation_factory().DefaultAudioCaptureDeviceChanged(handler); +} + +inline factory_event_revoker MediaDevice::DefaultAudioCaptureDeviceChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::Devices::IMediaDeviceStatics::remove_DefaultAudioCaptureDeviceChanged, factory.DefaultAudioCaptureDeviceChanged(handler) }; +} + +inline void MediaDevice::DefaultAudioCaptureDeviceChanged(event_token cookie) +{ + get_activation_factory().DefaultAudioCaptureDeviceChanged(cookie); +} + +inline event_token MediaDevice::DefaultAudioRenderDeviceChanged(const Windows::Foundation::TypedEventHandler & handler) +{ + return get_activation_factory().DefaultAudioRenderDeviceChanged(handler); +} + +inline factory_event_revoker MediaDevice::DefaultAudioRenderDeviceChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::Devices::IMediaDeviceStatics::remove_DefaultAudioRenderDeviceChanged, factory.DefaultAudioRenderDeviceChanged(handler) }; +} + +inline void MediaDevice::DefaultAudioRenderDeviceChanged(event_token cookie) +{ + get_activation_factory().DefaultAudioRenderDeviceChanged(cookie); +} + +inline RegionOfInterest::RegionOfInterest() : + RegionOfInterest(activate_instance()) +{} + +inline ZoomSettings::ZoomSettings() : + ZoomSettings(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAdvancedPhotoCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAdvancedPhotoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAdvancedVideoCaptureDeviceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAdvancedVideoCaptureDeviceController2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAdvancedVideoCaptureDeviceController3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAdvancedVideoCaptureDeviceController4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAdvancedVideoCaptureDeviceController5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAudioDeviceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAudioDeviceModule & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAudioDeviceModuleNotificationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAudioDeviceModulesManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IAudioDeviceModulesManagerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ICallControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ICallControlStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IDefaultAudioDeviceChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IDialRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IExposureCompensationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IExposureControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IExposurePriorityVideoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IFlashControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IFlashControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IFocusControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IFocusControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IFocusSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IHdrVideoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IIsoSpeedControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IIsoSpeedControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IKeypadPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ILowLagPhotoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ILowLagPhotoSequenceControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IMediaDeviceControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IMediaDeviceControlCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IMediaDeviceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IMediaDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IModuleCommandResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IOpticalImageStabilizationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IPhotoConfirmationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IRedialRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IRegionOfInterest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IRegionOfInterest2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IRegionsOfInterestControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ISceneModeControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ITorchControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IVideoDeviceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IVideoDeviceControllerGetDevicePropertyResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IWhiteBalanceControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IZoomControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IZoomControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IZoomSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::AdvancedPhotoCaptureSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::AdvancedPhotoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::AudioDeviceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::AudioDeviceModule & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::AudioDeviceModuleNotificationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::AudioDeviceModulesManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::CallControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::DefaultAudioCaptureDeviceChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::DefaultAudioRenderDeviceChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::DialRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ExposureCompensationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ExposureControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ExposurePriorityVideoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::FlashControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::FocusControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::FocusSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::HdrVideoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::IsoSpeedControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::KeypadPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::LowLagPhotoControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::LowLagPhotoSequenceControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::MediaDeviceControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::MediaDeviceControlCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ModuleCommandResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::OpticalImageStabilizationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::PhotoConfirmationControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::RedialRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::RegionOfInterest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::RegionsOfInterestControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::SceneModeControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::TorchControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::VideoDeviceController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::VideoDeviceControllerGetDevicePropertyResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::WhiteBalanceControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ZoomControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Devices::ZoomSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.DialProtocol.h b/10.0.15042.0/winrt/Windows.Media.DialProtocol.h new file mode 100644 index 000000000..2dbf0fcf4 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.DialProtocol.h @@ -0,0 +1,878 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.Media.DialProtocol.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestLaunchAsync(impl::abi_arg_in appArgument, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestLaunchAsync(*reinterpret_cast(&appArgument))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppStateAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAppStateAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::DialProtocol::DialAppState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullXml(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullXml()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDialApp(impl::abi_arg_in appName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDialApp(*reinterpret_cast(&appName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Filter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Filter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Appearance(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appearance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DialDeviceSelected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DialDeviceSelected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DialDeviceSelected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DialDeviceSelected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DisconnectButtonClicked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DisconnectButtonClicked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DisconnectButtonClicked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisconnectButtonClicked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DialDevicePickerDismissed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DialDevicePickerDismissed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DialDevicePickerDismissed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DialDevicePickerDismissed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Show(impl::abi_arg_in selection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&selection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowWithPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(&selection), preferredPlacement); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleDialDeviceAsync(impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PickSingleDialDeviceAsync(*reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleDialDeviceAsyncWithPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PickSingleDialDeviceAsync(*reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Hide() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hide(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDisplayStatus(impl::abi_arg_in device, Windows::Media::DialProtocol::DialDeviceDisplayStatus status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDisplayStatus(*reinterpret_cast(&device), status); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedAppNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedAppNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedDialDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedDialDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_in appName, impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector(*reinterpret_cast(&appName))); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeviceInfoSupportsDialAsync(impl::abi_arg_in device, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeviceInfoSupportsDialAsync(*reinterpret_cast(&device))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Device(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Device()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::DialProtocol { + +template Windows::Media::DialProtocol::DialAppState impl_IDialAppStateDetails::State() const +{ + Windows::Media::DialProtocol::DialAppState value {}; + check_hresult(WINRT_SHIM(IDialAppStateDetails)->get_State(&value)); + return value; +} + +template hstring impl_IDialAppStateDetails::FullXml() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDialAppStateDetails)->get_FullXml(put_abi(value))); + return value; +} + +template hstring impl_IDialApp::AppName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDialApp)->get_AppName(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDialApp::RequestLaunchAsync(hstring_view appArgument) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IDialApp)->abi_RequestLaunchAsync(get_abi(appArgument), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDialApp::StopAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IDialApp)->abi_StopAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDialApp::GetAppStateAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IDialApp)->abi_GetAppStateAsync(put_abi(value))); + return value; +} + +template hstring impl_IDialDevice::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDialDevice)->get_Id(put_abi(value))); + return value; +} + +template Windows::Media::DialProtocol::DialApp impl_IDialDevice::GetDialApp(hstring_view appName) const +{ + Windows::Media::DialProtocol::DialApp value { nullptr }; + check_hresult(WINRT_SHIM(IDialDevice)->abi_GetDialApp(get_abi(appName), put_abi(value))); + return value; +} + +template hstring impl_IDialDevice2::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDialDevice2)->get_FriendlyName(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IDialDevice2::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IDialDevice2)->get_Thumbnail(put_abi(value))); + return value; +} + +template hstring impl_IDialDeviceStatics::GetDeviceSelector(hstring_view appName) const +{ + hstring selector; + check_hresult(WINRT_SHIM(IDialDeviceStatics)->abi_GetDeviceSelector(get_abi(appName), put_abi(selector))); + return selector; +} + +template Windows::Foundation::IAsyncOperation impl_IDialDeviceStatics::FromIdAsync(hstring_view value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDialDeviceStatics)->abi_FromIdAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDialDeviceStatics::DeviceInfoSupportsDialAsync(const Windows::Devices::Enumeration::DeviceInformation & device) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDialDeviceStatics)->abi_DeviceInfoSupportsDialAsync(get_abi(device), put_abi(operation))); + return operation; +} + +template Windows::Media::DialProtocol::DialDevice impl_IDialDeviceSelectedEventArgs::SelectedDialDevice() const +{ + Windows::Media::DialProtocol::DialDevice value { nullptr }; + check_hresult(WINRT_SHIM(IDialDeviceSelectedEventArgs)->get_SelectedDialDevice(put_abi(value))); + return value; +} + +template Windows::Media::DialProtocol::DialDevice impl_IDialDisconnectButtonClickedEventArgs::Device() const +{ + Windows::Media::DialProtocol::DialDevice value { nullptr }; + check_hresult(WINRT_SHIM(IDialDisconnectButtonClickedEventArgs)->get_Device(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IDialDevicePickerFilter::SupportedAppNames() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDialDevicePickerFilter)->get_SupportedAppNames(put_abi(value))); + return value; +} + +template Windows::Media::DialProtocol::DialDevicePickerFilter impl_IDialDevicePicker::Filter() const +{ + Windows::Media::DialProtocol::DialDevicePickerFilter value { nullptr }; + check_hresult(WINRT_SHIM(IDialDevicePicker)->get_Filter(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DevicePickerAppearance impl_IDialDevicePicker::Appearance() const +{ + Windows::Devices::Enumeration::DevicePickerAppearance value { nullptr }; + check_hresult(WINRT_SHIM(IDialDevicePicker)->get_Appearance(put_abi(value))); + return value; +} + +template event_token impl_IDialDevicePicker::DialDeviceSelected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDialDevicePicker)->add_DialDeviceSelected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDialDevicePicker::DialDeviceSelected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::DialProtocol::IDialDevicePicker::remove_DialDeviceSelected, DialDeviceSelected(handler)); +} + +template void impl_IDialDevicePicker::DialDeviceSelected(event_token token) const +{ + check_hresult(WINRT_SHIM(IDialDevicePicker)->remove_DialDeviceSelected(token)); +} + +template event_token impl_IDialDevicePicker::DisconnectButtonClicked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDialDevicePicker)->add_DisconnectButtonClicked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDialDevicePicker::DisconnectButtonClicked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::DialProtocol::IDialDevicePicker::remove_DisconnectButtonClicked, DisconnectButtonClicked(handler)); +} + +template void impl_IDialDevicePicker::DisconnectButtonClicked(event_token token) const +{ + check_hresult(WINRT_SHIM(IDialDevicePicker)->remove_DisconnectButtonClicked(token)); +} + +template event_token impl_IDialDevicePicker::DialDevicePickerDismissed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDialDevicePicker)->add_DialDevicePickerDismissed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDialDevicePicker::DialDevicePickerDismissed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::DialProtocol::IDialDevicePicker::remove_DialDevicePickerDismissed, DialDevicePickerDismissed(handler)); +} + +template void impl_IDialDevicePicker::DialDevicePickerDismissed(event_token token) const +{ + check_hresult(WINRT_SHIM(IDialDevicePicker)->remove_DialDevicePickerDismissed(token)); +} + +template void impl_IDialDevicePicker::Show(const Windows::Foundation::Rect & selection) const +{ + check_hresult(WINRT_SHIM(IDialDevicePicker)->abi_Show(get_abi(selection))); +} + +template void impl_IDialDevicePicker::Show(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + check_hresult(WINRT_SHIM(IDialDevicePicker)->abi_ShowWithPlacement(get_abi(selection), preferredPlacement)); +} + +template Windows::Foundation::IAsyncOperation impl_IDialDevicePicker::PickSingleDialDeviceAsync(const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDialDevicePicker)->abi_PickSingleDialDeviceAsync(get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDialDevicePicker::PickSingleDialDeviceAsync(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDialDevicePicker)->abi_PickSingleDialDeviceAsyncWithPlacement(get_abi(selection), preferredPlacement, put_abi(operation))); + return operation; +} + +template void impl_IDialDevicePicker::Hide() const +{ + check_hresult(WINRT_SHIM(IDialDevicePicker)->abi_Hide()); +} + +template void impl_IDialDevicePicker::SetDisplayStatus(const Windows::Media::DialProtocol::DialDevice & device, Windows::Media::DialProtocol::DialDeviceDisplayStatus status) const +{ + check_hresult(WINRT_SHIM(IDialDevicePicker)->abi_SetDisplayStatus(get_abi(device), status)); +} + +inline hstring DialDevice::GetDeviceSelector(hstring_view appName) +{ + return get_activation_factory().GetDeviceSelector(appName); +} + +inline Windows::Foundation::IAsyncOperation DialDevice::FromIdAsync(hstring_view value) +{ + return get_activation_factory().FromIdAsync(value); +} + +inline Windows::Foundation::IAsyncOperation DialDevice::DeviceInfoSupportsDialAsync(const Windows::Devices::Enumeration::DeviceInformation & device) +{ + return get_activation_factory().DeviceInfoSupportsDialAsync(device); +} + +inline DialDevicePicker::DialDevicePicker() : + DialDevicePicker(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialApp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialAppStateDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialDevice2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialDevicePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialDevicePickerFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialDeviceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::IDialDisconnectButtonClickedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::DialApp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::DialAppStateDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::DialDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::DialDevicePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::DialDevicePickerFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::DialDeviceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::DialProtocol::DialDisconnectButtonClickedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Editing.h b/10.0.15042.0/winrt/Windows.Media.Editing.h new file mode 100644 index 000000000..db8e2e78a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Editing.h @@ -0,0 +1,1839 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Media.Core.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "internal/Windows.Media.Effects.3.h" +#include "internal/Windows.Media.Editing.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TrimTimeFromStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimTimeFromStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrimTimeFromStart(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrimTimeFromStart(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrimTimeFromEnd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimTimeFromEnd()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrimTimeFromEnd(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrimTimeFromEnd(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OriginalDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrimmedDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimmedDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserData(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Delay(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Delay(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Delay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Volume(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Volume(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Volume(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Volume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAudioEncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAudioEncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioEffectDefinitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioEffectDefinitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromEmbeddedAudioTrack(impl::abi_arg_in embeddedAudioTrack, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromEmbeddedAudioTrack(*reinterpret_cast(&embeddedAudioTrack))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromFileAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFromFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAudioEncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAudioEncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TrimTimeFromStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimTimeFromStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrimTimeFromStart(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrimTimeFromStart(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrimTimeFromEnd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimTimeFromEnd()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrimTimeFromEnd(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrimTimeFromEnd(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OriginalDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrimmedDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimmedDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserData(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clone(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTimeInComposition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTimeInComposition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndTimeInComposition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndTimeInComposition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmbeddedAudioTracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmbeddedAudioTracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedEmbeddedAudioTrackIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedEmbeddedAudioTrackIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedEmbeddedAudioTrackIndex(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedEmbeddedAudioTrackIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Volume(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Volume(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Volume(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Volume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVideoEncodingProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetVideoEncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioEffectDefinitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioEffectDefinitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoEffectDefinitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoEffectDefinitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromColor(impl::abi_arg_in color, impl::abi_arg_in originalDuration, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromColor(*reinterpret_cast(&color), *reinterpret_cast(&originalDuration))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromFileAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFromFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromImageFileAsync(impl::abi_arg_in file, impl::abi_arg_in originalDuration, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFromImageFileAsync(*reinterpret_cast(&file), *reinterpret_cast(&originalDuration))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromSurface(impl::abi_arg_in surface, impl::abi_arg_in originalDuration, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFromSurface(*reinterpret_cast(&surface), *reinterpret_cast(&originalDuration))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Clips(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clips()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundAudioTracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundAudioTracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserData(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clone(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_in file, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetThumbnailAsync(impl::abi_arg_in timeFromStart, int32_t scaledWidth, int32_t scaledHeight, Windows::Media::Editing::VideoFramePrecision framePrecision, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetThumbnailAsync(*reinterpret_cast(&timeFromStart), scaledWidth, scaledHeight, framePrecision)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetThumbnailsAsync(impl::abi_arg_in> timesFromStart, int32_t scaledWidth, int32_t scaledHeight, Windows::Media::Editing::VideoFramePrecision framePrecision, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetThumbnailsAsync(*reinterpret_cast *>(×FromStart), scaledWidth, scaledHeight, framePrecision)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RenderToFileAsync(impl::abi_arg_in destination, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RenderToFileAsync(*reinterpret_cast(&destination))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RenderToFileWithTrimmingPreferenceAsync(impl::abi_arg_in destination, Windows::Media::Editing::MediaTrimmingPreference trimmingPreference, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RenderToFileAsync(*reinterpret_cast(&destination), trimmingPreference)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RenderToFileWithProfileAsync(impl::abi_arg_in destination, Windows::Media::Editing::MediaTrimmingPreference trimmingPreference, impl::abi_arg_in encodingProfile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RenderToFileAsync(*reinterpret_cast(&destination), trimmingPreference, *reinterpret_cast(&encodingProfile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDefaultEncodingProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateDefaultEncodingProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GenerateMediaStreamSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GenerateMediaStreamSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GenerateMediaStreamSourceWithProfile(impl::abi_arg_in encodingProfile, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GenerateMediaStreamSource(*reinterpret_cast(&encodingProfile))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GeneratePreviewMediaStreamSource(int32_t scaledWidth, int32_t scaledHeight, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GeneratePreviewMediaStreamSource(scaledWidth, scaledHeight)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OverlayLayers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverlayLayers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LoadAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Delay(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Delay(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Delay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Opacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Opacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Opacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clone(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Clip(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clip()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in clip, impl::abi_arg_out mediaOverlay) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *mediaOverlay = detach_abi(this->shim().Create(*reinterpret_cast(&clip))); + return S_OK; + } + catch (...) + { + *mediaOverlay = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithPositionAndOpacity(impl::abi_arg_in clip, impl::abi_arg_in position, double opacity, impl::abi_arg_out mediaOverlay) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *mediaOverlay = detach_abi(this->shim().CreateWithPositionAndOpacity(*reinterpret_cast(&clip), *reinterpret_cast(&position), opacity)); + return S_OK; + } + catch (...) + { + *mediaOverlay = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Clone(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Overlays(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Overlays()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomCompositorDefinition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomCompositorDefinition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithCompositorDefinition(impl::abi_arg_in compositorDefinition, impl::abi_arg_out mediaOverlayLayer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *mediaOverlayLayer = detach_abi(this->shim().CreateWithCompositorDefinition(*reinterpret_cast(&compositorDefinition))); + return S_OK; + } + catch (...) + { + *mediaOverlayLayer = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Editing { + +template Windows::Foundation::TimeSpan impl_IMediaClip::TrimTimeFromStart() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_TrimTimeFromStart(put_abi(value))); + return value; +} + +template void impl_IMediaClip::TrimTimeFromStart(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaClip)->put_TrimTimeFromStart(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaClip::TrimTimeFromEnd() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_TrimTimeFromEnd(put_abi(value))); + return value; +} + +template void impl_IMediaClip::TrimTimeFromEnd(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaClip)->put_TrimTimeFromEnd(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaClip::OriginalDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_OriginalDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaClip::TrimmedDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_TrimmedDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IMediaClip::UserData() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IMediaClip)->get_UserData(put_abi(value))); + return value; +} + +template Windows::Media::Editing::MediaClip impl_IMediaClip::Clone() const +{ + Windows::Media::Editing::MediaClip result { nullptr }; + check_hresult(WINRT_SHIM(IMediaClip)->abi_Clone(put_abi(result))); + return result; +} + +template Windows::Foundation::TimeSpan impl_IMediaClip::StartTimeInComposition() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_StartTimeInComposition(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaClip::EndTimeInComposition() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_EndTimeInComposition(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaClip::EmbeddedAudioTracks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaClip)->get_EmbeddedAudioTracks(put_abi(value))); + return value; +} + +template uint32_t impl_IMediaClip::SelectedEmbeddedAudioTrackIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_SelectedEmbeddedAudioTrackIndex(&value)); + return value; +} + +template void impl_IMediaClip::SelectedEmbeddedAudioTrackIndex(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMediaClip)->put_SelectedEmbeddedAudioTrackIndex(value)); +} + +template void impl_IMediaClip::Volume(double value) const +{ + check_hresult(WINRT_SHIM(IMediaClip)->put_Volume(value)); +} + +template double impl_IMediaClip::Volume() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaClip)->get_Volume(&value)); + return value; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IMediaClip::GetVideoEncodingProperties() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaClip)->abi_GetVideoEncodingProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMediaClip::AudioEffectDefinitions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMediaClip)->get_AudioEffectDefinitions(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMediaClip::VideoEffectDefinitions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMediaClip)->get_VideoEffectDefinitions(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaComposition::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaComposition)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMediaComposition::Clips() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMediaComposition)->get_Clips(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMediaComposition::BackgroundAudioTracks() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMediaComposition)->get_BackgroundAudioTracks(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IMediaComposition::UserData() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IMediaComposition)->get_UserData(put_abi(value))); + return value; +} + +template Windows::Media::Editing::MediaComposition impl_IMediaComposition::Clone() const +{ + Windows::Media::Editing::MediaComposition result { nullptr }; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_Clone(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IMediaComposition::SaveAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_SaveAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaComposition::GetThumbnailAsync(const Windows::Foundation::TimeSpan & timeFromStart, int32_t scaledWidth, int32_t scaledHeight, Windows::Media::Editing::VideoFramePrecision framePrecision) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_GetThumbnailAsync(get_abi(timeFromStart), scaledWidth, scaledHeight, framePrecision, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IMediaComposition::GetThumbnailsAsync(iterable timesFromStart, int32_t scaledWidth, int32_t scaledHeight, Windows::Media::Editing::VideoFramePrecision framePrecision) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_GetThumbnailsAsync(get_abi(timesFromStart), scaledWidth, scaledHeight, framePrecision, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IMediaComposition::RenderToFileAsync(const Windows::Storage::IStorageFile & destination) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_RenderToFileAsync(get_abi(destination), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IMediaComposition::RenderToFileAsync(const Windows::Storage::IStorageFile & destination, Windows::Media::Editing::MediaTrimmingPreference trimmingPreference) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_RenderToFileWithTrimmingPreferenceAsync(get_abi(destination), trimmingPreference, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IMediaComposition::RenderToFileAsync(const Windows::Storage::IStorageFile & destination, Windows::Media::Editing::MediaTrimmingPreference trimmingPreference, const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_RenderToFileWithProfileAsync(get_abi(destination), trimmingPreference, get_abi(encodingProfile), put_abi(operation))); + return operation; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaComposition::CreateDefaultEncodingProfile() const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_CreateDefaultEncodingProfile(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSource impl_IMediaComposition::GenerateMediaStreamSource() const +{ + Windows::Media::Core::MediaStreamSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_GenerateMediaStreamSource(put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSource impl_IMediaComposition::GenerateMediaStreamSource(const Windows::Media::MediaProperties::MediaEncodingProfile & encodingProfile) const +{ + Windows::Media::Core::MediaStreamSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_GenerateMediaStreamSourceWithProfile(get_abi(encodingProfile), put_abi(value))); + return value; +} + +template Windows::Media::Core::MediaStreamSource impl_IMediaComposition::GeneratePreviewMediaStreamSource(int32_t scaledWidth, int32_t scaledHeight) const +{ + Windows::Media::Core::MediaStreamSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaComposition)->abi_GeneratePreviewMediaStreamSource(scaledWidth, scaledHeight, put_abi(value))); + return value; +} + +template Windows::Media::Editing::MediaClip impl_IMediaClipStatics::CreateFromColor(const Windows::UI::Color & color, const Windows::Foundation::TimeSpan & originalDuration) const +{ + Windows::Media::Editing::MediaClip value { nullptr }; + check_hresult(WINRT_SHIM(IMediaClipStatics)->abi_CreateFromColor(get_abi(color), get_abi(originalDuration), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaClipStatics::CreateFromFileAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaClipStatics)->abi_CreateFromFileAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaClipStatics::CreateFromImageFileAsync(const Windows::Storage::IStorageFile & file, const Windows::Foundation::TimeSpan & originalDuration) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaClipStatics)->abi_CreateFromImageFileAsync(get_abi(file), get_abi(originalDuration), put_abi(operation))); + return operation; +} + +template Windows::Media::Editing::MediaClip impl_IMediaClipStatics2::CreateFromSurface(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & surface, const Windows::Foundation::TimeSpan & originalDuration) const +{ + Windows::Media::Editing::MediaClip value { nullptr }; + check_hresult(WINRT_SHIM(IMediaClipStatics2)->abi_CreateFromSurface(get_abi(surface), get_abi(originalDuration), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaCompositionStatics::LoadAsync(const Windows::Storage::StorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaCompositionStatics)->abi_LoadAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IEmbeddedAudioTrack::GetAudioEncodingProperties() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IEmbeddedAudioTrack)->abi_GetAudioEncodingProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBackgroundAudioTrack::TrimTimeFromStart() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_TrimTimeFromStart(put_abi(value))); + return value; +} + +template void impl_IBackgroundAudioTrack::TrimTimeFromStart(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->put_TrimTimeFromStart(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IBackgroundAudioTrack::TrimTimeFromEnd() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_TrimTimeFromEnd(put_abi(value))); + return value; +} + +template void impl_IBackgroundAudioTrack::TrimTimeFromEnd(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->put_TrimTimeFromEnd(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IBackgroundAudioTrack::OriginalDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_OriginalDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBackgroundAudioTrack::TrimmedDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_TrimmedDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IBackgroundAudioTrack::UserData() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_UserData(put_abi(value))); + return value; +} + +template void impl_IBackgroundAudioTrack::Delay(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->put_Delay(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IBackgroundAudioTrack::Delay() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_Delay(put_abi(value))); + return value; +} + +template void impl_IBackgroundAudioTrack::Volume(double value) const +{ + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->put_Volume(value)); +} + +template double impl_IBackgroundAudioTrack::Volume() const +{ + double value {}; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_Volume(&value)); + return value; +} + +template Windows::Media::Editing::BackgroundAudioTrack impl_IBackgroundAudioTrack::Clone() const +{ + Windows::Media::Editing::BackgroundAudioTrack value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->abi_Clone(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IBackgroundAudioTrack::GetAudioEncodingProperties() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->abi_GetAudioEncodingProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IBackgroundAudioTrack::AudioEffectDefinitions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IBackgroundAudioTrack)->get_AudioEffectDefinitions(put_abi(value))); + return value; +} + +template Windows::Media::Editing::BackgroundAudioTrack impl_IBackgroundAudioTrackStatics::CreateFromEmbeddedAudioTrack(const Windows::Media::Editing::EmbeddedAudioTrack & embeddedAudioTrack) const +{ + Windows::Media::Editing::BackgroundAudioTrack value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundAudioTrackStatics)->abi_CreateFromEmbeddedAudioTrack(get_abi(embeddedAudioTrack), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundAudioTrackStatics::CreateFromFileAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundAudioTrackStatics)->abi_CreateFromFileAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVector impl_IMediaComposition2::OverlayLayers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMediaComposition2)->get_OverlayLayers(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IMediaOverlay::Position() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IMediaOverlay)->get_Position(put_abi(value))); + return value; +} + +template void impl_IMediaOverlay::Position(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IMediaOverlay)->put_Position(get_abi(value))); +} + +template void impl_IMediaOverlay::Delay(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaOverlay)->put_Delay(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaOverlay::Delay() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaOverlay)->get_Delay(put_abi(value))); + return value; +} + +template double impl_IMediaOverlay::Opacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaOverlay)->get_Opacity(&value)); + return value; +} + +template void impl_IMediaOverlay::Opacity(double value) const +{ + check_hresult(WINRT_SHIM(IMediaOverlay)->put_Opacity(value)); +} + +template Windows::Media::Editing::MediaOverlay impl_IMediaOverlay::Clone() const +{ + Windows::Media::Editing::MediaOverlay result { nullptr }; + check_hresult(WINRT_SHIM(IMediaOverlay)->abi_Clone(put_abi(result))); + return result; +} + +template Windows::Media::Editing::MediaClip impl_IMediaOverlay::Clip() const +{ + Windows::Media::Editing::MediaClip value { nullptr }; + check_hresult(WINRT_SHIM(IMediaOverlay)->get_Clip(put_abi(value))); + return value; +} + +template bool impl_IMediaOverlay::AudioEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaOverlay)->get_AudioEnabled(&value)); + return value; +} + +template void impl_IMediaOverlay::AudioEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaOverlay)->put_AudioEnabled(value)); +} + +template Windows::Media::Editing::MediaOverlay impl_IMediaOverlayFactory::Create(const Windows::Media::Editing::MediaClip & clip) const +{ + Windows::Media::Editing::MediaOverlay mediaOverlay { nullptr }; + check_hresult(WINRT_SHIM(IMediaOverlayFactory)->abi_Create(get_abi(clip), put_abi(mediaOverlay))); + return mediaOverlay; +} + +template Windows::Media::Editing::MediaOverlay impl_IMediaOverlayFactory::CreateWithPositionAndOpacity(const Windows::Media::Editing::MediaClip & clip, const Windows::Foundation::Rect & position, double opacity) const +{ + Windows::Media::Editing::MediaOverlay mediaOverlay { nullptr }; + check_hresult(WINRT_SHIM(IMediaOverlayFactory)->abi_CreateWithPositionAndOpacity(get_abi(clip), get_abi(position), opacity, put_abi(mediaOverlay))); + return mediaOverlay; +} + +template Windows::Media::Editing::MediaOverlayLayer impl_IMediaOverlayLayerFactory::CreateWithCompositorDefinition(const Windows::Media::Effects::IVideoCompositorDefinition & compositorDefinition) const +{ + Windows::Media::Editing::MediaOverlayLayer mediaOverlayLayer { nullptr }; + check_hresult(WINRT_SHIM(IMediaOverlayLayerFactory)->abi_CreateWithCompositorDefinition(get_abi(compositorDefinition), put_abi(mediaOverlayLayer))); + return mediaOverlayLayer; +} + +template Windows::Media::Editing::MediaOverlayLayer impl_IMediaOverlayLayer::Clone() const +{ + Windows::Media::Editing::MediaOverlayLayer result { nullptr }; + check_hresult(WINRT_SHIM(IMediaOverlayLayer)->abi_Clone(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IMediaOverlayLayer::Overlays() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMediaOverlayLayer)->get_Overlays(put_abi(value))); + return value; +} + +template Windows::Media::Effects::IVideoCompositorDefinition impl_IMediaOverlayLayer::CustomCompositorDefinition() const +{ + Windows::Media::Effects::IVideoCompositorDefinition value; + check_hresult(WINRT_SHIM(IMediaOverlayLayer)->get_CustomCompositorDefinition(put_abi(value))); + return value; +} + +inline Windows::Media::Editing::BackgroundAudioTrack BackgroundAudioTrack::CreateFromEmbeddedAudioTrack(const Windows::Media::Editing::EmbeddedAudioTrack & embeddedAudioTrack) +{ + return get_activation_factory().CreateFromEmbeddedAudioTrack(embeddedAudioTrack); +} + +inline Windows::Foundation::IAsyncOperation BackgroundAudioTrack::CreateFromFileAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().CreateFromFileAsync(file); +} + +inline Windows::Media::Editing::MediaClip MediaClip::CreateFromColor(const Windows::UI::Color & color, const Windows::Foundation::TimeSpan & originalDuration) +{ + return get_activation_factory().CreateFromColor(color, originalDuration); +} + +inline Windows::Foundation::IAsyncOperation MediaClip::CreateFromFileAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().CreateFromFileAsync(file); +} + +inline Windows::Foundation::IAsyncOperation MediaClip::CreateFromImageFileAsync(const Windows::Storage::IStorageFile & file, const Windows::Foundation::TimeSpan & originalDuration) +{ + return get_activation_factory().CreateFromImageFileAsync(file, originalDuration); +} + +inline Windows::Media::Editing::MediaClip MediaClip::CreateFromSurface(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & surface, const Windows::Foundation::TimeSpan & originalDuration) +{ + return get_activation_factory().CreateFromSurface(surface, originalDuration); +} + +inline MediaComposition::MediaComposition() : + MediaComposition(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation MediaComposition::LoadAsync(const Windows::Storage::StorageFile & file) +{ + return get_activation_factory().LoadAsync(file); +} + +inline MediaOverlay::MediaOverlay(const Windows::Media::Editing::MediaClip & clip) : + MediaOverlay(get_activation_factory().Create(clip)) +{} + +inline MediaOverlay::MediaOverlay(const Windows::Media::Editing::MediaClip & clip, const Windows::Foundation::Rect & position, double opacity) : + MediaOverlay(get_activation_factory().CreateWithPositionAndOpacity(clip, position, opacity)) +{} + +inline MediaOverlayLayer::MediaOverlayLayer() : + MediaOverlayLayer(activate_instance()) +{} + +inline MediaOverlayLayer::MediaOverlayLayer(const Windows::Media::Effects::IVideoCompositorDefinition & compositorDefinition) : + MediaOverlayLayer(get_activation_factory().CreateWithCompositorDefinition(compositorDefinition)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IBackgroundAudioTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IBackgroundAudioTrackStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IEmbeddedAudioTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaClip & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaClipStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaClipStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaComposition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaComposition2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaCompositionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaOverlay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaOverlayFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaOverlayLayer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::IMediaOverlayLayerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::BackgroundAudioTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::EmbeddedAudioTrack & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::MediaClip & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::MediaComposition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::MediaOverlay & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Editing::MediaOverlayLayer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Effects.h b/10.0.15042.0/winrt/Windows.Media.Effects.h new file mode 100644 index 000000000..b33d3cdd8 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Effects.h @@ -0,0 +1,1836 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "internal/Windows.Media.Editing.3.h" +#include "internal/Windows.Media.Render.3.h" +#include "internal/Windows.Media.Capture.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Media.Transcoding.3.h" +#include "internal/Windows.Media.Effects.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AudioCaptureEffectsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioCaptureEffectsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioCaptureEffectsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioCaptureEffectsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAudioCaptureEffects(impl::abi_arg_out> effects) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *effects = detach_abi(this->shim().GetAudioCaptureEffects()); + return S_OK; + } + catch (...) + { + *effects = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AudioEffectType(Windows::Media::Effects::AudioEffectType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioEffectType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivatableClassId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivatableClassId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in activatableClassId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&activatableClassId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithProperties(impl::abi_arg_in activatableClassId, impl::abi_arg_in props, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithProperties(*reinterpret_cast(&activatableClassId), *reinterpret_cast(&props))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAudioRenderEffectsManager(impl::abi_arg_in deviceId, Windows::Media::Render::AudioRenderCategory category, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAudioRenderEffectsManager(*reinterpret_cast(&deviceId), category)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAudioRenderEffectsManagerWithMode(impl::abi_arg_in deviceId, Windows::Media::Render::AudioRenderCategory category, Windows::Media::AudioProcessing mode, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAudioRenderEffectsManager(*reinterpret_cast(&deviceId), category, mode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAudioCaptureEffectsManager(impl::abi_arg_in deviceId, Windows::Media::Capture::MediaCategory category, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAudioCaptureEffectsManager(*reinterpret_cast(&deviceId), category)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAudioCaptureEffectsManagerWithMode(impl::abi_arg_in deviceId, Windows::Media::Capture::MediaCategory category, Windows::Media::AudioProcessing mode, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAudioCaptureEffectsManager(*reinterpret_cast(&deviceId), category, mode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AudioRenderEffectsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioRenderEffectsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioRenderEffectsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioRenderEffectsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAudioRenderEffects(impl::abi_arg_out> effects) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *effects = detach_abi(this->shim().GetAudioRenderEffects()); + return S_OK; + } + catch (...) + { + *effects = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EffectsProviderThumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EffectsProviderThumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EffectsProviderSettingsLabel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EffectsProviderSettingsLabel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowSettingsUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowSettingsUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UseInputFrameForOutput(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseInputFrameForOutput()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedEncodingProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedEncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetEncodingProperties(impl::abi_arg_in encodingProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetEncodingProperties(*reinterpret_cast(&encodingProperties)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessFrame(impl::abi_arg_in context) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessFrame(*reinterpret_cast(&context)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close(Windows::Media::Effects::MediaEffectClosedReason reason) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(reason); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DiscardQueuedFrames() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DiscardQueuedFrames(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedMemoryTypes(Windows::Media::Effects::MediaMemoryTypes * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedMemoryTypes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeIndependent(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeIndependent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedEncodingProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedEncodingProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetEncodingProperties(impl::abi_arg_in encodingProperties, impl::abi_arg_in device) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetEncodingProperties(*reinterpret_cast(&encodingProperties), *reinterpret_cast(&device)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessFrame(impl::abi_arg_in context) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessFrame(*reinterpret_cast(&context)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close(Windows::Media::Effects::MediaEffectClosedReason reason) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(reason); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DiscardQueuedFrames() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DiscardQueuedFrames(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SurfacesToOverlay(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SurfacesToOverlay()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOverlayForSurface(impl::abi_arg_in surfaceToOverlay, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetOverlayForSurface(*reinterpret_cast(&surfaceToOverlay))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputFrame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputFrame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TimeStretchRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeStretchRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TimeStretchRate(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimeStretchRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TimeIndependent(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeIndependent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetEncodingProperties(impl::abi_arg_in backgroundProperties, impl::abi_arg_in device) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetEncodingProperties(*reinterpret_cast(&backgroundProperties), *reinterpret_cast(&device)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompositeFrame(impl::abi_arg_in context) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompositeFrame(*reinterpret_cast(&context)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close(Windows::Media::Effects::MediaEffectClosedReason reason) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(reason); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DiscardQueuedFrames() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DiscardQueuedFrames(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivatableClassId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivatableClassId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in activatableClassId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&activatableClassId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithProperties(impl::abi_arg_in activatableClassId, impl::abi_arg_in props, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithProperties(*reinterpret_cast(&activatableClassId), *reinterpret_cast(&props))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivatableClassId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivatableClassId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in activatableClassId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&activatableClassId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithProperties(impl::abi_arg_in activatableClassId, impl::abi_arg_in props, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithProperties(*reinterpret_cast(&activatableClassId), *reinterpret_cast(&props))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PaddingColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PaddingColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PaddingColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutputSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutputSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CropRectangle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CropRectangle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CropRectangle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CropRectangle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rotation(Windows::Media::MediaProperties::MediaRotation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rotation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Rotation(Windows::Media::MediaProperties::MediaRotation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rotation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mirror(Windows::Media::MediaProperties::MediaMirroringOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mirror()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mirror(Windows::Media::MediaProperties::MediaMirroringOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mirror(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProcessingAlgorithm(Windows::Media::Transcoding::MediaVideoProcessingAlgorithm value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessingAlgorithm(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProcessingAlgorithm(Windows::Media::Transcoding::MediaVideoProcessingAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProcessingAlgorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Effects { + +template hstring impl_IVideoCompositorDefinition::ActivatableClassId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoCompositorDefinition)->get_ActivatableClassId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IVideoCompositorDefinition::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IVideoCompositorDefinition)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Media::Effects::VideoCompositorDefinition impl_IVideoCompositorDefinitionFactory::Create(hstring_view activatableClassId) const +{ + Windows::Media::Effects::VideoCompositorDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IVideoCompositorDefinitionFactory)->abi_Create(get_abi(activatableClassId), put_abi(value))); + return value; +} + +template Windows::Media::Effects::VideoCompositorDefinition impl_IVideoCompositorDefinitionFactory::CreateWithProperties(hstring_view activatableClassId, const Windows::Foundation::Collections::IPropertySet & props) const +{ + Windows::Media::Effects::VideoCompositorDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IVideoCompositorDefinitionFactory)->abi_CreateWithProperties(get_abi(activatableClassId), get_abi(props), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICompositeVideoFrameContext::SurfacesToOverlay() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICompositeVideoFrameContext)->get_SurfacesToOverlay(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_ICompositeVideoFrameContext::BackgroundFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(ICompositeVideoFrameContext)->get_BackgroundFrame(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_ICompositeVideoFrameContext::OutputFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(ICompositeVideoFrameContext)->get_OutputFrame(put_abi(value))); + return value; +} + +template Windows::Media::Editing::MediaOverlay impl_ICompositeVideoFrameContext::GetOverlayForSurface(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & surfaceToOverlay) const +{ + Windows::Media::Editing::MediaOverlay value { nullptr }; + check_hresult(WINRT_SHIM(ICompositeVideoFrameContext)->abi_GetOverlayForSurface(get_abi(surfaceToOverlay), put_abi(value))); + return value; +} + +template Windows::Media::Effects::AudioEffectType impl_IAudioEffect::AudioEffectType() const +{ + Windows::Media::Effects::AudioEffectType value {}; + check_hresult(WINRT_SHIM(IAudioEffect)->get_AudioEffectType(&value)); + return value; +} + +template Windows::Media::Effects::AudioRenderEffectsManager impl_IAudioEffectsManagerStatics::CreateAudioRenderEffectsManager(hstring_view deviceId, Windows::Media::Render::AudioRenderCategory category) const +{ + Windows::Media::Effects::AudioRenderEffectsManager value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEffectsManagerStatics)->abi_CreateAudioRenderEffectsManager(get_abi(deviceId), category, put_abi(value))); + return value; +} + +template Windows::Media::Effects::AudioRenderEffectsManager impl_IAudioEffectsManagerStatics::CreateAudioRenderEffectsManager(hstring_view deviceId, Windows::Media::Render::AudioRenderCategory category, Windows::Media::AudioProcessing mode) const +{ + Windows::Media::Effects::AudioRenderEffectsManager value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEffectsManagerStatics)->abi_CreateAudioRenderEffectsManagerWithMode(get_abi(deviceId), category, mode, put_abi(value))); + return value; +} + +template Windows::Media::Effects::AudioCaptureEffectsManager impl_IAudioEffectsManagerStatics::CreateAudioCaptureEffectsManager(hstring_view deviceId, Windows::Media::Capture::MediaCategory category) const +{ + Windows::Media::Effects::AudioCaptureEffectsManager value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEffectsManagerStatics)->abi_CreateAudioCaptureEffectsManager(get_abi(deviceId), category, put_abi(value))); + return value; +} + +template Windows::Media::Effects::AudioCaptureEffectsManager impl_IAudioEffectsManagerStatics::CreateAudioCaptureEffectsManager(hstring_view deviceId, Windows::Media::Capture::MediaCategory category, Windows::Media::AudioProcessing mode) const +{ + Windows::Media::Effects::AudioCaptureEffectsManager value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEffectsManagerStatics)->abi_CreateAudioCaptureEffectsManagerWithMode(get_abi(deviceId), category, mode, put_abi(value))); + return value; +} + +template event_token impl_IAudioRenderEffectsManager::AudioRenderEffectsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioRenderEffectsManager)->add_AudioRenderEffectsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioRenderEffectsManager::AudioRenderEffectsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Effects::IAudioRenderEffectsManager::remove_AudioRenderEffectsChanged, AudioRenderEffectsChanged(handler)); +} + +template void impl_IAudioRenderEffectsManager::AudioRenderEffectsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioRenderEffectsManager)->remove_AudioRenderEffectsChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IAudioRenderEffectsManager::GetAudioRenderEffects() const +{ + Windows::Foundation::Collections::IVectorView effects; + check_hresult(WINRT_SHIM(IAudioRenderEffectsManager)->abi_GetAudioRenderEffects(put_abi(effects))); + return effects; +} + +template Windows::Storage::Streams::IRandomAccessStreamWithContentType impl_IAudioRenderEffectsManager2::EffectsProviderThumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamWithContentType value; + check_hresult(WINRT_SHIM(IAudioRenderEffectsManager2)->get_EffectsProviderThumbnail(put_abi(value))); + return value; +} + +template hstring impl_IAudioRenderEffectsManager2::EffectsProviderSettingsLabel() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAudioRenderEffectsManager2)->get_EffectsProviderSettingsLabel(put_abi(value))); + return value; +} + +template void impl_IAudioRenderEffectsManager2::ShowSettingsUI() const +{ + check_hresult(WINRT_SHIM(IAudioRenderEffectsManager2)->abi_ShowSettingsUI()); +} + +template event_token impl_IAudioCaptureEffectsManager::AudioCaptureEffectsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioCaptureEffectsManager)->add_AudioCaptureEffectsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAudioCaptureEffectsManager::AudioCaptureEffectsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Effects::IAudioCaptureEffectsManager::remove_AudioCaptureEffectsChanged, AudioCaptureEffectsChanged(handler)); +} + +template void impl_IAudioCaptureEffectsManager::AudioCaptureEffectsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioCaptureEffectsManager)->remove_AudioCaptureEffectsChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IAudioCaptureEffectsManager::GetAudioCaptureEffects() const +{ + Windows::Foundation::Collections::IVectorView effects; + check_hresult(WINRT_SHIM(IAudioCaptureEffectsManager)->abi_GetAudioCaptureEffects(put_abi(effects))); + return effects; +} + +template bool impl_IVideoCompositor::TimeIndependent() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVideoCompositor)->get_TimeIndependent(&value)); + return value; +} + +template void impl_IVideoCompositor::SetEncodingProperties(const Windows::Media::MediaProperties::VideoEncodingProperties & backgroundProperties, const Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice & device) const +{ + check_hresult(WINRT_SHIM(IVideoCompositor)->abi_SetEncodingProperties(get_abi(backgroundProperties), get_abi(device))); +} + +template void impl_IVideoCompositor::CompositeFrame(const Windows::Media::Effects::CompositeVideoFrameContext & context) const +{ + check_hresult(WINRT_SHIM(IVideoCompositor)->abi_CompositeFrame(get_abi(context))); +} + +template void impl_IVideoCompositor::Close(Windows::Media::Effects::MediaEffectClosedReason reason) const +{ + check_hresult(WINRT_SHIM(IVideoCompositor)->abi_Close(reason)); +} + +template void impl_IVideoCompositor::DiscardQueuedFrames() const +{ + check_hresult(WINRT_SHIM(IVideoCompositor)->abi_DiscardQueuedFrames()); +} + +template hstring impl_IAudioEffectDefinition::ActivatableClassId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAudioEffectDefinition)->get_ActivatableClassId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IAudioEffectDefinition::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IAudioEffectDefinition)->get_Properties(put_abi(value))); + return value; +} + +template hstring impl_IVideoEffectDefinition::ActivatableClassId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoEffectDefinition)->get_ActivatableClassId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IVideoEffectDefinition::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IVideoEffectDefinition)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Media::Effects::VideoEffectDefinition impl_IVideoEffectDefinitionFactory::Create(hstring_view activatableClassId) const +{ + Windows::Media::Effects::VideoEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEffectDefinitionFactory)->abi_Create(get_abi(activatableClassId), put_abi(value))); + return value; +} + +template Windows::Media::Effects::VideoEffectDefinition impl_IVideoEffectDefinitionFactory::CreateWithProperties(hstring_view activatableClassId, const Windows::Foundation::Collections::IPropertySet & props) const +{ + Windows::Media::Effects::VideoEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEffectDefinitionFactory)->abi_CreateWithProperties(get_abi(activatableClassId), get_abi(props), put_abi(value))); + return value; +} + +template Windows::Media::Effects::AudioEffectDefinition impl_IAudioEffectDefinitionFactory::Create(hstring_view activatableClassId) const +{ + Windows::Media::Effects::AudioEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEffectDefinitionFactory)->abi_Create(get_abi(activatableClassId), put_abi(value))); + return value; +} + +template Windows::Media::Effects::AudioEffectDefinition impl_IAudioEffectDefinitionFactory::CreateWithProperties(hstring_view activatableClassId, const Windows::Foundation::Collections::IPropertySet & props) const +{ + Windows::Media::Effects::AudioEffectDefinition value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEffectDefinitionFactory)->abi_CreateWithProperties(get_abi(activatableClassId), get_abi(props), put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IProcessVideoFrameContext::InputFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IProcessVideoFrameContext)->get_InputFrame(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IProcessVideoFrameContext::OutputFrame() const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IProcessVideoFrameContext)->get_OutputFrame(put_abi(value))); + return value; +} + +template bool impl_IBasicVideoEffect::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBasicVideoEffect)->get_IsReadOnly(&value)); + return value; +} + +template Windows::Media::Effects::MediaMemoryTypes impl_IBasicVideoEffect::SupportedMemoryTypes() const +{ + Windows::Media::Effects::MediaMemoryTypes value {}; + check_hresult(WINRT_SHIM(IBasicVideoEffect)->get_SupportedMemoryTypes(&value)); + return value; +} + +template bool impl_IBasicVideoEffect::TimeIndependent() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBasicVideoEffect)->get_TimeIndependent(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBasicVideoEffect::SupportedEncodingProperties() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBasicVideoEffect)->get_SupportedEncodingProperties(put_abi(value))); + return value; +} + +template void impl_IBasicVideoEffect::SetEncodingProperties(const Windows::Media::MediaProperties::VideoEncodingProperties & encodingProperties, const Windows::Graphics::DirectX::Direct3D11::IDirect3DDevice & device) const +{ + check_hresult(WINRT_SHIM(IBasicVideoEffect)->abi_SetEncodingProperties(get_abi(encodingProperties), get_abi(device))); +} + +template void impl_IBasicVideoEffect::ProcessFrame(const Windows::Media::Effects::ProcessVideoFrameContext & context) const +{ + check_hresult(WINRT_SHIM(IBasicVideoEffect)->abi_ProcessFrame(get_abi(context))); +} + +template void impl_IBasicVideoEffect::Close(Windows::Media::Effects::MediaEffectClosedReason reason) const +{ + check_hresult(WINRT_SHIM(IBasicVideoEffect)->abi_Close(reason)); +} + +template void impl_IBasicVideoEffect::DiscardQueuedFrames() const +{ + check_hresult(WINRT_SHIM(IBasicVideoEffect)->abi_DiscardQueuedFrames()); +} + +template Windows::Media::AudioFrame impl_IProcessAudioFrameContext::InputFrame() const +{ + Windows::Media::AudioFrame value { nullptr }; + check_hresult(WINRT_SHIM(IProcessAudioFrameContext)->get_InputFrame(put_abi(value))); + return value; +} + +template Windows::Media::AudioFrame impl_IProcessAudioFrameContext::OutputFrame() const +{ + Windows::Media::AudioFrame value { nullptr }; + check_hresult(WINRT_SHIM(IProcessAudioFrameContext)->get_OutputFrame(put_abi(value))); + return value; +} + +template bool impl_IBasicAudioEffect::UseInputFrameForOutput() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBasicAudioEffect)->get_UseInputFrameForOutput(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBasicAudioEffect::SupportedEncodingProperties() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBasicAudioEffect)->get_SupportedEncodingProperties(put_abi(value))); + return value; +} + +template void impl_IBasicAudioEffect::SetEncodingProperties(const Windows::Media::MediaProperties::AudioEncodingProperties & encodingProperties) const +{ + check_hresult(WINRT_SHIM(IBasicAudioEffect)->abi_SetEncodingProperties(get_abi(encodingProperties))); +} + +template void impl_IBasicAudioEffect::ProcessFrame(const Windows::Media::Effects::ProcessAudioFrameContext & context) const +{ + check_hresult(WINRT_SHIM(IBasicAudioEffect)->abi_ProcessFrame(get_abi(context))); +} + +template void impl_IBasicAudioEffect::Close(Windows::Media::Effects::MediaEffectClosedReason reason) const +{ + check_hresult(WINRT_SHIM(IBasicAudioEffect)->abi_Close(reason)); +} + +template void impl_IBasicAudioEffect::DiscardQueuedFrames() const +{ + check_hresult(WINRT_SHIM(IBasicAudioEffect)->abi_DiscardQueuedFrames()); +} + +template Windows::UI::Color impl_IVideoTransformEffectDefinition::PaddingColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->get_PaddingColor(put_abi(value))); + return value; +} + +template void impl_IVideoTransformEffectDefinition::PaddingColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->put_PaddingColor(get_abi(value))); +} + +template Windows::Foundation::Size impl_IVideoTransformEffectDefinition::OutputSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->get_OutputSize(put_abi(value))); + return value; +} + +template void impl_IVideoTransformEffectDefinition::OutputSize(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->put_OutputSize(get_abi(value))); +} + +template Windows::Foundation::Rect impl_IVideoTransformEffectDefinition::CropRectangle() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->get_CropRectangle(put_abi(value))); + return value; +} + +template void impl_IVideoTransformEffectDefinition::CropRectangle(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->put_CropRectangle(get_abi(value))); +} + +template Windows::Media::MediaProperties::MediaRotation impl_IVideoTransformEffectDefinition::Rotation() const +{ + Windows::Media::MediaProperties::MediaRotation value {}; + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->get_Rotation(&value)); + return value; +} + +template void impl_IVideoTransformEffectDefinition::Rotation(Windows::Media::MediaProperties::MediaRotation value) const +{ + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->put_Rotation(value)); +} + +template Windows::Media::MediaProperties::MediaMirroringOptions impl_IVideoTransformEffectDefinition::Mirror() const +{ + Windows::Media::MediaProperties::MediaMirroringOptions value {}; + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->get_Mirror(&value)); + return value; +} + +template void impl_IVideoTransformEffectDefinition::Mirror(Windows::Media::MediaProperties::MediaMirroringOptions value) const +{ + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->put_Mirror(value)); +} + +template void impl_IVideoTransformEffectDefinition::ProcessingAlgorithm(Windows::Media::Transcoding::MediaVideoProcessingAlgorithm value) const +{ + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->put_ProcessingAlgorithm(value)); +} + +template Windows::Media::Transcoding::MediaVideoProcessingAlgorithm impl_IVideoTransformEffectDefinition::ProcessingAlgorithm() const +{ + Windows::Media::Transcoding::MediaVideoProcessingAlgorithm value {}; + check_hresult(WINRT_SHIM(IVideoTransformEffectDefinition)->get_ProcessingAlgorithm(&value)); + return value; +} + +template double impl_ISlowMotionEffectDefinition::TimeStretchRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISlowMotionEffectDefinition)->get_TimeStretchRate(&value)); + return value; +} + +template void impl_ISlowMotionEffectDefinition::TimeStretchRate(double value) const +{ + check_hresult(WINRT_SHIM(ISlowMotionEffectDefinition)->put_TimeStretchRate(value)); +} + +inline AudioEffectDefinition::AudioEffectDefinition(hstring_view activatableClassId) : + AudioEffectDefinition(get_activation_factory().Create(activatableClassId)) +{} + +inline AudioEffectDefinition::AudioEffectDefinition(hstring_view activatableClassId, const Windows::Foundation::Collections::IPropertySet & props) : + AudioEffectDefinition(get_activation_factory().CreateWithProperties(activatableClassId, props)) +{} + +inline Windows::Media::Effects::AudioRenderEffectsManager AudioEffectsManager::CreateAudioRenderEffectsManager(hstring_view deviceId, Windows::Media::Render::AudioRenderCategory category) +{ + return get_activation_factory().CreateAudioRenderEffectsManager(deviceId, category); +} + +inline Windows::Media::Effects::AudioRenderEffectsManager AudioEffectsManager::CreateAudioRenderEffectsManager(hstring_view deviceId, Windows::Media::Render::AudioRenderCategory category, Windows::Media::AudioProcessing mode) +{ + return get_activation_factory().CreateAudioRenderEffectsManager(deviceId, category, mode); +} + +inline Windows::Media::Effects::AudioCaptureEffectsManager AudioEffectsManager::CreateAudioCaptureEffectsManager(hstring_view deviceId, Windows::Media::Capture::MediaCategory category) +{ + return get_activation_factory().CreateAudioCaptureEffectsManager(deviceId, category); +} + +inline Windows::Media::Effects::AudioCaptureEffectsManager AudioEffectsManager::CreateAudioCaptureEffectsManager(hstring_view deviceId, Windows::Media::Capture::MediaCategory category, Windows::Media::AudioProcessing mode) +{ + return get_activation_factory().CreateAudioCaptureEffectsManager(deviceId, category, mode); +} + +inline SlowMotionEffectDefinition::SlowMotionEffectDefinition() : + SlowMotionEffectDefinition(activate_instance()) +{} + +inline VideoCompositorDefinition::VideoCompositorDefinition(hstring_view activatableClassId) : + VideoCompositorDefinition(get_activation_factory().Create(activatableClassId)) +{} + +inline VideoCompositorDefinition::VideoCompositorDefinition(hstring_view activatableClassId, const Windows::Foundation::Collections::IPropertySet & props) : + VideoCompositorDefinition(get_activation_factory().CreateWithProperties(activatableClassId, props)) +{} + +inline VideoEffectDefinition::VideoEffectDefinition(hstring_view activatableClassId) : + VideoEffectDefinition(get_activation_factory().Create(activatableClassId)) +{} + +inline VideoEffectDefinition::VideoEffectDefinition(hstring_view activatableClassId, const Windows::Foundation::Collections::IPropertySet & props) : + VideoEffectDefinition(get_activation_factory().CreateWithProperties(activatableClassId, props)) +{} + +inline VideoTransformEffectDefinition::VideoTransformEffectDefinition() : + VideoTransformEffectDefinition(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IAudioCaptureEffectsManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IAudioEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IAudioEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IAudioEffectDefinitionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IAudioEffectsManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IAudioRenderEffectsManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IAudioRenderEffectsManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IBasicAudioEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IBasicVideoEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::ICompositeVideoFrameContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IProcessAudioFrameContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IProcessVideoFrameContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::ISlowMotionEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IVideoCompositor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IVideoCompositorDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IVideoCompositorDefinitionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IVideoEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IVideoEffectDefinitionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::IVideoTransformEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::AudioCaptureEffectsManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::AudioEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::AudioEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::AudioRenderEffectsManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::CompositeVideoFrameContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::ProcessAudioFrameContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::ProcessVideoFrameContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::SlowMotionEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::VideoCompositorDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::VideoEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Effects::VideoTransformEffectDefinition & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.FaceAnalysis.h b/10.0.15042.0/winrt/Windows.Media.FaceAnalysis.h new file mode 100644 index 000000000..ae276ae6e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.FaceAnalysis.h @@ -0,0 +1,579 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Media.FaceAnalysis.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FaceBox(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FaceBox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DetectFacesAsync(impl::abi_arg_in image, impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().DetectFacesAsync(*reinterpret_cast(&image))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DetectFacesWithSearchAreaAsync(impl::abi_arg_in image, impl::abi_arg_in searchArea, impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().DetectFacesAsync(*reinterpret_cast(&image), *reinterpret_cast(&searchArea))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinDetectableFaceSize(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MinDetectableFaceSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinDetectableFaceSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinDetectableFaceSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDetectableFaceSize(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MaxDetectableFaceSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxDetectableFaceSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxDetectableFaceSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSupportedBitmapPixelFormats(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSupportedBitmapPixelFormats()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsBitmapPixelFormatSupported(Windows::Graphics::Imaging::BitmapPixelFormat bitmapPixelFormat, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsBitmapPixelFormatSupported(bitmapPixelFormat)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSupported(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ProcessNextFrameAsync(impl::abi_arg_in videoFrame, impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ProcessNextFrameAsync(*reinterpret_cast(&videoFrame))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinDetectableFaceSize(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MinDetectableFaceSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinDetectableFaceSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinDetectableFaceSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDetectableFaceSize(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MaxDetectableFaceSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxDetectableFaceSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxDetectableFaceSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSupportedBitmapPixelFormats(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSupportedBitmapPixelFormats()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsBitmapPixelFormatSupported(Windows::Graphics::Imaging::BitmapPixelFormat bitmapPixelFormat, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsBitmapPixelFormatSupported(bitmapPixelFormat)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSupported(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::FaceAnalysis { + +template Windows::Graphics::Imaging::BitmapBounds impl_IDetectedFace::FaceBox() const +{ + Windows::Graphics::Imaging::BitmapBounds returnValue {}; + check_hresult(WINRT_SHIM(IDetectedFace)->get_FaceBox(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation> impl_IFaceDetector::DetectFacesAsync(const Windows::Graphics::Imaging::SoftwareBitmap & image) const +{ + Windows::Foundation::IAsyncOperation> returnValue; + check_hresult(WINRT_SHIM(IFaceDetector)->abi_DetectFacesAsync(get_abi(image), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation> impl_IFaceDetector::DetectFacesAsync(const Windows::Graphics::Imaging::SoftwareBitmap & image, const Windows::Graphics::Imaging::BitmapBounds & searchArea) const +{ + Windows::Foundation::IAsyncOperation> returnValue; + check_hresult(WINRT_SHIM(IFaceDetector)->abi_DetectFacesWithSearchAreaAsync(get_abi(image), get_abi(searchArea), put_abi(returnValue))); + return returnValue; +} + +template Windows::Graphics::Imaging::BitmapSize impl_IFaceDetector::MinDetectableFaceSize() const +{ + Windows::Graphics::Imaging::BitmapSize returnValue {}; + check_hresult(WINRT_SHIM(IFaceDetector)->get_MinDetectableFaceSize(put_abi(returnValue))); + return returnValue; +} + +template void impl_IFaceDetector::MinDetectableFaceSize(const Windows::Graphics::Imaging::BitmapSize & value) const +{ + check_hresult(WINRT_SHIM(IFaceDetector)->put_MinDetectableFaceSize(get_abi(value))); +} + +template Windows::Graphics::Imaging::BitmapSize impl_IFaceDetector::MaxDetectableFaceSize() const +{ + Windows::Graphics::Imaging::BitmapSize returnValue {}; + check_hresult(WINRT_SHIM(IFaceDetector)->get_MaxDetectableFaceSize(put_abi(returnValue))); + return returnValue; +} + +template void impl_IFaceDetector::MaxDetectableFaceSize(const Windows::Graphics::Imaging::BitmapSize & value) const +{ + check_hresult(WINRT_SHIM(IFaceDetector)->put_MaxDetectableFaceSize(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IFaceDetectorStatics::CreateAsync() const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IFaceDetectorStatics)->abi_CreateAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IVectorView impl_IFaceDetectorStatics::GetSupportedBitmapPixelFormats() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IFaceDetectorStatics)->abi_GetSupportedBitmapPixelFormats(put_abi(result))); + return result; +} + +template bool impl_IFaceDetectorStatics::IsBitmapPixelFormatSupported(Windows::Graphics::Imaging::BitmapPixelFormat bitmapPixelFormat) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IFaceDetectorStatics)->abi_IsBitmapPixelFormatSupported(bitmapPixelFormat, &result)); + return result; +} + +template bool impl_IFaceDetectorStatics::IsSupported() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IFaceDetectorStatics)->get_IsSupported(&returnValue)); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation> impl_IFaceTracker::ProcessNextFrameAsync(const Windows::Media::VideoFrame & videoFrame) const +{ + Windows::Foundation::IAsyncOperation> returnValue; + check_hresult(WINRT_SHIM(IFaceTracker)->abi_ProcessNextFrameAsync(get_abi(videoFrame), put_abi(returnValue))); + return returnValue; +} + +template Windows::Graphics::Imaging::BitmapSize impl_IFaceTracker::MinDetectableFaceSize() const +{ + Windows::Graphics::Imaging::BitmapSize returnValue {}; + check_hresult(WINRT_SHIM(IFaceTracker)->get_MinDetectableFaceSize(put_abi(returnValue))); + return returnValue; +} + +template void impl_IFaceTracker::MinDetectableFaceSize(const Windows::Graphics::Imaging::BitmapSize & value) const +{ + check_hresult(WINRT_SHIM(IFaceTracker)->put_MinDetectableFaceSize(get_abi(value))); +} + +template Windows::Graphics::Imaging::BitmapSize impl_IFaceTracker::MaxDetectableFaceSize() const +{ + Windows::Graphics::Imaging::BitmapSize returnValue {}; + check_hresult(WINRT_SHIM(IFaceTracker)->get_MaxDetectableFaceSize(put_abi(returnValue))); + return returnValue; +} + +template void impl_IFaceTracker::MaxDetectableFaceSize(const Windows::Graphics::Imaging::BitmapSize & value) const +{ + check_hresult(WINRT_SHIM(IFaceTracker)->put_MaxDetectableFaceSize(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IFaceTrackerStatics::CreateAsync() const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IFaceTrackerStatics)->abi_CreateAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IVectorView impl_IFaceTrackerStatics::GetSupportedBitmapPixelFormats() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IFaceTrackerStatics)->abi_GetSupportedBitmapPixelFormats(put_abi(result))); + return result; +} + +template bool impl_IFaceTrackerStatics::IsBitmapPixelFormatSupported(Windows::Graphics::Imaging::BitmapPixelFormat bitmapPixelFormat) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IFaceTrackerStatics)->abi_IsBitmapPixelFormatSupported(bitmapPixelFormat, &result)); + return result; +} + +template bool impl_IFaceTrackerStatics::IsSupported() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IFaceTrackerStatics)->get_IsSupported(&returnValue)); + return returnValue; +} + +inline Windows::Foundation::IAsyncOperation FaceDetector::CreateAsync() +{ + return get_activation_factory().CreateAsync(); +} + +inline Windows::Foundation::Collections::IVectorView FaceDetector::GetSupportedBitmapPixelFormats() +{ + return get_activation_factory().GetSupportedBitmapPixelFormats(); +} + +inline bool FaceDetector::IsBitmapPixelFormatSupported(Windows::Graphics::Imaging::BitmapPixelFormat bitmapPixelFormat) +{ + return get_activation_factory().IsBitmapPixelFormatSupported(bitmapPixelFormat); +} + +inline bool FaceDetector::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline Windows::Foundation::IAsyncOperation FaceTracker::CreateAsync() +{ + return get_activation_factory().CreateAsync(); +} + +inline Windows::Foundation::Collections::IVectorView FaceTracker::GetSupportedBitmapPixelFormats() +{ + return get_activation_factory().GetSupportedBitmapPixelFormats(); +} + +inline bool FaceTracker::IsBitmapPixelFormatSupported(Windows::Graphics::Imaging::BitmapPixelFormat bitmapPixelFormat) +{ + return get_activation_factory().IsBitmapPixelFormatSupported(bitmapPixelFormat); +} + +inline bool FaceTracker::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::IDetectedFace & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::IFaceDetector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::IFaceDetectorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::IFaceTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::IFaceTrackerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::DetectedFace & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::FaceDetector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::FaceAnalysis::FaceTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Import.h b/10.0.15042.0/winrt/Windows.Media.Import.h new file mode 100644 index 000000000..e35c8fe3c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Import.h @@ -0,0 +1,3216 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Media.Import.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasSucceeded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasSucceeded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeletedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeletedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidecarsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidecarsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidecarsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidecarsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SiblingsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SiblingsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SiblingsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SiblingsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasSucceeded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasSucceeded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FoundItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FoundItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidecarsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidecarsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidecarsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidecarsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SiblingsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SiblingsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SiblingsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SiblingsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectNone() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectNone(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectNewAsync(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SelectNewAsync()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetImportMode(Windows::Media::Import::PhotoImportImportMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetImportMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImportMode(Windows::Media::Import::PhotoImportImportMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPhotosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPhotosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPhotosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPhotosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedVideosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedVideosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedVideosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedVideosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedSidecarsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedSidecarsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedSidecarsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedSidecarsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedSiblingsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedSiblingsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedSiblingsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedSiblingsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedTotalCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedTotalCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedTotalSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedTotalSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportItemsAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ImportItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemImported(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemImported(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemImported(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemImported(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddItemsInDateRangeToSelection(impl::abi_arg_in rangeStart, impl::abi_arg_in rangeLength) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddItemsInDateRangeToSelection(*reinterpret_cast(&rangeStart), *reinterpret_cast(&rangeLength)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasSucceeded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasSucceeded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImportedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhotosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhotosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideosCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideosCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideosSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideosSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidecarsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidecarsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SidecarsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SidecarsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SiblingsCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SiblingsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SiblingsSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SiblingsSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteImportedItemsFromSourceAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteImportedItemsFromSourceAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemKey(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentType(Windows::Media::Import::PhotoImportContentType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sibling(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sibling()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sidecars(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sidecars()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoSegments(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoSegments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSelected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSelected(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSelected(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImportedFileNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportedFileNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeletedFileNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeletedFileNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ImportedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupportedAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().IsSupportedAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllSourcesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllSourcesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPendingOperations(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetPendingOperations()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Stage(Windows::Media::Import::PhotoImportStage * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContinueFindingItemsAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ContinueFindingItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContinueImportingItemsAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ContinueImportingItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContinueDeletingImportedItemsFromSourceAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ContinueDeletingImportedItemsFromSourceAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSelectionEmpty(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelectionEmpty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DestinationFolder(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DestinationFolder(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DestinationFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DestinationFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppendSessionDateToDestinationFolder(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppendSessionDateToDestinationFolder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppendSessionDateToDestinationFolder(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppendSessionDateToDestinationFolder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SubfolderCreationMode(Windows::Media::Import::PhotoImportSubfolderCreationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SubfolderCreationMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubfolderCreationMode(Windows::Media::Import::PhotoImportSubfolderCreationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubfolderCreationMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DestinationFileNamePrefix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DestinationFileNamePrefix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DestinationFileNamePrefix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DestinationFileNamePrefix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindItemsAsync(Windows::Media::Import::PhotoImportContentTypeFilter contentTypeFilter, Windows::Media::Import::PhotoImportItemSelectionMode itemSelectionMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindItemsAsync(contentTypeFilter, itemSelectionMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_SubfolderDateFormat(Windows::Media::Import::PhotoImportSubfolderDateFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SubfolderDateFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubfolderDateFormat(Windows::Media::Import::PhotoImportSubfolderDateFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubfolderDateFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RememberDeselectedItems(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RememberDeselectedItems(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RememberDeselectedItems(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RememberDeselectedItems()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Manufacturer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Manufacturer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Model(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Model()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SerialNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SerialNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionProtocol(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionProtocol()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionTransport(Windows::Media::Import::PhotoImportConnectionTransport * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionTransport()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Media::Import::PhotoImportSourceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerSource(Windows::Media::Import::PhotoImportPowerSource * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerSource()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BatteryLevelPercent(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BatteryLevelPercent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StorageMedia(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageMedia()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLocked(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLocked()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMassStorage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMassStorage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateImportSession(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateImportSession()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIdAsync(impl::abi_arg_in sourceId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromIdAsync(*reinterpret_cast(&sourceId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromFolderAsync(impl::abi_arg_in sourceRootFolder, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FromFolderAsync(*reinterpret_cast(&sourceRootFolder))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SerialNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SerialNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StorageMediumType(Windows::Media::Import::PhotoImportStorageMediumType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageMediumType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedAccessMode(Windows::Media::Import::PhotoImportAccessMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedAccessMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CapacityInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CapacityInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableSpaceInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableSpaceInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Refresh() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Refresh(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sibling(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sibling()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sidecars(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sidecars()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Import { + +template Windows::Foundation::IAsyncOperation impl_IPhotoImportManagerStatics::IsSupportedAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPhotoImportManagerStatics)->abi_IsSupportedAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPhotoImportManagerStatics::FindAllSourcesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IPhotoImportManagerStatics)->abi_FindAllSourcesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportManagerStatics::GetPendingOperations() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IPhotoImportManagerStatics)->abi_GetPendingOperations(put_abi(result))); + return result; +} + +template Windows::Media::Import::PhotoImportStage impl_IPhotoImportOperation::Stage() const +{ + Windows::Media::Import::PhotoImportStage value {}; + check_hresult(WINRT_SHIM(IPhotoImportOperation)->get_Stage(&value)); + return value; +} + +template Windows::Media::Import::PhotoImportSession impl_IPhotoImportOperation::Session() const +{ + Windows::Media::Import::PhotoImportSession value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportOperation)->get_Session(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPhotoImportOperation::ContinueFindingItemsAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPhotoImportOperation)->get_ContinueFindingItemsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPhotoImportOperation::ContinueImportingItemsAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPhotoImportOperation)->get_ContinueImportingItemsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPhotoImportOperation::ContinueDeletingImportedItemsFromSourceAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPhotoImportOperation)->get_ContinueDeletingImportedItemsFromSourceAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IPhotoImportStorageMedium::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportStorageMedium::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportStorageMedium::SerialNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->get_SerialNumber(put_abi(value))); + return value; +} + +template Windows::Media::Import::PhotoImportStorageMediumType impl_IPhotoImportStorageMedium::StorageMediumType() const +{ + Windows::Media::Import::PhotoImportStorageMediumType value {}; + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->get_StorageMediumType(&value)); + return value; +} + +template Windows::Media::Import::PhotoImportAccessMode impl_IPhotoImportStorageMedium::SupportedAccessMode() const +{ + Windows::Media::Import::PhotoImportAccessMode value {}; + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->get_SupportedAccessMode(&value)); + return value; +} + +template uint64_t impl_IPhotoImportStorageMedium::CapacityInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->get_CapacityInBytes(&value)); + return value; +} + +template uint64_t impl_IPhotoImportStorageMedium::AvailableSpaceInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->get_AvailableSpaceInBytes(&value)); + return value; +} + +template void impl_IPhotoImportStorageMedium::Refresh() const +{ + check_hresult(WINRT_SHIM(IPhotoImportStorageMedium)->abi_Refresh()); +} + +template Windows::Foundation::IAsyncOperation impl_IPhotoImportSourceStatics::FromIdAsync(hstring_view sourceId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPhotoImportSourceStatics)->abi_FromIdAsync(get_abi(sourceId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPhotoImportSourceStatics::FromFolderAsync(const Windows::Storage::IStorageFolder & sourceRootFolder) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPhotoImportSourceStatics)->abi_FromFolderAsync(get_abi(sourceRootFolder), put_abi(operation))); + return operation; +} + +template hstring impl_IPhotoImportSource::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportSource::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportSource::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportSource::Manufacturer() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_Manufacturer(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportSource::Model() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_Model(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportSource::SerialNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_SerialNumber(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportSource::ConnectionProtocol() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_ConnectionProtocol(put_abi(value))); + return value; +} + +template Windows::Media::Import::PhotoImportConnectionTransport impl_IPhotoImportSource::ConnectionTransport() const +{ + Windows::Media::Import::PhotoImportConnectionTransport value {}; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_ConnectionTransport(&value)); + return value; +} + +template Windows::Media::Import::PhotoImportSourceType impl_IPhotoImportSource::Type() const +{ + Windows::Media::Import::PhotoImportSourceType value {}; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_Type(&value)); + return value; +} + +template Windows::Media::Import::PhotoImportPowerSource impl_IPhotoImportSource::PowerSource() const +{ + Windows::Media::Import::PhotoImportPowerSource value {}; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_PowerSource(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IPhotoImportSource::BatteryLevelPercent() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_BatteryLevelPercent(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IPhotoImportSource::DateTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_DateTime(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportSource::StorageMedia() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_StorageMedia(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IPhotoImportSource::IsLocked() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_IsLocked(put_abi(value))); + return value; +} + +template bool impl_IPhotoImportSource::IsMassStorage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_IsMassStorage(&value)); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IPhotoImportSource::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IPhotoImportSource)->get_Thumbnail(put_abi(value))); + return value; +} + +template Windows::Media::Import::PhotoImportSession impl_IPhotoImportSource::CreateImportSession() const +{ + Windows::Media::Import::PhotoImportSession result { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportSource)->abi_CreateImportSession(put_abi(result))); + return result; +} + +template Windows::Media::Import::PhotoImportSource impl_IPhotoImportSession::Source() const +{ + Windows::Media::Import::PhotoImportSource value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportSession)->get_Source(put_abi(value))); + return value; +} + +template GUID impl_IPhotoImportSession::SessionId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPhotoImportSession)->get_SessionId(&value)); + return value; +} + +template void impl_IPhotoImportSession::DestinationFolder(const Windows::Storage::IStorageFolder & value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportSession)->put_DestinationFolder(get_abi(value))); +} + +template Windows::Storage::IStorageFolder impl_IPhotoImportSession::DestinationFolder() const +{ + Windows::Storage::IStorageFolder value; + check_hresult(WINRT_SHIM(IPhotoImportSession)->get_DestinationFolder(put_abi(value))); + return value; +} + +template void impl_IPhotoImportSession::AppendSessionDateToDestinationFolder(bool value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportSession)->put_AppendSessionDateToDestinationFolder(value)); +} + +template bool impl_IPhotoImportSession::AppendSessionDateToDestinationFolder() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportSession)->get_AppendSessionDateToDestinationFolder(&value)); + return value; +} + +template void impl_IPhotoImportSession::SubfolderCreationMode(Windows::Media::Import::PhotoImportSubfolderCreationMode value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportSession)->put_SubfolderCreationMode(value)); +} + +template Windows::Media::Import::PhotoImportSubfolderCreationMode impl_IPhotoImportSession::SubfolderCreationMode() const +{ + Windows::Media::Import::PhotoImportSubfolderCreationMode value {}; + check_hresult(WINRT_SHIM(IPhotoImportSession)->get_SubfolderCreationMode(&value)); + return value; +} + +template void impl_IPhotoImportSession::DestinationFileNamePrefix(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportSession)->put_DestinationFileNamePrefix(get_abi(value))); +} + +template hstring impl_IPhotoImportSession::DestinationFileNamePrefix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSession)->get_DestinationFileNamePrefix(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPhotoImportSession::FindItemsAsync(Windows::Media::Import::PhotoImportContentTypeFilter contentTypeFilter, Windows::Media::Import::PhotoImportItemSelectionMode itemSelectionMode) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPhotoImportSession)->abi_FindItemsAsync(contentTypeFilter, itemSelectionMode, put_abi(operation))); + return operation; +} + +template void impl_IPhotoImportSession2::SubfolderDateFormat(Windows::Media::Import::PhotoImportSubfolderDateFormat value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportSession2)->put_SubfolderDateFormat(value)); +} + +template Windows::Media::Import::PhotoImportSubfolderDateFormat impl_IPhotoImportSession2::SubfolderDateFormat() const +{ + Windows::Media::Import::PhotoImportSubfolderDateFormat value {}; + check_hresult(WINRT_SHIM(IPhotoImportSession2)->get_SubfolderDateFormat(&value)); + return value; +} + +template void impl_IPhotoImportSession2::RememberDeselectedItems(bool value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportSession2)->put_RememberDeselectedItems(value)); +} + +template bool impl_IPhotoImportSession2::RememberDeselectedItems() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportSession2)->get_RememberDeselectedItems(&value)); + return value; +} + +template hstring impl_IPhotoImportItem::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_Name(put_abi(value))); + return value; +} + +template uint64_t impl_IPhotoImportItem::ItemKey() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_ItemKey(&value)); + return value; +} + +template Windows::Media::Import::PhotoImportContentType impl_IPhotoImportItem::ContentType() const +{ + Windows::Media::Import::PhotoImportContentType value {}; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_ContentType(&value)); + return value; +} + +template uint64_t impl_IPhotoImportItem::SizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_SizeInBytes(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IPhotoImportItem::Date() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_Date(put_abi(value))); + return value; +} + +template Windows::Media::Import::PhotoImportSidecar impl_IPhotoImportItem::Sibling() const +{ + Windows::Media::Import::PhotoImportSidecar value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_Sibling(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportItem::Sidecars() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_Sidecars(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportItem::VideoSegments() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_VideoSegments(put_abi(value))); + return value; +} + +template bool impl_IPhotoImportItem::IsSelected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_IsSelected(&value)); + return value; +} + +template void impl_IPhotoImportItem::IsSelected(bool value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportItem)->put_IsSelected(value)); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IPhotoImportItem::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_Thumbnail(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportItem::ImportedFileNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_ImportedFileNames(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportItem::DeletedFileNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportItem)->get_DeletedFileNames(put_abi(value))); + return value; +} + +template Windows::Media::Import::PhotoImportSession impl_IPhotoImportFindItemsResult::Session() const +{ + Windows::Media::Import::PhotoImportSession value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_Session(put_abi(value))); + return value; +} + +template bool impl_IPhotoImportFindItemsResult::HasSucceeded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_HasSucceeded(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportFindItemsResult::FoundItems() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_FoundItems(put_abi(value))); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::PhotosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_PhotosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::PhotosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_PhotosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::VideosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_VideosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::VideosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_VideosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::SidecarsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SidecarsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::SidecarsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SidecarsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::SiblingsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SiblingsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::SiblingsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SiblingsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::TotalCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_TotalCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::TotalSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_TotalSizeInBytes(&value)); + return value; +} + +template void impl_IPhotoImportFindItemsResult::SelectAll() const +{ + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->abi_SelectAll()); +} + +template void impl_IPhotoImportFindItemsResult::SelectNone() const +{ + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->abi_SelectNone()); +} + +template Windows::Foundation::IAsyncAction impl_IPhotoImportFindItemsResult::SelectNewAsync() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->abi_SelectNewAsync(put_abi(action))); + return action; +} + +template void impl_IPhotoImportFindItemsResult::SetImportMode(Windows::Media::Import::PhotoImportImportMode value) const +{ + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->abi_SetImportMode(value)); +} + +template Windows::Media::Import::PhotoImportImportMode impl_IPhotoImportFindItemsResult::ImportMode() const +{ + Windows::Media::Import::PhotoImportImportMode value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_ImportMode(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::SelectedPhotosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedPhotosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::SelectedPhotosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedPhotosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::SelectedVideosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedVideosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::SelectedVideosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedVideosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::SelectedSidecarsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedSidecarsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::SelectedSidecarsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedSidecarsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::SelectedSiblingsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedSiblingsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::SelectedSiblingsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedSiblingsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportFindItemsResult::SelectedTotalCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedTotalCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportFindItemsResult::SelectedTotalSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->get_SelectedTotalSizeInBytes(&value)); + return value; +} + +template event_token impl_IPhotoImportFindItemsResult::SelectionChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->add_SelectionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IPhotoImportFindItemsResult::SelectionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Import::IPhotoImportFindItemsResult::remove_SelectionChanged, SelectionChanged(value)); +} + +template void impl_IPhotoImportFindItemsResult::SelectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->remove_SelectionChanged(token)); +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPhotoImportFindItemsResult::ImportItemsAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->abi_ImportItemsAsync(put_abi(operation))); + return operation; +} + +template event_token impl_IPhotoImportFindItemsResult::ItemImported(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->add_ItemImported(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IPhotoImportFindItemsResult::ItemImported(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Import::IPhotoImportFindItemsResult::remove_ItemImported, ItemImported(value)); +} + +template void impl_IPhotoImportFindItemsResult::ItemImported(event_token token) const +{ + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult)->remove_ItemImported(token)); +} + +template void impl_IPhotoImportFindItemsResult2::AddItemsInDateRangeToSelection(const Windows::Foundation::DateTime & rangeStart, const Windows::Foundation::TimeSpan & rangeLength) const +{ + check_hresult(WINRT_SHIM(IPhotoImportFindItemsResult2)->abi_AddItemsInDateRangeToSelection(get_abi(rangeStart), get_abi(rangeLength))); +} + +template Windows::Media::Import::PhotoImportSession impl_IPhotoImportImportItemsResult::Session() const +{ + Windows::Media::Import::PhotoImportSession value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_Session(put_abi(value))); + return value; +} + +template bool impl_IPhotoImportImportItemsResult::HasSucceeded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_HasSucceeded(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportImportItemsResult::ImportedItems() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_ImportedItems(put_abi(value))); + return value; +} + +template uint32_t impl_IPhotoImportImportItemsResult::PhotosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_PhotosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportImportItemsResult::PhotosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_PhotosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportImportItemsResult::VideosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_VideosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportImportItemsResult::VideosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_VideosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportImportItemsResult::SidecarsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_SidecarsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportImportItemsResult::SidecarsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_SidecarsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportImportItemsResult::SiblingsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_SiblingsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportImportItemsResult::SiblingsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_SiblingsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportImportItemsResult::TotalCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_TotalCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportImportItemsResult::TotalSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->get_TotalSizeInBytes(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IPhotoImportImportItemsResult::DeleteImportedItemsFromSourceAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress result; + check_hresult(WINRT_SHIM(IPhotoImportImportItemsResult)->abi_DeleteImportedItemsFromSourceAsync(put_abi(result))); + return result; +} + +template Windows::Media::Import::PhotoImportSession impl_IPhotoImportDeleteImportedItemsFromSourceResult::Session() const +{ + Windows::Media::Import::PhotoImportSession value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_Session(put_abi(value))); + return value; +} + +template bool impl_IPhotoImportDeleteImportedItemsFromSourceResult::HasSucceeded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_HasSucceeded(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportDeleteImportedItemsFromSourceResult::DeletedItems() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_DeletedItems(put_abi(value))); + return value; +} + +template uint32_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::PhotosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_PhotosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::PhotosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_PhotosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::VideosCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_VideosCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::VideosSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_VideosSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::SidecarsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_SidecarsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::SidecarsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_SidecarsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::SiblingsCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_SiblingsCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::SiblingsSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_SiblingsSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::TotalCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_TotalCount(&value)); + return value; +} + +template uint64_t impl_IPhotoImportDeleteImportedItemsFromSourceResult::TotalSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportDeleteImportedItemsFromSourceResult)->get_TotalSizeInBytes(&value)); + return value; +} + +template hstring impl_IPhotoImportSidecar::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportSidecar)->get_Name(put_abi(value))); + return value; +} + +template uint64_t impl_IPhotoImportSidecar::SizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportSidecar)->get_SizeInBytes(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IPhotoImportSidecar::Date() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPhotoImportSidecar)->get_Date(put_abi(value))); + return value; +} + +template hstring impl_IPhotoImportVideoSegment::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhotoImportVideoSegment)->get_Name(put_abi(value))); + return value; +} + +template uint64_t impl_IPhotoImportVideoSegment::SizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPhotoImportVideoSegment)->get_SizeInBytes(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IPhotoImportVideoSegment::Date() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPhotoImportVideoSegment)->get_Date(put_abi(value))); + return value; +} + +template Windows::Media::Import::PhotoImportSidecar impl_IPhotoImportVideoSegment::Sibling() const +{ + Windows::Media::Import::PhotoImportSidecar value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportVideoSegment)->get_Sibling(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhotoImportVideoSegment::Sidecars() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhotoImportVideoSegment)->get_Sidecars(put_abi(value))); + return value; +} + +template Windows::Media::Import::PhotoImportItem impl_IPhotoImportItemImportedEventArgs::ImportedItem() const +{ + Windows::Media::Import::PhotoImportItem value { nullptr }; + check_hresult(WINRT_SHIM(IPhotoImportItemImportedEventArgs)->get_ImportedItem(put_abi(value))); + return value; +} + +template bool impl_IPhotoImportSelectionChangedEventArgs::IsSelectionEmpty() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhotoImportSelectionChangedEventArgs)->get_IsSelectionEmpty(&value)); + return value; +} + +inline Windows::Foundation::IAsyncOperation PhotoImportManager::IsSupportedAsync() +{ + return get_activation_factory().IsSupportedAsync(); +} + +inline Windows::Foundation::IAsyncOperation> PhotoImportManager::FindAllSourcesAsync() +{ + return get_activation_factory().FindAllSourcesAsync(); +} + +inline Windows::Foundation::Collections::IVectorView PhotoImportManager::GetPendingOperations() +{ + return get_activation_factory().GetPendingOperations(); +} + +inline Windows::Foundation::IAsyncOperation PhotoImportSource::FromIdAsync(hstring_view sourceId) +{ + return get_activation_factory().FromIdAsync(sourceId); +} + +inline Windows::Foundation::IAsyncOperation PhotoImportSource::FromFolderAsync(const Windows::Storage::IStorageFolder & sourceRootFolder) +{ + return get_activation_factory().FromFolderAsync(sourceRootFolder); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportDeleteImportedItemsFromSourceResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportFindItemsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportFindItemsResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportImportItemsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportItemImportedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportSelectionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportSession2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportSidecar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportStorageMedium & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::IPhotoImportVideoSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportDeleteImportedItemsFromSourceResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportFindItemsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportImportItemsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportItemImportedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportSelectionChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportSidecar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportStorageMedium & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Import::PhotoImportVideoSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.MediaProperties.h b/10.0.15042.0/winrt/Windows.Media.MediaProperties.h new file mode 100644 index 000000000..b471ea7c7 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.MediaProperties.h @@ -0,0 +1,3717 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Bitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChannelCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChannelCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChannelCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChannelCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SampleRate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SampleRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SampleRate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SampleRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BitsPerSample(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BitsPerSample(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitsPerSample(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitsPerSample()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSpatial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSpatial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAac(sampleRate, channelCount, bitrate)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAacAdts(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAacAdts(sampleRate, channelCount, bitrate)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMp3(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMp3(sampleRate, channelCount, bitrate)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePcm(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreatePcm(sampleRate, channelCount, bitsPerSample)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWma(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWma(sampleRate, channelCount, bitrate)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAlac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAlac(sampleRate, channelCount, bitsPerSample)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFlac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFlac(sampleRate, channelCount, bitsPerSample)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetFormatUserData(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFormatUserData(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFormatUserData(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetFormatUserData(detach_abi(__valueSize, value)); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConstrainedBaseline(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConstrainedBaseline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Baseline(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Baseline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extended(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Extended()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Main(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Main()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_High(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().High()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_High10(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().High10()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_High422(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().High422()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_High444(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().High444()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StereoHigh(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StereoHigh()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MultiviewHigh(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MultiviewHigh()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Width(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Width(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Height(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Height(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateJpeg(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateJpeg()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePng(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreatePng()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateJpegXR(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateJpegXR()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateUncompressed(Windows::Media::MediaProperties::MediaPixelFormat format, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateUncompressed(format)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBmp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateBmp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Audio(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Audio(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Audio(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Audio()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Video(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Video(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Video(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Video()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Container(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Container(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Container(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Container()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateM4a(Windows::Media::MediaProperties::AudioEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateM4a(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMp3(Windows::Media::MediaProperties::AudioEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMp3(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWma(Windows::Media::MediaProperties::AudioEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWma(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMp4(Windows::Media::MediaProperties::VideoEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMp4(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWmv(Windows::Media::MediaProperties::VideoEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWmv(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromFileAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFromFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStreamAsync(impl::abi_arg_in stream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFromStreamAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWav(Windows::Media::MediaProperties::AudioEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWav(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAvi(Windows::Media::MediaProperties::VideoEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAvi(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAlac(Windows::Media::MediaProperties::AudioEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAlac(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFlac(Windows::Media::MediaProperties::AudioEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFlac(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateHevc(Windows::Media::MediaProperties::VideoEncodingQuality quality, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateHevc(quality)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subtype(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subtype(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtype(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtype()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Aac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Aac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AacAdts(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AacAdts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ac3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ac3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AmrNb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AmrNb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AmrWb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AmrWb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Argb32(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Argb32()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Asf(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Asf()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Avi(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Avi()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bgra8(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bgra8()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bmp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bmp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Eac3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Eac3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Float(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Float()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gif(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gif()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_H263(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().H263()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_H264(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().H264()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_H264Es(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().H264Es()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hevc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hevc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HevcEs(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HevcEs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Iyuv(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Iyuv()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Jpeg(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Jpeg()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JpegXr(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JpegXr()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mjpg(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mjpg()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mpeg(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mpeg()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mpeg1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mpeg1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mpeg2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mpeg2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mp3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mp3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mpeg4(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mpeg4()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Nv12(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Nv12()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pcm(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pcm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Png(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Png()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rgb24(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rgb24()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rgb32(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rgb32()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tiff(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tiff()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wave(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wave()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wma8(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wma8()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wma9(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wma9()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wmv3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wmv3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wvc1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wvc1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Yuy2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Yuy2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Yv12(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Yv12()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Vp9(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Vp9()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_L8(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().L8()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_L16(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().L16()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_D16(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().D16()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Alac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Alac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Flac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Numerator(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Numerator(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Numerator(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Numerator()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Denominator(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Denominator(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Denominator(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Denominator()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Simple(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Simple()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Main(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Main()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignalNoiseRatioScalable(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignalNoiseRatioScalable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpatiallyScalable(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpatiallyScalable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_High(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().High()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Bitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Width(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Width(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Height(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Height(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameRate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelAspectRatio(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelAspectRatio()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetFormatUserData(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFormatUserData(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFormatUserData(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetFormatUserData(detach_abi(__valueSize, value)); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProfileId(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProfileId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProfileId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProfileId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StereoscopicVideoPackingMode(Windows::Media::MediaProperties::StereoscopicVideoPackingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StereoscopicVideoPackingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SphericalVideoFrameFormat(Windows::Media::MediaProperties::SphericalVideoFrameFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SphericalVideoFrameFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateH264(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateH264()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMpeg2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMpeg2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateUncompressed(impl::abi_arg_in subtype, uint32_t width, uint32_t height, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateUncompressed(*reinterpret_cast(&subtype), width, height)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateHevc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateHevc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::MediaProperties { + +template void impl_IMediaRatio::Numerator(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMediaRatio)->put_Numerator(value)); +} + +template uint32_t impl_IMediaRatio::Numerator() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaRatio)->get_Numerator(&value)); + return value; +} + +template void impl_IMediaRatio::Denominator(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMediaRatio)->put_Denominator(value)); +} + +template uint32_t impl_IMediaRatio::Denominator() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaRatio)->get_Denominator(&value)); + return value; +} + +template Windows::Media::MediaProperties::MediaPropertySet impl_IMediaEncodingProperties::Properties() const +{ + Windows::Media::MediaProperties::MediaPropertySet value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProperties)->get_Properties(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingProperties::Type() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingProperties)->get_Type(put_abi(value))); + return value; +} + +template void impl_IMediaEncodingProperties::Subtype(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaEncodingProperties)->put_Subtype(get_abi(value))); +} + +template hstring impl_IMediaEncodingProperties::Subtype() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingProperties)->get_Subtype(put_abi(value))); + return value; +} + +template void impl_IAudioEncodingProperties::Bitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->put_Bitrate(value)); +} + +template uint32_t impl_IAudioEncodingProperties::Bitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->get_Bitrate(&value)); + return value; +} + +template void impl_IAudioEncodingProperties::ChannelCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->put_ChannelCount(value)); +} + +template uint32_t impl_IAudioEncodingProperties::ChannelCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->get_ChannelCount(&value)); + return value; +} + +template void impl_IAudioEncodingProperties::SampleRate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->put_SampleRate(value)); +} + +template uint32_t impl_IAudioEncodingProperties::SampleRate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->get_SampleRate(&value)); + return value; +} + +template void impl_IAudioEncodingProperties::BitsPerSample(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->put_BitsPerSample(value)); +} + +template uint32_t impl_IAudioEncodingProperties::BitsPerSample() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioEncodingProperties)->get_BitsPerSample(&value)); + return value; +} + +template void impl_IAudioEncodingPropertiesWithFormatUserData::SetFormatUserData(array_view value) const +{ + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesWithFormatUserData)->abi_SetFormatUserData(value.size(), get_abi(value))); +} + +template void impl_IAudioEncodingPropertiesWithFormatUserData::GetFormatUserData(com_array & value) const +{ + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesWithFormatUserData)->abi_GetFormatUserData(impl::put_size_abi(value), put_abi(value))); +} + +template bool impl_IAudioEncodingProperties2::IsSpatial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAudioEncodingProperties2)->get_IsSpatial(&value)); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioEncodingPropertiesStatics::CreateAac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesStatics)->abi_CreateAac(sampleRate, channelCount, bitrate, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioEncodingPropertiesStatics::CreateAacAdts(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesStatics)->abi_CreateAacAdts(sampleRate, channelCount, bitrate, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioEncodingPropertiesStatics::CreateMp3(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesStatics)->abi_CreateMp3(sampleRate, channelCount, bitrate, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioEncodingPropertiesStatics::CreatePcm(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample) const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesStatics)->abi_CreatePcm(sampleRate, channelCount, bitsPerSample, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioEncodingPropertiesStatics::CreateWma(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesStatics)->abi_CreateWma(sampleRate, channelCount, bitrate, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioEncodingPropertiesStatics2::CreateAlac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample) const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesStatics2)->abi_CreateAlac(sampleRate, channelCount, bitsPerSample, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IAudioEncodingPropertiesStatics2::CreateFlac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample) const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IAudioEncodingPropertiesStatics2)->abi_CreateFlac(sampleRate, channelCount, bitsPerSample, put_abi(value))); + return value; +} + +template void impl_IVideoEncodingProperties::Bitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->put_Bitrate(value)); +} + +template uint32_t impl_IVideoEncodingProperties::Bitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->get_Bitrate(&value)); + return value; +} + +template void impl_IVideoEncodingProperties::Width(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->put_Width(value)); +} + +template uint32_t impl_IVideoEncodingProperties::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->get_Width(&value)); + return value; +} + +template void impl_IVideoEncodingProperties::Height(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->put_Height(value)); +} + +template uint32_t impl_IVideoEncodingProperties::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->get_Height(&value)); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_IVideoEncodingProperties::FrameRate() const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->get_FrameRate(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaRatio impl_IVideoEncodingProperties::PixelAspectRatio() const +{ + Windows::Media::MediaProperties::MediaRatio value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEncodingProperties)->get_PixelAspectRatio(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Aac() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Aac(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::AacAdts() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_AacAdts(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Ac3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Ac3(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::AmrNb() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_AmrNb(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::AmrWb() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_AmrWb(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Argb32() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Argb32(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Asf() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Asf(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Avi() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Avi(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Bgra8() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Bgra8(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Bmp() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Bmp(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Eac3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Eac3(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Float() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Float(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Gif() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Gif(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::H263() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_H263(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::H264() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_H264(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::H264Es() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_H264Es(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Hevc() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Hevc(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::HevcEs() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_HevcEs(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Iyuv() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Iyuv(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Jpeg() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Jpeg(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::JpegXr() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_JpegXr(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Mjpg() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Mjpg(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Mpeg() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Mpeg(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Mpeg1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Mpeg1(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Mpeg2() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Mpeg2(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Mp3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Mp3(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Mpeg4() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Mpeg4(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Nv12() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Nv12(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Pcm() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Pcm(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Png() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Png(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Rgb24() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Rgb24(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Rgb32() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Rgb32(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Tiff() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Tiff(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Wave() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Wave(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Wma8() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Wma8(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Wma9() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Wma9(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Wmv3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Wmv3(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Wvc1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Wvc1(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Yuy2() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Yuy2(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics::Yv12() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics)->get_Yv12(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics2::Vp9() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics2)->get_Vp9(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics2::L8() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics2)->get_L8(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics2::L16() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics2)->get_L16(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics2::D16() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics2)->get_D16(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics3::Alac() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics3)->get_Alac(put_abi(value))); + return value; +} + +template hstring impl_IMediaEncodingSubtypesStatics3::Flac() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaEncodingSubtypesStatics3)->get_Flac(put_abi(value))); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::ConstrainedBaseline() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_ConstrainedBaseline(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::Baseline() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_Baseline(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::Extended() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_Extended(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::Main() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_Main(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::High() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_High(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::High10() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_High10(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::High422() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_High422(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::High444() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_High444(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::StereoHigh() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_StereoHigh(&value)); + return value; +} + +template int32_t impl_IH264ProfileIdsStatics::MultiviewHigh() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IH264ProfileIdsStatics)->get_MultiviewHigh(&value)); + return value; +} + +template int32_t impl_IMpeg2ProfileIdsStatics::Simple() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMpeg2ProfileIdsStatics)->get_Simple(&value)); + return value; +} + +template int32_t impl_IMpeg2ProfileIdsStatics::Main() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMpeg2ProfileIdsStatics)->get_Main(&value)); + return value; +} + +template int32_t impl_IMpeg2ProfileIdsStatics::SignalNoiseRatioScalable() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMpeg2ProfileIdsStatics)->get_SignalNoiseRatioScalable(&value)); + return value; +} + +template int32_t impl_IMpeg2ProfileIdsStatics::SpatiallyScalable() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMpeg2ProfileIdsStatics)->get_SpatiallyScalable(&value)); + return value; +} + +template int32_t impl_IMpeg2ProfileIdsStatics::High() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMpeg2ProfileIdsStatics)->get_High(&value)); + return value; +} + +template void impl_IVideoEncodingProperties2::SetFormatUserData(array_view value) const +{ + check_hresult(WINRT_SHIM(IVideoEncodingProperties2)->abi_SetFormatUserData(value.size(), get_abi(value))); +} + +template void impl_IVideoEncodingProperties2::GetFormatUserData(com_array & value) const +{ + check_hresult(WINRT_SHIM(IVideoEncodingProperties2)->abi_GetFormatUserData(impl::put_size_abi(value), put_abi(value))); +} + +template void impl_IVideoEncodingProperties2::ProfileId(int32_t value) const +{ + check_hresult(WINRT_SHIM(IVideoEncodingProperties2)->put_ProfileId(value)); +} + +template int32_t impl_IVideoEncodingProperties2::ProfileId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IVideoEncodingProperties2)->get_ProfileId(&value)); + return value; +} + +template Windows::Media::MediaProperties::StereoscopicVideoPackingMode impl_IVideoEncodingProperties3::StereoscopicVideoPackingMode() const +{ + Windows::Media::MediaProperties::StereoscopicVideoPackingMode value {}; + check_hresult(WINRT_SHIM(IVideoEncodingProperties3)->get_StereoscopicVideoPackingMode(&value)); + return value; +} + +template Windows::Media::MediaProperties::SphericalVideoFrameFormat impl_IVideoEncodingProperties4::SphericalVideoFrameFormat() const +{ + Windows::Media::MediaProperties::SphericalVideoFrameFormat value {}; + check_hresult(WINRT_SHIM(IVideoEncodingProperties4)->get_SphericalVideoFrameFormat(&value)); + return value; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoEncodingPropertiesStatics::CreateH264() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEncodingPropertiesStatics)->abi_CreateH264(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoEncodingPropertiesStatics::CreateMpeg2() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEncodingPropertiesStatics)->abi_CreateMpeg2(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoEncodingPropertiesStatics::CreateUncompressed(hstring_view subtype, uint32_t width, uint32_t height) const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEncodingPropertiesStatics)->abi_CreateUncompressed(get_abi(subtype), width, height, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IVideoEncodingPropertiesStatics2::CreateHevc() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IVideoEncodingPropertiesStatics2)->abi_CreateHevc(put_abi(value))); + return value; +} + +template void impl_IImageEncodingProperties::Width(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IImageEncodingProperties)->put_Width(value)); +} + +template uint32_t impl_IImageEncodingProperties::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageEncodingProperties)->get_Width(&value)); + return value; +} + +template void impl_IImageEncodingProperties::Height(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IImageEncodingProperties)->put_Height(value)); +} + +template uint32_t impl_IImageEncodingProperties::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageEncodingProperties)->get_Height(&value)); + return value; +} + +template Windows::Media::MediaProperties::ImageEncodingProperties impl_IImageEncodingPropertiesStatics::CreateJpeg() const +{ + Windows::Media::MediaProperties::ImageEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IImageEncodingPropertiesStatics)->abi_CreateJpeg(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::ImageEncodingProperties impl_IImageEncodingPropertiesStatics::CreatePng() const +{ + Windows::Media::MediaProperties::ImageEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IImageEncodingPropertiesStatics)->abi_CreatePng(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::ImageEncodingProperties impl_IImageEncodingPropertiesStatics::CreateJpegXR() const +{ + Windows::Media::MediaProperties::ImageEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IImageEncodingPropertiesStatics)->abi_CreateJpegXR(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::ImageEncodingProperties impl_IImageEncodingPropertiesStatics2::CreateUncompressed(Windows::Media::MediaProperties::MediaPixelFormat format) const +{ + Windows::Media::MediaProperties::ImageEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IImageEncodingPropertiesStatics2)->abi_CreateUncompressed(format, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::ImageEncodingProperties impl_IImageEncodingPropertiesStatics2::CreateBmp() const +{ + Windows::Media::MediaProperties::ImageEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IImageEncodingPropertiesStatics2)->abi_CreateBmp(put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics::CreateM4a(Windows::Media::MediaProperties::AudioEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics)->abi_CreateM4a(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics::CreateMp3(Windows::Media::MediaProperties::AudioEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics)->abi_CreateMp3(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics::CreateWma(Windows::Media::MediaProperties::AudioEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics)->abi_CreateWma(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics::CreateMp4(Windows::Media::MediaProperties::VideoEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics)->abi_CreateMp4(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics::CreateWmv(Windows::Media::MediaProperties::VideoEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics)->abi_CreateWmv(quality, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaEncodingProfileStatics::CreateFromFileAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics)->abi_CreateFromFileAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaEncodingProfileStatics::CreateFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics)->abi_CreateFromStreamAsync(get_abi(stream), put_abi(operation))); + return operation; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics2::CreateWav(Windows::Media::MediaProperties::AudioEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics2)->abi_CreateWav(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics2::CreateAvi(Windows::Media::MediaProperties::VideoEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics2)->abi_CreateAvi(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics3::CreateAlac(Windows::Media::MediaProperties::AudioEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics3)->abi_CreateAlac(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics3::CreateFlac(Windows::Media::MediaProperties::AudioEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics3)->abi_CreateFlac(quality, put_abi(value))); + return value; +} + +template Windows::Media::MediaProperties::MediaEncodingProfile impl_IMediaEncodingProfileStatics3::CreateHevc(Windows::Media::MediaProperties::VideoEncodingQuality quality) const +{ + Windows::Media::MediaProperties::MediaEncodingProfile value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfileStatics3)->abi_CreateHevc(quality, put_abi(value))); + return value; +} + +template void impl_IMediaEncodingProfile::Audio(const Windows::Media::MediaProperties::AudioEncodingProperties & value) const +{ + check_hresult(WINRT_SHIM(IMediaEncodingProfile)->put_Audio(get_abi(value))); +} + +template Windows::Media::MediaProperties::AudioEncodingProperties impl_IMediaEncodingProfile::Audio() const +{ + Windows::Media::MediaProperties::AudioEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfile)->get_Audio(put_abi(value))); + return value; +} + +template void impl_IMediaEncodingProfile::Video(const Windows::Media::MediaProperties::VideoEncodingProperties & value) const +{ + check_hresult(WINRT_SHIM(IMediaEncodingProfile)->put_Video(get_abi(value))); +} + +template Windows::Media::MediaProperties::VideoEncodingProperties impl_IMediaEncodingProfile::Video() const +{ + Windows::Media::MediaProperties::VideoEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfile)->get_Video(put_abi(value))); + return value; +} + +template void impl_IMediaEncodingProfile::Container(const Windows::Media::MediaProperties::ContainerEncodingProperties & value) const +{ + check_hresult(WINRT_SHIM(IMediaEncodingProfile)->put_Container(get_abi(value))); +} + +template Windows::Media::MediaProperties::ContainerEncodingProperties impl_IMediaEncodingProfile::Container() const +{ + Windows::Media::MediaProperties::ContainerEncodingProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEncodingProfile)->get_Container(put_abi(value))); + return value; +} + +inline AudioEncodingProperties::AudioEncodingProperties() : + AudioEncodingProperties(activate_instance()) +{} + +inline Windows::Media::MediaProperties::AudioEncodingProperties AudioEncodingProperties::CreateAac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) +{ + return get_activation_factory().CreateAac(sampleRate, channelCount, bitrate); +} + +inline Windows::Media::MediaProperties::AudioEncodingProperties AudioEncodingProperties::CreateAacAdts(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) +{ + return get_activation_factory().CreateAacAdts(sampleRate, channelCount, bitrate); +} + +inline Windows::Media::MediaProperties::AudioEncodingProperties AudioEncodingProperties::CreateMp3(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) +{ + return get_activation_factory().CreateMp3(sampleRate, channelCount, bitrate); +} + +inline Windows::Media::MediaProperties::AudioEncodingProperties AudioEncodingProperties::CreatePcm(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample) +{ + return get_activation_factory().CreatePcm(sampleRate, channelCount, bitsPerSample); +} + +inline Windows::Media::MediaProperties::AudioEncodingProperties AudioEncodingProperties::CreateWma(uint32_t sampleRate, uint32_t channelCount, uint32_t bitrate) +{ + return get_activation_factory().CreateWma(sampleRate, channelCount, bitrate); +} + +inline Windows::Media::MediaProperties::AudioEncodingProperties AudioEncodingProperties::CreateAlac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample) +{ + return get_activation_factory().CreateAlac(sampleRate, channelCount, bitsPerSample); +} + +inline Windows::Media::MediaProperties::AudioEncodingProperties AudioEncodingProperties::CreateFlac(uint32_t sampleRate, uint32_t channelCount, uint32_t bitsPerSample) +{ + return get_activation_factory().CreateFlac(sampleRate, channelCount, bitsPerSample); +} + +inline ContainerEncodingProperties::ContainerEncodingProperties() : + ContainerEncodingProperties(activate_instance()) +{} + +inline int32_t H264ProfileIds::ConstrainedBaseline() +{ + return get_activation_factory().ConstrainedBaseline(); +} + +inline int32_t H264ProfileIds::Baseline() +{ + return get_activation_factory().Baseline(); +} + +inline int32_t H264ProfileIds::Extended() +{ + return get_activation_factory().Extended(); +} + +inline int32_t H264ProfileIds::Main() +{ + return get_activation_factory().Main(); +} + +inline int32_t H264ProfileIds::High() +{ + return get_activation_factory().High(); +} + +inline int32_t H264ProfileIds::High10() +{ + return get_activation_factory().High10(); +} + +inline int32_t H264ProfileIds::High422() +{ + return get_activation_factory().High422(); +} + +inline int32_t H264ProfileIds::High444() +{ + return get_activation_factory().High444(); +} + +inline int32_t H264ProfileIds::StereoHigh() +{ + return get_activation_factory().StereoHigh(); +} + +inline int32_t H264ProfileIds::MultiviewHigh() +{ + return get_activation_factory().MultiviewHigh(); +} + +inline ImageEncodingProperties::ImageEncodingProperties() : + ImageEncodingProperties(activate_instance()) +{} + +inline Windows::Media::MediaProperties::ImageEncodingProperties ImageEncodingProperties::CreateJpeg() +{ + return get_activation_factory().CreateJpeg(); +} + +inline Windows::Media::MediaProperties::ImageEncodingProperties ImageEncodingProperties::CreatePng() +{ + return get_activation_factory().CreatePng(); +} + +inline Windows::Media::MediaProperties::ImageEncodingProperties ImageEncodingProperties::CreateJpegXR() +{ + return get_activation_factory().CreateJpegXR(); +} + +inline Windows::Media::MediaProperties::ImageEncodingProperties ImageEncodingProperties::CreateUncompressed(Windows::Media::MediaProperties::MediaPixelFormat format) +{ + return get_activation_factory().CreateUncompressed(format); +} + +inline Windows::Media::MediaProperties::ImageEncodingProperties ImageEncodingProperties::CreateBmp() +{ + return get_activation_factory().CreateBmp(); +} + +inline MediaEncodingProfile::MediaEncodingProfile() : + MediaEncodingProfile(activate_instance()) +{} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateM4a(Windows::Media::MediaProperties::AudioEncodingQuality quality) +{ + return get_activation_factory().CreateM4a(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateMp3(Windows::Media::MediaProperties::AudioEncodingQuality quality) +{ + return get_activation_factory().CreateMp3(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateWma(Windows::Media::MediaProperties::AudioEncodingQuality quality) +{ + return get_activation_factory().CreateWma(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateMp4(Windows::Media::MediaProperties::VideoEncodingQuality quality) +{ + return get_activation_factory().CreateMp4(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateWmv(Windows::Media::MediaProperties::VideoEncodingQuality quality) +{ + return get_activation_factory().CreateWmv(quality); +} + +inline Windows::Foundation::IAsyncOperation MediaEncodingProfile::CreateFromFileAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().CreateFromFileAsync(file); +} + +inline Windows::Foundation::IAsyncOperation MediaEncodingProfile::CreateFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & stream) +{ + return get_activation_factory().CreateFromStreamAsync(stream); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateWav(Windows::Media::MediaProperties::AudioEncodingQuality quality) +{ + return get_activation_factory().CreateWav(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateAvi(Windows::Media::MediaProperties::VideoEncodingQuality quality) +{ + return get_activation_factory().CreateAvi(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateAlac(Windows::Media::MediaProperties::AudioEncodingQuality quality) +{ + return get_activation_factory().CreateAlac(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateFlac(Windows::Media::MediaProperties::AudioEncodingQuality quality) +{ + return get_activation_factory().CreateFlac(quality); +} + +inline Windows::Media::MediaProperties::MediaEncodingProfile MediaEncodingProfile::CreateHevc(Windows::Media::MediaProperties::VideoEncodingQuality quality) +{ + return get_activation_factory().CreateHevc(quality); +} + +inline hstring MediaEncodingSubtypes::Aac() +{ + return get_activation_factory().Aac(); +} + +inline hstring MediaEncodingSubtypes::AacAdts() +{ + return get_activation_factory().AacAdts(); +} + +inline hstring MediaEncodingSubtypes::Ac3() +{ + return get_activation_factory().Ac3(); +} + +inline hstring MediaEncodingSubtypes::AmrNb() +{ + return get_activation_factory().AmrNb(); +} + +inline hstring MediaEncodingSubtypes::AmrWb() +{ + return get_activation_factory().AmrWb(); +} + +inline hstring MediaEncodingSubtypes::Argb32() +{ + return get_activation_factory().Argb32(); +} + +inline hstring MediaEncodingSubtypes::Asf() +{ + return get_activation_factory().Asf(); +} + +inline hstring MediaEncodingSubtypes::Avi() +{ + return get_activation_factory().Avi(); +} + +inline hstring MediaEncodingSubtypes::Bgra8() +{ + return get_activation_factory().Bgra8(); +} + +inline hstring MediaEncodingSubtypes::Bmp() +{ + return get_activation_factory().Bmp(); +} + +inline hstring MediaEncodingSubtypes::Eac3() +{ + return get_activation_factory().Eac3(); +} + +inline hstring MediaEncodingSubtypes::Float() +{ + return get_activation_factory().Float(); +} + +inline hstring MediaEncodingSubtypes::Gif() +{ + return get_activation_factory().Gif(); +} + +inline hstring MediaEncodingSubtypes::H263() +{ + return get_activation_factory().H263(); +} + +inline hstring MediaEncodingSubtypes::H264() +{ + return get_activation_factory().H264(); +} + +inline hstring MediaEncodingSubtypes::H264Es() +{ + return get_activation_factory().H264Es(); +} + +inline hstring MediaEncodingSubtypes::Hevc() +{ + return get_activation_factory().Hevc(); +} + +inline hstring MediaEncodingSubtypes::HevcEs() +{ + return get_activation_factory().HevcEs(); +} + +inline hstring MediaEncodingSubtypes::Iyuv() +{ + return get_activation_factory().Iyuv(); +} + +inline hstring MediaEncodingSubtypes::Jpeg() +{ + return get_activation_factory().Jpeg(); +} + +inline hstring MediaEncodingSubtypes::JpegXr() +{ + return get_activation_factory().JpegXr(); +} + +inline hstring MediaEncodingSubtypes::Mjpg() +{ + return get_activation_factory().Mjpg(); +} + +inline hstring MediaEncodingSubtypes::Mpeg() +{ + return get_activation_factory().Mpeg(); +} + +inline hstring MediaEncodingSubtypes::Mpeg1() +{ + return get_activation_factory().Mpeg1(); +} + +inline hstring MediaEncodingSubtypes::Mpeg2() +{ + return get_activation_factory().Mpeg2(); +} + +inline hstring MediaEncodingSubtypes::Mp3() +{ + return get_activation_factory().Mp3(); +} + +inline hstring MediaEncodingSubtypes::Mpeg4() +{ + return get_activation_factory().Mpeg4(); +} + +inline hstring MediaEncodingSubtypes::Nv12() +{ + return get_activation_factory().Nv12(); +} + +inline hstring MediaEncodingSubtypes::Pcm() +{ + return get_activation_factory().Pcm(); +} + +inline hstring MediaEncodingSubtypes::Png() +{ + return get_activation_factory().Png(); +} + +inline hstring MediaEncodingSubtypes::Rgb24() +{ + return get_activation_factory().Rgb24(); +} + +inline hstring MediaEncodingSubtypes::Rgb32() +{ + return get_activation_factory().Rgb32(); +} + +inline hstring MediaEncodingSubtypes::Tiff() +{ + return get_activation_factory().Tiff(); +} + +inline hstring MediaEncodingSubtypes::Wave() +{ + return get_activation_factory().Wave(); +} + +inline hstring MediaEncodingSubtypes::Wma8() +{ + return get_activation_factory().Wma8(); +} + +inline hstring MediaEncodingSubtypes::Wma9() +{ + return get_activation_factory().Wma9(); +} + +inline hstring MediaEncodingSubtypes::Wmv3() +{ + return get_activation_factory().Wmv3(); +} + +inline hstring MediaEncodingSubtypes::Wvc1() +{ + return get_activation_factory().Wvc1(); +} + +inline hstring MediaEncodingSubtypes::Yuy2() +{ + return get_activation_factory().Yuy2(); +} + +inline hstring MediaEncodingSubtypes::Yv12() +{ + return get_activation_factory().Yv12(); +} + +inline hstring MediaEncodingSubtypes::Vp9() +{ + return get_activation_factory().Vp9(); +} + +inline hstring MediaEncodingSubtypes::L8() +{ + return get_activation_factory().L8(); +} + +inline hstring MediaEncodingSubtypes::L16() +{ + return get_activation_factory().L16(); +} + +inline hstring MediaEncodingSubtypes::D16() +{ + return get_activation_factory().D16(); +} + +inline hstring MediaEncodingSubtypes::Alac() +{ + return get_activation_factory().Alac(); +} + +inline hstring MediaEncodingSubtypes::Flac() +{ + return get_activation_factory().Flac(); +} + +inline MediaPropertySet::MediaPropertySet() : + MediaPropertySet(activate_instance()) +{} + +inline int32_t Mpeg2ProfileIds::Simple() +{ + return get_activation_factory().Simple(); +} + +inline int32_t Mpeg2ProfileIds::Main() +{ + return get_activation_factory().Main(); +} + +inline int32_t Mpeg2ProfileIds::SignalNoiseRatioScalable() +{ + return get_activation_factory().SignalNoiseRatioScalable(); +} + +inline int32_t Mpeg2ProfileIds::SpatiallyScalable() +{ + return get_activation_factory().SpatiallyScalable(); +} + +inline int32_t Mpeg2ProfileIds::High() +{ + return get_activation_factory().High(); +} + +inline VideoEncodingProperties::VideoEncodingProperties() : + VideoEncodingProperties(activate_instance()) +{} + +inline Windows::Media::MediaProperties::VideoEncodingProperties VideoEncodingProperties::CreateH264() +{ + return get_activation_factory().CreateH264(); +} + +inline Windows::Media::MediaProperties::VideoEncodingProperties VideoEncodingProperties::CreateMpeg2() +{ + return get_activation_factory().CreateMpeg2(); +} + +inline Windows::Media::MediaProperties::VideoEncodingProperties VideoEncodingProperties::CreateUncompressed(hstring_view subtype, uint32_t width, uint32_t height) +{ + return get_activation_factory().CreateUncompressed(subtype, width, height); +} + +inline Windows::Media::MediaProperties::VideoEncodingProperties VideoEncodingProperties::CreateHevc() +{ + return get_activation_factory().CreateHevc(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IAudioEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IAudioEncodingProperties2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IAudioEncodingPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IAudioEncodingPropertiesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IAudioEncodingPropertiesWithFormatUserData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IContainerEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IH264ProfileIdsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IImageEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IImageEncodingPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IImageEncodingPropertiesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingProfileStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingProfileStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingProfileStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingSubtypesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingSubtypesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaEncodingSubtypesStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMediaRatio & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IMpeg2ProfileIdsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IVideoEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IVideoEncodingProperties2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IVideoEncodingProperties3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IVideoEncodingProperties4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IVideoEncodingPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::IVideoEncodingPropertiesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::AudioEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::ContainerEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::ImageEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::MediaEncodingProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::MediaPropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::MediaRatio & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProperties::VideoEncodingProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Ocr.h b/10.0.15042.0/winrt/Windows.Media.Ocr.h new file mode 100644 index 000000000..f9214a18c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Ocr.h @@ -0,0 +1,459 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.Media.Ocr.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RecognizeAsync(impl::abi_arg_in bitmap, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RecognizeAsync(*reinterpret_cast(&bitmap))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecognizerLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizerLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxImageDimension(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxImageDimension()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableRecognizerLanguages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableRecognizerLanguages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsLanguageSupported(impl::abi_arg_in language, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsLanguageSupported(*reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateFromLanguage(impl::abi_arg_in language, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCreateFromLanguage(*reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateFromUserProfileLanguages(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCreateFromUserProfileLanguages()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Words(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Words()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Lines(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Lines()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAngle(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAngle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BoundingRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Ocr { + +template Windows::Foundation::Rect impl_IOcrWord::BoundingRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IOcrWord)->get_BoundingRect(put_abi(value))); + return value; +} + +template hstring impl_IOcrWord::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOcrWord)->get_Text(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IOcrLine::Words() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IOcrLine)->get_Words(put_abi(value))); + return value; +} + +template hstring impl_IOcrLine::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOcrLine)->get_Text(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IOcrResult::Lines() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IOcrResult)->get_Lines(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IOcrResult::TextAngle() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IOcrResult)->get_TextAngle(put_abi(value))); + return value; +} + +template hstring impl_IOcrResult::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOcrResult)->get_Text(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IOcrEngine::RecognizeAsync(const Windows::Graphics::Imaging::SoftwareBitmap & bitmap) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IOcrEngine)->abi_RecognizeAsync(get_abi(bitmap), put_abi(result))); + return result; +} + +template Windows::Globalization::Language impl_IOcrEngine::RecognizerLanguage() const +{ + Windows::Globalization::Language value { nullptr }; + check_hresult(WINRT_SHIM(IOcrEngine)->get_RecognizerLanguage(put_abi(value))); + return value; +} + +template uint32_t impl_IOcrEngineStatics::MaxImageDimension() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IOcrEngineStatics)->get_MaxImageDimension(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IOcrEngineStatics::AvailableRecognizerLanguages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IOcrEngineStatics)->get_AvailableRecognizerLanguages(put_abi(value))); + return value; +} + +template bool impl_IOcrEngineStatics::IsLanguageSupported(const Windows::Globalization::Language & language) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IOcrEngineStatics)->abi_IsLanguageSupported(get_abi(language), &result)); + return result; +} + +template Windows::Media::Ocr::OcrEngine impl_IOcrEngineStatics::TryCreateFromLanguage(const Windows::Globalization::Language & language) const +{ + Windows::Media::Ocr::OcrEngine result { nullptr }; + check_hresult(WINRT_SHIM(IOcrEngineStatics)->abi_TryCreateFromLanguage(get_abi(language), put_abi(result))); + return result; +} + +template Windows::Media::Ocr::OcrEngine impl_IOcrEngineStatics::TryCreateFromUserProfileLanguages() const +{ + Windows::Media::Ocr::OcrEngine result { nullptr }; + check_hresult(WINRT_SHIM(IOcrEngineStatics)->abi_TryCreateFromUserProfileLanguages(put_abi(result))); + return result; +} + +inline uint32_t OcrEngine::MaxImageDimension() +{ + return get_activation_factory().MaxImageDimension(); +} + +inline Windows::Foundation::Collections::IVectorView OcrEngine::AvailableRecognizerLanguages() +{ + return get_activation_factory().AvailableRecognizerLanguages(); +} + +inline bool OcrEngine::IsLanguageSupported(const Windows::Globalization::Language & language) +{ + return get_activation_factory().IsLanguageSupported(language); +} + +inline Windows::Media::Ocr::OcrEngine OcrEngine::TryCreateFromLanguage(const Windows::Globalization::Language & language) +{ + return get_activation_factory().TryCreateFromLanguage(language); +} + +inline Windows::Media::Ocr::OcrEngine OcrEngine::TryCreateFromUserProfileLanguages() +{ + return get_activation_factory().TryCreateFromUserProfileLanguages(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::IOcrEngine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::IOcrEngineStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::IOcrLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::IOcrResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::IOcrWord & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::OcrEngine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::OcrLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::OcrResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Ocr::OcrWord & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.PlayTo.h b/10.0.15042.0/winrt/Windows.Media.PlayTo.h new file mode 100644 index 000000000..bf429e87c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.PlayTo.h @@ -0,0 +1,2391 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.PlayTo.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Time(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Time()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mute(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::PlayTo::PlayToConnectionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Transferred(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Transferred(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Transferred(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Transferred(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Error(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Error(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Error(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Error(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Code(Windows::Media::PlayTo::PlayToConnectionError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreviousState(Windows::Media::PlayTo::PlayToConnectionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviousState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentState(Windows::Media::PlayTo::PlayToConnectionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreviousSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviousSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SourceRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceSelected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceSelected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceSelected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceSelected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultSourceSelection(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultSourceSelection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultSourceSelection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultSourceSelection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out playToManager) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *playToManager = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *playToManager = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowPlayToUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowPlayToUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PlayRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlayRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlayRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PauseRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PauseRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PauseRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PauseRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlaybackRateChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlaybackRateChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlaybackRateChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackRateChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CurrentTimeChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CurrentTimeChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CurrentTimeChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrentTimeChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MuteChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MuteChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MuteChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MuteChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VolumeChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VolumeChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VolumeChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VolumeChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TimeUpdateRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TimeUpdateRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TimeUpdateRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimeUpdateRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StopRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StopRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StopRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyVolumeChange(double volume, bool mute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyVolumeChange(volume, mute); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyRateChange(double rate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyRateChange(rate); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyLoadedMetadata() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyLoadedMetadata(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyTimeUpdate(impl::abi_arg_in currentTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyTimeUpdate(*reinterpret_cast(¤tTime)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyDurationChange(impl::abi_arg_in duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyDurationChange(*reinterpret_cast(&duration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifySeeking() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifySeeking(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifySeeked() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifySeeked(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyPaused() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyPaused(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyPlaying() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyPlaying(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyEnded() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyEnded(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyError() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyError(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyStopped() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyStopped(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FriendlyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FriendlyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportsImage(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportsImage(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsImage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsImage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportsAudio(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportsAudio(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsAudio(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsAudio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SupportsVideo(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportsVideo(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsVideo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsVideo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Connection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Connection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Next(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Next()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Next(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Next(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PlayNext() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayNext(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisplayErrorString(impl::abi_arg_in errorString) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayErrorString(*reinterpret_cast(&errorString)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsImage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsImage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsAudio(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsAudio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportsVideo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportsVideo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreferredSourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredSourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredSourceUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredSourceUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Rate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Stream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Author(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Author()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Album(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Album()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Genre(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Genre()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rating(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rating()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Volume(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Volume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::PlayTo { + +template Windows::Storage::Streams::IRandomAccessStreamWithContentType impl_ISourceChangeRequestedEventArgs::Stream() const +{ + Windows::Storage::Streams::IRandomAccessStreamWithContentType value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Stream(put_abi(value))); + return value; +} + +template hstring impl_ISourceChangeRequestedEventArgs::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_ISourceChangeRequestedEventArgs::Author() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Author(put_abi(value))); + return value; +} + +template hstring impl_ISourceChangeRequestedEventArgs::Album() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Album(put_abi(value))); + return value; +} + +template hstring impl_ISourceChangeRequestedEventArgs::Genre() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Genre(put_abi(value))); + return value; +} + +template hstring impl_ISourceChangeRequestedEventArgs::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Description(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISourceChangeRequestedEventArgs::Date() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Date(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_ISourceChangeRequestedEventArgs::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Thumbnail(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISourceChangeRequestedEventArgs::Rating() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Rating(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ISourceChangeRequestedEventArgs::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ISourceChangeRequestedEventArgs)->get_Properties(put_abi(value))); + return value; +} + +template double impl_IPlaybackRateChangeRequestedEventArgs::Rate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPlaybackRateChangeRequestedEventArgs)->get_Rate(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_ICurrentTimeChangeRequestedEventArgs::Time() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ICurrentTimeChangeRequestedEventArgs)->get_Time(put_abi(value))); + return value; +} + +template bool impl_IMuteChangeRequestedEventArgs::Mute() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMuteChangeRequestedEventArgs)->get_Mute(&value)); + return value; +} + +template double impl_IVolumeChangeRequestedEventArgs::Volume() const +{ + double value {}; + check_hresult(WINRT_SHIM(IVolumeChangeRequestedEventArgs)->get_Volume(&value)); + return value; +} + +template event_token impl_IPlayToReceiver::PlayRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_PlayRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::PlayRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_PlayRequested, PlayRequested(handler)); +} + +template void impl_IPlayToReceiver::PlayRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_PlayRequested(token)); +} + +template event_token impl_IPlayToReceiver::PauseRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_PauseRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::PauseRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_PauseRequested, PauseRequested(handler)); +} + +template void impl_IPlayToReceiver::PauseRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_PauseRequested(token)); +} + +template event_token impl_IPlayToReceiver::SourceChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_SourceChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::SourceChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_SourceChangeRequested, SourceChangeRequested(handler)); +} + +template void impl_IPlayToReceiver::SourceChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_SourceChangeRequested(token)); +} + +template event_token impl_IPlayToReceiver::PlaybackRateChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_PlaybackRateChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::PlaybackRateChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_PlaybackRateChangeRequested, PlaybackRateChangeRequested(handler)); +} + +template void impl_IPlayToReceiver::PlaybackRateChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_PlaybackRateChangeRequested(token)); +} + +template event_token impl_IPlayToReceiver::CurrentTimeChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_CurrentTimeChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::CurrentTimeChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_CurrentTimeChangeRequested, CurrentTimeChangeRequested(handler)); +} + +template void impl_IPlayToReceiver::CurrentTimeChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_CurrentTimeChangeRequested(token)); +} + +template event_token impl_IPlayToReceiver::MuteChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_MuteChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::MuteChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_MuteChangeRequested, MuteChangeRequested(handler)); +} + +template void impl_IPlayToReceiver::MuteChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_MuteChangeRequested(token)); +} + +template event_token impl_IPlayToReceiver::VolumeChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_VolumeChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::VolumeChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_VolumeChangeRequested, VolumeChangeRequested(handler)); +} + +template void impl_IPlayToReceiver::VolumeChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_VolumeChangeRequested(token)); +} + +template event_token impl_IPlayToReceiver::TimeUpdateRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_TimeUpdateRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::TimeUpdateRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_TimeUpdateRequested, TimeUpdateRequested(handler)); +} + +template void impl_IPlayToReceiver::TimeUpdateRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_TimeUpdateRequested(token)); +} + +template event_token impl_IPlayToReceiver::StopRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->add_StopRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToReceiver::StopRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToReceiver::remove_StopRequested, StopRequested(handler)); +} + +template void impl_IPlayToReceiver::StopRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->remove_StopRequested(token)); +} + +template void impl_IPlayToReceiver::NotifyVolumeChange(double volume, bool mute) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyVolumeChange(volume, mute)); +} + +template void impl_IPlayToReceiver::NotifyRateChange(double rate) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyRateChange(rate)); +} + +template void impl_IPlayToReceiver::NotifyLoadedMetadata() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyLoadedMetadata()); +} + +template void impl_IPlayToReceiver::NotifyTimeUpdate(const Windows::Foundation::TimeSpan & currentTime) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyTimeUpdate(get_abi(currentTime))); +} + +template void impl_IPlayToReceiver::NotifyDurationChange(const Windows::Foundation::TimeSpan & duration) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyDurationChange(get_abi(duration))); +} + +template void impl_IPlayToReceiver::NotifySeeking() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifySeeking()); +} + +template void impl_IPlayToReceiver::NotifySeeked() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifySeeked()); +} + +template void impl_IPlayToReceiver::NotifyPaused() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyPaused()); +} + +template void impl_IPlayToReceiver::NotifyPlaying() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyPlaying()); +} + +template void impl_IPlayToReceiver::NotifyEnded() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyEnded()); +} + +template void impl_IPlayToReceiver::NotifyError() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyError()); +} + +template void impl_IPlayToReceiver::NotifyStopped() const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_NotifyStopped()); +} + +template hstring impl_IPlayToReceiver::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayToReceiver)->get_FriendlyName(put_abi(value))); + return value; +} + +template void impl_IPlayToReceiver::FriendlyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->put_FriendlyName(get_abi(value))); +} + +template void impl_IPlayToReceiver::SupportsImage(bool value) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->put_SupportsImage(value)); +} + +template bool impl_IPlayToReceiver::SupportsImage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->get_SupportsImage(&value)); + return value; +} + +template void impl_IPlayToReceiver::SupportsAudio(bool value) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->put_SupportsAudio(value)); +} + +template bool impl_IPlayToReceiver::SupportsAudio() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->get_SupportsAudio(&value)); + return value; +} + +template void impl_IPlayToReceiver::SupportsVideo(bool value) const +{ + check_hresult(WINRT_SHIM(IPlayToReceiver)->put_SupportsVideo(value)); +} + +template bool impl_IPlayToReceiver::SupportsVideo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayToReceiver)->get_SupportsVideo(&value)); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IPlayToReceiver::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IPlayToReceiver)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IPlayToReceiver::StartAsync() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_StartAsync(put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IPlayToReceiver::StopAsync() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IPlayToReceiver)->abi_StopAsync(put_abi(action))); + return action; +} + +template Windows::Media::PlayTo::PlayToConnection impl_IPlayToSource::Connection() const +{ + Windows::Media::PlayTo::PlayToConnection value { nullptr }; + check_hresult(WINRT_SHIM(IPlayToSource)->get_Connection(put_abi(value))); + return value; +} + +template Windows::Media::PlayTo::PlayToSource impl_IPlayToSource::Next() const +{ + Windows::Media::PlayTo::PlayToSource value { nullptr }; + check_hresult(WINRT_SHIM(IPlayToSource)->get_Next(put_abi(value))); + return value; +} + +template void impl_IPlayToSource::Next(const Windows::Media::PlayTo::PlayToSource & value) const +{ + check_hresult(WINRT_SHIM(IPlayToSource)->put_Next(get_abi(value))); +} + +template void impl_IPlayToSource::PlayNext() const +{ + check_hresult(WINRT_SHIM(IPlayToSource)->abi_PlayNext()); +} + +template Windows::Foundation::Uri impl_IPlayToSourceWithPreferredSourceUri::PreferredSourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IPlayToSourceWithPreferredSourceUri)->get_PreferredSourceUri(put_abi(value))); + return value; +} + +template void impl_IPlayToSourceWithPreferredSourceUri::PreferredSourceUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IPlayToSourceWithPreferredSourceUri)->put_PreferredSourceUri(get_abi(value))); +} + +template Windows::Media::PlayTo::PlayToConnectionState impl_IPlayToConnectionStateChangedEventArgs::PreviousState() const +{ + Windows::Media::PlayTo::PlayToConnectionState value {}; + check_hresult(WINRT_SHIM(IPlayToConnectionStateChangedEventArgs)->get_PreviousState(&value)); + return value; +} + +template Windows::Media::PlayTo::PlayToConnectionState impl_IPlayToConnectionStateChangedEventArgs::CurrentState() const +{ + Windows::Media::PlayTo::PlayToConnectionState value {}; + check_hresult(WINRT_SHIM(IPlayToConnectionStateChangedEventArgs)->get_CurrentState(&value)); + return value; +} + +template Windows::Media::PlayTo::PlayToSource impl_IPlayToConnectionTransferredEventArgs::PreviousSource() const +{ + Windows::Media::PlayTo::PlayToSource value { nullptr }; + check_hresult(WINRT_SHIM(IPlayToConnectionTransferredEventArgs)->get_PreviousSource(put_abi(value))); + return value; +} + +template Windows::Media::PlayTo::PlayToSource impl_IPlayToConnectionTransferredEventArgs::CurrentSource() const +{ + Windows::Media::PlayTo::PlayToSource value { nullptr }; + check_hresult(WINRT_SHIM(IPlayToConnectionTransferredEventArgs)->get_CurrentSource(put_abi(value))); + return value; +} + +template Windows::Media::PlayTo::PlayToConnectionError impl_IPlayToConnectionErrorEventArgs::Code() const +{ + Windows::Media::PlayTo::PlayToConnectionError value {}; + check_hresult(WINRT_SHIM(IPlayToConnectionErrorEventArgs)->get_Code(&value)); + return value; +} + +template hstring impl_IPlayToConnectionErrorEventArgs::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayToConnectionErrorEventArgs)->get_Message(put_abi(value))); + return value; +} + +template Windows::Media::PlayTo::PlayToConnectionState impl_IPlayToConnection::State() const +{ + Windows::Media::PlayTo::PlayToConnectionState value {}; + check_hresult(WINRT_SHIM(IPlayToConnection)->get_State(&value)); + return value; +} + +template event_token impl_IPlayToConnection::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToConnection)->add_StateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToConnection::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToConnection::remove_StateChanged, StateChanged(handler)); +} + +template void impl_IPlayToConnection::StateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToConnection)->remove_StateChanged(token)); +} + +template event_token impl_IPlayToConnection::Transferred(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToConnection)->add_Transferred(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToConnection::Transferred(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToConnection::remove_Transferred, Transferred(handler)); +} + +template void impl_IPlayToConnection::Transferred(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToConnection)->remove_Transferred(token)); +} + +template event_token impl_IPlayToConnection::Error(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToConnection)->add_Error(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToConnection::Error(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToConnection::remove_Error, Error(handler)); +} + +template void impl_IPlayToConnection::Error(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToConnection)->remove_Error(token)); +} + +template hstring impl_IPlayToSourceSelectedEventArgs::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayToSourceSelectedEventArgs)->get_FriendlyName(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamWithContentType impl_IPlayToSourceSelectedEventArgs::Icon() const +{ + Windows::Storage::Streams::IRandomAccessStreamWithContentType value; + check_hresult(WINRT_SHIM(IPlayToSourceSelectedEventArgs)->get_Icon(put_abi(value))); + return value; +} + +template bool impl_IPlayToSourceSelectedEventArgs::SupportsImage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayToSourceSelectedEventArgs)->get_SupportsImage(&value)); + return value; +} + +template bool impl_IPlayToSourceSelectedEventArgs::SupportsAudio() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayToSourceSelectedEventArgs)->get_SupportsAudio(&value)); + return value; +} + +template bool impl_IPlayToSourceSelectedEventArgs::SupportsVideo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayToSourceSelectedEventArgs)->get_SupportsVideo(&value)); + return value; +} + +template void impl_IPlayToSourceDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IPlayToSourceDeferral)->abi_Complete()); +} + +template Windows::Foundation::DateTime impl_IPlayToSourceRequest::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPlayToSourceRequest)->get_Deadline(put_abi(value))); + return value; +} + +template void impl_IPlayToSourceRequest::DisplayErrorString(hstring_view errorString) const +{ + check_hresult(WINRT_SHIM(IPlayToSourceRequest)->abi_DisplayErrorString(get_abi(errorString))); +} + +template Windows::Media::PlayTo::PlayToSourceDeferral impl_IPlayToSourceRequest::GetDeferral() const +{ + Windows::Media::PlayTo::PlayToSourceDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IPlayToSourceRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_IPlayToSourceRequest::SetSource(const Windows::Media::PlayTo::PlayToSource & value) const +{ + check_hresult(WINRT_SHIM(IPlayToSourceRequest)->abi_SetSource(get_abi(value))); +} + +template Windows::Media::PlayTo::PlayToSourceRequest impl_IPlayToSourceRequestedEventArgs::SourceRequest() const +{ + Windows::Media::PlayTo::PlayToSourceRequest value { nullptr }; + check_hresult(WINRT_SHIM(IPlayToSourceRequestedEventArgs)->get_SourceRequest(put_abi(value))); + return value; +} + +template event_token impl_IPlayToManager::SourceRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToManager)->add_SourceRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToManager::SourceRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToManager::remove_SourceRequested, SourceRequested(handler)); +} + +template void impl_IPlayToManager::SourceRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToManager)->remove_SourceRequested(token)); +} + +template event_token impl_IPlayToManager::SourceSelected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlayToManager)->add_SourceSelected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlayToManager::SourceSelected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::PlayTo::IPlayToManager::remove_SourceSelected, SourceSelected(handler)); +} + +template void impl_IPlayToManager::SourceSelected(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlayToManager)->remove_SourceSelected(token)); +} + +template void impl_IPlayToManager::DefaultSourceSelection(bool value) const +{ + check_hresult(WINRT_SHIM(IPlayToManager)->put_DefaultSourceSelection(value)); +} + +template bool impl_IPlayToManager::DefaultSourceSelection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayToManager)->get_DefaultSourceSelection(&value)); + return value; +} + +template Windows::Media::PlayTo::PlayToManager impl_IPlayToManagerStatics::GetForCurrentView() const +{ + Windows::Media::PlayTo::PlayToManager playToManager { nullptr }; + check_hresult(WINRT_SHIM(IPlayToManagerStatics)->abi_GetForCurrentView(put_abi(playToManager))); + return playToManager; +} + +template void impl_IPlayToManagerStatics::ShowPlayToUI() const +{ + check_hresult(WINRT_SHIM(IPlayToManagerStatics)->abi_ShowPlayToUI()); +} + +inline Windows::Media::PlayTo::PlayToManager PlayToManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline void PlayToManager::ShowPlayToUI() +{ + get_activation_factory().ShowPlayToUI(); +} + +inline PlayToReceiver::PlayToReceiver() : + PlayToReceiver(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::ICurrentTimeChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IMuteChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToConnectionErrorEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToConnectionStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToConnectionTransferredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToReceiver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToSourceDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToSourceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToSourceRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToSourceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlayToSourceWithPreferredSourceUri & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IPlaybackRateChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::ISourceChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::IVolumeChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::CurrentTimeChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::MuteChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToConnectionErrorEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToConnectionStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToConnectionTransferredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToReceiver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToSourceDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToSourceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToSourceRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlayToSourceSelectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::PlaybackRateChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::SourceChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlayTo::VolumeChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Playback.h b/10.0.15042.0/winrt/Windows.Media.Playback.h new file mode 100644 index 000000000..9db950202 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Playback.h @@ -0,0 +1,8925 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.Media.Casting.3.h" +#include "internal/Windows.UI.Composition.3.h" +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Media.Protection.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Media.Core.3.h" +#include "internal/Windows.Media.Playback.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" +#include "Windows.Media.Core.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out player) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *player = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *player = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MessageReceivedFromBackground(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MessageReceivedFromBackground(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageReceivedFromBackground(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageReceivedFromBackground(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MessageReceivedFromForeground(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MessageReceivedFromForeground(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageReceivedFromForeground(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageReceivedFromForeground(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendMessageToBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendMessageToBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendMessageToForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SendMessageToForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsMediaPlaying(bool * isMediaPlaying) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isMediaPlaying = detach_abi(this->shim().IsMediaPlaying()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Shutdown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Shutdown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NewItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::Media::Playback::MediaPlaybackItemChangedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlaybackList(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PresentationPosition(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PresentationPosition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InsertionMethod(Windows::Media::Playback::MediaBreakInsertionMethod * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InsertionMethod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanStart(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanStart(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanStart(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaBreak(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaBreak()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Media::Playback::MediaBreakInsertionMethod insertionMethod, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(insertionMethod)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithPresentationPosition(Windows::Media::Playback::MediaBreakInsertionMethod insertionMethod, impl::abi_arg_in presentationPosition, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithPresentationPosition(insertionMethod, *reinterpret_cast(&presentationPosition))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BreaksSeekedOver(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BreaksSeekedOver(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BreaksSeekedOver(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BreaksSeekedOver(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BreakStarted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BreakStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BreakStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BreakStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BreakEnded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BreakEnded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BreakEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BreakEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BreakSkipped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BreakSkipped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BreakSkipped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BreakSkipped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentBreak(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentBreak()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PlayBreak(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayBreak(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SkipCurrentBreak() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SkipCurrentBreak(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ScheduleChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ScheduleChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ScheduleChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScheduleChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertMidrollBreak(impl::abi_arg_in mediaBreak) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertMidrollBreak(*reinterpret_cast(&mediaBreak)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveMidrollBreak(impl::abi_arg_in mediaBreak) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveMidrollBreak(*reinterpret_cast(&mediaBreak)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MidrollBreaks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MidrollBreaks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrerollBreak(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrerollBreak(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrerollBreak(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrerollBreak()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PostrollBreak(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PostrollBreak(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostrollBreak(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostrollBreak()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SeekedOverBreaks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SeekedOverBreaks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaBreak(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaBreak()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaBreak(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaBreak()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPlaybackSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPlaybackSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Media::MediaPlaybackType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(Windows::Media::MediaPlaybackType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MusicProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MusicProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlayer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PauseBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PauseBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviousBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviousBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FastForwardBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FastForwardBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RewindBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RewindBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShuffleBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShuffleBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoRepeatModeBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoRepeatModeBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RateBehavior(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RateBehavior()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlayReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlayReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlayReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PauseReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PauseReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PauseReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PauseReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NextReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NextReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NextReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NextReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PreviousReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PreviousReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PreviousReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreviousReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FastForwardReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FastForwardReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FastForwardReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FastForwardReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RewindReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RewindReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RewindReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RewindReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ShuffleReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ShuffleReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ShuffleReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShuffleReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AutoRepeatModeReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AutoRepeatModeReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AutoRepeatModeReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoRepeatModeReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PositionReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PositionReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PositionReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RateReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RateReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RateReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RateReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoRepeatMode(Windows::Media::MediaPlaybackAutoRepeatMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoRepeatMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CommandManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnablingRule(Windows::Media::Playback::MediaCommandEnablingRule * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnablingRule()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EnablingRule(Windows::Media::Playback::MediaCommandEnablingRule value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnablingRule(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsEnabledChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsEnabledChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsEnabledChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabledChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsShuffleRequested(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsShuffleRequested()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AudioTracksChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioTracksChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioTracksChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioTracksChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VideoTracksChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoTracksChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoTracksChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoTracksChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TimedMetadataTracksChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TimedMetadataTracksChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TimedMetadataTracksChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimedMetadataTracksChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioTracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioTracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoTracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoTracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimedMetadataTracks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimedMetadataTracks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BreakSchedule(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BreakSchedule()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DurationLimit(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DurationLimit()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSkip(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSkip()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanSkip(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanSkip(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDisplayProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDisplayProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyDisplayProperties(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplyDisplayProperties(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDisabledInPlaybackList(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDisabledInPlaybackList()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDisabledInPlaybackList(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDisabledInPlaybackList(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalDownloadProgress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalDownloadProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoLoadedDisplayProperties(Windows::Media::Playback::AutoLoadedDisplayPropertyKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoLoadedDisplayProperties()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoLoadedDisplayProperties(Windows::Media::Playback::AutoLoadedDisplayPropertyKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoLoadedDisplayProperties(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorCode(Windows::Media::Playback::MediaPlaybackItemErrorCode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in source, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&source))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithStartTime(impl::abi_arg_in source, impl::abi_arg_in startTime, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithStartTime(*reinterpret_cast(&source), *reinterpret_cast(&startTime))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithStartTimeAndDurationLimit(impl::abi_arg_in source, impl::abi_arg_in startTime, impl::abi_arg_in durationLimit, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithStartTimeAndDurationLimit(*reinterpret_cast(&source), *reinterpret_cast(&startTime), *reinterpret_cast(&durationLimit))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Error(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindFromMediaSource(impl::abi_arg_in source, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindFromMediaSource(*reinterpret_cast(&source))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ItemFailed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemFailed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CurrentItemChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CurrentItemChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CurrentItemChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrentItemChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemOpened(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemOpened(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemOpened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemOpened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoRepeatEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoRepeatEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoRepeatEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoRepeatEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShuffleEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShuffleEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShuffleEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShuffleEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentItemIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentItemIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveNext(impl::abi_arg_out item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *item = detach_abi(this->shim().MoveNext()); + return S_OK; + } + catch (...) + { + *item = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MovePrevious(impl::abi_arg_out item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *item = detach_abi(this->shim().MovePrevious()); + return S_OK; + } + catch (...) + { + *item = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveTo(uint32_t itemIndex, impl::abi_arg_out item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *item = detach_abi(this->shim().MoveTo(itemIndex)); + return S_OK; + } + catch (...) + { + *item = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPrefetchTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPrefetchTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxPrefetchTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPrefetchTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartingItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartingItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartingItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartingItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShuffledItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShuffledItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetShuffledItems(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetShuffledItems(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxPlayedItemsToKeepOpen(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPlayedItemsToKeepOpen()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxPlayedItemsToKeepOpen(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPlayedItemsToKeepOpen(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PlaybackStateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlaybackStateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlaybackStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlaybackRateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlaybackRateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlaybackRateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackRateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SeekCompleted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SeekCompleted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SeekCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SeekCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BufferingStarted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BufferingStarted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BufferingStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferingStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BufferingEnded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BufferingEnded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BufferingEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferingEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BufferingProgressChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BufferingProgressChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BufferingProgressChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferingProgressChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadProgressChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadProgressChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadProgressChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadProgressChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NaturalDurationChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NaturalDurationChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NaturalDurationChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NaturalDurationChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PositionChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PositionChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PositionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NaturalVideoSizeChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NaturalVideoSizeChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NaturalVideoSizeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NaturalVideoSizeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlayer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackState(Windows::Media::Playback::MediaPlaybackState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSeek(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanPause(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPause()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsProtected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProtected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaybackRate(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferingProgress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferingProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadProgress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalVideoHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalVideoHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalVideoWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalVideoWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedSourceRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedSourceRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NormalizedSourceRect(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NormalizedSourceRect(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StereoscopicVideoPackingMode(Windows::Media::MediaProperties::StereoscopicVideoPackingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StereoscopicVideoPackingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StereoscopicVideoPackingMode(Windows::Media::MediaProperties::StereoscopicVideoPackingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StereoscopicVideoPackingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BufferedRangesChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BufferedRangesChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BufferedRangesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferedRangesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlayedRangesChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlayedRangesChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlayedRangesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayedRangesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SeekableRangesChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SeekableRangesChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SeekableRangesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SeekableRangesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SupportedPlaybackRatesChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SupportedPlaybackRatesChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SupportedPlaybackRatesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SupportedPlaybackRatesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SphericalVideoProjection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SphericalVideoProjection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMirroring(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMirroring()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMirroring(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMirroring(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBufferedRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBufferedRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPlayedRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPlayedRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSeekableRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSeekableRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSupportedPlaybackRateRange(double rate1, double rate2, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupportedPlaybackRateRange(rate1, rate2)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameFormat(Windows::Media::MediaProperties::SphericalVideoFrameFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FrameFormat(Windows::Media::MediaProperties::SphericalVideoFrameFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalFieldOfViewInDegrees(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalFieldOfViewInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalFieldOfViewInDegrees(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalFieldOfViewInDegrees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewOrientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewOrientation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewOrientation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProjectionMode(Windows::Media::Playback::SphericalVideoProjectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProjectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProjectionMode(Windows::Media::Playback::SphericalVideoProjectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProjectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PresentationModeChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PresentationModeChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PresentationModeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PresentationModeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPresentationMode(uint32_t index, Windows::Media::Playback::TimedMetadataTrackPresentationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPresentationMode(index)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPresentationMode(uint32_t index, Windows::Media::Playback::TimedMetadataTrackPresentationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPresentationMode(index, value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AutoPlay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoPlay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoPlay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoPlay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferingProgress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferingProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentState(Windows::Media::Playback::MediaPlayerState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSeek(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanPause(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPause()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLoopingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLoopingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLoopingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLoopingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsProtected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProtected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMuted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMuted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMuted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMuted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaybackRate(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Volume(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Volume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Volume(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Volume(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackMediaMarkers(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackMediaMarkers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MediaOpened(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MediaOpened(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MediaOpened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaOpened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MediaEnded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MediaEnded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MediaEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MediaFailed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MediaFailed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MediaFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CurrentStateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CurrentStateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CurrentStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrentStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlaybackMediaMarkerReached(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlaybackMediaMarkerReached(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlaybackMediaMarkerReached(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackMediaMarkerReached(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MediaPlayerRateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MediaPlayerRateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MediaPlayerRateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaPlayerRateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VolumeChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VolumeChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VolumeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VolumeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SeekCompleted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SeekCompleted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SeekCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SeekCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BufferingStarted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BufferingStarted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BufferingStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferingStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BufferingEnded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BufferingEnded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BufferingEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferingEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Play() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Play(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetUriSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetUriSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SystemMediaTransportControls(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemMediaTransportControls()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioCategory(Windows::Media::Playback::MediaPlayerAudioCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioCategory(Windows::Media::Playback::MediaPlayerAudioCategory value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioCategory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioDeviceType(Windows::Media::Playback::MediaPlayerAudioDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioDeviceType(Windows::Media::Playback::MediaPlayerAudioDeviceType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioDeviceType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_IsMutedChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsMutedChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsMutedChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMutedChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioBalance(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioBalance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioBalance(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioBalance(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RealTimePlayback(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RealTimePlayback()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RealTimePlayback(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RealTimePlayback(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StereoscopicVideoRenderMode(Windows::Media::Playback::StereoscopicVideoRenderMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StereoscopicVideoRenderMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StereoscopicVideoRenderMode(Windows::Media::Playback::StereoscopicVideoRenderMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StereoscopicVideoRenderMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BreakManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BreakManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioDevice(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioDevice(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimelineController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimelineController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TimelineController(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimelineController(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimelineControllerPositionOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimelineControllerPositionOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TimelineControllerPositionOffset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimelineControllerPositionOffset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StepForwardOneFrame() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StepForwardOneFrame(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StepBackwardOneFrame() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StepBackwardOneFrame(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAsCastingSource(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAsCastingSource()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetSurfaceSize(impl::abi_arg_in size) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSurfaceSize(*reinterpret_cast(&size)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSurface(impl::abi_arg_in compositor, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSurface(*reinterpret_cast(&compositor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_VideoFrameAvailable(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VideoFrameAvailable(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VideoFrameAvailable(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoFrameAvailable(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVideoFrameServerEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVideoFrameServerEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVideoFrameServerEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVideoFrameServerEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyFrameToVideoSurface(impl::abi_arg_in destination) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyFrameToVideoSurface(*reinterpret_cast(&destination)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyFrameToVideoSurfaceWithTargetRectangle(impl::abi_arg_in destination, impl::abi_arg_in targetRectangle) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyFrameToVideoSurface(*reinterpret_cast(&destination), *reinterpret_cast(&targetRectangle)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyFrameToStereoscopicVideoSurfaces(impl::abi_arg_in destinationLeftEye, impl::abi_arg_in destinationRightEye) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyFrameToStereoscopicVideoSurfaces(*reinterpret_cast(&destinationLeftEye), *reinterpret_cast(&destinationRightEye)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddAudioEffect(impl::abi_arg_in activatableClassId, bool effectOptional, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddAudioEffect(*reinterpret_cast(&activatableClassId), effectOptional, *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAllEffects() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAllEffects(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddVideoEffect(impl::abi_arg_in activatableClassId, bool effectOptional, impl::abi_arg_in effectConfiguration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddVideoEffect(*reinterpret_cast(&activatableClassId), effectOptional, *reinterpret_cast(&effectConfiguration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Error(Windows::Media::Playback::MediaPlayerError * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Error()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NewRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProtectionManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtectionManager(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectionManager(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFileSource(impl::abi_arg_in file) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFileSource(*reinterpret_cast(&file)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStreamSource(impl::abi_arg_in stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStreamSource(*reinterpret_cast(&stream)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMediaSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetMediaSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CompositionSurface(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositionSurface()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Compositor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Compositor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlayer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Time(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Time()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaMarkerType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaMarkerType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromTime(impl::abi_arg_in value, impl::abi_arg_out marker) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *marker = detach_abi(this->shim().CreateFromTime(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *marker = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Create(impl::abi_arg_in value, impl::abi_arg_in mediaMarketType, impl::abi_arg_in text, impl::abi_arg_out marker) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *marker = detach_abi(this->shim().Create(*reinterpret_cast(&value), *reinterpret_cast(&mediaMarketType), *reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *marker = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlaybackMediaMarker(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackMediaMarker()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Size(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Insert(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Insert(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Track(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldPresentationMode(Windows::Media::Playback::TimedMetadataTrackPresentationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldPresentationMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewPresentationMode(Windows::Media::Playback::TimedMetadataTrackPresentationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewPresentationMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Playback { + +template Windows::Foundation::TimeSpan impl_IPlaybackMediaMarker::Time() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPlaybackMediaMarker)->get_Time(put_abi(value))); + return value; +} + +template hstring impl_IPlaybackMediaMarker::MediaMarkerType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlaybackMediaMarker)->get_MediaMarkerType(put_abi(value))); + return value; +} + +template hstring impl_IPlaybackMediaMarker::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlaybackMediaMarker)->get_Text(put_abi(value))); + return value; +} + +template Windows::Media::Playback::PlaybackMediaMarker impl_IPlaybackMediaMarkerFactory::CreateFromTime(const Windows::Foundation::TimeSpan & value) const +{ + Windows::Media::Playback::PlaybackMediaMarker marker { nullptr }; + check_hresult(WINRT_SHIM(IPlaybackMediaMarkerFactory)->abi_CreateFromTime(get_abi(value), put_abi(marker))); + return marker; +} + +template Windows::Media::Playback::PlaybackMediaMarker impl_IPlaybackMediaMarkerFactory::Create(const Windows::Foundation::TimeSpan & value, hstring_view mediaMarketType, hstring_view text) const +{ + Windows::Media::Playback::PlaybackMediaMarker marker { nullptr }; + check_hresult(WINRT_SHIM(IPlaybackMediaMarkerFactory)->abi_Create(get_abi(value), get_abi(mediaMarketType), get_abi(text), put_abi(marker))); + return marker; +} + +template uint32_t impl_IPlaybackMediaMarkerSequence::Size() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlaybackMediaMarkerSequence)->get_Size(&value)); + return value; +} + +template void impl_IPlaybackMediaMarkerSequence::Insert(const Windows::Media::Playback::PlaybackMediaMarker & value) const +{ + check_hresult(WINRT_SHIM(IPlaybackMediaMarkerSequence)->abi_Insert(get_abi(value))); +} + +template void impl_IPlaybackMediaMarkerSequence::Clear() const +{ + check_hresult(WINRT_SHIM(IPlaybackMediaMarkerSequence)->abi_Clear()); +} + +template Windows::Media::Playback::MediaPlayerError impl_IMediaPlayerFailedEventArgs::Error() const +{ + Windows::Media::Playback::MediaPlayerError value {}; + check_hresult(WINRT_SHIM(IMediaPlayerFailedEventArgs)->get_Error(&value)); + return value; +} + +template HRESULT impl_IMediaPlayerFailedEventArgs::ExtendedErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IMediaPlayerFailedEventArgs)->get_ExtendedErrorCode(&value)); + return value; +} + +template hstring impl_IMediaPlayerFailedEventArgs::ErrorMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaPlayerFailedEventArgs)->get_ErrorMessage(put_abi(value))); + return value; +} + +template double impl_IMediaPlayerRateChangedEventArgs::NewRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlayerRateChangedEventArgs)->get_NewRate(&value)); + return value; +} + +template Windows::Media::Playback::PlaybackMediaMarker impl_IPlaybackMediaMarkerReachedEventArgs::PlaybackMediaMarker() const +{ + Windows::Media::Playback::PlaybackMediaMarker value { nullptr }; + check_hresult(WINRT_SHIM(IPlaybackMediaMarkerReachedEventArgs)->get_PlaybackMediaMarker(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_IMediaPlayerDataReceivedEventArgs::Data() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerDataReceivedEventArgs)->get_Data(put_abi(value))); + return value; +} + +template bool impl_IMediaPlayer::AutoPlay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_AutoPlay(&value)); + return value; +} + +template void impl_IMediaPlayer::AutoPlay(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->put_AutoPlay(value)); +} + +template Windows::Foundation::TimeSpan impl_IMediaPlayer::NaturalDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_NaturalDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaPlayer::Position() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_Position(put_abi(value))); + return value; +} + +template void impl_IMediaPlayer::Position(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->put_Position(get_abi(value))); +} + +template double impl_IMediaPlayer::BufferingProgress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_BufferingProgress(&value)); + return value; +} + +template Windows::Media::Playback::MediaPlayerState impl_IMediaPlayer::CurrentState() const +{ + Windows::Media::Playback::MediaPlayerState value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_CurrentState(&value)); + return value; +} + +template bool impl_IMediaPlayer::CanSeek() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_CanSeek(&value)); + return value; +} + +template bool impl_IMediaPlayer::CanPause() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_CanPause(&value)); + return value; +} + +template bool impl_IMediaPlayer::IsLoopingEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_IsLoopingEnabled(&value)); + return value; +} + +template void impl_IMediaPlayer::IsLoopingEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->put_IsLoopingEnabled(value)); +} + +template bool impl_IMediaPlayer::IsProtected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_IsProtected(&value)); + return value; +} + +template bool impl_IMediaPlayer::IsMuted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_IsMuted(&value)); + return value; +} + +template void impl_IMediaPlayer::IsMuted(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->put_IsMuted(value)); +} + +template double impl_IMediaPlayer::PlaybackRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_PlaybackRate(&value)); + return value; +} + +template void impl_IMediaPlayer::PlaybackRate(double value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->put_PlaybackRate(value)); +} + +template double impl_IMediaPlayer::Volume() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_Volume(&value)); + return value; +} + +template void impl_IMediaPlayer::Volume(double value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->put_Volume(value)); +} + +template Windows::Media::Playback::PlaybackMediaMarkerSequence impl_IMediaPlayer::PlaybackMediaMarkers() const +{ + Windows::Media::Playback::PlaybackMediaMarkerSequence value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer)->get_PlaybackMediaMarkers(put_abi(value))); + return value; +} + +template event_token impl_IMediaPlayer::MediaOpened(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_MediaOpened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::MediaOpened(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_MediaOpened, MediaOpened(value)); +} + +template void impl_IMediaPlayer::MediaOpened(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_MediaOpened(token)); +} + +template event_token impl_IMediaPlayer::MediaEnded(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_MediaEnded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::MediaEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_MediaEnded, MediaEnded(value)); +} + +template void impl_IMediaPlayer::MediaEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_MediaEnded(token)); +} + +template event_token impl_IMediaPlayer::MediaFailed(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_MediaFailed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::MediaFailed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_MediaFailed, MediaFailed(value)); +} + +template void impl_IMediaPlayer::MediaFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_MediaFailed(token)); +} + +template event_token impl_IMediaPlayer::CurrentStateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_CurrentStateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::CurrentStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_CurrentStateChanged, CurrentStateChanged(value)); +} + +template void impl_IMediaPlayer::CurrentStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_CurrentStateChanged(token)); +} + +template event_token impl_IMediaPlayer::PlaybackMediaMarkerReached(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_PlaybackMediaMarkerReached(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::PlaybackMediaMarkerReached(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_PlaybackMediaMarkerReached, PlaybackMediaMarkerReached(value)); +} + +template void impl_IMediaPlayer::PlaybackMediaMarkerReached(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_PlaybackMediaMarkerReached(token)); +} + +template event_token impl_IMediaPlayer::MediaPlayerRateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_MediaPlayerRateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::MediaPlayerRateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_MediaPlayerRateChanged, MediaPlayerRateChanged(value)); +} + +template void impl_IMediaPlayer::MediaPlayerRateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_MediaPlayerRateChanged(token)); +} + +template event_token impl_IMediaPlayer::VolumeChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_VolumeChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::VolumeChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_VolumeChanged, VolumeChanged(value)); +} + +template void impl_IMediaPlayer::VolumeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_VolumeChanged(token)); +} + +template event_token impl_IMediaPlayer::SeekCompleted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_SeekCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::SeekCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_SeekCompleted, SeekCompleted(value)); +} + +template void impl_IMediaPlayer::SeekCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_SeekCompleted(token)); +} + +template event_token impl_IMediaPlayer::BufferingStarted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_BufferingStarted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::BufferingStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_BufferingStarted, BufferingStarted(value)); +} + +template void impl_IMediaPlayer::BufferingStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_BufferingStarted(token)); +} + +template event_token impl_IMediaPlayer::BufferingEnded(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer)->add_BufferingEnded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer::BufferingEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer::remove_BufferingEnded, BufferingEnded(value)); +} + +template void impl_IMediaPlayer::BufferingEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->remove_BufferingEnded(token)); +} + +template void impl_IMediaPlayer::Play() const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->abi_Play()); +} + +template void impl_IMediaPlayer::Pause() const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->abi_Pause()); +} + +template void impl_IMediaPlayer::SetUriSource(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer)->abi_SetUriSource(get_abi(value))); +} + +template Windows::Media::SystemMediaTransportControls impl_IMediaPlayer2::SystemMediaTransportControls() const +{ + Windows::Media::SystemMediaTransportControls value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer2)->get_SystemMediaTransportControls(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlayerAudioCategory impl_IMediaPlayer2::AudioCategory() const +{ + Windows::Media::Playback::MediaPlayerAudioCategory value {}; + check_hresult(WINRT_SHIM(IMediaPlayer2)->get_AudioCategory(&value)); + return value; +} + +template void impl_IMediaPlayer2::AudioCategory(Windows::Media::Playback::MediaPlayerAudioCategory value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer2)->put_AudioCategory(value)); +} + +template Windows::Media::Playback::MediaPlayerAudioDeviceType impl_IMediaPlayer2::AudioDeviceType() const +{ + Windows::Media::Playback::MediaPlayerAudioDeviceType value {}; + check_hresult(WINRT_SHIM(IMediaPlayer2)->get_AudioDeviceType(&value)); + return value; +} + +template void impl_IMediaPlayer2::AudioDeviceType(Windows::Media::Playback::MediaPlayerAudioDeviceType value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer2)->put_AudioDeviceType(value)); +} + +template event_token impl_IMediaPlayer3::IsMutedChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer3)->add_IsMutedChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer3::IsMutedChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer3::remove_IsMutedChanged, IsMutedChanged(value)); +} + +template void impl_IMediaPlayer3::IsMutedChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->remove_IsMutedChanged(token)); +} + +template event_token impl_IMediaPlayer3::SourceChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer3)->add_SourceChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer3::SourceChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer3::remove_SourceChanged, SourceChanged(value)); +} + +template void impl_IMediaPlayer3::SourceChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->remove_SourceChanged(token)); +} + +template double impl_IMediaPlayer3::AudioBalance() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_AudioBalance(&value)); + return value; +} + +template void impl_IMediaPlayer3::AudioBalance(double value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->put_AudioBalance(value)); +} + +template bool impl_IMediaPlayer3::RealTimePlayback() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_RealTimePlayback(&value)); + return value; +} + +template void impl_IMediaPlayer3::RealTimePlayback(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->put_RealTimePlayback(value)); +} + +template Windows::Media::Playback::StereoscopicVideoRenderMode impl_IMediaPlayer3::StereoscopicVideoRenderMode() const +{ + Windows::Media::Playback::StereoscopicVideoRenderMode value {}; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_StereoscopicVideoRenderMode(&value)); + return value; +} + +template void impl_IMediaPlayer3::StereoscopicVideoRenderMode(Windows::Media::Playback::StereoscopicVideoRenderMode value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->put_StereoscopicVideoRenderMode(value)); +} + +template Windows::Media::Playback::MediaBreakManager impl_IMediaPlayer3::BreakManager() const +{ + Windows::Media::Playback::MediaBreakManager value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_BreakManager(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManager impl_IMediaPlayer3::CommandManager() const +{ + Windows::Media::Playback::MediaPlaybackCommandManager value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_CommandManager(put_abi(value))); + return value; +} + +template Windows::Devices::Enumeration::DeviceInformation impl_IMediaPlayer3::AudioDevice() const +{ + Windows::Devices::Enumeration::DeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_AudioDevice(put_abi(value))); + return value; +} + +template void impl_IMediaPlayer3::AudioDevice(const Windows::Devices::Enumeration::DeviceInformation & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->put_AudioDevice(get_abi(value))); +} + +template Windows::Media::MediaTimelineController impl_IMediaPlayer3::TimelineController() const +{ + Windows::Media::MediaTimelineController value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_TimelineController(put_abi(value))); + return value; +} + +template void impl_IMediaPlayer3::TimelineController(const Windows::Media::MediaTimelineController & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->put_TimelineController(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaPlayer3::TimelineControllerPositionOffset() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_TimelineControllerPositionOffset(put_abi(value))); + return value; +} + +template void impl_IMediaPlayer3::TimelineControllerPositionOffset(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->put_TimelineControllerPositionOffset(get_abi(value))); +} + +template Windows::Media::Playback::MediaPlaybackSession impl_IMediaPlayer3::PlaybackSession() const +{ + Windows::Media::Playback::MediaPlaybackSession value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer3)->get_PlaybackSession(put_abi(value))); + return value; +} + +template void impl_IMediaPlayer3::StepForwardOneFrame() const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->abi_StepForwardOneFrame()); +} + +template void impl_IMediaPlayer3::StepBackwardOneFrame() const +{ + check_hresult(WINRT_SHIM(IMediaPlayer3)->abi_StepBackwardOneFrame()); +} + +template Windows::Media::Casting::CastingSource impl_IMediaPlayer3::GetAsCastingSource() const +{ + Windows::Media::Casting::CastingSource returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer3)->abi_GetAsCastingSource(put_abi(returnValue))); + return returnValue; +} + +template void impl_IMediaPlayer4::SetSurfaceSize(const Windows::Foundation::Size & size) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer4)->abi_SetSurfaceSize(get_abi(size))); +} + +template Windows::Media::Playback::MediaPlayerSurface impl_IMediaPlayer4::GetSurface(const Windows::UI::Composition::Compositor & compositor) const +{ + Windows::Media::Playback::MediaPlayerSurface result { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayer4)->abi_GetSurface(get_abi(compositor), put_abi(result))); + return result; +} + +template event_token impl_IMediaPlayer5::VideoFrameAvailable(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlayer5)->add_VideoFrameAvailable(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlayer5::VideoFrameAvailable(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlayer5::remove_VideoFrameAvailable, VideoFrameAvailable(value)); +} + +template void impl_IMediaPlayer5::VideoFrameAvailable(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer5)->remove_VideoFrameAvailable(token)); +} + +template bool impl_IMediaPlayer5::IsVideoFrameServerEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayer5)->get_IsVideoFrameServerEnabled(&value)); + return value; +} + +template void impl_IMediaPlayer5::IsVideoFrameServerEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer5)->put_IsVideoFrameServerEnabled(value)); +} + +template void impl_IMediaPlayer5::CopyFrameToVideoSurface(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & destination) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer5)->abi_CopyFrameToVideoSurface(get_abi(destination))); +} + +template void impl_IMediaPlayer5::CopyFrameToVideoSurface(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & destination, const Windows::Foundation::Rect & targetRectangle) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer5)->abi_CopyFrameToVideoSurfaceWithTargetRectangle(get_abi(destination), get_abi(targetRectangle))); +} + +template void impl_IMediaPlayer5::CopyFrameToStereoscopicVideoSurfaces(const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & destinationLeftEye, const Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface & destinationRightEye) const +{ + check_hresult(WINRT_SHIM(IMediaPlayer5)->abi_CopyFrameToStereoscopicVideoSurfaces(get_abi(destinationLeftEye), get_abi(destinationRightEye))); +} + +template event_token impl_IMediaPlaybackSession::PlaybackStateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_PlaybackStateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::PlaybackStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_PlaybackStateChanged, PlaybackStateChanged(value)); +} + +template void impl_IMediaPlaybackSession::PlaybackStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_PlaybackStateChanged(token)); +} + +template event_token impl_IMediaPlaybackSession::PlaybackRateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_PlaybackRateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::PlaybackRateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_PlaybackRateChanged, PlaybackRateChanged(value)); +} + +template void impl_IMediaPlaybackSession::PlaybackRateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_PlaybackRateChanged(token)); +} + +template event_token impl_IMediaPlaybackSession::SeekCompleted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_SeekCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::SeekCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_SeekCompleted, SeekCompleted(value)); +} + +template void impl_IMediaPlaybackSession::SeekCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_SeekCompleted(token)); +} + +template event_token impl_IMediaPlaybackSession::BufferingStarted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_BufferingStarted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::BufferingStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_BufferingStarted, BufferingStarted(value)); +} + +template void impl_IMediaPlaybackSession::BufferingStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_BufferingStarted(token)); +} + +template event_token impl_IMediaPlaybackSession::BufferingEnded(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_BufferingEnded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::BufferingEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_BufferingEnded, BufferingEnded(value)); +} + +template void impl_IMediaPlaybackSession::BufferingEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_BufferingEnded(token)); +} + +template event_token impl_IMediaPlaybackSession::BufferingProgressChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_BufferingProgressChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::BufferingProgressChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_BufferingProgressChanged, BufferingProgressChanged(value)); +} + +template void impl_IMediaPlaybackSession::BufferingProgressChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_BufferingProgressChanged(token)); +} + +template event_token impl_IMediaPlaybackSession::DownloadProgressChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_DownloadProgressChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::DownloadProgressChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_DownloadProgressChanged, DownloadProgressChanged(value)); +} + +template void impl_IMediaPlaybackSession::DownloadProgressChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_DownloadProgressChanged(token)); +} + +template event_token impl_IMediaPlaybackSession::NaturalDurationChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_NaturalDurationChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::NaturalDurationChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_NaturalDurationChanged, NaturalDurationChanged(value)); +} + +template void impl_IMediaPlaybackSession::NaturalDurationChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_NaturalDurationChanged(token)); +} + +template event_token impl_IMediaPlaybackSession::PositionChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_PositionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::PositionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_PositionChanged, PositionChanged(value)); +} + +template void impl_IMediaPlaybackSession::PositionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_PositionChanged(token)); +} + +template event_token impl_IMediaPlaybackSession::NaturalVideoSizeChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->add_NaturalVideoSizeChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession::NaturalVideoSizeChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession::remove_NaturalVideoSizeChanged, NaturalVideoSizeChanged(value)); +} + +template void impl_IMediaPlaybackSession::NaturalVideoSizeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->remove_NaturalVideoSizeChanged(token)); +} + +template Windows::Media::Playback::MediaPlayer impl_IMediaPlaybackSession::MediaPlayer() const +{ + Windows::Media::Playback::MediaPlayer value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_MediaPlayer(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaPlaybackSession::NaturalDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_NaturalDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaPlaybackSession::Position() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_Position(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackSession::Position(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->put_Position(get_abi(value))); +} + +template Windows::Media::Playback::MediaPlaybackState impl_IMediaPlaybackSession::PlaybackState() const +{ + Windows::Media::Playback::MediaPlaybackState value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_PlaybackState(&value)); + return value; +} + +template bool impl_IMediaPlaybackSession::CanSeek() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_CanSeek(&value)); + return value; +} + +template bool impl_IMediaPlaybackSession::CanPause() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_CanPause(&value)); + return value; +} + +template bool impl_IMediaPlaybackSession::IsProtected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_IsProtected(&value)); + return value; +} + +template double impl_IMediaPlaybackSession::PlaybackRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_PlaybackRate(&value)); + return value; +} + +template void impl_IMediaPlaybackSession::PlaybackRate(double value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->put_PlaybackRate(value)); +} + +template double impl_IMediaPlaybackSession::BufferingProgress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_BufferingProgress(&value)); + return value; +} + +template double impl_IMediaPlaybackSession::DownloadProgress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_DownloadProgress(&value)); + return value; +} + +template uint32_t impl_IMediaPlaybackSession::NaturalVideoHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_NaturalVideoHeight(&value)); + return value; +} + +template uint32_t impl_IMediaPlaybackSession::NaturalVideoWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_NaturalVideoWidth(&value)); + return value; +} + +template Windows::Foundation::Rect impl_IMediaPlaybackSession::NormalizedSourceRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_NormalizedSourceRect(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackSession::NormalizedSourceRect(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->put_NormalizedSourceRect(get_abi(value))); +} + +template Windows::Media::MediaProperties::StereoscopicVideoPackingMode impl_IMediaPlaybackSession::StereoscopicVideoPackingMode() const +{ + Windows::Media::MediaProperties::StereoscopicVideoPackingMode value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->get_StereoscopicVideoPackingMode(&value)); + return value; +} + +template void impl_IMediaPlaybackSession::StereoscopicVideoPackingMode(Windows::Media::MediaProperties::StereoscopicVideoPackingMode value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession)->put_StereoscopicVideoPackingMode(value)); +} + +template bool impl_IMediaPlaybackSphericalVideoProjection::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->get_IsEnabled(&value)); + return value; +} + +template void impl_IMediaPlaybackSphericalVideoProjection::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->put_IsEnabled(value)); +} + +template Windows::Media::MediaProperties::SphericalVideoFrameFormat impl_IMediaPlaybackSphericalVideoProjection::FrameFormat() const +{ + Windows::Media::MediaProperties::SphericalVideoFrameFormat value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->get_FrameFormat(&value)); + return value; +} + +template void impl_IMediaPlaybackSphericalVideoProjection::FrameFormat(Windows::Media::MediaProperties::SphericalVideoFrameFormat value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->put_FrameFormat(value)); +} + +template double impl_IMediaPlaybackSphericalVideoProjection::HorizontalFieldOfViewInDegrees() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->get_HorizontalFieldOfViewInDegrees(&value)); + return value; +} + +template void impl_IMediaPlaybackSphericalVideoProjection::HorizontalFieldOfViewInDegrees(double value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->put_HorizontalFieldOfViewInDegrees(value)); +} + +template Windows::Foundation::Numerics::quaternion impl_IMediaPlaybackSphericalVideoProjection::ViewOrientation() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->get_ViewOrientation(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackSphericalVideoProjection::ViewOrientation(const Windows::Foundation::Numerics::quaternion & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->put_ViewOrientation(get_abi(value))); +} + +template Windows::Media::Playback::SphericalVideoProjectionMode impl_IMediaPlaybackSphericalVideoProjection::ProjectionMode() const +{ + Windows::Media::Playback::SphericalVideoProjectionMode value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->get_ProjectionMode(&value)); + return value; +} + +template void impl_IMediaPlaybackSphericalVideoProjection::ProjectionMode(Windows::Media::Playback::SphericalVideoProjectionMode value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSphericalVideoProjection)->put_ProjectionMode(value)); +} + +template event_token impl_IMediaPlaybackSession2::BufferedRangesChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->add_BufferedRangesChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession2::BufferedRangesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession2::remove_BufferedRangesChanged, BufferedRangesChanged(value)); +} + +template void impl_IMediaPlaybackSession2::BufferedRangesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->remove_BufferedRangesChanged(token)); +} + +template event_token impl_IMediaPlaybackSession2::PlayedRangesChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->add_PlayedRangesChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession2::PlayedRangesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession2::remove_PlayedRangesChanged, PlayedRangesChanged(value)); +} + +template void impl_IMediaPlaybackSession2::PlayedRangesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->remove_PlayedRangesChanged(token)); +} + +template event_token impl_IMediaPlaybackSession2::SeekableRangesChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->add_SeekableRangesChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession2::SeekableRangesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession2::remove_SeekableRangesChanged, SeekableRangesChanged(value)); +} + +template void impl_IMediaPlaybackSession2::SeekableRangesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->remove_SeekableRangesChanged(token)); +} + +template event_token impl_IMediaPlaybackSession2::SupportedPlaybackRatesChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->add_SupportedPlaybackRatesChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackSession2::SupportedPlaybackRatesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackSession2::remove_SupportedPlaybackRatesChanged, SupportedPlaybackRatesChanged(value)); +} + +template void impl_IMediaPlaybackSession2::SupportedPlaybackRatesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->remove_SupportedPlaybackRatesChanged(token)); +} + +template Windows::Media::Playback::MediaPlaybackSphericalVideoProjection impl_IMediaPlaybackSession2::SphericalVideoProjection() const +{ + Windows::Media::Playback::MediaPlaybackSphericalVideoProjection value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->get_SphericalVideoProjection(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackSession2::IsMirroring() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->get_IsMirroring(&value)); + return value; +} + +template void impl_IMediaPlaybackSession2::IsMirroring(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->put_IsMirroring(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaPlaybackSession2::GetBufferedRanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->abi_GetBufferedRanges(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaPlaybackSession2::GetPlayedRanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->abi_GetPlayedRanges(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaPlaybackSession2::GetSeekableRanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->abi_GetSeekableRanges(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackSession2::IsSupportedPlaybackRateRange(double rate1, double rate2) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackSession2)->abi_IsSupportedPlaybackRateRange(rate1, rate2, &value)); + return value; +} + +template Windows::Media::Protection::MediaProtectionManager impl_IMediaPlayerSource::ProtectionManager() const +{ + Windows::Media::Protection::MediaProtectionManager value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerSource)->get_ProtectionManager(put_abi(value))); + return value; +} + +template void impl_IMediaPlayerSource::ProtectionManager(const Windows::Media::Protection::MediaProtectionManager & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerSource)->put_ProtectionManager(get_abi(value))); +} + +template void impl_IMediaPlayerSource::SetFileSource(const Windows::Storage::IStorageFile & file) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerSource)->abi_SetFileSource(get_abi(file))); +} + +template void impl_IMediaPlayerSource::SetStreamSource(const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerSource)->abi_SetStreamSource(get_abi(stream))); +} + +template void impl_IMediaPlayerSource::SetMediaSource(const Windows::Media::Core::IMediaSource & source) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerSource)->abi_SetMediaSource(get_abi(source))); +} + +template Windows::Media::Playback::IMediaPlaybackSource impl_IMediaPlayerSource2::Source() const +{ + Windows::Media::Playback::IMediaPlaybackSource value; + check_hresult(WINRT_SHIM(IMediaPlayerSource2)->get_Source(put_abi(value))); + return value; +} + +template void impl_IMediaPlayerSource2::Source(const Windows::Media::Playback::IMediaPlaybackSource & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerSource2)->put_Source(get_abi(value))); +} + +template void impl_IMediaPlayerEffects::AddAudioEffect(hstring_view activatableClassId, bool effectOptional, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerEffects)->abi_AddAudioEffect(get_abi(activatableClassId), effectOptional, get_abi(configuration))); +} + +template void impl_IMediaPlayerEffects::RemoveAllEffects() const +{ + check_hresult(WINRT_SHIM(IMediaPlayerEffects)->abi_RemoveAllEffects()); +} + +template void impl_IMediaPlayerEffects2::AddVideoEffect(hstring_view activatableClassId, bool effectOptional, const Windows::Foundation::Collections::IPropertySet & effectConfiguration) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerEffects2)->abi_AddVideoEffect(get_abi(activatableClassId), effectOptional, get_abi(effectConfiguration))); +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakStartedEventArgs::MediaBreak() const +{ + Windows::Media::Playback::MediaBreak value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakStartedEventArgs)->get_MediaBreak(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakEndedEventArgs::MediaBreak() const +{ + Windows::Media::Playback::MediaBreak value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakEndedEventArgs)->get_MediaBreak(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakSkippedEventArgs::MediaBreak() const +{ + Windows::Media::Playback::MediaBreak value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakSkippedEventArgs)->get_MediaBreak(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaBreakSeekedOverEventArgs::SeekedOverBreaks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaBreakSeekedOverEventArgs)->get_SeekedOverBreaks(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaBreakSeekedOverEventArgs::OldPosition() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaBreakSeekedOverEventArgs)->get_OldPosition(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaBreakSeekedOverEventArgs::NewPosition() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaBreakSeekedOverEventArgs)->get_NewPosition(put_abi(value))); + return value; +} + +template event_token impl_IMediaBreakManager::BreaksSeekedOver(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaBreakManager)->add_BreaksSeekedOver(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaBreakManager::BreaksSeekedOver(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaBreakManager::remove_BreaksSeekedOver, BreaksSeekedOver(handler)); +} + +template void impl_IMediaBreakManager::BreaksSeekedOver(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaBreakManager)->remove_BreaksSeekedOver(token)); +} + +template event_token impl_IMediaBreakManager::BreakStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaBreakManager)->add_BreakStarted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaBreakManager::BreakStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaBreakManager::remove_BreakStarted, BreakStarted(handler)); +} + +template void impl_IMediaBreakManager::BreakStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaBreakManager)->remove_BreakStarted(token)); +} + +template event_token impl_IMediaBreakManager::BreakEnded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaBreakManager)->add_BreakEnded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaBreakManager::BreakEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaBreakManager::remove_BreakEnded, BreakEnded(handler)); +} + +template void impl_IMediaBreakManager::BreakEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaBreakManager)->remove_BreakEnded(token)); +} + +template event_token impl_IMediaBreakManager::BreakSkipped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaBreakManager)->add_BreakSkipped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaBreakManager::BreakSkipped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaBreakManager::remove_BreakSkipped, BreakSkipped(handler)); +} + +template void impl_IMediaBreakManager::BreakSkipped(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaBreakManager)->remove_BreakSkipped(token)); +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakManager::CurrentBreak() const +{ + Windows::Media::Playback::MediaBreak value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakManager)->get_CurrentBreak(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackSession impl_IMediaBreakManager::PlaybackSession() const +{ + Windows::Media::Playback::MediaPlaybackSession value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakManager)->get_PlaybackSession(put_abi(value))); + return value; +} + +template void impl_IMediaBreakManager::PlayBreak(const Windows::Media::Playback::MediaBreak & value) const +{ + check_hresult(WINRT_SHIM(IMediaBreakManager)->abi_PlayBreak(get_abi(value))); +} + +template void impl_IMediaBreakManager::SkipCurrentBreak() const +{ + check_hresult(WINRT_SHIM(IMediaBreakManager)->abi_SkipCurrentBreak()); +} + +template Windows::UI::Composition::ICompositionSurface impl_IMediaPlayerSurface::CompositionSurface() const +{ + Windows::UI::Composition::ICompositionSurface value; + check_hresult(WINRT_SHIM(IMediaPlayerSurface)->get_CompositionSurface(put_abi(value))); + return value; +} + +template Windows::UI::Composition::Compositor impl_IMediaPlayerSurface::Compositor() const +{ + Windows::UI::Composition::Compositor value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerSurface)->get_Compositor(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlayer impl_IMediaPlayerSurface::MediaPlayer() const +{ + Windows::Media::Playback::MediaPlayer value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerSurface)->get_MediaPlayer(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlayer impl_IBackgroundMediaPlayerStatics::Current() const +{ + Windows::Media::Playback::MediaPlayer player { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->get_Current(put_abi(player))); + return player; +} + +template event_token impl_IBackgroundMediaPlayerStatics::MessageReceivedFromBackground(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->add_MessageReceivedFromBackground(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IBackgroundMediaPlayerStatics::MessageReceivedFromBackground(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IBackgroundMediaPlayerStatics::remove_MessageReceivedFromBackground, MessageReceivedFromBackground(value)); +} + +template void impl_IBackgroundMediaPlayerStatics::MessageReceivedFromBackground(event_token token) const +{ + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->remove_MessageReceivedFromBackground(token)); +} + +template event_token impl_IBackgroundMediaPlayerStatics::MessageReceivedFromForeground(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->add_MessageReceivedFromForeground(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IBackgroundMediaPlayerStatics::MessageReceivedFromForeground(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IBackgroundMediaPlayerStatics::remove_MessageReceivedFromForeground, MessageReceivedFromForeground(value)); +} + +template void impl_IBackgroundMediaPlayerStatics::MessageReceivedFromForeground(event_token token) const +{ + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->remove_MessageReceivedFromForeground(token)); +} + +template void impl_IBackgroundMediaPlayerStatics::SendMessageToBackground(const Windows::Foundation::Collections::ValueSet & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->abi_SendMessageToBackground(get_abi(value))); +} + +template void impl_IBackgroundMediaPlayerStatics::SendMessageToForeground(const Windows::Foundation::Collections::ValueSet & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->abi_SendMessageToForeground(get_abi(value))); +} + +template bool impl_IBackgroundMediaPlayerStatics::IsMediaPlaying() const +{ + bool isMediaPlaying {}; + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->abi_IsMediaPlaying(&isMediaPlaying)); + return isMediaPlaying; +} + +template void impl_IBackgroundMediaPlayerStatics::Shutdown() const +{ + check_hresult(WINRT_SHIM(IBackgroundMediaPlayerStatics)->abi_Shutdown()); +} + +template bool impl_IMediaPlaybackCommandManagerPlayReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPlayReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerPlayReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPlayReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerPlayReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPlayReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerPauseReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPauseReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerPauseReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPauseReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerPauseReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPauseReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerNextReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerNextReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerNextReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerNextReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerNextReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerNextReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerPreviousReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPreviousReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerPreviousReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPreviousReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerPreviousReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPreviousReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerFastForwardReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerFastForwardReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerFastForwardReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerFastForwardReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerFastForwardReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerFastForwardReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerRewindReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerRewindReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerRewindReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerRewindReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerRewindReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerRewindReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerShuffleReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerShuffleReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerShuffleReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerShuffleReceivedEventArgs)->put_Handled(value)); +} + +template bool impl_IMediaPlaybackCommandManagerShuffleReceivedEventArgs::IsShuffleRequested() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerShuffleReceivedEventArgs)->get_IsShuffleRequested(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerShuffleReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerShuffleReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Media::MediaPlaybackAutoRepeatMode impl_IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs::AutoRepeatMode() const +{ + Windows::Media::MediaPlaybackAutoRepeatMode value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs)->get_AutoRepeatMode(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerPositionReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPositionReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerPositionReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPositionReceivedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::TimeSpan impl_IMediaPlaybackCommandManagerPositionReceivedEventArgs::Position() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPositionReceivedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerPositionReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerPositionReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerRateReceivedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerRateReceivedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerRateReceivedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerRateReceivedEventArgs)->put_Handled(value)); +} + +template double impl_IMediaPlaybackCommandManagerRateReceivedEventArgs::PlaybackRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerRateReceivedEventArgs)->get_PlaybackRate(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_IMediaPlaybackCommandManagerRateReceivedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerRateReceivedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManager impl_IMediaPlaybackCommandManagerCommandBehavior::CommandManager() const +{ + Windows::Media::Playback::MediaPlaybackCommandManager value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerCommandBehavior)->get_CommandManager(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackCommandManagerCommandBehavior::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerCommandBehavior)->get_IsEnabled(&value)); + return value; +} + +template Windows::Media::Playback::MediaCommandEnablingRule impl_IMediaPlaybackCommandManagerCommandBehavior::EnablingRule() const +{ + Windows::Media::Playback::MediaCommandEnablingRule value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerCommandBehavior)->get_EnablingRule(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManagerCommandBehavior::EnablingRule(Windows::Media::Playback::MediaCommandEnablingRule value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerCommandBehavior)->put_EnablingRule(value)); +} + +template event_token impl_IMediaPlaybackCommandManagerCommandBehavior::IsEnabledChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerCommandBehavior)->add_IsEnabledChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManagerCommandBehavior::IsEnabledChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManagerCommandBehavior::remove_IsEnabledChanged, IsEnabledChanged(handler)); +} + +template void impl_IMediaPlaybackCommandManagerCommandBehavior::IsEnabledChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManagerCommandBehavior)->remove_IsEnabledChanged(token)); +} + +template bool impl_IMediaPlaybackCommandManager::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_IsEnabled(&value)); + return value; +} + +template void impl_IMediaPlaybackCommandManager::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->put_IsEnabled(value)); +} + +template Windows::Media::Playback::MediaPlayer impl_IMediaPlaybackCommandManager::MediaPlayer() const +{ + Windows::Media::Playback::MediaPlayer value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_MediaPlayer(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::PlayBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_PlayBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::PauseBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_PauseBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::NextBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_NextBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::PreviousBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_PreviousBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::FastForwardBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_FastForwardBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::RewindBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_RewindBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::ShuffleBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_ShuffleBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::AutoRepeatModeBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_AutoRepeatModeBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::PositionBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_PositionBehavior(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior impl_IMediaPlaybackCommandManager::RateBehavior() const +{ + Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->get_RateBehavior(put_abi(value))); + return value; +} + +template event_token impl_IMediaPlaybackCommandManager::PlayReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_PlayReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::PlayReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_PlayReceived, PlayReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::PlayReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_PlayReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::PauseReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_PauseReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::PauseReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_PauseReceived, PauseReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::PauseReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_PauseReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::NextReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_NextReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::NextReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_NextReceived, NextReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::NextReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_NextReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::PreviousReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_PreviousReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::PreviousReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_PreviousReceived, PreviousReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::PreviousReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_PreviousReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::FastForwardReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_FastForwardReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::FastForwardReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_FastForwardReceived, FastForwardReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::FastForwardReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_FastForwardReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::RewindReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_RewindReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::RewindReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_RewindReceived, RewindReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::RewindReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_RewindReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::ShuffleReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_ShuffleReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::ShuffleReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_ShuffleReceived, ShuffleReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::ShuffleReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_ShuffleReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::AutoRepeatModeReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_AutoRepeatModeReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::AutoRepeatModeReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_AutoRepeatModeReceived, AutoRepeatModeReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::AutoRepeatModeReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_AutoRepeatModeReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::PositionReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_PositionReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::PositionReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_PositionReceived, PositionReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::PositionReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_PositionReceived(token)); +} + +template event_token impl_IMediaPlaybackCommandManager::RateReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->add_RateReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackCommandManager::RateReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackCommandManager::remove_RateReceived, RateReceived(handler)); +} + +template void impl_IMediaPlaybackCommandManager::RateReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackCommandManager)->remove_RateReceived(token)); +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackItemFactory::Create(const Windows::Media::Core::MediaSource & source) const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItemFactory)->abi_Create(get_abi(source), put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackItemFactory2::CreateWithStartTime(const Windows::Media::Core::MediaSource & source, const Windows::Foundation::TimeSpan & startTime) const +{ + Windows::Media::Playback::MediaPlaybackItem result { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItemFactory2)->abi_CreateWithStartTime(get_abi(source), get_abi(startTime), put_abi(result))); + return result; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackItemFactory2::CreateWithStartTimeAndDurationLimit(const Windows::Media::Core::MediaSource & source, const Windows::Foundation::TimeSpan & startTime, const Windows::Foundation::TimeSpan & durationLimit) const +{ + Windows::Media::Playback::MediaPlaybackItem result { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItemFactory2)->abi_CreateWithStartTimeAndDurationLimit(get_abi(source), get_abi(startTime), get_abi(durationLimit), put_abi(result))); + return result; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackItemStatics::FindFromMediaSource(const Windows::Media::Core::MediaSource & source) const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItemStatics)->abi_FindFromMediaSource(get_abi(source), put_abi(value))); + return value; +} + +template event_token impl_IMediaPlaybackItem::AudioTracksChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->add_AudioTracksChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackItem::AudioTracksChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackItem::remove_AudioTracksChanged, AudioTracksChanged(handler)); +} + +template void impl_IMediaPlaybackItem::AudioTracksChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->remove_AudioTracksChanged(token)); +} + +template event_token impl_IMediaPlaybackItem::VideoTracksChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->add_VideoTracksChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackItem::VideoTracksChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackItem::remove_VideoTracksChanged, VideoTracksChanged(handler)); +} + +template void impl_IMediaPlaybackItem::VideoTracksChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->remove_VideoTracksChanged(token)); +} + +template event_token impl_IMediaPlaybackItem::TimedMetadataTracksChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->add_TimedMetadataTracksChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackItem::TimedMetadataTracksChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackItem::remove_TimedMetadataTracksChanged, TimedMetadataTracksChanged(handler)); +} + +template void impl_IMediaPlaybackItem::TimedMetadataTracksChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->remove_TimedMetadataTracksChanged(token)); +} + +template Windows::Media::Core::MediaSource impl_IMediaPlaybackItem::Source() const +{ + Windows::Media::Core::MediaSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->get_Source(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackAudioTrackList impl_IMediaPlaybackItem::AudioTracks() const +{ + Windows::Media::Playback::MediaPlaybackAudioTrackList value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->get_AudioTracks(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackVideoTrackList impl_IMediaPlaybackItem::VideoTracks() const +{ + Windows::Media::Playback::MediaPlaybackVideoTrackList value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->get_VideoTracks(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackTimedMetadataTrackList impl_IMediaPlaybackItem::TimedMetadataTracks() const +{ + Windows::Media::Playback::MediaPlaybackTimedMetadataTrackList value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItem)->get_TimedMetadataTracks(put_abi(value))); + return value; +} + +template Windows::Media::MediaPlaybackType impl_IMediaItemDisplayProperties::Type() const +{ + Windows::Media::MediaPlaybackType value {}; + check_hresult(WINRT_SHIM(IMediaItemDisplayProperties)->get_Type(&value)); + return value; +} + +template void impl_IMediaItemDisplayProperties::Type(Windows::Media::MediaPlaybackType value) const +{ + check_hresult(WINRT_SHIM(IMediaItemDisplayProperties)->put_Type(value)); +} + +template Windows::Media::MusicDisplayProperties impl_IMediaItemDisplayProperties::MusicProperties() const +{ + Windows::Media::MusicDisplayProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaItemDisplayProperties)->get_MusicProperties(put_abi(value))); + return value; +} + +template Windows::Media::VideoDisplayProperties impl_IMediaItemDisplayProperties::VideoProperties() const +{ + Windows::Media::VideoDisplayProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaItemDisplayProperties)->get_VideoProperties(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IMediaItemDisplayProperties::Thumbnail() const +{ + Windows::Storage::Streams::RandomAccessStreamReference value { nullptr }; + check_hresult(WINRT_SHIM(IMediaItemDisplayProperties)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_IMediaItemDisplayProperties::Thumbnail(const Windows::Storage::Streams::RandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IMediaItemDisplayProperties)->put_Thumbnail(get_abi(value))); +} + +template void impl_IMediaItemDisplayProperties::ClearAll() const +{ + check_hresult(WINRT_SHIM(IMediaItemDisplayProperties)->abi_ClearAll()); +} + +template Windows::Media::Playback::MediaBreakSchedule impl_IMediaPlaybackItem2::BreakSchedule() const +{ + Windows::Media::Playback::MediaBreakSchedule value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItem2)->get_BreakSchedule(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaPlaybackItem2::StartTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem2)->get_StartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IMediaPlaybackItem2::DurationLimit() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaPlaybackItem2)->get_DurationLimit(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackItem2::CanSkip() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem2)->get_CanSkip(&value)); + return value; +} + +template void impl_IMediaPlaybackItem2::CanSkip(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackItem2)->put_CanSkip(value)); +} + +template Windows::Media::Playback::MediaItemDisplayProperties impl_IMediaPlaybackItem2::GetDisplayProperties() const +{ + Windows::Media::Playback::MediaItemDisplayProperties value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItem2)->abi_GetDisplayProperties(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackItem2::ApplyDisplayProperties(const Windows::Media::Playback::MediaItemDisplayProperties & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackItem2)->abi_ApplyDisplayProperties(get_abi(value))); +} + +template bool impl_IMediaPlaybackItem3::IsDisabledInPlaybackList() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem3)->get_IsDisabledInPlaybackList(&value)); + return value; +} + +template void impl_IMediaPlaybackItem3::IsDisabledInPlaybackList(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackItem3)->put_IsDisabledInPlaybackList(value)); +} + +template double impl_IMediaPlaybackItem3::TotalDownloadProgress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem3)->get_TotalDownloadProgress(&value)); + return value; +} + +template Windows::Media::Playback::AutoLoadedDisplayPropertyKind impl_IMediaPlaybackItem3::AutoLoadedDisplayProperties() const +{ + Windows::Media::Playback::AutoLoadedDisplayPropertyKind value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItem3)->get_AutoLoadedDisplayProperties(&value)); + return value; +} + +template void impl_IMediaPlaybackItem3::AutoLoadedDisplayProperties(Windows::Media::Playback::AutoLoadedDisplayPropertyKind value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackItem3)->put_AutoLoadedDisplayProperties(value)); +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakFactory::Create(Windows::Media::Playback::MediaBreakInsertionMethod insertionMethod) const +{ + Windows::Media::Playback::MediaBreak result { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakFactory)->abi_Create(insertionMethod, put_abi(result))); + return result; +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakFactory::CreateWithPresentationPosition(Windows::Media::Playback::MediaBreakInsertionMethod insertionMethod, const Windows::Foundation::TimeSpan & presentationPosition) const +{ + Windows::Media::Playback::MediaBreak result { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakFactory)->abi_CreateWithPresentationPosition(insertionMethod, get_abi(presentationPosition), put_abi(result))); + return result; +} + +template Windows::Media::Playback::MediaPlaybackList impl_IMediaBreak::PlaybackList() const +{ + Windows::Media::Playback::MediaPlaybackList value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreak)->get_PlaybackList(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IMediaBreak::PresentationPosition() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaBreak)->get_PresentationPosition(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaBreakInsertionMethod impl_IMediaBreak::InsertionMethod() const +{ + Windows::Media::Playback::MediaBreakInsertionMethod value {}; + check_hresult(WINRT_SHIM(IMediaBreak)->get_InsertionMethod(&value)); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_IMediaBreak::CustomProperties() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreak)->get_CustomProperties(put_abi(value))); + return value; +} + +template bool impl_IMediaBreak::CanStart() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaBreak)->get_CanStart(&value)); + return value; +} + +template void impl_IMediaBreak::CanStart(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaBreak)->put_CanStart(value)); +} + +template event_token impl_IMediaBreakSchedule::ScheduleChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->add_ScheduleChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaBreakSchedule::ScheduleChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaBreakSchedule::remove_ScheduleChanged, ScheduleChanged(handler)); +} + +template void impl_IMediaBreakSchedule::ScheduleChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->remove_ScheduleChanged(token)); +} + +template void impl_IMediaBreakSchedule::InsertMidrollBreak(const Windows::Media::Playback::MediaBreak & mediaBreak) const +{ + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->abi_InsertMidrollBreak(get_abi(mediaBreak))); +} + +template void impl_IMediaBreakSchedule::RemoveMidrollBreak(const Windows::Media::Playback::MediaBreak & mediaBreak) const +{ + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->abi_RemoveMidrollBreak(get_abi(mediaBreak))); +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaBreakSchedule::MidrollBreaks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->get_MidrollBreaks(put_abi(value))); + return value; +} + +template void impl_IMediaBreakSchedule::PrerollBreak(const Windows::Media::Playback::MediaBreak & value) const +{ + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->put_PrerollBreak(get_abi(value))); +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakSchedule::PrerollBreak() const +{ + Windows::Media::Playback::MediaBreak value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->get_PrerollBreak(put_abi(value))); + return value; +} + +template void impl_IMediaBreakSchedule::PostrollBreak(const Windows::Media::Playback::MediaBreak & value) const +{ + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->put_PostrollBreak(get_abi(value))); +} + +template Windows::Media::Playback::MediaBreak impl_IMediaBreakSchedule::PostrollBreak() const +{ + Windows::Media::Playback::MediaBreak value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->get_PostrollBreak(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaBreakSchedule::PlaybackItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaBreakSchedule)->get_PlaybackItem(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItemErrorCode impl_IMediaPlaybackItemError::ErrorCode() const +{ + Windows::Media::Playback::MediaPlaybackItemErrorCode value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItemError)->get_ErrorCode(&value)); + return value; +} + +template HRESULT impl_IMediaPlaybackItemError::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackItemError)->get_ExtendedError(&value)); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaEnginePlaybackSource::CurrentItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaEnginePlaybackSource)->get_CurrentItem(put_abi(value))); + return value; +} + +template void impl_IMediaEnginePlaybackSource::SetPlaybackSource(const Windows::Media::Playback::IMediaPlaybackSource & source) const +{ + check_hresult(WINRT_SHIM(IMediaEnginePlaybackSource)->abi_SetPlaybackSource(get_abi(source))); +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackItemOpenedEventArgs::Item() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItemOpenedEventArgs)->get_Item(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackItemFailedEventArgs::Item() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItemFailedEventArgs)->get_Item(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItemError impl_IMediaPlaybackItemFailedEventArgs::Error() const +{ + Windows::Media::Playback::MediaPlaybackItemError value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackItemFailedEventArgs)->get_Error(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_ICurrentMediaPlaybackItemChangedEventArgs::NewItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(ICurrentMediaPlaybackItemChangedEventArgs)->get_NewItem(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_ICurrentMediaPlaybackItemChangedEventArgs::OldItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(ICurrentMediaPlaybackItemChangedEventArgs)->get_OldItem(put_abi(value))); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItemChangedReason impl_ICurrentMediaPlaybackItemChangedEventArgs2::Reason() const +{ + Windows::Media::Playback::MediaPlaybackItemChangedReason value {}; + check_hresult(WINRT_SHIM(ICurrentMediaPlaybackItemChangedEventArgs2)->get_Reason(&value)); + return value; +} + +template event_token impl_IMediaPlaybackList::ItemFailed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->add_ItemFailed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackList::ItemFailed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackList::remove_ItemFailed, ItemFailed(handler)); +} + +template void impl_IMediaPlaybackList::ItemFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList)->remove_ItemFailed(token)); +} + +template event_token impl_IMediaPlaybackList::CurrentItemChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->add_CurrentItemChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackList::CurrentItemChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackList::remove_CurrentItemChanged, CurrentItemChanged(handler)); +} + +template void impl_IMediaPlaybackList::CurrentItemChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList)->remove_CurrentItemChanged(token)); +} + +template event_token impl_IMediaPlaybackList::ItemOpened(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->add_ItemOpened(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackList::ItemOpened(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackList::remove_ItemOpened, ItemOpened(handler)); +} + +template void impl_IMediaPlaybackList::ItemOpened(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList)->remove_ItemOpened(token)); +} + +template Windows::Foundation::Collections::IObservableVector impl_IMediaPlaybackList::Items() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->get_Items(put_abi(value))); + return value; +} + +template bool impl_IMediaPlaybackList::AutoRepeatEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->get_AutoRepeatEnabled(&value)); + return value; +} + +template void impl_IMediaPlaybackList::AutoRepeatEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList)->put_AutoRepeatEnabled(value)); +} + +template bool impl_IMediaPlaybackList::ShuffleEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->get_ShuffleEnabled(&value)); + return value; +} + +template void impl_IMediaPlaybackList::ShuffleEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList)->put_ShuffleEnabled(value)); +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackList::CurrentItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->get_CurrentItem(put_abi(value))); + return value; +} + +template uint32_t impl_IMediaPlaybackList::CurrentItemIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->get_CurrentItemIndex(&value)); + return value; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackList::MoveNext() const +{ + Windows::Media::Playback::MediaPlaybackItem item { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->abi_MoveNext(put_abi(item))); + return item; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackList::MovePrevious() const +{ + Windows::Media::Playback::MediaPlaybackItem item { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->abi_MovePrevious(put_abi(item))); + return item; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackList::MoveTo(uint32_t itemIndex) const +{ + Windows::Media::Playback::MediaPlaybackItem item { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackList)->abi_MoveTo(itemIndex, put_abi(item))); + return item; +} + +template Windows::Foundation::IReference impl_IMediaPlaybackList2::MaxPrefetchTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaPlaybackList2)->get_MaxPrefetchTime(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackList2::MaxPrefetchTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList2)->put_MaxPrefetchTime(get_abi(value))); +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IMediaPlaybackList2::StartingItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlaybackList2)->get_StartingItem(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackList2::StartingItem(const Windows::Media::Playback::MediaPlaybackItem & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList2)->put_StartingItem(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaPlaybackList2::ShuffledItems() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaPlaybackList2)->get_ShuffledItems(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackList2::SetShuffledItems(iterable value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList2)->abi_SetShuffledItems(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IMediaPlaybackList3::MaxPlayedItemsToKeepOpen() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaPlaybackList3)->get_MaxPlayedItemsToKeepOpen(put_abi(value))); + return value; +} + +template void impl_IMediaPlaybackList3::MaxPlayedItemsToKeepOpen(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackList3)->put_MaxPlayedItemsToKeepOpen(get_abi(value))); +} + +template event_token impl_IMediaPlaybackTimedMetadataTrackList::PresentationModeChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaPlaybackTimedMetadataTrackList)->add_PresentationModeChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMediaPlaybackTimedMetadataTrackList::PresentationModeChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Playback::IMediaPlaybackTimedMetadataTrackList::remove_PresentationModeChanged, PresentationModeChanged(handler)); +} + +template void impl_IMediaPlaybackTimedMetadataTrackList::PresentationModeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackTimedMetadataTrackList)->remove_PresentationModeChanged(token)); +} + +template Windows::Media::Playback::TimedMetadataTrackPresentationMode impl_IMediaPlaybackTimedMetadataTrackList::GetPresentationMode(uint32_t index) const +{ + Windows::Media::Playback::TimedMetadataTrackPresentationMode value {}; + check_hresult(WINRT_SHIM(IMediaPlaybackTimedMetadataTrackList)->abi_GetPresentationMode(index, &value)); + return value; +} + +template void impl_IMediaPlaybackTimedMetadataTrackList::SetPresentationMode(uint32_t index, Windows::Media::Playback::TimedMetadataTrackPresentationMode value) const +{ + check_hresult(WINRT_SHIM(IMediaPlaybackTimedMetadataTrackList)->abi_SetPresentationMode(index, value)); +} + +template Windows::Media::Core::TimedMetadataTrack impl_ITimedMetadataPresentationModeChangedEventArgs::Track() const +{ + Windows::Media::Core::TimedMetadataTrack value { nullptr }; + check_hresult(WINRT_SHIM(ITimedMetadataPresentationModeChangedEventArgs)->get_Track(put_abi(value))); + return value; +} + +template Windows::Media::Playback::TimedMetadataTrackPresentationMode impl_ITimedMetadataPresentationModeChangedEventArgs::OldPresentationMode() const +{ + Windows::Media::Playback::TimedMetadataTrackPresentationMode value {}; + check_hresult(WINRT_SHIM(ITimedMetadataPresentationModeChangedEventArgs)->get_OldPresentationMode(&value)); + return value; +} + +template Windows::Media::Playback::TimedMetadataTrackPresentationMode impl_ITimedMetadataPresentationModeChangedEventArgs::NewPresentationMode() const +{ + Windows::Media::Playback::TimedMetadataTrackPresentationMode value {}; + check_hresult(WINRT_SHIM(ITimedMetadataPresentationModeChangedEventArgs)->get_NewPresentationMode(&value)); + return value; +} + +inline Windows::Media::Playback::MediaPlayer BackgroundMediaPlayer::Current() +{ + return get_activation_factory().Current(); +} + +inline event_token BackgroundMediaPlayer::MessageReceivedFromBackground(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().MessageReceivedFromBackground(value); +} + +inline factory_event_revoker BackgroundMediaPlayer::MessageReceivedFromBackground(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::Playback::IBackgroundMediaPlayerStatics::remove_MessageReceivedFromBackground, factory.MessageReceivedFromBackground(value) }; +} + +inline void BackgroundMediaPlayer::MessageReceivedFromBackground(event_token token) +{ + get_activation_factory().MessageReceivedFromBackground(token); +} + +inline event_token BackgroundMediaPlayer::MessageReceivedFromForeground(const Windows::Foundation::EventHandler & value) +{ + return get_activation_factory().MessageReceivedFromForeground(value); +} + +inline factory_event_revoker BackgroundMediaPlayer::MessageReceivedFromForeground(auto_revoke_t, const Windows::Foundation::EventHandler & value) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::Playback::IBackgroundMediaPlayerStatics::remove_MessageReceivedFromForeground, factory.MessageReceivedFromForeground(value) }; +} + +inline void BackgroundMediaPlayer::MessageReceivedFromForeground(event_token token) +{ + get_activation_factory().MessageReceivedFromForeground(token); +} + +inline void BackgroundMediaPlayer::SendMessageToBackground(const Windows::Foundation::Collections::ValueSet & value) +{ + get_activation_factory().SendMessageToBackground(value); +} + +inline void BackgroundMediaPlayer::SendMessageToForeground(const Windows::Foundation::Collections::ValueSet & value) +{ + get_activation_factory().SendMessageToForeground(value); +} + +inline bool BackgroundMediaPlayer::IsMediaPlaying() +{ + return get_activation_factory().IsMediaPlaying(); +} + +inline void BackgroundMediaPlayer::Shutdown() +{ + get_activation_factory().Shutdown(); +} + +inline MediaBreak::MediaBreak(Windows::Media::Playback::MediaBreakInsertionMethod insertionMethod) : + MediaBreak(get_activation_factory().Create(insertionMethod)) +{} + +inline MediaBreak::MediaBreak(Windows::Media::Playback::MediaBreakInsertionMethod insertionMethod, const Windows::Foundation::TimeSpan & presentationPosition) : + MediaBreak(get_activation_factory().CreateWithPresentationPosition(insertionMethod, presentationPosition)) +{} + +inline MediaPlaybackItem::MediaPlaybackItem(const Windows::Media::Core::MediaSource & source) : + MediaPlaybackItem(get_activation_factory().Create(source)) +{} + +inline MediaPlaybackItem::MediaPlaybackItem(const Windows::Media::Core::MediaSource & source, const Windows::Foundation::TimeSpan & startTime) : + MediaPlaybackItem(get_activation_factory().CreateWithStartTime(source, startTime)) +{} + +inline MediaPlaybackItem::MediaPlaybackItem(const Windows::Media::Core::MediaSource & source, const Windows::Foundation::TimeSpan & startTime, const Windows::Foundation::TimeSpan & durationLimit) : + MediaPlaybackItem(get_activation_factory().CreateWithStartTimeAndDurationLimit(source, startTime, durationLimit)) +{} + +inline Windows::Media::Playback::MediaPlaybackItem MediaPlaybackItem::FindFromMediaSource(const Windows::Media::Core::MediaSource & source) +{ + return get_activation_factory().FindFromMediaSource(source); +} + +inline MediaPlaybackList::MediaPlaybackList() : + MediaPlaybackList(activate_instance()) +{} + +inline MediaPlayer::MediaPlayer() : + MediaPlayer(activate_instance()) +{} + +inline PlaybackMediaMarker::PlaybackMediaMarker(const Windows::Foundation::TimeSpan & value) : + PlaybackMediaMarker(get_activation_factory().CreateFromTime(value)) +{} + +inline PlaybackMediaMarker::PlaybackMediaMarker(const Windows::Foundation::TimeSpan & value, hstring_view mediaMarketType, hstring_view text) : + PlaybackMediaMarker(get_activation_factory().Create(value, mediaMarketType, text)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IBackgroundMediaPlayerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::ICurrentMediaPlaybackItemChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::ICurrentMediaPlaybackItemChangedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreak & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreakEndedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreakFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreakManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreakSchedule & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreakSeekedOverEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreakSkippedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaBreakStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaEnginePlaybackSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaItemDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerCommandBehavior & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerFastForwardReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerNextReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerPauseReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerPlayReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerPositionReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerPreviousReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerRateReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerRewindReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackCommandManagerShuffleReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItem2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItem3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItemError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItemFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItemFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItemFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItemOpenedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackItemStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackList2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackList3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackSession2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackSphericalVideoProjection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlaybackTimedMetadataTrackList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayer3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayer4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayer5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerEffects & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerEffects2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerRateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IMediaPlayerSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IPlaybackMediaMarker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IPlaybackMediaMarkerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IPlaybackMediaMarkerReachedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::IPlaybackMediaMarkerSequence & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::ITimedMetadataPresentationModeChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::CurrentMediaPlaybackItemChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaBreak & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaBreakEndedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaBreakManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaBreakSchedule & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaBreakSeekedOverEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaBreakSkippedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaBreakStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaItemDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackAudioTrackList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerAutoRepeatModeReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerCommandBehavior & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerFastForwardReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerNextReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerPauseReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerPlayReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerPositionReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerPreviousReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerRateReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerRewindReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackCommandManagerShuffleReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackItemError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackItemFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackItemOpenedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackSphericalVideoProjection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackTimedMetadataTrackList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlaybackVideoTrackList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlayer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlayerDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlayerFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlayerRateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::MediaPlayerSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::PlaybackMediaMarker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::PlaybackMediaMarkerReachedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::PlaybackMediaMarkerSequence & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playback::TimedMetadataPresentationModeChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Playlists.h b/10.0.15042.0/winrt/Windows.Media.Playlists.h new file mode 100644 index 000000000..4f335cba3 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Playlists.h @@ -0,0 +1,181 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Media.Playlists.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Files(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Files()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsAsync(impl::abi_arg_in saveLocation, impl::abi_arg_in desiredName, Windows::Storage::NameCollisionOption option, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveAsAsync(*reinterpret_cast(&saveLocation), *reinterpret_cast(&desiredName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsWithFormatAsync(impl::abi_arg_in saveLocation, impl::abi_arg_in desiredName, Windows::Storage::NameCollisionOption option, Windows::Media::Playlists::PlaylistFormat playlistFormat, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveAsAsync(*reinterpret_cast(&saveLocation), *reinterpret_cast(&desiredName), option, playlistFormat)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LoadAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Playlists { + +template Windows::Foundation::Collections::IVector impl_IPlaylist::Files() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPlaylist)->get_Files(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IPlaylist::SaveAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPlaylist)->abi_SaveAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPlaylist::SaveAsAsync(const Windows::Storage::IStorageFolder & saveLocation, hstring_view desiredName, Windows::Storage::NameCollisionOption option) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPlaylist)->abi_SaveAsAsync(get_abi(saveLocation), get_abi(desiredName), option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPlaylist::SaveAsAsync(const Windows::Storage::IStorageFolder & saveLocation, hstring_view desiredName, Windows::Storage::NameCollisionOption option, Windows::Media::Playlists::PlaylistFormat playlistFormat) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPlaylist)->abi_SaveAsWithFormatAsync(get_abi(saveLocation), get_abi(desiredName), option, playlistFormat, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPlaylistStatics::LoadAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPlaylistStatics)->abi_LoadAsync(get_abi(file), put_abi(operation))); + return operation; +} + +inline Playlist::Playlist() : + Playlist(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation Playlist::LoadAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().LoadAsync(file); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playlists::IPlaylist & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playlists::IPlaylistStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Playlists::Playlist & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Protection.PlayReady.h b/10.0.15042.0/winrt/Windows.Media.Protection.PlayReady.h new file mode 100644 index 000000000..4249815dd --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Protection.PlayReady.h @@ -0,0 +1,4695 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.Protection.3.h" +#include "internal/Windows.Media.Core.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Media.Protection.PlayReady.3.h" +#include "Windows.Media.Protection.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_RegistrationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RegistrationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RegistrationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegistrationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProximityDetectionCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProximityDetectionCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProximityDetectionCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProximityDetectionCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LicenseFetchCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LicenseFetchCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LicenseFetchCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LicenseFetchCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ReRegistrationNeeded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ReRegistrationNeeded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ReRegistrationNeeded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReRegistrationNeeded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ClosedCaptionDataReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ClosedCaptionDataReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ClosedCaptionDataReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClosedCaptionDataReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_in contentUrl, uint32_t startAsyncOptions, impl::abi_arg_in registrationCustomData, impl::abi_arg_in licenseFetchDescriptor, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().StartAsync(*reinterpret_cast(&contentUrl), startAsyncOptions, *reinterpret_cast(®istrationCustomData), *reinterpret_cast(&licenseFetchDescriptor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LicenseFetchAsync(impl::abi_arg_in licenseFetchDescriptor, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LicenseFetchAsync(*reinterpret_cast(&licenseFetchDescriptor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReRegistrationAsync(impl::abi_arg_in registrationCustomData, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReRegistrationAsync(*reinterpret_cast(®istrationCustomData))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in downloadEngine, impl::abi_arg_in streamParser, impl::abi_arg_in pMessenger, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&downloadEngine), *reinterpret_cast(&streamParser), *reinterpret_cast(&pMessenger))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClosedCaptionDataFormat(Windows::Media::Protection::PlayReady::NDClosedCaptionFormat * ccForamt) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ccForamt = detach_abi(this->shim().ClosedCaptionDataFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PresentationTimestamp(int64_t * presentationTimestamp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *presentationTimestamp = detach_abi(this->shim().PresentationTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClosedCaptionData(uint32_t * __ccDataBytesSize, impl::abi_arg_out * ccDataBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__ccDataBytesSize, *ccDataBytes) = detach_abi(this->shim().ClosedCaptionData()); + return S_OK; + } + catch (...) + { + *__ccDataBytesSize = 0; + *ccDataBytes = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CustomDataTypeID(uint32_t * __customDataTypeIDBytesSize, impl::abi_arg_out * customDataTypeIDBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__customDataTypeIDBytesSize, *customDataTypeIDBytes) = detach_abi(this->shim().CustomDataTypeID()); + return S_OK; + } + catch (...) + { + *__customDataTypeIDBytesSize = 0; + *customDataTypeIDBytes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomData(uint32_t * __customDataBytesSize, impl::abi_arg_out * customDataBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__customDataBytesSize, *customDataBytes) = detach_abi(this->shim().CustomData()); + return S_OK; + } + catch (...) + { + *__customDataBytesSize = 0; + *customDataBytes = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(uint32_t __customDataTypeIDBytesSize, impl::abi_arg_in * customDataTypeIDBytes, uint32_t __customDataBytesSize, impl::abi_arg_in * customDataBytes, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(array_view(customDataTypeIDBytes, customDataTypeIDBytes + __customDataTypeIDBytesSize), array_view(customDataBytes, customDataBytes + __customDataBytesSize))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Open(impl::abi_arg_in uri, uint32_t __sessionIDBytesSize, impl::abi_arg_in * sessionIDBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Open(*reinterpret_cast(&uri), array_view(sessionIDBytes, sessionIDBytes + __sessionIDBytesSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resume() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resume(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Seek(impl::abi_arg_in startPosition) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Seek(*reinterpret_cast(&startPosition)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSeek(bool * canSeek) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *canSeek = detach_abi(this->shim().CanSeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferFullMinThresholdInSamples(uint32_t * bufferFullMinThreshold) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *bufferFullMinThreshold = detach_abi(this->shim().BufferFullMinThresholdInSamples()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferFullMaxThresholdInSamples(uint32_t * bufferFullMaxThreshold) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *bufferFullMaxThreshold = detach_abi(this->shim().BufferFullMaxThresholdInSamples()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Notifier(impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().Notifier()); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnStreamOpened() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnStreamOpened(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPlayReadyObjectReceived(uint32_t __dataBytesSize, impl::abi_arg_in * dataBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPlayReadyObjectReceived(array_view(dataBytes, dataBytes + __dataBytesSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnContentIDReceived(impl::abi_arg_in licenseFetchDescriptor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentIDReceived(*reinterpret_cast(&licenseFetchDescriptor)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnDataReceived(uint32_t __dataBytesSize, impl::abi_arg_in * dataBytes, uint32_t bytesReceived) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDataReceived(array_view(dataBytes, dataBytes + __dataBytesSize), bytesReceived); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnEndOfStream() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnEndOfStream(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnNetworkError() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnNetworkError(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResponseCustomData(impl::abi_arg_out customData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *customData = detach_abi(this->shim().ResponseCustomData()); + return S_OK; + } + catch (...) + { + *customData = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentIDType(Windows::Media::Protection::PlayReady::NDContentIDType * contentIDType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *contentIDType = detach_abi(this->shim().ContentIDType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentID(uint32_t * __contentIDBytesSize, impl::abi_arg_out * contentIDBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__contentIDBytesSize, *contentIDBytes) = detach_abi(this->shim().ContentID()); + return S_OK; + } + catch (...) + { + *__contentIDBytesSize = 0; + *contentIDBytes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LicenseFetchChallengeCustomData(impl::abi_arg_out licenseFetchChallengeCustomData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *licenseFetchChallengeCustomData = detach_abi(this->shim().LicenseFetchChallengeCustomData()); + return S_OK; + } + catch (...) + { + *licenseFetchChallengeCustomData = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LicenseFetchChallengeCustomData(impl::abi_arg_in licenseFetchChallengeCustomData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LicenseFetchChallengeCustomData(*reinterpret_cast(&licenseFetchChallengeCustomData)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(Windows::Media::Protection::PlayReady::NDContentIDType contentIDType, uint32_t __contentIDBytesSize, impl::abi_arg_in * contentIDBytes, impl::abi_arg_in licenseFetchChallengeCustomData, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(contentIDType, array_view(contentIDBytes, contentIDBytes + __contentIDBytesSize), *reinterpret_cast(&licenseFetchChallengeCustomData))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResponseCustomData(impl::abi_arg_out customData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *customData = detach_abi(this->shim().ResponseCustomData()); + return S_OK; + } + catch (...) + { + *customData = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendRegistrationRequestAsync(uint32_t __sessionIDBytesSize, impl::abi_arg_in * sessionIDBytes, uint32_t __challengeDataBytesSize, impl::abi_arg_in * challengeDataBytes, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendRegistrationRequestAsync(array_view(sessionIDBytes, sessionIDBytes + __sessionIDBytesSize), array_view(challengeDataBytes, challengeDataBytes + __challengeDataBytesSize))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendProximityDetectionStartAsync(Windows::Media::Protection::PlayReady::NDProximityDetectionType pdType, uint32_t __transmitterChannelBytesSize, impl::abi_arg_in * transmitterChannelBytes, uint32_t __sessionIDBytesSize, impl::abi_arg_in * sessionIDBytes, uint32_t __challengeDataBytesSize, impl::abi_arg_in * challengeDataBytes, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendProximityDetectionStartAsync(pdType, array_view(transmitterChannelBytes, transmitterChannelBytes + __transmitterChannelBytesSize), array_view(sessionIDBytes, sessionIDBytes + __sessionIDBytesSize), array_view(challengeDataBytes, challengeDataBytes + __challengeDataBytesSize))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendProximityDetectionResponseAsync(Windows::Media::Protection::PlayReady::NDProximityDetectionType pdType, uint32_t __transmitterChannelBytesSize, impl::abi_arg_in * transmitterChannelBytes, uint32_t __sessionIDBytesSize, impl::abi_arg_in * sessionIDBytes, uint32_t __responseDataBytesSize, impl::abi_arg_in * responseDataBytes, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendProximityDetectionResponseAsync(pdType, array_view(transmitterChannelBytes, transmitterChannelBytes + __transmitterChannelBytesSize), array_view(sessionIDBytes, sessionIDBytes + __sessionIDBytesSize), array_view(responseDataBytes, responseDataBytes + __responseDataBytesSize))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendLicenseFetchRequestAsync(uint32_t __sessionIDBytesSize, impl::abi_arg_in * sessionIDBytes, uint32_t __challengeDataBytesSize, impl::abi_arg_in * challengeDataBytes, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SendLicenseFetchRequestAsync(array_view(sessionIDBytes, sessionIDBytes + __sessionIDBytesSize), array_view(challengeDataBytes, challengeDataBytes + __challengeDataBytesSize))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProximityDetectionRetryCount(uint32_t * retryCount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *retryCount = detach_abi(this->shim().ProximityDetectionRetryCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResponseCustomData(impl::abi_arg_out customData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *customData = detach_abi(this->shim().ResponseCustomData()); + return S_OK; + } + catch (...) + { + *customData = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransmitterProperties(impl::abi_arg_out transmitterProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *transmitterProperties = detach_abi(this->shim().TransmitterProperties()); + return S_OK; + } + catch (...) + { + *transmitterProperties = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransmitterCertificateAccepted(bool * acceptpt) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *acceptpt = detach_abi(this->shim().TransmitterCertificateAccepted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransmitterCertificateAccepted(bool accept) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransmitterCertificateAccepted(accept); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Response(uint32_t * __responseDataBytesSize, impl::abi_arg_out * responseDataBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__responseDataBytesSize, *responseDataBytes) = detach_abi(this->shim().Response()); + return S_OK; + } + catch (...) + { + *__responseDataBytesSize = 0; + *responseDataBytes = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaStreamSource(impl::abi_arg_out mediaStreamSource) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *mediaStreamSource = detach_abi(this->shim().MediaStreamSource()); + return S_OK; + } + catch (...) + { + *mediaStreamSource = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFileURLs(impl::abi_arg_in file, impl::abi_arg_out> fileURLs) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *fileURLs = detach_abi(this->shim().GetFileURLs(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *fileURLs = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ParseData(uint32_t __dataBytesSize, impl::abi_arg_in * dataBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ParseData(array_view(dataBytes, dataBytes + __dataBytesSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStreamInformation(impl::abi_arg_in descriptor, Windows::Media::Protection::PlayReady::NDMediaStreamType * streamType, uint32_t * streamID) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *streamID = detach_abi(this->shim().GetStreamInformation(*reinterpret_cast(&descriptor), *streamType)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BeginOfStream() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeginOfStream(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndOfStream() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndOfStream(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Notifier(impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().Notifier()); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnContentIDReceived(impl::abi_arg_in licenseFetchDescriptor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentIDReceived(*reinterpret_cast(&licenseFetchDescriptor)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnMediaStreamDescriptorCreated(impl::abi_arg_in> audioStreamDescriptors, impl::abi_arg_in> videoStreamDescriptors) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnMediaStreamDescriptorCreated(*reinterpret_cast *>(&audioStreamDescriptors), *reinterpret_cast *>(&videoStreamDescriptors)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnSampleParsed(uint32_t streamID, Windows::Media::Protection::PlayReady::NDMediaStreamType streamType, impl::abi_arg_in streamSample, int64_t pts, Windows::Media::Protection::PlayReady::NDClosedCaptionFormat ccFormat, uint32_t __ccDataBytesSize, impl::abi_arg_in * ccDataBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnSampleParsed(streamID, streamType, *reinterpret_cast(&streamSample), pts, ccFormat, array_view(ccDataBytes, ccDataBytes + __ccDataBytesSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnBeginSetupDecryptor(impl::abi_arg_in descriptor, GUID keyID, uint32_t __proBytesSize, impl::abi_arg_in * proBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnBeginSetupDecryptor(*reinterpret_cast(&descriptor), keyID, array_view(proBytes, proBytes + __proBytesSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in remoteHostName, uint32_t remoteHostPort, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&remoteHostName), remoteHostPort)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CertificateType(Windows::Media::Protection::PlayReady::NDCertificateType * type) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *type = detach_abi(this->shim().CertificateType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlatformIdentifier(Windows::Media::Protection::PlayReady::NDCertificatePlatformID * identifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *identifier = detach_abi(this->shim().PlatformIdentifier()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedFeatures(uint32_t * __featureSetsSize, impl::abi_arg_out * featureSets) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__featureSetsSize, *featureSets) = detach_abi(this->shim().SupportedFeatures()); + return S_OK; + } + catch (...) + { + *__featureSetsSize = 0; + *featureSets = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecurityLevel(uint32_t * level) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *level = detach_abi(this->shim().SecurityLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecurityVersion(uint32_t * securityVersion) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *securityVersion = detach_abi(this->shim().SecurityVersion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out expirationDate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *expirationDate = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClientID(uint32_t * __clientIDBytesSize, impl::abi_arg_out * clientIDBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__clientIDBytesSize, *clientIDBytes) = detach_abi(this->shim().ClientID()); + return S_OK; + } + catch (...) + { + *__clientIDBytesSize = 0; + *clientIDBytes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelDigest(uint32_t * __modelDigestBytesSize, impl::abi_arg_out * modelDigestBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__modelDigestBytesSize, *modelDigestBytes) = detach_abi(this->shim().ModelDigest()); + return S_OK; + } + catch (...) + { + *__modelDigestBytesSize = 0; + *modelDigestBytes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelManufacturerName(impl::abi_arg_out modelManufacturerName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *modelManufacturerName = detach_abi(this->shim().ModelManufacturerName()); + return S_OK; + } + catch (...) + { + *modelManufacturerName = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelName(impl::abi_arg_out modelName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *modelName = detach_abi(this->shim().ModelName()); + return S_OK; + } + catch (...) + { + *modelName = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelNumber(impl::abi_arg_out modelNumber) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *modelNumber = detach_abi(this->shim().ModelNumber()); + return S_OK; + } + catch (...) + { + *modelNumber = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KeyId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyIdString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyIdString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LicenseAcquisitionUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseAcquisitionUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LicenseAcquisitionUserInterfaceUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseAcquisitionUserInterfaceUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EncryptionType(Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncryptionType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomAttributes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomAttributes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DecryptorSetup(Windows::Media::Protection::PlayReady::PlayReadyDecryptorSetup * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecryptorSetup()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSerializedHeader(uint32_t * __headerBytesSize, impl::abi_arg_out * headerBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__headerBytesSize, *headerBytes) = detach_abi(this->shim().GetSerializedHeader()); + return S_OK; + } + catch (...) + { + *__headerBytesSize = 0; + *headerBytes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderWithEmbeddedUpdates(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderWithEmbeddedUpdates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KeyIds(uint32_t * __contentKeyIdsSize, impl::abi_arg_out * contentKeyIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__contentKeyIdsSize, *contentKeyIds) = detach_abi(this->shim().KeyIds()); + return S_OK; + } + catch (...) + { + *__contentKeyIdsSize = 0; + *contentKeyIds = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyIdStrings(uint32_t * __contentKeyIdStringsSize, impl::abi_arg_out * contentKeyIdStrings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__contentKeyIdStringsSize, *contentKeyIdStrings) = detach_abi(this->shim().KeyIdStrings()); + return S_OK; + } + catch (...) + { + *__contentKeyIdStringsSize = 0; + *contentKeyIdStrings = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceFromWindowsMediaDrmHeader(uint32_t __headerBytesSize, impl::abi_arg_in * headerBytes, impl::abi_arg_in licenseAcquisitionUrl, impl::abi_arg_in licenseAcquisitionUserInterfaceUrl, impl::abi_arg_in customAttributes, GUID domainServiceId, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceFromWindowsMediaDrmHeader(array_view(headerBytes, headerBytes + __headerBytesSize), *reinterpret_cast(&licenseAcquisitionUrl), *reinterpret_cast(&licenseAcquisitionUserInterfaceUrl), *reinterpret_cast(&customAttributes), domainServiceId)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceFromComponents(GUID contentKeyId, impl::abi_arg_in contentKeyIdString, Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, impl::abi_arg_in licenseAcquisitionUrl, impl::abi_arg_in licenseAcquisitionUserInterfaceUrl, impl::abi_arg_in customAttributes, GUID domainServiceId, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceFromComponents(contentKeyId, *reinterpret_cast(&contentKeyIdString), contentEncryptionAlgorithm, *reinterpret_cast(&licenseAcquisitionUrl), *reinterpret_cast(&licenseAcquisitionUserInterfaceUrl), *reinterpret_cast(&customAttributes), domainServiceId)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceFromPlayReadyHeader(uint32_t __headerBytesSize, impl::abi_arg_in * headerBytes, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceFromPlayReadyHeader(array_view(headerBytes, headerBytes + __headerBytesSize))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceFromComponents2(uint32_t dwFlags, uint32_t __contentKeyIdsSize, impl::abi_arg_in * contentKeyIds, uint32_t __contentKeyIdStringsSize, impl::abi_arg_in * contentKeyIdStrings, Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, impl::abi_arg_in licenseAcquisitionUrl, impl::abi_arg_in licenseAcquisitionUserInterfaceUrl, impl::abi_arg_in customAttributes, GUID domainServiceId, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceFromComponents2(dwFlags, array_view(contentKeyIds, contentKeyIds + __contentKeyIdsSize), *reinterpret_cast(&contentKeyIdStrings), contentEncryptionAlgorithm, *reinterpret_cast(&licenseAcquisitionUrl), *reinterpret_cast(&licenseAcquisitionUserInterfaceUrl), *reinterpret_cast(&customAttributes), domainServiceId)); + return S_OK; + } + catch (...) + { + *contentKeyIdStrings = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ServiceRequest(impl::abi_arg_in contentHeader, impl::abi_arg_out serviceRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceRequest = detach_abi(this->shim().ServiceRequest(*reinterpret_cast(&contentHeader))); + return S_OK; + } + catch (...) + { + *serviceRequest = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccountId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Revision(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Revision()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainJoinUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainJoinUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(GUID domainAccountId, impl::abi_arg_out> domainIterable) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *domainIterable = detach_abi(this->shim().CreateInstance(domainAccountId)); + return S_OK; + } + catch (...) + { + *domainIterable = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DomainAccountId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainAccountId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DomainAccountId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainAccountId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainFriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainFriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DomainFriendlyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainFriendlyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DomainServiceId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainServiceId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DomainAccountId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainAccountId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DomainAccountId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainAccountId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DomainServiceId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainServiceId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GenerateData(GUID guidCPSystemId, uint32_t countOfStreams, impl::abi_arg_in configuration, Windows::Media::Protection::PlayReady::PlayReadyITADataFormat format, uint32_t * __dataBytesSize, impl::abi_arg_out * dataBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__dataBytesSize, *dataBytes) = detach_abi(this->shim().GenerateData(guidCPSystemId, countOfStreams, *reinterpret_cast(&configuration), format)); + return S_OK; + } + catch (...) + { + *__dataBytesSize = 0; + *dataBytes = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FullyEvaluated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullyEvaluated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UsableForPlay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UsableForPlay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpireAfterFirstPlay(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpireAfterFirstPlay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainAccountID(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainAccountID()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChainDepth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChainDepth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetKIDAtChainDepth(uint32_t chainDepth, GUID * kid) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *kid = detach_abi(this->shim().GetKIDAtChainDepth(chainDepth)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SecureStopId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecureStopId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecurityLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecurityLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InMemoryOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InMemoryOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpiresInRealTime(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpiresInRealTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentHeader(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentHeader(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DomainServiceId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainServiceId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateLicenseIterable(impl::abi_arg_in contentHeader, bool fullyEvaluated, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateLicenseIterable(*reinterpret_cast(&contentHeader), fullyEvaluated)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in contentHeader, bool fullyEvaluated, impl::abi_arg_out> instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&contentHeader), fullyEvaluated)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DeleteLicenses(impl::abi_arg_in contentHeader, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteLicenses(*reinterpret_cast(&contentHeader))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateLAServiceRequest(impl::abi_arg_out serviceRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceRequest = detach_abi(this->shim().CreateLAServiceRequest()); + return S_OK; + } + catch (...) + { + *serviceRequest = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureMediaProtectionManager(impl::abi_arg_in mpm) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureMediaProtectionManager(*reinterpret_cast(&mpm)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateLicenseIterable(impl::abi_arg_in contentHeader, bool fullyEvaluated, impl::abi_arg_out> licenseIterable) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *licenseIterable = detach_abi(this->shim().CreateLicenseIterable(*reinterpret_cast(&contentHeader), fullyEvaluated)); + return S_OK; + } + catch (...) + { + *licenseIterable = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in configuration, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&configuration))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MeteringCertificate(uint32_t * __meteringCertBytesSize, impl::abi_arg_out * meteringCertBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__meteringCertBytesSize, *meteringCertBytes) = detach_abi(this->shim().MeteringCertificate()); + return S_OK; + } + catch (...) + { + *__meteringCertBytesSize = 0; + *meteringCertBytes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MeteringCertificate(uint32_t __meteringCertBytesSize, impl::abi_arg_in * meteringCertBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MeteringCertificate(array_view(meteringCertBytes, meteringCertBytes + __meteringCertBytesSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(uint32_t __publisherCertBytesSize, impl::abi_arg_in * publisherCertBytes, impl::abi_arg_out> instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(array_view(publisherCertBytes, publisherCertBytes + __publisherCertBytesSize))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionID(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionID()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdateTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stopped(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stopped()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublisherCertificate(uint32_t * __publisherCertBytesSize, impl::abi_arg_out * publisherCertBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__publisherCertBytesSize, *publisherCertBytes) = detach_abi(this->shim().PublisherCertificate()); + return S_OK; + } + catch (...) + { + *__publisherCertBytesSize = 0; + *publisherCertBytes = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(uint32_t __publisherCertBytesSize, impl::abi_arg_in * publisherCertBytes, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(array_view(publisherCertBytes, publisherCertBytes + __publisherCertBytesSize))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceFromSessionID(GUID sessionID, uint32_t __publisherCertBytesSize, impl::abi_arg_in * publisherCertBytes, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceFromSessionID(sessionID, array_view(publisherCertBytes, publisherCertBytes + __publisherCertBytesSize))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Uri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Uri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseCustomData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseCustomData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChallengeCustomData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChallengeCustomData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChallengeCustomData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChallengeCustomData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BeginServiceRequest(impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().BeginServiceRequest()); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NextServiceRequest(impl::abi_arg_out serviceRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *serviceRequest = detach_abi(this->shim().NextServiceRequest()); + return S_OK; + } + catch (...) + { + *serviceRequest = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GenerateManualEnablingChallenge(impl::abi_arg_out challengeMessage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *challengeMessage = detach_abi(this->shim().GenerateManualEnablingChallenge()); + return S_OK; + } + catch (...) + { + *challengeMessage = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessManualEnablingResponse(uint32_t __responseBytesSize, impl::abi_arg_in * responseBytes, HRESULT * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProcessManualEnablingResponse(array_view(responseBytes, responseBytes + __responseBytesSize))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetMessageBody(uint32_t * __messageBodyBytesSize, impl::abi_arg_out * messageBodyBytes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__messageBodyBytesSize, *messageBodyBytes) = detach_abi(this->shim().GetMessageBody()); + return S_OK; + } + catch (...) + { + *__messageBodyBytesSize = 0; + *messageBodyBytes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageHeaders(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageHeaders()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out messageUri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageUri = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *messageUri = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DomainJoinServiceRequestType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainJoinServiceRequestType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainLeaveServiceRequestType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainLeaveServiceRequestType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndividualizationServiceRequestType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndividualizationServiceRequestType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LicenseAcquirerServiceRequestType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LicenseAcquirerServiceRequestType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MeteringReportServiceRequestType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MeteringReportServiceRequestType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RevocationServiceRequestType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RevocationServiceRequestType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaProtectionSystemId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaProtectionSystemId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayReadySecurityVersion(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayReadySecurityVersion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlayReadyCertificateSecurityLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayReadyCertificateSecurityLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SecureStopServiceRequestType(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecureStopServiceRequestType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckSupportedHardware(Windows::Media::Protection::PlayReady::PlayReadyHardwareDRMFeatures hwdrmFeature, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckSupportedHardware(hwdrmFeature)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputTrustAuthorityToCreate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputTrustAuthorityToCreate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionSystemId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionSystemId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Protection::PlayReady { + +template GUID impl_IPlayReadyContentHeader::KeyId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_KeyId(&value)); + return value; +} + +template hstring impl_IPlayReadyContentHeader::KeyIdString() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_KeyIdString(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IPlayReadyContentHeader::LicenseAcquisitionUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_LicenseAcquisitionUrl(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IPlayReadyContentHeader::LicenseAcquisitionUserInterfaceUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_LicenseAcquisitionUserInterfaceUrl(put_abi(value))); + return value; +} + +template GUID impl_IPlayReadyContentHeader::DomainServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_DomainServiceId(&value)); + return value; +} + +template Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm impl_IPlayReadyContentHeader::EncryptionType() const +{ + Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm value {}; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_EncryptionType(&value)); + return value; +} + +template hstring impl_IPlayReadyContentHeader::CustomAttributes() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_CustomAttributes(put_abi(value))); + return value; +} + +template Windows::Media::Protection::PlayReady::PlayReadyDecryptorSetup impl_IPlayReadyContentHeader::DecryptorSetup() const +{ + Windows::Media::Protection::PlayReady::PlayReadyDecryptorSetup value {}; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_DecryptorSetup(&value)); + return value; +} + +template com_array impl_IPlayReadyContentHeader::GetSerializedHeader() const +{ + com_array headerBytes {}; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->abi_GetSerializedHeader(impl::put_size_abi(headerBytes), put_abi(headerBytes))); + return headerBytes; +} + +template Windows::Media::Protection::PlayReady::PlayReadyContentHeader impl_IPlayReadyContentHeader::HeaderWithEmbeddedUpdates() const +{ + Windows::Media::Protection::PlayReady::PlayReadyContentHeader value { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader)->get_HeaderWithEmbeddedUpdates(put_abi(value))); + return value; +} + +template Windows::Media::Protection::PlayReady::PlayReadyContentHeader impl_IPlayReadyContentHeaderFactory::CreateInstanceFromWindowsMediaDrmHeader(array_view headerBytes, const Windows::Foundation::Uri & licenseAcquisitionUrl, const Windows::Foundation::Uri & licenseAcquisitionUserInterfaceUrl, hstring_view customAttributes, GUID domainServiceId) const +{ + Windows::Media::Protection::PlayReady::PlayReadyContentHeader instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyContentHeaderFactory)->abi_CreateInstanceFromWindowsMediaDrmHeader(headerBytes.size(), get_abi(headerBytes), get_abi(licenseAcquisitionUrl), get_abi(licenseAcquisitionUserInterfaceUrl), get_abi(customAttributes), domainServiceId, put_abi(instance))); + return instance; +} + +template Windows::Media::Protection::PlayReady::PlayReadyContentHeader impl_IPlayReadyContentHeaderFactory::CreateInstanceFromComponents(GUID contentKeyId, hstring_view contentKeyIdString, Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, const Windows::Foundation::Uri & licenseAcquisitionUrl, const Windows::Foundation::Uri & licenseAcquisitionUserInterfaceUrl, hstring_view customAttributes, GUID domainServiceId) const +{ + Windows::Media::Protection::PlayReady::PlayReadyContentHeader instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyContentHeaderFactory)->abi_CreateInstanceFromComponents(contentKeyId, get_abi(contentKeyIdString), contentEncryptionAlgorithm, get_abi(licenseAcquisitionUrl), get_abi(licenseAcquisitionUserInterfaceUrl), get_abi(customAttributes), domainServiceId, put_abi(instance))); + return instance; +} + +template Windows::Media::Protection::PlayReady::PlayReadyContentHeader impl_IPlayReadyContentHeaderFactory::CreateInstanceFromPlayReadyHeader(array_view headerBytes) const +{ + Windows::Media::Protection::PlayReady::PlayReadyContentHeader instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyContentHeaderFactory)->abi_CreateInstanceFromPlayReadyHeader(headerBytes.size(), get_abi(headerBytes), put_abi(instance))); + return instance; +} + +template com_array impl_IPlayReadyContentHeader2::KeyIds() const +{ + com_array contentKeyIds {}; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader2)->get_KeyIds(impl::put_size_abi(contentKeyIds), put_abi(contentKeyIds))); + return contentKeyIds; +} + +template com_array impl_IPlayReadyContentHeader2::KeyIdStrings() const +{ + com_array contentKeyIdStrings; + check_hresult(WINRT_SHIM(IPlayReadyContentHeader2)->get_KeyIdStrings(impl::put_size_abi(contentKeyIdStrings), put_abi(contentKeyIdStrings))); + return contentKeyIdStrings; +} + +template Windows::Media::Protection::PlayReady::PlayReadyContentHeader impl_IPlayReadyContentHeaderFactory2::CreateInstanceFromComponents2(uint32_t dwFlags, array_view contentKeyIds, array_view contentKeyIdStrings, Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, const Windows::Foundation::Uri & licenseAcquisitionUrl, const Windows::Foundation::Uri & licenseAcquisitionUserInterfaceUrl, hstring_view customAttributes, GUID domainServiceId) const +{ + Windows::Media::Protection::PlayReady::PlayReadyContentHeader instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyContentHeaderFactory2)->abi_CreateInstanceFromComponents2(dwFlags, contentKeyIds.size(), get_abi(contentKeyIds), contentKeyIdStrings.size(), get_abi(contentKeyIdStrings), contentEncryptionAlgorithm, get_abi(licenseAcquisitionUrl), get_abi(licenseAcquisitionUserInterfaceUrl), get_abi(customAttributes), domainServiceId, put_abi(instance))); + return instance; +} + +template Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest impl_IPlayReadyContentResolver::ServiceRequest(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader) const +{ + Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest serviceRequest; + check_hresult(WINRT_SHIM(IPlayReadyContentResolver)->abi_ServiceRequest(get_abi(contentHeader), put_abi(serviceRequest))); + return serviceRequest; +} + +template Windows::Foundation::IAsyncAction impl_IPlayReadyLicenseManagement::DeleteLicenses(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPlayReadyLicenseManagement)->abi_DeleteLicenses(get_abi(contentHeader), put_abi(operation))); + return operation; +} + +template bool impl_IPlayReadyLicense::FullyEvaluated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense)->get_FullyEvaluated(&value)); + return value; +} + +template bool impl_IPlayReadyLicense::UsableForPlay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense)->get_UsableForPlay(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IPlayReadyLicense::ExpirationDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IPlayReadyLicense)->get_ExpirationDate(put_abi(value))); + return value; +} + +template uint32_t impl_IPlayReadyLicense::ExpireAfterFirstPlay() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense)->get_ExpireAfterFirstPlay(&value)); + return value; +} + +template GUID impl_IPlayReadyLicense::DomainAccountID() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense)->get_DomainAccountID(&value)); + return value; +} + +template uint32_t impl_IPlayReadyLicense::ChainDepth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense)->get_ChainDepth(&value)); + return value; +} + +template GUID impl_IPlayReadyLicense::GetKIDAtChainDepth(uint32_t chainDepth) const +{ + GUID kid {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense)->abi_GetKIDAtChainDepth(chainDepth, &kid)); + return kid; +} + +template GUID impl_IPlayReadyLicense2::SecureStopId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense2)->get_SecureStopId(&value)); + return value; +} + +template uint32_t impl_IPlayReadyLicense2::SecurityLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense2)->get_SecurityLevel(&value)); + return value; +} + +template bool impl_IPlayReadyLicense2::InMemoryOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense2)->get_InMemoryOnly(&value)); + return value; +} + +template bool impl_IPlayReadyLicense2::ExpiresInRealTime() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicense2)->get_ExpiresInRealTime(&value)); + return value; +} + +template Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable impl_IPlayReadyLicenseIterableFactory::CreateInstance(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader, bool fullyEvaluated) const +{ + Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyLicenseIterableFactory)->abi_CreateInstance(get_abi(contentHeader), fullyEvaluated, put_abi(instance))); + return instance; +} + +template GUID impl_IPlayReadyDomain::AccountId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyDomain)->get_AccountId(&value)); + return value; +} + +template GUID impl_IPlayReadyDomain::ServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyDomain)->get_ServiceId(&value)); + return value; +} + +template uint32_t impl_IPlayReadyDomain::Revision() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlayReadyDomain)->get_Revision(&value)); + return value; +} + +template hstring impl_IPlayReadyDomain::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayReadyDomain)->get_FriendlyName(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IPlayReadyDomain::DomainJoinUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyDomain)->get_DomainJoinUrl(put_abi(value))); + return value; +} + +template Windows::Media::Protection::PlayReady::PlayReadyDomainIterable impl_IPlayReadyDomainIterableFactory::CreateInstance(GUID domainAccountId) const +{ + Windows::Media::Protection::PlayReady::PlayReadyDomainIterable domainIterable { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyDomainIterableFactory)->abi_CreateInstance(domainAccountId, put_abi(domainIterable))); + return domainIterable; +} + +template GUID impl_IPlayReadyStatics::DomainJoinServiceRequestType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_DomainJoinServiceRequestType(&value)); + return value; +} + +template GUID impl_IPlayReadyStatics::DomainLeaveServiceRequestType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_DomainLeaveServiceRequestType(&value)); + return value; +} + +template GUID impl_IPlayReadyStatics::IndividualizationServiceRequestType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_IndividualizationServiceRequestType(&value)); + return value; +} + +template GUID impl_IPlayReadyStatics::LicenseAcquirerServiceRequestType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_LicenseAcquirerServiceRequestType(&value)); + return value; +} + +template GUID impl_IPlayReadyStatics::MeteringReportServiceRequestType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_MeteringReportServiceRequestType(&value)); + return value; +} + +template GUID impl_IPlayReadyStatics::RevocationServiceRequestType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_RevocationServiceRequestType(&value)); + return value; +} + +template GUID impl_IPlayReadyStatics::MediaProtectionSystemId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_MediaProtectionSystemId(&value)); + return value; +} + +template uint32_t impl_IPlayReadyStatics::PlayReadySecurityVersion() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics)->get_PlayReadySecurityVersion(&value)); + return value; +} + +template uint32_t impl_IPlayReadyStatics2::PlayReadyCertificateSecurityLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics2)->get_PlayReadyCertificateSecurityLevel(&value)); + return value; +} + +template GUID impl_IPlayReadyStatics3::SecureStopServiceRequestType() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics3)->get_SecureStopServiceRequestType(&value)); + return value; +} + +template bool impl_IPlayReadyStatics3::CheckSupportedHardware(Windows::Media::Protection::PlayReady::PlayReadyHardwareDRMFeatures hwdrmFeature) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics3)->abi_CheckSupportedHardware(hwdrmFeature, &value)); + return value; +} + +template hstring impl_IPlayReadyStatics4::InputTrustAuthorityToCreate() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayReadyStatics4)->get_InputTrustAuthorityToCreate(put_abi(value))); + return value; +} + +template GUID impl_IPlayReadyStatics4::ProtectionSystemId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyStatics4)->get_ProtectionSystemId(&value)); + return value; +} + +template Windows::Media::Protection::PlayReady::PlayReadySecureStopServiceRequest impl_IPlayReadySecureStopServiceRequestFactory::CreateInstance(array_view publisherCertBytes) const +{ + Windows::Media::Protection::PlayReady::PlayReadySecureStopServiceRequest instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadySecureStopServiceRequestFactory)->abi_CreateInstance(publisherCertBytes.size(), get_abi(publisherCertBytes), put_abi(instance))); + return instance; +} + +template Windows::Media::Protection::PlayReady::PlayReadySecureStopServiceRequest impl_IPlayReadySecureStopServiceRequestFactory::CreateInstanceFromSessionID(GUID sessionID, array_view publisherCertBytes) const +{ + Windows::Media::Protection::PlayReady::PlayReadySecureStopServiceRequest instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadySecureStopServiceRequestFactory)->abi_CreateInstanceFromSessionID(sessionID, publisherCertBytes.size(), get_abi(publisherCertBytes), put_abi(instance))); + return instance; +} + +template Windows::Media::Protection::PlayReady::PlayReadySecureStopIterable impl_IPlayReadySecureStopIterableFactory::CreateInstance(array_view publisherCertBytes) const +{ + Windows::Media::Protection::PlayReady::PlayReadySecureStopIterable instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadySecureStopIterableFactory)->abi_CreateInstance(publisherCertBytes.size(), get_abi(publisherCertBytes), put_abi(instance))); + return instance; +} + +template com_array impl_IPlayReadySoapMessage::GetMessageBody() const +{ + com_array messageBodyBytes {}; + check_hresult(WINRT_SHIM(IPlayReadySoapMessage)->abi_GetMessageBody(impl::put_size_abi(messageBodyBytes), put_abi(messageBodyBytes))); + return messageBodyBytes; +} + +template Windows::Foundation::Collections::IPropertySet impl_IPlayReadySoapMessage::MessageHeaders() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IPlayReadySoapMessage)->get_MessageHeaders(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IPlayReadySoapMessage::Uri() const +{ + Windows::Foundation::Uri messageUri { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadySoapMessage)->get_Uri(put_abi(messageUri))); + return messageUri; +} + +template com_array impl_IPlayReadyITADataGenerator::GenerateData(GUID guidCPSystemId, uint32_t countOfStreams, const Windows::Foundation::Collections::IPropertySet & configuration, Windows::Media::Protection::PlayReady::PlayReadyITADataFormat format) const +{ + com_array dataBytes {}; + check_hresult(WINRT_SHIM(IPlayReadyITADataGenerator)->abi_GenerateData(guidCPSystemId, countOfStreams, get_abi(configuration), format, impl::put_size_abi(dataBytes), put_abi(dataBytes))); + return dataBytes; +} + +template Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest impl_IPlayReadyLicenseSession::CreateLAServiceRequest() const +{ + Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest serviceRequest; + check_hresult(WINRT_SHIM(IPlayReadyLicenseSession)->abi_CreateLAServiceRequest(put_abi(serviceRequest))); + return serviceRequest; +} + +template void impl_IPlayReadyLicenseSession::ConfigureMediaProtectionManager(const Windows::Media::Protection::MediaProtectionManager & mpm) const +{ + check_hresult(WINRT_SHIM(IPlayReadyLicenseSession)->abi_ConfigureMediaProtectionManager(get_abi(mpm))); +} + +template Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable impl_IPlayReadyLicenseSession2::CreateLicenseIterable(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader, bool fullyEvaluated) const +{ + Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable licenseIterable { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyLicenseSession2)->abi_CreateLicenseIterable(get_abi(contentHeader), fullyEvaluated, put_abi(licenseIterable))); + return licenseIterable; +} + +template Windows::Media::Protection::PlayReady::PlayReadyLicenseSession impl_IPlayReadyLicenseSessionFactory::CreateInstance(const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + Windows::Media::Protection::PlayReady::PlayReadyLicenseSession instance { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyLicenseSessionFactory)->abi_CreateInstance(get_abi(configuration), put_abi(instance))); + return instance; +} + +template void impl_INDDownloadEngine::Open(const Windows::Foundation::Uri & uri, array_view sessionIDBytes) const +{ + check_hresult(WINRT_SHIM(INDDownloadEngine)->abi_Open(get_abi(uri), sessionIDBytes.size(), get_abi(sessionIDBytes))); +} + +template void impl_INDDownloadEngine::Pause() const +{ + check_hresult(WINRT_SHIM(INDDownloadEngine)->abi_Pause()); +} + +template void impl_INDDownloadEngine::Resume() const +{ + check_hresult(WINRT_SHIM(INDDownloadEngine)->abi_Resume()); +} + +template void impl_INDDownloadEngine::Close() const +{ + check_hresult(WINRT_SHIM(INDDownloadEngine)->abi_Close()); +} + +template void impl_INDDownloadEngine::Seek(const Windows::Foundation::TimeSpan & startPosition) const +{ + check_hresult(WINRT_SHIM(INDDownloadEngine)->abi_Seek(get_abi(startPosition))); +} + +template bool impl_INDDownloadEngine::CanSeek() const +{ + bool canSeek {}; + check_hresult(WINRT_SHIM(INDDownloadEngine)->get_CanSeek(&canSeek)); + return canSeek; +} + +template uint32_t impl_INDDownloadEngine::BufferFullMinThresholdInSamples() const +{ + uint32_t bufferFullMinThreshold {}; + check_hresult(WINRT_SHIM(INDDownloadEngine)->get_BufferFullMinThresholdInSamples(&bufferFullMinThreshold)); + return bufferFullMinThreshold; +} + +template uint32_t impl_INDDownloadEngine::BufferFullMaxThresholdInSamples() const +{ + uint32_t bufferFullMaxThreshold {}; + check_hresult(WINRT_SHIM(INDDownloadEngine)->get_BufferFullMaxThresholdInSamples(&bufferFullMaxThreshold)); + return bufferFullMaxThreshold; +} + +template Windows::Media::Protection::PlayReady::NDDownloadEngineNotifier impl_INDDownloadEngine::Notifier() const +{ + Windows::Media::Protection::PlayReady::NDDownloadEngineNotifier instance { nullptr }; + check_hresult(WINRT_SHIM(INDDownloadEngine)->get_Notifier(put_abi(instance))); + return instance; +} + +template void impl_INDDownloadEngineNotifier::OnStreamOpened() const +{ + check_hresult(WINRT_SHIM(INDDownloadEngineNotifier)->abi_OnStreamOpened()); +} + +template void impl_INDDownloadEngineNotifier::OnPlayReadyObjectReceived(array_view dataBytes) const +{ + check_hresult(WINRT_SHIM(INDDownloadEngineNotifier)->abi_OnPlayReadyObjectReceived(dataBytes.size(), get_abi(dataBytes))); +} + +template void impl_INDDownloadEngineNotifier::OnContentIDReceived(const Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor & licenseFetchDescriptor) const +{ + check_hresult(WINRT_SHIM(INDDownloadEngineNotifier)->abi_OnContentIDReceived(get_abi(licenseFetchDescriptor))); +} + +template void impl_INDDownloadEngineNotifier::OnDataReceived(array_view dataBytes, uint32_t bytesReceived) const +{ + check_hresult(WINRT_SHIM(INDDownloadEngineNotifier)->abi_OnDataReceived(dataBytes.size(), get_abi(dataBytes), bytesReceived)); +} + +template void impl_INDDownloadEngineNotifier::OnEndOfStream() const +{ + check_hresult(WINRT_SHIM(INDDownloadEngineNotifier)->abi_OnEndOfStream()); +} + +template void impl_INDDownloadEngineNotifier::OnNetworkError() const +{ + check_hresult(WINRT_SHIM(INDDownloadEngineNotifier)->abi_OnNetworkError()); +} + +template Windows::Media::Protection::PlayReady::NDContentIDType impl_INDLicenseFetchDescriptor::ContentIDType() const +{ + Windows::Media::Protection::PlayReady::NDContentIDType contentIDType {}; + check_hresult(WINRT_SHIM(INDLicenseFetchDescriptor)->get_ContentIDType(&contentIDType)); + return contentIDType; +} + +template com_array impl_INDLicenseFetchDescriptor::ContentID() const +{ + com_array contentIDBytes {}; + check_hresult(WINRT_SHIM(INDLicenseFetchDescriptor)->get_ContentID(impl::put_size_abi(contentIDBytes), put_abi(contentIDBytes))); + return contentIDBytes; +} + +template Windows::Media::Protection::PlayReady::INDCustomData impl_INDLicenseFetchDescriptor::LicenseFetchChallengeCustomData() const +{ + Windows::Media::Protection::PlayReady::INDCustomData licenseFetchChallengeCustomData; + check_hresult(WINRT_SHIM(INDLicenseFetchDescriptor)->get_LicenseFetchChallengeCustomData(put_abi(licenseFetchChallengeCustomData))); + return licenseFetchChallengeCustomData; +} + +template void impl_INDLicenseFetchDescriptor::LicenseFetchChallengeCustomData(const Windows::Media::Protection::PlayReady::INDCustomData & licenseFetchChallengeCustomData) const +{ + check_hresult(WINRT_SHIM(INDLicenseFetchDescriptor)->put_LicenseFetchChallengeCustomData(get_abi(licenseFetchChallengeCustomData))); +} + +template com_array impl_INDCustomData::CustomDataTypeID() const +{ + com_array customDataTypeIDBytes {}; + check_hresult(WINRT_SHIM(INDCustomData)->get_CustomDataTypeID(impl::put_size_abi(customDataTypeIDBytes), put_abi(customDataTypeIDBytes))); + return customDataTypeIDBytes; +} + +template com_array impl_INDCustomData::CustomData() const +{ + com_array customDataBytes {}; + check_hresult(WINRT_SHIM(INDCustomData)->get_CustomData(impl::put_size_abi(customDataBytes), put_abi(customDataBytes))); + return customDataBytes; +} + +template void impl_INDStreamParser::ParseData(array_view dataBytes) const +{ + check_hresult(WINRT_SHIM(INDStreamParser)->abi_ParseData(dataBytes.size(), get_abi(dataBytes))); +} + +template uint32_t impl_INDStreamParser::GetStreamInformation(const Windows::Media::Core::IMediaStreamDescriptor & descriptor, Windows::Media::Protection::PlayReady::NDMediaStreamType & streamType) const +{ + uint32_t streamID {}; + check_hresult(WINRT_SHIM(INDStreamParser)->abi_GetStreamInformation(get_abi(descriptor), &streamType, &streamID)); + return streamID; +} + +template void impl_INDStreamParser::BeginOfStream() const +{ + check_hresult(WINRT_SHIM(INDStreamParser)->abi_BeginOfStream()); +} + +template void impl_INDStreamParser::EndOfStream() const +{ + check_hresult(WINRT_SHIM(INDStreamParser)->abi_EndOfStream()); +} + +template Windows::Media::Protection::PlayReady::NDStreamParserNotifier impl_INDStreamParser::Notifier() const +{ + Windows::Media::Protection::PlayReady::NDStreamParserNotifier instance { nullptr }; + check_hresult(WINRT_SHIM(INDStreamParser)->get_Notifier(put_abi(instance))); + return instance; +} + +template void impl_INDStreamParserNotifier::OnContentIDReceived(const Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor & licenseFetchDescriptor) const +{ + check_hresult(WINRT_SHIM(INDStreamParserNotifier)->abi_OnContentIDReceived(get_abi(licenseFetchDescriptor))); +} + +template void impl_INDStreamParserNotifier::OnMediaStreamDescriptorCreated(const Windows::Foundation::Collections::IVector & audioStreamDescriptors, const Windows::Foundation::Collections::IVector & videoStreamDescriptors) const +{ + check_hresult(WINRT_SHIM(INDStreamParserNotifier)->abi_OnMediaStreamDescriptorCreated(get_abi(audioStreamDescriptors), get_abi(videoStreamDescriptors))); +} + +template void impl_INDStreamParserNotifier::OnSampleParsed(uint32_t streamID, Windows::Media::Protection::PlayReady::NDMediaStreamType streamType, const Windows::Media::Core::MediaStreamSample & streamSample, int64_t pts, Windows::Media::Protection::PlayReady::NDClosedCaptionFormat ccFormat, array_view ccDataBytes) const +{ + check_hresult(WINRT_SHIM(INDStreamParserNotifier)->abi_OnSampleParsed(streamID, streamType, get_abi(streamSample), pts, ccFormat, ccDataBytes.size(), get_abi(ccDataBytes))); +} + +template void impl_INDStreamParserNotifier::OnBeginSetupDecryptor(const Windows::Media::Core::IMediaStreamDescriptor & descriptor, GUID keyID, array_view proBytes) const +{ + check_hresult(WINRT_SHIM(INDStreamParserNotifier)->abi_OnBeginSetupDecryptor(get_abi(descriptor), keyID, proBytes.size(), get_abi(proBytes))); +} + +template com_array impl_INDSendResult::Response() const +{ + com_array responseDataBytes {}; + check_hresult(WINRT_SHIM(INDSendResult)->get_Response(impl::put_size_abi(responseDataBytes), put_abi(responseDataBytes))); + return responseDataBytes; +} + +template Windows::Foundation::IAsyncOperation impl_INDMessenger::SendRegistrationRequestAsync(array_view sessionIDBytes, array_view challengeDataBytes) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(INDMessenger)->abi_SendRegistrationRequestAsync(sessionIDBytes.size(), get_abi(sessionIDBytes), challengeDataBytes.size(), get_abi(challengeDataBytes), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_INDMessenger::SendProximityDetectionStartAsync(Windows::Media::Protection::PlayReady::NDProximityDetectionType pdType, array_view transmitterChannelBytes, array_view sessionIDBytes, array_view challengeDataBytes) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(INDMessenger)->abi_SendProximityDetectionStartAsync(pdType, transmitterChannelBytes.size(), get_abi(transmitterChannelBytes), sessionIDBytes.size(), get_abi(sessionIDBytes), challengeDataBytes.size(), get_abi(challengeDataBytes), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_INDMessenger::SendProximityDetectionResponseAsync(Windows::Media::Protection::PlayReady::NDProximityDetectionType pdType, array_view transmitterChannelBytes, array_view sessionIDBytes, array_view responseDataBytes) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(INDMessenger)->abi_SendProximityDetectionResponseAsync(pdType, transmitterChannelBytes.size(), get_abi(transmitterChannelBytes), sessionIDBytes.size(), get_abi(sessionIDBytes), responseDataBytes.size(), get_abi(responseDataBytes), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_INDMessenger::SendLicenseFetchRequestAsync(array_view sessionIDBytes, array_view challengeDataBytes) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(INDMessenger)->abi_SendLicenseFetchRequestAsync(sessionIDBytes.size(), get_abi(sessionIDBytes), challengeDataBytes.size(), get_abi(challengeDataBytes), put_abi(result))); + return result; +} + +template Windows::Media::Protection::PlayReady::NDTCPMessenger impl_INDTCPMessengerFactory::CreateInstance(hstring_view remoteHostName, uint32_t remoteHostPort) const +{ + Windows::Media::Protection::PlayReady::NDTCPMessenger instance { nullptr }; + check_hresult(WINRT_SHIM(INDTCPMessengerFactory)->abi_CreateInstance(get_abi(remoteHostName), remoteHostPort, put_abi(instance))); + return instance; +} + +template Windows::Media::Protection::PlayReady::NDCertificateType impl_INDTransmitterProperties::CertificateType() const +{ + Windows::Media::Protection::PlayReady::NDCertificateType type {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_CertificateType(&type)); + return type; +} + +template Windows::Media::Protection::PlayReady::NDCertificatePlatformID impl_INDTransmitterProperties::PlatformIdentifier() const +{ + Windows::Media::Protection::PlayReady::NDCertificatePlatformID identifier {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_PlatformIdentifier(&identifier)); + return identifier; +} + +template com_array impl_INDTransmitterProperties::SupportedFeatures() const +{ + com_array featureSets {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_SupportedFeatures(impl::put_size_abi(featureSets), put_abi(featureSets))); + return featureSets; +} + +template uint32_t impl_INDTransmitterProperties::SecurityLevel() const +{ + uint32_t level {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_SecurityLevel(&level)); + return level; +} + +template uint32_t impl_INDTransmitterProperties::SecurityVersion() const +{ + uint32_t securityVersion {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_SecurityVersion(&securityVersion)); + return securityVersion; +} + +template Windows::Foundation::DateTime impl_INDTransmitterProperties::ExpirationDate() const +{ + Windows::Foundation::DateTime expirationDate {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_ExpirationDate(put_abi(expirationDate))); + return expirationDate; +} + +template com_array impl_INDTransmitterProperties::ClientID() const +{ + com_array clientIDBytes {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_ClientID(impl::put_size_abi(clientIDBytes), put_abi(clientIDBytes))); + return clientIDBytes; +} + +template com_array impl_INDTransmitterProperties::ModelDigest() const +{ + com_array modelDigestBytes {}; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_ModelDigest(impl::put_size_abi(modelDigestBytes), put_abi(modelDigestBytes))); + return modelDigestBytes; +} + +template hstring impl_INDTransmitterProperties::ModelManufacturerName() const +{ + hstring modelManufacturerName; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_ModelManufacturerName(put_abi(modelManufacturerName))); + return modelManufacturerName; +} + +template hstring impl_INDTransmitterProperties::ModelName() const +{ + hstring modelName; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_ModelName(put_abi(modelName))); + return modelName; +} + +template hstring impl_INDTransmitterProperties::ModelNumber() const +{ + hstring modelNumber; + check_hresult(WINRT_SHIM(INDTransmitterProperties)->get_ModelNumber(put_abi(modelNumber))); + return modelNumber; +} + +template Windows::Media::Core::MediaStreamSource impl_INDStartResult::MediaStreamSource() const +{ + Windows::Media::Core::MediaStreamSource mediaStreamSource { nullptr }; + check_hresult(WINRT_SHIM(INDStartResult)->get_MediaStreamSource(put_abi(mediaStreamSource))); + return mediaStreamSource; +} + +template Windows::Media::Protection::PlayReady::INDCustomData impl_INDLicenseFetchResult::ResponseCustomData() const +{ + Windows::Media::Protection::PlayReady::INDCustomData customData; + check_hresult(WINRT_SHIM(INDLicenseFetchResult)->get_ResponseCustomData(put_abi(customData))); + return customData; +} + +template Windows::Media::Protection::PlayReady::NDLicenseFetchDescriptor impl_INDLicenseFetchDescriptorFactory::CreateInstance(Windows::Media::Protection::PlayReady::NDContentIDType contentIDType, array_view contentIDBytes, const Windows::Media::Protection::PlayReady::INDCustomData & licenseFetchChallengeCustomData) const +{ + Windows::Media::Protection::PlayReady::NDLicenseFetchDescriptor instance { nullptr }; + check_hresult(WINRT_SHIM(INDLicenseFetchDescriptorFactory)->abi_CreateInstance(contentIDType, contentIDBytes.size(), get_abi(contentIDBytes), get_abi(licenseFetchChallengeCustomData), put_abi(instance))); + return instance; +} + +template Windows::Media::Protection::PlayReady::INDCustomData impl_INDRegistrationCompletedEventArgs::ResponseCustomData() const +{ + Windows::Media::Protection::PlayReady::INDCustomData customData; + check_hresult(WINRT_SHIM(INDRegistrationCompletedEventArgs)->get_ResponseCustomData(put_abi(customData))); + return customData; +} + +template Windows::Media::Protection::PlayReady::INDTransmitterProperties impl_INDRegistrationCompletedEventArgs::TransmitterProperties() const +{ + Windows::Media::Protection::PlayReady::INDTransmitterProperties transmitterProperties; + check_hresult(WINRT_SHIM(INDRegistrationCompletedEventArgs)->get_TransmitterProperties(put_abi(transmitterProperties))); + return transmitterProperties; +} + +template bool impl_INDRegistrationCompletedEventArgs::TransmitterCertificateAccepted() const +{ + bool acceptpt {}; + check_hresult(WINRT_SHIM(INDRegistrationCompletedEventArgs)->get_TransmitterCertificateAccepted(&acceptpt)); + return acceptpt; +} + +template void impl_INDRegistrationCompletedEventArgs::TransmitterCertificateAccepted(bool accept) const +{ + check_hresult(WINRT_SHIM(INDRegistrationCompletedEventArgs)->put_TransmitterCertificateAccepted(accept)); +} + +template Windows::Media::Protection::PlayReady::NDCustomData impl_INDCustomDataFactory::CreateInstance(array_view customDataTypeIDBytes, array_view customDataBytes) const +{ + Windows::Media::Protection::PlayReady::NDCustomData instance { nullptr }; + check_hresult(WINRT_SHIM(INDCustomDataFactory)->abi_CreateInstance(customDataTypeIDBytes.size(), get_abi(customDataTypeIDBytes), customDataBytes.size(), get_abi(customDataBytes), put_abi(instance))); + return instance; +} + +template uint32_t impl_INDProximityDetectionCompletedEventArgs::ProximityDetectionRetryCount() const +{ + uint32_t retryCount {}; + check_hresult(WINRT_SHIM(INDProximityDetectionCompletedEventArgs)->get_ProximityDetectionRetryCount(&retryCount)); + return retryCount; +} + +template Windows::Media::Protection::PlayReady::INDCustomData impl_INDLicenseFetchCompletedEventArgs::ResponseCustomData() const +{ + Windows::Media::Protection::PlayReady::INDCustomData customData; + check_hresult(WINRT_SHIM(INDLicenseFetchCompletedEventArgs)->get_ResponseCustomData(put_abi(customData))); + return customData; +} + +template event_token impl_INDClient::RegistrationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INDClient)->add_RegistrationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INDClient::RegistrationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::PlayReady::INDClient::remove_RegistrationCompleted, RegistrationCompleted(handler)); +} + +template void impl_INDClient::RegistrationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(INDClient)->remove_RegistrationCompleted(token)); +} + +template event_token impl_INDClient::ProximityDetectionCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INDClient)->add_ProximityDetectionCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INDClient::ProximityDetectionCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::PlayReady::INDClient::remove_ProximityDetectionCompleted, ProximityDetectionCompleted(handler)); +} + +template void impl_INDClient::ProximityDetectionCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(INDClient)->remove_ProximityDetectionCompleted(token)); +} + +template event_token impl_INDClient::LicenseFetchCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INDClient)->add_LicenseFetchCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INDClient::LicenseFetchCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::PlayReady::INDClient::remove_LicenseFetchCompleted, LicenseFetchCompleted(handler)); +} + +template void impl_INDClient::LicenseFetchCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(INDClient)->remove_LicenseFetchCompleted(token)); +} + +template event_token impl_INDClient::ReRegistrationNeeded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INDClient)->add_ReRegistrationNeeded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INDClient::ReRegistrationNeeded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::PlayReady::INDClient::remove_ReRegistrationNeeded, ReRegistrationNeeded(handler)); +} + +template void impl_INDClient::ReRegistrationNeeded(event_token token) const +{ + check_hresult(WINRT_SHIM(INDClient)->remove_ReRegistrationNeeded(token)); +} + +template event_token impl_INDClient::ClosedCaptionDataReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(INDClient)->add_ClosedCaptionDataReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_INDClient::ClosedCaptionDataReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::PlayReady::INDClient::remove_ClosedCaptionDataReceived, ClosedCaptionDataReceived(handler)); +} + +template void impl_INDClient::ClosedCaptionDataReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(INDClient)->remove_ClosedCaptionDataReceived(token)); +} + +template Windows::Foundation::IAsyncOperation impl_INDClient::StartAsync(const Windows::Foundation::Uri & contentUrl, uint32_t startAsyncOptions, const Windows::Media::Protection::PlayReady::INDCustomData & registrationCustomData, const Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor & licenseFetchDescriptor) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(INDClient)->abi_StartAsync(get_abi(contentUrl), startAsyncOptions, get_abi(registrationCustomData), get_abi(licenseFetchDescriptor), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_INDClient::LicenseFetchAsync(const Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor & licenseFetchDescriptor) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(INDClient)->abi_LicenseFetchAsync(get_abi(licenseFetchDescriptor), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_INDClient::ReRegistrationAsync(const Windows::Media::Protection::PlayReady::INDCustomData & registrationCustomData) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(INDClient)->abi_ReRegistrationAsync(get_abi(registrationCustomData), put_abi(result))); + return result; +} + +template void impl_INDClient::Close() const +{ + check_hresult(WINRT_SHIM(INDClient)->abi_Close()); +} + +template Windows::Media::Protection::PlayReady::NDClosedCaptionFormat impl_INDClosedCaptionDataReceivedEventArgs::ClosedCaptionDataFormat() const +{ + Windows::Media::Protection::PlayReady::NDClosedCaptionFormat ccForamt {}; + check_hresult(WINRT_SHIM(INDClosedCaptionDataReceivedEventArgs)->get_ClosedCaptionDataFormat(&ccForamt)); + return ccForamt; +} + +template int64_t impl_INDClosedCaptionDataReceivedEventArgs::PresentationTimestamp() const +{ + int64_t presentationTimestamp {}; + check_hresult(WINRT_SHIM(INDClosedCaptionDataReceivedEventArgs)->get_PresentationTimestamp(&presentationTimestamp)); + return presentationTimestamp; +} + +template com_array impl_INDClosedCaptionDataReceivedEventArgs::ClosedCaptionData() const +{ + com_array ccDataBytes {}; + check_hresult(WINRT_SHIM(INDClosedCaptionDataReceivedEventArgs)->get_ClosedCaptionData(impl::put_size_abi(ccDataBytes), put_abi(ccDataBytes))); + return ccDataBytes; +} + +template Windows::Media::Protection::PlayReady::NDClient impl_INDClientFactory::CreateInstance(const Windows::Media::Protection::PlayReady::INDDownloadEngine & downloadEngine, const Windows::Media::Protection::PlayReady::INDStreamParser & streamParser, const Windows::Media::Protection::PlayReady::INDMessenger & pMessenger) const +{ + Windows::Media::Protection::PlayReady::NDClient instance { nullptr }; + check_hresult(WINRT_SHIM(INDClientFactory)->abi_CreateInstance(get_abi(downloadEngine), get_abi(streamParser), get_abi(pMessenger), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Collections::IVector impl_INDStorageFileHelper::GetFileURLs(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::Collections::IVector fileURLs; + check_hresult(WINRT_SHIM(INDStorageFileHelper)->abi_GetFileURLs(get_abi(file), put_abi(fileURLs))); + return fileURLs; +} + +template Windows::Foundation::Uri impl_IPlayReadyServiceRequest::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->get_Uri(put_abi(value))); + return value; +} + +template void impl_IPlayReadyServiceRequest::Uri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->put_Uri(get_abi(value))); +} + +template hstring impl_IPlayReadyServiceRequest::ResponseCustomData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->get_ResponseCustomData(put_abi(value))); + return value; +} + +template hstring impl_IPlayReadyServiceRequest::ChallengeCustomData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->get_ChallengeCustomData(put_abi(value))); + return value; +} + +template void impl_IPlayReadyServiceRequest::ChallengeCustomData(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->put_ChallengeCustomData(get_abi(value))); +} + +template Windows::Foundation::IAsyncAction impl_IPlayReadyServiceRequest::BeginServiceRequest() const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->abi_BeginServiceRequest(put_abi(action))); + return action; +} + +template Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest impl_IPlayReadyServiceRequest::NextServiceRequest() const +{ + Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest serviceRequest; + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->abi_NextServiceRequest(put_abi(serviceRequest))); + return serviceRequest; +} + +template Windows::Media::Protection::PlayReady::PlayReadySoapMessage impl_IPlayReadyServiceRequest::GenerateManualEnablingChallenge() const +{ + Windows::Media::Protection::PlayReady::PlayReadySoapMessage challengeMessage { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->abi_GenerateManualEnablingChallenge(put_abi(challengeMessage))); + return challengeMessage; +} + +template HRESULT impl_IPlayReadyServiceRequest::ProcessManualEnablingResponse(array_view responseBytes) const +{ + HRESULT result {}; + check_hresult(WINRT_SHIM(IPlayReadyServiceRequest)->abi_ProcessManualEnablingResponse(responseBytes.size(), get_abi(responseBytes), &result)); + return result; +} + +template GUID impl_IPlayReadyDomainJoinServiceRequest::DomainAccountId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyDomainJoinServiceRequest)->get_DomainAccountId(&value)); + return value; +} + +template void impl_IPlayReadyDomainJoinServiceRequest::DomainAccountId(GUID value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyDomainJoinServiceRequest)->put_DomainAccountId(value)); +} + +template hstring impl_IPlayReadyDomainJoinServiceRequest::DomainFriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPlayReadyDomainJoinServiceRequest)->get_DomainFriendlyName(put_abi(value))); + return value; +} + +template void impl_IPlayReadyDomainJoinServiceRequest::DomainFriendlyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyDomainJoinServiceRequest)->put_DomainFriendlyName(get_abi(value))); +} + +template GUID impl_IPlayReadyDomainJoinServiceRequest::DomainServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyDomainJoinServiceRequest)->get_DomainServiceId(&value)); + return value; +} + +template void impl_IPlayReadyDomainJoinServiceRequest::DomainServiceId(GUID value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyDomainJoinServiceRequest)->put_DomainServiceId(value)); +} + +template GUID impl_IPlayReadyDomainLeaveServiceRequest::DomainAccountId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyDomainLeaveServiceRequest)->get_DomainAccountId(&value)); + return value; +} + +template void impl_IPlayReadyDomainLeaveServiceRequest::DomainAccountId(GUID value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyDomainLeaveServiceRequest)->put_DomainAccountId(value)); +} + +template GUID impl_IPlayReadyDomainLeaveServiceRequest::DomainServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyDomainLeaveServiceRequest)->get_DomainServiceId(&value)); + return value; +} + +template void impl_IPlayReadyDomainLeaveServiceRequest::DomainServiceId(GUID value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyDomainLeaveServiceRequest)->put_DomainServiceId(value)); +} + +template Windows::Media::Protection::PlayReady::PlayReadyContentHeader impl_IPlayReadyLicenseAcquisitionServiceRequest::ContentHeader() const +{ + Windows::Media::Protection::PlayReady::PlayReadyContentHeader value { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyLicenseAcquisitionServiceRequest)->get_ContentHeader(put_abi(value))); + return value; +} + +template void impl_IPlayReadyLicenseAcquisitionServiceRequest::ContentHeader(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyLicenseAcquisitionServiceRequest)->put_ContentHeader(get_abi(value))); +} + +template GUID impl_IPlayReadyLicenseAcquisitionServiceRequest::DomainServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicenseAcquisitionServiceRequest)->get_DomainServiceId(&value)); + return value; +} + +template void impl_IPlayReadyLicenseAcquisitionServiceRequest::DomainServiceId(GUID value) const +{ + check_hresult(WINRT_SHIM(IPlayReadyLicenseAcquisitionServiceRequest)->put_DomainServiceId(value)); +} + +template GUID impl_IPlayReadyLicenseAcquisitionServiceRequest2::SessionId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadyLicenseAcquisitionServiceRequest2)->get_SessionId(&value)); + return value; +} + +template Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable impl_IPlayReadyLicenseAcquisitionServiceRequest3::CreateLicenseIterable(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader, bool fullyEvaluated) const +{ + Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable result { nullptr }; + check_hresult(WINRT_SHIM(IPlayReadyLicenseAcquisitionServiceRequest3)->abi_CreateLicenseIterable(get_abi(contentHeader), fullyEvaluated, put_abi(result))); + return result; +} + +template com_array impl_IPlayReadyMeteringReportServiceRequest::MeteringCertificate() const +{ + com_array meteringCertBytes {}; + check_hresult(WINRT_SHIM(IPlayReadyMeteringReportServiceRequest)->get_MeteringCertificate(impl::put_size_abi(meteringCertBytes), put_abi(meteringCertBytes))); + return meteringCertBytes; +} + +template void impl_IPlayReadyMeteringReportServiceRequest::MeteringCertificate(array_view meteringCertBytes) const +{ + check_hresult(WINRT_SHIM(IPlayReadyMeteringReportServiceRequest)->put_MeteringCertificate(meteringCertBytes.size(), get_abi(meteringCertBytes))); +} + +template GUID impl_IPlayReadySecureStopServiceRequest::SessionID() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlayReadySecureStopServiceRequest)->get_SessionID(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IPlayReadySecureStopServiceRequest::StartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPlayReadySecureStopServiceRequest)->get_StartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IPlayReadySecureStopServiceRequest::UpdateTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPlayReadySecureStopServiceRequest)->get_UpdateTime(put_abi(value))); + return value; +} + +template bool impl_IPlayReadySecureStopServiceRequest::Stopped() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlayReadySecureStopServiceRequest)->get_Stopped(&value)); + return value; +} + +template com_array impl_IPlayReadySecureStopServiceRequest::PublisherCertificate() const +{ + com_array publisherCertBytes {}; + check_hresult(WINRT_SHIM(IPlayReadySecureStopServiceRequest)->get_PublisherCertificate(impl::put_size_abi(publisherCertBytes), put_abi(publisherCertBytes))); + return publisherCertBytes; +} + +inline NDClient::NDClient(const Windows::Media::Protection::PlayReady::INDDownloadEngine & downloadEngine, const Windows::Media::Protection::PlayReady::INDStreamParser & streamParser, const Windows::Media::Protection::PlayReady::INDMessenger & pMessenger) : + NDClient(get_activation_factory().CreateInstance(downloadEngine, streamParser, pMessenger)) +{} + +inline NDCustomData::NDCustomData(array_view customDataTypeIDBytes, array_view customDataBytes) : + NDCustomData(get_activation_factory().CreateInstance(customDataTypeIDBytes, customDataBytes)) +{} + +inline NDDownloadEngineNotifier::NDDownloadEngineNotifier() : + NDDownloadEngineNotifier(activate_instance()) +{} + +inline NDLicenseFetchDescriptor::NDLicenseFetchDescriptor(Windows::Media::Protection::PlayReady::NDContentIDType contentIDType, array_view contentIDBytes, const Windows::Media::Protection::PlayReady::INDCustomData & licenseFetchChallengeCustomData) : + NDLicenseFetchDescriptor(get_activation_factory().CreateInstance(contentIDType, contentIDBytes, licenseFetchChallengeCustomData)) +{} + +inline NDStorageFileHelper::NDStorageFileHelper() : + NDStorageFileHelper(activate_instance()) +{} + +inline NDStreamParserNotifier::NDStreamParserNotifier() : + NDStreamParserNotifier(activate_instance()) +{} + +inline NDTCPMessenger::NDTCPMessenger(hstring_view remoteHostName, uint32_t remoteHostPort) : + NDTCPMessenger(get_activation_factory().CreateInstance(remoteHostName, remoteHostPort)) +{} + +inline PlayReadyContentHeader::PlayReadyContentHeader(array_view headerBytes, const Windows::Foundation::Uri & licenseAcquisitionUrl, const Windows::Foundation::Uri & licenseAcquisitionUserInterfaceUrl, hstring_view customAttributes, GUID domainServiceId) : + PlayReadyContentHeader(get_activation_factory().CreateInstanceFromWindowsMediaDrmHeader(headerBytes, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId)) +{} + +inline PlayReadyContentHeader::PlayReadyContentHeader(GUID contentKeyId, hstring_view contentKeyIdString, Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, const Windows::Foundation::Uri & licenseAcquisitionUrl, const Windows::Foundation::Uri & licenseAcquisitionUserInterfaceUrl, hstring_view customAttributes, GUID domainServiceId) : + PlayReadyContentHeader(get_activation_factory().CreateInstanceFromComponents(contentKeyId, contentKeyIdString, contentEncryptionAlgorithm, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId)) +{} + +inline PlayReadyContentHeader::PlayReadyContentHeader(array_view headerBytes) : + PlayReadyContentHeader(get_activation_factory().CreateInstanceFromPlayReadyHeader(headerBytes)) +{} + +inline PlayReadyContentHeader::PlayReadyContentHeader(uint32_t dwFlags, array_view contentKeyIds, array_view contentKeyIdStrings, Windows::Media::Protection::PlayReady::PlayReadyEncryptionAlgorithm contentEncryptionAlgorithm, const Windows::Foundation::Uri & licenseAcquisitionUrl, const Windows::Foundation::Uri & licenseAcquisitionUserInterfaceUrl, hstring_view customAttributes, GUID domainServiceId) : + PlayReadyContentHeader(get_activation_factory().CreateInstanceFromComponents2(dwFlags, contentKeyIds, contentKeyIdStrings, contentEncryptionAlgorithm, licenseAcquisitionUrl, licenseAcquisitionUserInterfaceUrl, customAttributes, domainServiceId)) +{} + +inline Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest PlayReadyContentResolver::ServiceRequest(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader) +{ + return get_activation_factory().ServiceRequest(contentHeader); +} + +inline PlayReadyDomainIterable::PlayReadyDomainIterable(GUID domainAccountId) : + PlayReadyDomainIterable(get_activation_factory().CreateInstance(domainAccountId)) +{} + +inline PlayReadyDomainJoinServiceRequest::PlayReadyDomainJoinServiceRequest() : + PlayReadyDomainJoinServiceRequest(activate_instance()) +{} + +inline PlayReadyDomainLeaveServiceRequest::PlayReadyDomainLeaveServiceRequest() : + PlayReadyDomainLeaveServiceRequest(activate_instance()) +{} + +inline PlayReadyITADataGenerator::PlayReadyITADataGenerator() : + PlayReadyITADataGenerator(activate_instance()) +{} + +inline PlayReadyIndividualizationServiceRequest::PlayReadyIndividualizationServiceRequest() : + PlayReadyIndividualizationServiceRequest(activate_instance()) +{} + +inline PlayReadyLicenseAcquisitionServiceRequest::PlayReadyLicenseAcquisitionServiceRequest() : + PlayReadyLicenseAcquisitionServiceRequest(activate_instance()) +{} + +inline PlayReadyLicenseIterable::PlayReadyLicenseIterable() : + PlayReadyLicenseIterable(activate_instance()) +{} + +inline PlayReadyLicenseIterable::PlayReadyLicenseIterable(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader, bool fullyEvaluated) : + PlayReadyLicenseIterable(get_activation_factory().CreateInstance(contentHeader, fullyEvaluated)) +{} + +inline Windows::Foundation::IAsyncAction PlayReadyLicenseManagement::DeleteLicenses(const Windows::Media::Protection::PlayReady::PlayReadyContentHeader & contentHeader) +{ + return get_activation_factory().DeleteLicenses(contentHeader); +} + +inline PlayReadyLicenseSession::PlayReadyLicenseSession(const Windows::Foundation::Collections::IPropertySet & configuration) : + PlayReadyLicenseSession(get_activation_factory().CreateInstance(configuration)) +{} + +inline PlayReadyMeteringReportServiceRequest::PlayReadyMeteringReportServiceRequest() : + PlayReadyMeteringReportServiceRequest(activate_instance()) +{} + +inline PlayReadyRevocationServiceRequest::PlayReadyRevocationServiceRequest() : + PlayReadyRevocationServiceRequest(activate_instance()) +{} + +inline PlayReadySecureStopIterable::PlayReadySecureStopIterable(array_view publisherCertBytes) : + PlayReadySecureStopIterable(get_activation_factory().CreateInstance(publisherCertBytes)) +{} + +inline PlayReadySecureStopServiceRequest::PlayReadySecureStopServiceRequest(array_view publisherCertBytes) : + PlayReadySecureStopServiceRequest(get_activation_factory().CreateInstance(publisherCertBytes)) +{} + +inline PlayReadySecureStopServiceRequest::PlayReadySecureStopServiceRequest(GUID sessionID, array_view publisherCertBytes) : + PlayReadySecureStopServiceRequest(get_activation_factory().CreateInstanceFromSessionID(sessionID, publisherCertBytes)) +{} + +inline GUID PlayReadyStatics::DomainJoinServiceRequestType() +{ + return get_activation_factory().DomainJoinServiceRequestType(); +} + +inline GUID PlayReadyStatics::DomainLeaveServiceRequestType() +{ + return get_activation_factory().DomainLeaveServiceRequestType(); +} + +inline GUID PlayReadyStatics::IndividualizationServiceRequestType() +{ + return get_activation_factory().IndividualizationServiceRequestType(); +} + +inline GUID PlayReadyStatics::LicenseAcquirerServiceRequestType() +{ + return get_activation_factory().LicenseAcquirerServiceRequestType(); +} + +inline GUID PlayReadyStatics::MeteringReportServiceRequestType() +{ + return get_activation_factory().MeteringReportServiceRequestType(); +} + +inline GUID PlayReadyStatics::RevocationServiceRequestType() +{ + return get_activation_factory().RevocationServiceRequestType(); +} + +inline GUID PlayReadyStatics::MediaProtectionSystemId() +{ + return get_activation_factory().MediaProtectionSystemId(); +} + +inline uint32_t PlayReadyStatics::PlayReadySecurityVersion() +{ + return get_activation_factory().PlayReadySecurityVersion(); +} + +inline uint32_t PlayReadyStatics::PlayReadyCertificateSecurityLevel() +{ + return get_activation_factory().PlayReadyCertificateSecurityLevel(); +} + +inline GUID PlayReadyStatics::SecureStopServiceRequestType() +{ + return get_activation_factory().SecureStopServiceRequestType(); +} + +inline bool PlayReadyStatics::CheckSupportedHardware(Windows::Media::Protection::PlayReady::PlayReadyHardwareDRMFeatures hwdrmFeature) +{ + return get_activation_factory().CheckSupportedHardware(hwdrmFeature); +} + +inline hstring PlayReadyStatics::InputTrustAuthorityToCreate() +{ + return get_activation_factory().InputTrustAuthorityToCreate(); +} + +inline GUID PlayReadyStatics::ProtectionSystemId() +{ + return get_activation_factory().ProtectionSystemId(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDClient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDClientFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDClosedCaptionDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDCustomData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDCustomDataFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDDownloadEngine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDDownloadEngineNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchDescriptorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDLicenseFetchResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDMessenger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDProximityDetectionCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDRegistrationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDSendResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDStartResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDStorageFileHelper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDStreamParser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDStreamParserNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDTCPMessengerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::INDTransmitterProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeader2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeaderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentHeaderFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyContentResolver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomain & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainIterableFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainJoinServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyDomainLeaveServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyITADataGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyIndividualizationServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicense2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseAcquisitionServiceRequest3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseIterableFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseManagement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseSession2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyLicenseSessionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyMeteringReportServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyRevocationServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopIterableFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadySecureStopServiceRequestFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadySoapMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::IPlayReadyStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::NDClient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::NDCustomData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::NDDownloadEngineNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::NDLicenseFetchDescriptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::NDStorageFileHelper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::NDStreamParserNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::NDTCPMessenger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyContentHeader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyDomain & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyDomainIterable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyDomainIterator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyDomainJoinServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyDomainLeaveServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyITADataGenerator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyIndividualizationServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseAcquisitionServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseIterable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseIterator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyLicenseSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyMeteringReportServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadyRevocationServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadySecureStopIterable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadySecureStopIterator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadySecureStopServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::PlayReady::PlayReadySoapMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Protection.h b/10.0.15042.0/winrt/Windows.Media.Protection.h new file mode 100644 index 000000000..6014914a2 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Protection.h @@ -0,0 +1,1010 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.Playback.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.Protection.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Media::Protection { + +template ComponentLoadFailedEventHandler::ComponentLoadFailedEventHandler(L lambda) : + ComponentLoadFailedEventHandler(impl::make_delegate, ComponentLoadFailedEventHandler>(std::forward(lambda))) +{} + +template ComponentLoadFailedEventHandler::ComponentLoadFailedEventHandler(F * function) : + ComponentLoadFailedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ComponentLoadFailedEventHandler::ComponentLoadFailedEventHandler(O * object, M method) : + ComponentLoadFailedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ComponentLoadFailedEventHandler::operator()(const Windows::Media::Protection::MediaProtectionManager & sender, const Windows::Media::Protection::ComponentLoadFailedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template RebootNeededEventHandler::RebootNeededEventHandler(L lambda) : + RebootNeededEventHandler(impl::make_delegate, RebootNeededEventHandler>(std::forward(lambda))) +{} + +template RebootNeededEventHandler::RebootNeededEventHandler(F * function) : + RebootNeededEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template RebootNeededEventHandler::RebootNeededEventHandler(O * object, M method) : + RebootNeededEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void RebootNeededEventHandler::operator()(const Windows::Media::Protection::MediaProtectionManager & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +template ServiceRequestedEventHandler::ServiceRequestedEventHandler(L lambda) : + ServiceRequestedEventHandler(impl::make_delegate, ServiceRequestedEventHandler>(std::forward(lambda))) +{} + +template ServiceRequestedEventHandler::ServiceRequestedEventHandler(F * function) : + ServiceRequestedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ServiceRequestedEventHandler::ServiceRequestedEventHandler(O * object, M method) : + ServiceRequestedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ServiceRequestedEventHandler::operator()(const Windows::Media::Protection::MediaProtectionManager & sender, const Windows::Media::Protection::ServiceRequestedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Information(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Information()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Completion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Completion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RenewSystemComponentsAsync(impl::abi_arg_in information, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RenewSystemComponentsAsync(*reinterpret_cast(&information))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsEffectiveProtectionAtLeast(Windows::Media::Protection::HdcpProtection protection, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEffectiveProtectionAtLeast(protection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEffectiveProtection(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetEffectiveProtection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDesiredMinProtectionAsync(Windows::Media::Protection::HdcpProtection protection, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SetDesiredMinProtectionAsync(protection)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProtectionChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProtectionChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProtectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ServiceRequested(impl::abi_arg_in handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ServiceRequested(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ServiceRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RebootNeeded(impl::abi_arg_in handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().RebootNeeded(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RebootNeeded(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RebootNeeded(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ComponentLoadFailed(impl::abi_arg_in handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ComponentLoadFailed(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ComponentLoadFailed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ComponentLoadFailed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Properties(impl::abi_arg_out ppProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppProperties = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *ppProperties = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePMPServer(impl::abi_arg_in pProperties, impl::abi_arg_out ppObject) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppObject = detach_abi(this->shim().CreatePMPServer(*reinterpret_cast(&pProperties))); + return S_OK; + } + catch (...) + { + *ppObject = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete(bool success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(success); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProtectionSystem(GUID * system) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *system = detach_abi(this->shim().ProtectionSystem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(GUID * type) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *type = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsTypeSupported(impl::abi_arg_in type, impl::abi_arg_in keySystem, Windows::Media::Protection::ProtectionCapabilityResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTypeSupported(*reinterpret_cast(&type), *reinterpret_cast(&keySystem))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Items(impl::abi_arg_out> items) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *items = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *items = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reasons(Windows::Media::Protection::RevocationAndRenewalReasons * reasons) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *reasons = detach_abi(this->shim().Reasons()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderHash(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderHash()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PublicKeyHash(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PublicKeyHash()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out name) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *name = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *name = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RenewalId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RenewalId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Completion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Completion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaPlaybackItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlaybackItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Protection { + +template event_token impl_IMediaProtectionManager::ServiceRequested(const Windows::Media::Protection::ServiceRequestedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaProtectionManager)->add_ServiceRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaProtectionManager::ServiceRequested(auto_revoke_t, const Windows::Media::Protection::ServiceRequestedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::IMediaProtectionManager::remove_ServiceRequested, ServiceRequested(handler)); +} + +template void impl_IMediaProtectionManager::ServiceRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaProtectionManager)->remove_ServiceRequested(cookie)); +} + +template event_token impl_IMediaProtectionManager::RebootNeeded(const Windows::Media::Protection::RebootNeededEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaProtectionManager)->add_RebootNeeded(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaProtectionManager::RebootNeeded(auto_revoke_t, const Windows::Media::Protection::RebootNeededEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::IMediaProtectionManager::remove_RebootNeeded, RebootNeeded(handler)); +} + +template void impl_IMediaProtectionManager::RebootNeeded(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaProtectionManager)->remove_RebootNeeded(cookie)); +} + +template event_token impl_IMediaProtectionManager::ComponentLoadFailed(const Windows::Media::Protection::ComponentLoadFailedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaProtectionManager)->add_ComponentLoadFailed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaProtectionManager::ComponentLoadFailed(auto_revoke_t, const Windows::Media::Protection::ComponentLoadFailedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::IMediaProtectionManager::remove_ComponentLoadFailed, ComponentLoadFailed(handler)); +} + +template void impl_IMediaProtectionManager::ComponentLoadFailed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaProtectionManager)->remove_ComponentLoadFailed(cookie)); +} + +template Windows::Foundation::Collections::IPropertySet impl_IMediaProtectionManager::Properties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IMediaProtectionManager)->get_Properties(put_abi(value))); + return value; +} + +template void impl_IMediaProtectionServiceCompletion::Complete(bool success) const +{ + check_hresult(WINRT_SHIM(IMediaProtectionServiceCompletion)->abi_Complete(success)); +} + +template Windows::Media::Protection::IMediaProtectionServiceRequest impl_IServiceRequestedEventArgs::Request() const +{ + Windows::Media::Protection::IMediaProtectionServiceRequest value; + check_hresult(WINRT_SHIM(IServiceRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Media::Protection::MediaProtectionServiceCompletion impl_IServiceRequestedEventArgs::Completion() const +{ + Windows::Media::Protection::MediaProtectionServiceCompletion value { nullptr }; + check_hresult(WINRT_SHIM(IServiceRequestedEventArgs)->get_Completion(put_abi(value))); + return value; +} + +template GUID impl_IMediaProtectionServiceRequest::ProtectionSystem() const +{ + GUID system {}; + check_hresult(WINRT_SHIM(IMediaProtectionServiceRequest)->get_ProtectionSystem(&system)); + return system; +} + +template GUID impl_IMediaProtectionServiceRequest::Type() const +{ + GUID type {}; + check_hresult(WINRT_SHIM(IMediaProtectionServiceRequest)->get_Type(&type)); + return type; +} + +template Windows::Media::Playback::MediaPlaybackItem impl_IServiceRequestedEventArgs2::MediaPlaybackItem() const +{ + Windows::Media::Playback::MediaPlaybackItem value { nullptr }; + check_hresult(WINRT_SHIM(IServiceRequestedEventArgs2)->get_MediaPlaybackItem(put_abi(value))); + return value; +} + +template Windows::Media::Protection::RevocationAndRenewalInformation impl_IComponentLoadFailedEventArgs::Information() const +{ + Windows::Media::Protection::RevocationAndRenewalInformation value { nullptr }; + check_hresult(WINRT_SHIM(IComponentLoadFailedEventArgs)->get_Information(put_abi(value))); + return value; +} + +template Windows::Media::Protection::MediaProtectionServiceCompletion impl_IComponentLoadFailedEventArgs::Completion() const +{ + Windows::Media::Protection::MediaProtectionServiceCompletion value { nullptr }; + check_hresult(WINRT_SHIM(IComponentLoadFailedEventArgs)->get_Completion(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IRevocationAndRenewalInformation::Items() const +{ + Windows::Foundation::Collections::IVector items; + check_hresult(WINRT_SHIM(IRevocationAndRenewalInformation)->get_Items(put_abi(items))); + return items; +} + +template Windows::Media::Protection::RevocationAndRenewalReasons impl_IRevocationAndRenewalItem::Reasons() const +{ + Windows::Media::Protection::RevocationAndRenewalReasons reasons {}; + check_hresult(WINRT_SHIM(IRevocationAndRenewalItem)->get_Reasons(&reasons)); + return reasons; +} + +template hstring impl_IRevocationAndRenewalItem::HeaderHash() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRevocationAndRenewalItem)->get_HeaderHash(put_abi(value))); + return value; +} + +template hstring impl_IRevocationAndRenewalItem::PublicKeyHash() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRevocationAndRenewalItem)->get_PublicKeyHash(put_abi(value))); + return value; +} + +template hstring impl_IRevocationAndRenewalItem::Name() const +{ + hstring name; + check_hresult(WINRT_SHIM(IRevocationAndRenewalItem)->get_Name(put_abi(name))); + return name; +} + +template hstring impl_IRevocationAndRenewalItem::RenewalId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRevocationAndRenewalItem)->get_RenewalId(put_abi(value))); + return value; +} + +template Windows::Media::Protection::MediaProtectionPMPServer impl_IMediaProtectionPMPServerFactory::CreatePMPServer(const Windows::Foundation::Collections::IPropertySet & pProperties) const +{ + Windows::Media::Protection::MediaProtectionPMPServer ppObject { nullptr }; + check_hresult(WINRT_SHIM(IMediaProtectionPMPServerFactory)->abi_CreatePMPServer(get_abi(pProperties), put_abi(ppObject))); + return ppObject; +} + +template Windows::Foundation::Collections::IPropertySet impl_IMediaProtectionPMPServer::Properties() const +{ + Windows::Foundation::Collections::IPropertySet ppProperties; + check_hresult(WINRT_SHIM(IMediaProtectionPMPServer)->get_Properties(put_abi(ppProperties))); + return ppProperties; +} + +template Windows::Media::Protection::ProtectionCapabilityResult impl_IProtectionCapabilities::IsTypeSupported(hstring_view type, hstring_view keySystem) const +{ + Windows::Media::Protection::ProtectionCapabilityResult value {}; + check_hresult(WINRT_SHIM(IProtectionCapabilities)->abi_IsTypeSupported(get_abi(type), get_abi(keySystem), &value)); + return value; +} + +template bool impl_IHdcpSession::IsEffectiveProtectionAtLeast(Windows::Media::Protection::HdcpProtection protection) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHdcpSession)->abi_IsEffectiveProtectionAtLeast(protection, &value)); + return value; +} + +template Windows::Foundation::IReference impl_IHdcpSession::GetEffectiveProtection() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IHdcpSession)->abi_GetEffectiveProtection(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IHdcpSession::SetDesiredMinProtectionAsync(Windows::Media::Protection::HdcpProtection protection) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IHdcpSession)->abi_SetDesiredMinProtectionAsync(protection, put_abi(value))); + return value; +} + +template event_token impl_IHdcpSession::ProtectionChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHdcpSession)->add_ProtectionChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IHdcpSession::ProtectionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Protection::IHdcpSession::remove_ProtectionChanged, ProtectionChanged(handler)); +} + +template void impl_IHdcpSession::ProtectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IHdcpSession)->remove_ProtectionChanged(token)); +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IComponentRenewalStatics::RenewSystemComponentsAsync(const Windows::Media::Protection::RevocationAndRenewalInformation & information) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IComponentRenewalStatics)->abi_RenewSystemComponentsAsync(get_abi(information), put_abi(operation))); + return operation; +} + +inline Windows::Foundation::IAsyncOperationWithProgress ComponentRenewal::RenewSystemComponentsAsync(const Windows::Media::Protection::RevocationAndRenewalInformation & information) +{ + return get_activation_factory().RenewSystemComponentsAsync(information); +} + +inline HdcpSession::HdcpSession() : + HdcpSession(activate_instance()) +{} + +inline MediaProtectionManager::MediaProtectionManager() : + MediaProtectionManager(activate_instance()) +{} + +inline MediaProtectionPMPServer::MediaProtectionPMPServer(const Windows::Foundation::Collections::IPropertySet & pProperties) : + MediaProtectionPMPServer(get_activation_factory().CreatePMPServer(pProperties)) +{} + +inline ProtectionCapabilities::ProtectionCapabilities() : + ProtectionCapabilities(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IComponentLoadFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IComponentRenewalStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IHdcpSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IMediaProtectionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IMediaProtectionPMPServer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IMediaProtectionPMPServerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IMediaProtectionServiceCompletion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IMediaProtectionServiceRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IProtectionCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IRevocationAndRenewalInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IRevocationAndRenewalItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IServiceRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::IServiceRequestedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::ComponentLoadFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::HdcpSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::MediaProtectionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::MediaProtectionPMPServer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::MediaProtectionServiceCompletion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::ProtectionCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::RevocationAndRenewalInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::RevocationAndRenewalItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Protection::ServiceRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Render.h b/10.0.15042.0/winrt/Windows.Media.Render.h new file mode 100644 index 000000000..b076d4795 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Render.h @@ -0,0 +1,20 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Media.Render.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +} + +} + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.SpeechRecognition.h b/10.0.15042.0/winrt/Windows.Media.SpeechRecognition.h new file mode 100644 index 000000000..e24764dae --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.SpeechRecognition.h @@ -0,0 +1,2440 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.Media.SpeechRecognition.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Result(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AutoStopSilenceTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoStopSilenceTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoStopSilenceTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoStopSilenceTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartWithModeAsync(Windows::Media::SpeechRecognition::SpeechContinuousRecognitionMode mode, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartAsync(mode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StopAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CancelAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CancelAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PauseAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PauseAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resume() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resume(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in> value, event_token * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Completed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ResultGenerated(impl::abi_arg_in> value, event_token * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ResultGenerated(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ResultGenerated(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResultGenerated(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Media::SpeechRecognition::SpeechRecognitionConstraintType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Probability(Windows::Media::SpeechRecognition::SpeechRecognitionConstraintProbability * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Probability()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Probability(Windows::Media::SpeechRecognition::SpeechRecognitionConstraintProbability value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Probability(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GrammarFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GrammarFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in file, impl::abi_arg_out constraint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *constraint = detach_abi(this->shim().Create(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *constraint = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTag(impl::abi_arg_in file, impl::abi_arg_in tag, impl::abi_arg_out constraint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *constraint = detach_abi(this->shim().CreateWithTag(*reinterpret_cast(&file), *reinterpret_cast(&tag))); + return S_OK; + } + catch (...) + { + *constraint = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Hypothesis(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hypothesis()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Commands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Commands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> commands, impl::abi_arg_out constraint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *constraint = detach_abi(this->shim().Create(*reinterpret_cast *>(&commands))); + return S_OK; + } + catch (...) + { + *constraint = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTag(impl::abi_arg_in> commands, impl::abi_arg_in tag, impl::abi_arg_out constraint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *constraint = detach_abi(this->shim().CreateWithTag(*reinterpret_cast *>(&commands), *reinterpret_cast(&tag))); + return S_OK; + } + catch (...) + { + *constraint = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Problem(Windows::Media::SpeechRecognition::SpeechRecognitionAudioProblem * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Problem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Confidence(Windows::Media::SpeechRecognition::SpeechRecognitionConfidence * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Confidence()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SemanticInterpretation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SemanticInterpretation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlternates(uint32_t maxAlternates, impl::abi_arg_out> alternates) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *alternates = detach_abi(this->shim().GetAlternates(maxAlternates)); + return S_OK; + } + catch (...) + { + *alternates = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Constraint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Constraint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RulePath(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RulePath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawConfidence(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawConfidence()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PhraseStartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhraseStartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhraseDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhraseDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Properties(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Scenario(Windows::Media::SpeechRecognition::SpeechRecognitionScenario * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scenario()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopicHint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopicHint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Media::SpeechRecognition::SpeechRecognitionScenario scenario, impl::abi_arg_in topicHint, impl::abi_arg_out constraint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *constraint = detach_abi(this->shim().Create(scenario, *reinterpret_cast(&topicHint))); + return S_OK; + } + catch (...) + { + *constraint = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTag(Windows::Media::SpeechRecognition::SpeechRecognitionScenario scenario, impl::abi_arg_in topicHint, impl::abi_arg_in tag, impl::abi_arg_out constraint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *constraint = detach_abi(this->shim().CreateWithTag(scenario, *reinterpret_cast(&topicHint), *reinterpret_cast(&tag))); + return S_OK; + } + catch (...) + { + *constraint = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentLanguage(impl::abi_arg_out language) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *language = detach_abi(this->shim().CurrentLanguage()); + return S_OK; + } + catch (...) + { + *language = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Constraints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Constraints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timeouts(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timeouts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UIOptions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UIOptions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompileConstraintsAsync(impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().CompileConstraintsAsync()); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RecognizeAsync(impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().RecognizeAsync()); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RecognizeWithUIAsync(impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().RecognizeWithUIAsync()); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecognitionQualityDegrading(impl::abi_arg_in> speechRecognitionQualityDegradingHandler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().RecognitionQualityDegrading(*reinterpret_cast *>(&speechRecognitionQualityDegradingHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecognitionQualityDegrading(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecognitionQualityDegrading(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> stateChangedHandler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&stateChangedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContinuousRecognitionSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContinuousRecognitionSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Media::SpeechRecognition::SpeechRecognizerState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopRecognitionAsync(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StopRecognitionAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HypothesisGenerated(impl::abi_arg_in> value, event_token * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().HypothesisGenerated(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HypothesisGenerated(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HypothesisGenerated(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in language, impl::abi_arg_out recognizer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *recognizer = detach_abi(this->shim().Create(*reinterpret_cast(&language))); + return S_OK; + } + catch (...) + { + *recognizer = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Media::SpeechRecognition::SpeechRecognizerState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SystemSpeechLanguage(impl::abi_arg_out language) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *language = detach_abi(this->shim().SystemSpeechLanguage()); + return S_OK; + } + catch (...) + { + *language = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedTopicLanguages(impl::abi_arg_out> languages) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *languages = detach_abi(this->shim().SupportedTopicLanguages()); + return S_OK; + } + catch (...) + { + *languages = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedGrammarLanguages(impl::abi_arg_out> languages) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *languages = detach_abi(this->shim().SupportedGrammarLanguages()); + return S_OK; + } + catch (...) + { + *languages = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InitialSilenceTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialSilenceTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InitialSilenceTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialSilenceTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndSilenceTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndSilenceTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EndSilenceTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndSilenceTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BabbleTimeout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BabbleTimeout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BabbleTimeout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BabbleTimeout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExampleText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExampleText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExampleText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExampleText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudiblePrompt(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudiblePrompt()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudiblePrompt(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudiblePrompt(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReadBackEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadBackEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsReadBackEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsReadBackEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowConfirmation(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowConfirmation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowConfirmation(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowConfirmation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InstallCommandSetsFromStorageFileAsync(impl::abi_arg_in file, impl::abi_arg_out installAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *installAction = detach_abi(this->shim().InstallCommandSetsFromStorageFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *installAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstalledCommandSets(impl::abi_arg_out> voiceCommandSets) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *voiceCommandSets = detach_abi(this->shim().InstalledCommandSets()); + return S_OK; + } + catch (...) + { + *voiceCommandSets = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPhraseListAsync(impl::abi_arg_in phraseListName, impl::abi_arg_in> phraseList, impl::abi_arg_out updateAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updateAction = detach_abi(this->shim().SetPhraseListAsync(*reinterpret_cast(&phraseListName), *reinterpret_cast *>(&phraseList))); + return S_OK; + } + catch (...) + { + *updateAction = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::SpeechRecognition { + +template Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus impl_ISpeechRecognitionCompilationResult::Status() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionCompilationResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISpeechRecognizerTimeouts::InitialSilenceTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISpeechRecognizerTimeouts)->get_InitialSilenceTimeout(put_abi(value))); + return value; +} + +template void impl_ISpeechRecognizerTimeouts::InitialSilenceTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizerTimeouts)->put_InitialSilenceTimeout(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ISpeechRecognizerTimeouts::EndSilenceTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISpeechRecognizerTimeouts)->get_EndSilenceTimeout(put_abi(value))); + return value; +} + +template void impl_ISpeechRecognizerTimeouts::EndSilenceTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizerTimeouts)->put_EndSilenceTimeout(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ISpeechRecognizerTimeouts::BabbleTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISpeechRecognizerTimeouts)->get_BabbleTimeout(put_abi(value))); + return value; +} + +template void impl_ISpeechRecognizerTimeouts::BabbleTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizerTimeouts)->put_BabbleTimeout(get_abi(value))); +} + +template hstring impl_ISpeechRecognizerUIOptions::ExampleText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->get_ExampleText(put_abi(value))); + return value; +} + +template void impl_ISpeechRecognizerUIOptions::ExampleText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->put_ExampleText(get_abi(value))); +} + +template hstring impl_ISpeechRecognizerUIOptions::AudiblePrompt() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->get_AudiblePrompt(put_abi(value))); + return value; +} + +template void impl_ISpeechRecognizerUIOptions::AudiblePrompt(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->put_AudiblePrompt(get_abi(value))); +} + +template bool impl_ISpeechRecognizerUIOptions::IsReadBackEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->get_IsReadBackEnabled(&value)); + return value; +} + +template void impl_ISpeechRecognizerUIOptions::IsReadBackEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->put_IsReadBackEnabled(value)); +} + +template bool impl_ISpeechRecognizerUIOptions::ShowConfirmation() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->get_ShowConfirmation(&value)); + return value; +} + +template void impl_ISpeechRecognizerUIOptions::ShowConfirmation(bool value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizerUIOptions)->put_ShowConfirmation(value)); +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus impl_ISpeechRecognitionResult::Status() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->get_Status(&value)); + return value; +} + +template hstring impl_ISpeechRecognitionResult::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->get_Text(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionConfidence impl_ISpeechRecognitionResult::Confidence() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionConfidence value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->get_Confidence(&value)); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionSemanticInterpretation impl_ISpeechRecognitionResult::SemanticInterpretation() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionSemanticInterpretation value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->get_SemanticInterpretation(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpeechRecognitionResult::GetAlternates(uint32_t maxAlternates) const +{ + Windows::Foundation::Collections::IVectorView alternates; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->abi_GetAlternates(maxAlternates, put_abi(alternates))); + return alternates; +} + +template Windows::Media::SpeechRecognition::ISpeechRecognitionConstraint impl_ISpeechRecognitionResult::Constraint() const +{ + Windows::Media::SpeechRecognition::ISpeechRecognitionConstraint value; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->get_Constraint(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpeechRecognitionResult::RulePath() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->get_RulePath(put_abi(value))); + return value; +} + +template double impl_ISpeechRecognitionResult::RawConfidence() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult)->get_RawConfidence(&value)); + return value; +} + +template bool impl_ISpeechRecognitionConstraint::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionConstraint)->get_IsEnabled(&value)); + return value; +} + +template void impl_ISpeechRecognitionConstraint::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognitionConstraint)->put_IsEnabled(value)); +} + +template hstring impl_ISpeechRecognitionConstraint::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeechRecognitionConstraint)->get_Tag(put_abi(value))); + return value; +} + +template void impl_ISpeechRecognitionConstraint::Tag(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognitionConstraint)->put_Tag(get_abi(value))); +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionConstraintType impl_ISpeechRecognitionConstraint::Type() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionConstraintType value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionConstraint)->get_Type(&value)); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionConstraintProbability impl_ISpeechRecognitionConstraint::Probability() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionConstraintProbability value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionConstraint)->get_Probability(&value)); + return value; +} + +template void impl_ISpeechRecognitionConstraint::Probability(Windows::Media::SpeechRecognition::SpeechRecognitionConstraintProbability value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognitionConstraint)->put_Probability(value)); +} + +template Windows::Foundation::DateTime impl_ISpeechRecognitionResult2::PhraseStartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult2)->get_PhraseStartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISpeechRecognitionResult2::PhraseDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionResult2)->get_PhraseDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView> impl_ISpeechRecognitionSemanticInterpretation::Properties() const +{ + Windows::Foundation::Collections::IMapView> value; + check_hresult(WINRT_SHIM(ISpeechRecognitionSemanticInterpretation)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionScenario impl_ISpeechRecognitionTopicConstraint::Scenario() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionScenario value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionTopicConstraint)->get_Scenario(&value)); + return value; +} + +template hstring impl_ISpeechRecognitionTopicConstraint::TopicHint() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeechRecognitionTopicConstraint)->get_TopicHint(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionTopicConstraint impl_ISpeechRecognitionTopicConstraintFactory::Create(Windows::Media::SpeechRecognition::SpeechRecognitionScenario scenario, hstring_view topicHint) const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionTopicConstraint constraint { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionTopicConstraintFactory)->abi_Create(scenario, get_abi(topicHint), put_abi(constraint))); + return constraint; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionTopicConstraint impl_ISpeechRecognitionTopicConstraintFactory::CreateWithTag(Windows::Media::SpeechRecognition::SpeechRecognitionScenario scenario, hstring_view topicHint, hstring_view tag) const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionTopicConstraint constraint { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionTopicConstraintFactory)->abi_CreateWithTag(scenario, get_abi(topicHint), get_abi(tag), put_abi(constraint))); + return constraint; +} + +template Windows::Foundation::Collections::IVector impl_ISpeechRecognitionListConstraint::Commands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISpeechRecognitionListConstraint)->get_Commands(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionListConstraint impl_ISpeechRecognitionListConstraintFactory::Create(iterable commands) const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionListConstraint constraint { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionListConstraintFactory)->abi_Create(get_abi(commands), put_abi(constraint))); + return constraint; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionListConstraint impl_ISpeechRecognitionListConstraintFactory::CreateWithTag(iterable commands, hstring_view tag) const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionListConstraint constraint { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionListConstraintFactory)->abi_CreateWithTag(get_abi(commands), get_abi(tag), put_abi(constraint))); + return constraint; +} + +template Windows::Storage::StorageFile impl_ISpeechRecognitionGrammarFileConstraint::GrammarFile() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionGrammarFileConstraint)->get_GrammarFile(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionGrammarFileConstraint impl_ISpeechRecognitionGrammarFileConstraintFactory::Create(const Windows::Storage::StorageFile & file) const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionGrammarFileConstraint constraint { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionGrammarFileConstraintFactory)->abi_Create(get_abi(file), put_abi(constraint))); + return constraint; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionGrammarFileConstraint impl_ISpeechRecognitionGrammarFileConstraintFactory::CreateWithTag(const Windows::Storage::StorageFile & file, hstring_view tag) const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionGrammarFileConstraint constraint { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionGrammarFileConstraintFactory)->abi_CreateWithTag(get_abi(file), get_abi(tag), put_abi(constraint))); + return constraint; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionAudioProblem impl_ISpeechRecognitionQualityDegradingEventArgs::Problem() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionAudioProblem value {}; + check_hresult(WINRT_SHIM(ISpeechRecognitionQualityDegradingEventArgs)->get_Problem(&value)); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognizerState impl_ISpeechRecognizerStateChangedEventArgs::State() const +{ + Windows::Media::SpeechRecognition::SpeechRecognizerState value {}; + check_hresult(WINRT_SHIM(ISpeechRecognizerStateChangedEventArgs)->get_State(&value)); + return value; +} + +template Windows::Globalization::Language impl_ISpeechRecognizer::CurrentLanguage() const +{ + Windows::Globalization::Language language { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->get_CurrentLanguage(put_abi(language))); + return language; +} + +template Windows::Foundation::Collections::IVector impl_ISpeechRecognizer::Constraints() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->get_Constraints(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognizerTimeouts impl_ISpeechRecognizer::Timeouts() const +{ + Windows::Media::SpeechRecognition::SpeechRecognizerTimeouts value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->get_Timeouts(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognizerUIOptions impl_ISpeechRecognizer::UIOptions() const +{ + Windows::Media::SpeechRecognition::SpeechRecognizerUIOptions value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->get_UIOptions(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISpeechRecognizer::CompileConstraintsAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->abi_CompileConstraintsAsync(put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ISpeechRecognizer::RecognizeAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->abi_RecognizeAsync(put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ISpeechRecognizer::RecognizeWithUIAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->abi_RecognizeWithUIAsync(put_abi(asyncOperation))); + return asyncOperation; +} + +template event_token impl_ISpeechRecognizer::RecognitionQualityDegrading(const Windows::Foundation::TypedEventHandler & speechRecognitionQualityDegradingHandler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->add_RecognitionQualityDegrading(get_abi(speechRecognitionQualityDegradingHandler), &cookie)); + return cookie; +} + +template event_revoker impl_ISpeechRecognizer::RecognitionQualityDegrading(auto_revoke_t, const Windows::Foundation::TypedEventHandler & speechRecognitionQualityDegradingHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::SpeechRecognition::ISpeechRecognizer::remove_RecognitionQualityDegrading, RecognitionQualityDegrading(speechRecognitionQualityDegradingHandler)); +} + +template void impl_ISpeechRecognizer::RecognitionQualityDegrading(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizer)->remove_RecognitionQualityDegrading(cookie)); +} + +template event_token impl_ISpeechRecognizer::StateChanged(const Windows::Foundation::TypedEventHandler & stateChangedHandler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISpeechRecognizer)->add_StateChanged(get_abi(stateChangedHandler), &cookie)); + return cookie; +} + +template event_revoker impl_ISpeechRecognizer::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & stateChangedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::SpeechRecognition::ISpeechRecognizer::remove_StateChanged, StateChanged(stateChangedHandler)); +} + +template void impl_ISpeechRecognizer::StateChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizer)->remove_StateChanged(cookie)); +} + +template Windows::Media::SpeechRecognition::SpeechRecognizer impl_ISpeechRecognizerFactory::Create(const Windows::Globalization::Language & language) const +{ + Windows::Media::SpeechRecognition::SpeechRecognizer recognizer { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognizerFactory)->abi_Create(get_abi(language), put_abi(recognizer))); + return recognizer; +} + +template Windows::Globalization::Language impl_ISpeechRecognizerStatics::SystemSpeechLanguage() const +{ + Windows::Globalization::Language language { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognizerStatics)->get_SystemSpeechLanguage(put_abi(language))); + return language; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpeechRecognizerStatics::SupportedTopicLanguages() const +{ + Windows::Foundation::Collections::IVectorView languages; + check_hresult(WINRT_SHIM(ISpeechRecognizerStatics)->get_SupportedTopicLanguages(put_abi(languages))); + return languages; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpeechRecognizerStatics::SupportedGrammarLanguages() const +{ + Windows::Foundation::Collections::IVectorView languages; + check_hresult(WINRT_SHIM(ISpeechRecognizerStatics)->get_SupportedGrammarLanguages(put_abi(languages))); + return languages; +} + +template Windows::Media::SpeechRecognition::SpeechContinuousRecognitionSession impl_ISpeechRecognizer2::ContinuousRecognitionSession() const +{ + Windows::Media::SpeechRecognition::SpeechContinuousRecognitionSession value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognizer2)->get_ContinuousRecognitionSession(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognizerState impl_ISpeechRecognizer2::State() const +{ + Windows::Media::SpeechRecognition::SpeechRecognizerState value {}; + check_hresult(WINRT_SHIM(ISpeechRecognizer2)->get_State(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISpeechRecognizer2::StopRecognitionAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ISpeechRecognizer2)->abi_StopRecognitionAsync(put_abi(value))); + return value; +} + +template event_token impl_ISpeechRecognizer2::HypothesisGenerated(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token returnValue {}; + check_hresult(WINRT_SHIM(ISpeechRecognizer2)->add_HypothesisGenerated(get_abi(value), &returnValue)); + return returnValue; +} + +template event_revoker impl_ISpeechRecognizer2::HypothesisGenerated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::SpeechRecognition::ISpeechRecognizer2::remove_HypothesisGenerated, HypothesisGenerated(value)); +} + +template void impl_ISpeechRecognizer2::HypothesisGenerated(event_token value) const +{ + check_hresult(WINRT_SHIM(ISpeechRecognizer2)->remove_HypothesisGenerated(value)); +} + +template hstring impl_ISpeechRecognitionHypothesis::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeechRecognitionHypothesis)->get_Text(put_abi(value))); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionHypothesis impl_ISpeechRecognitionHypothesisGeneratedEventArgs::Hypothesis() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionHypothesis value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechRecognitionHypothesisGeneratedEventArgs)->get_Hypothesis(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISpeechContinuousRecognitionSession::AutoStopSilenceTimeout() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->get_AutoStopSilenceTimeout(put_abi(value))); + return value; +} + +template void impl_ISpeechContinuousRecognitionSession::AutoStopSilenceTimeout(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->put_AutoStopSilenceTimeout(get_abi(value))); +} + +template Windows::Foundation::IAsyncAction impl_ISpeechContinuousRecognitionSession::StartAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->abi_StartAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISpeechContinuousRecognitionSession::StartAsync(Windows::Media::SpeechRecognition::SpeechContinuousRecognitionMode mode) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->abi_StartWithModeAsync(mode, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISpeechContinuousRecognitionSession::StopAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->abi_StopAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISpeechContinuousRecognitionSession::CancelAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->abi_CancelAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISpeechContinuousRecognitionSession::PauseAsync() const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->abi_PauseAsync(put_abi(value))); + return value; +} + +template void impl_ISpeechContinuousRecognitionSession::Resume() const +{ + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->abi_Resume()); +} + +template event_token impl_ISpeechContinuousRecognitionSession::Completed(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token returnValue {}; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->add_Completed(get_abi(value), &returnValue)); + return returnValue; +} + +template event_revoker impl_ISpeechContinuousRecognitionSession::Completed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::SpeechRecognition::ISpeechContinuousRecognitionSession::remove_Completed, Completed(value)); +} + +template void impl_ISpeechContinuousRecognitionSession::Completed(event_token value) const +{ + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->remove_Completed(value)); +} + +template event_token impl_ISpeechContinuousRecognitionSession::ResultGenerated(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token returnValue {}; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->add_ResultGenerated(get_abi(value), &returnValue)); + return returnValue; +} + +template event_revoker impl_ISpeechContinuousRecognitionSession::ResultGenerated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::SpeechRecognition::ISpeechContinuousRecognitionSession::remove_ResultGenerated, ResultGenerated(value)); +} + +template void impl_ISpeechContinuousRecognitionSession::ResultGenerated(event_token value) const +{ + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionSession)->remove_ResultGenerated(value)); +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus impl_ISpeechContinuousRecognitionCompletedEventArgs::Status() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionResultStatus value {}; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionCompletedEventArgs)->get_Status(&value)); + return value; +} + +template Windows::Media::SpeechRecognition::SpeechRecognitionResult impl_ISpeechContinuousRecognitionResultGeneratedEventArgs::Result() const +{ + Windows::Media::SpeechRecognition::SpeechRecognitionResult value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechContinuousRecognitionResultGeneratedEventArgs)->get_Result(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandManager::InstallCommandSetsFromStorageFileAsync(const Windows::Storage::StorageFile & file) const +{ + Windows::Foundation::IAsyncAction installAction; + check_hresult(WINRT_SHIM(IVoiceCommandManager)->abi_InstallCommandSetsFromStorageFileAsync(get_abi(file), put_abi(installAction))); + return installAction; +} + +template Windows::Foundation::Collections::IMapView impl_IVoiceCommandManager::InstalledCommandSets() const +{ + Windows::Foundation::Collections::IMapView voiceCommandSets; + check_hresult(WINRT_SHIM(IVoiceCommandManager)->get_InstalledCommandSets(put_abi(voiceCommandSets))); + return voiceCommandSets; +} + +template hstring impl_IVoiceCommandSet::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandSet)->get_Language(put_abi(value))); + return value; +} + +template hstring impl_IVoiceCommandSet::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceCommandSet)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IVoiceCommandSet::SetPhraseListAsync(hstring_view phraseListName, iterable phraseList) const +{ + Windows::Foundation::IAsyncAction updateAction; + check_hresult(WINRT_SHIM(IVoiceCommandSet)->abi_SetPhraseListAsync(get_abi(phraseListName), get_abi(phraseList), put_abi(updateAction))); + return updateAction; +} + +inline SpeechRecognitionGrammarFileConstraint::SpeechRecognitionGrammarFileConstraint(const Windows::Storage::StorageFile & file) : + SpeechRecognitionGrammarFileConstraint(get_activation_factory().Create(file)) +{} + +inline SpeechRecognitionGrammarFileConstraint::SpeechRecognitionGrammarFileConstraint(const Windows::Storage::StorageFile & file, hstring_view tag) : + SpeechRecognitionGrammarFileConstraint(get_activation_factory().CreateWithTag(file, tag)) +{} + +inline SpeechRecognitionListConstraint::SpeechRecognitionListConstraint(iterable commands) : + SpeechRecognitionListConstraint(get_activation_factory().Create(commands)) +{} + +inline SpeechRecognitionListConstraint::SpeechRecognitionListConstraint(iterable commands, hstring_view tag) : + SpeechRecognitionListConstraint(get_activation_factory().CreateWithTag(commands, tag)) +{} + +inline SpeechRecognitionTopicConstraint::SpeechRecognitionTopicConstraint(Windows::Media::SpeechRecognition::SpeechRecognitionScenario scenario, hstring_view topicHint) : + SpeechRecognitionTopicConstraint(get_activation_factory().Create(scenario, topicHint)) +{} + +inline SpeechRecognitionTopicConstraint::SpeechRecognitionTopicConstraint(Windows::Media::SpeechRecognition::SpeechRecognitionScenario scenario, hstring_view topicHint, hstring_view tag) : + SpeechRecognitionTopicConstraint(get_activation_factory().CreateWithTag(scenario, topicHint, tag)) +{} + +inline SpeechRecognizer::SpeechRecognizer() : + SpeechRecognizer(activate_instance()) +{} + +inline SpeechRecognizer::SpeechRecognizer(const Windows::Globalization::Language & language) : + SpeechRecognizer(get_activation_factory().Create(language)) +{} + +inline Windows::Globalization::Language SpeechRecognizer::SystemSpeechLanguage() +{ + return get_activation_factory().SystemSpeechLanguage(); +} + +inline Windows::Foundation::Collections::IVectorView SpeechRecognizer::SupportedTopicLanguages() +{ + return get_activation_factory().SupportedTopicLanguages(); +} + +inline Windows::Foundation::Collections::IVectorView SpeechRecognizer::SupportedGrammarLanguages() +{ + return get_activation_factory().SupportedGrammarLanguages(); +} + +inline Windows::Foundation::IAsyncAction VoiceCommandManager::InstallCommandSetsFromStorageFileAsync(const Windows::Storage::StorageFile & file) +{ + return get_activation_factory().InstallCommandSetsFromStorageFileAsync(file); +} + +inline Windows::Foundation::Collections::IMapView VoiceCommandManager::InstalledCommandSets() +{ + return get_activation_factory().InstalledCommandSets(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechContinuousRecognitionCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechContinuousRecognitionResultGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechContinuousRecognitionSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionCompilationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionGrammarFileConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionGrammarFileConstraintFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionHypothesis & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionHypothesisGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionListConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionListConstraintFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionQualityDegradingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionSemanticInterpretation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionTopicConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionTopicConstraintFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognitionVoiceCommandDefinitionConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognizer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognizerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognizerStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognizerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognizerTimeouts & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::ISpeechRecognizerUIOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::IVoiceCommandManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::IVoiceCommandSet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechContinuousRecognitionCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechContinuousRecognitionResultGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechContinuousRecognitionSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionCompilationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionGrammarFileConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionHypothesis & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionHypothesisGeneratedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionListConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionQualityDegradingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionSemanticInterpretation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionTopicConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognitionVoiceCommandDefinitionConstraint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognizerStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognizerTimeouts & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::SpeechRecognizerUIOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechRecognition::VoiceCommandSet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.SpeechSynthesis.h b/10.0.15042.0/winrt/Windows.Media.SpeechSynthesis.h new file mode 100644 index 000000000..461eb4d56 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.SpeechSynthesis.h @@ -0,0 +1,519 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Media.SpeechSynthesis.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" +#include "Windows.Media.Core.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllVoices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllVoices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultVoice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultVoice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Markers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Markers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SynthesizeTextToStreamAsync(impl::abi_arg_in text, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SynthesizeTextToStreamAsync(*reinterpret_cast(&text))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SynthesizeSsmlToStreamAsync(impl::abi_arg_in Ssml, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SynthesizeSsmlToStreamAsync(*reinterpret_cast(&Ssml))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Voice(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Voice(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Voice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Voice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Options(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IncludeWordBoundaryMetadata(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeWordBoundaryMetadata()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeWordBoundaryMetadata(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeWordBoundaryMetadata(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeSentenceBoundaryMetadata(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeSentenceBoundaryMetadata()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeSentenceBoundaryMetadata(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeSentenceBoundaryMetadata(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gender(Windows::Media::SpeechSynthesis::VoiceGender * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gender()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::SpeechSynthesis { + +template hstring impl_IVoiceInformation::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceInformation)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IVoiceInformation::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceInformation)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IVoiceInformation::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceInformation)->get_Language(put_abi(value))); + return value; +} + +template hstring impl_IVoiceInformation::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVoiceInformation)->get_Description(put_abi(value))); + return value; +} + +template Windows::Media::SpeechSynthesis::VoiceGender impl_IVoiceInformation::Gender() const +{ + Windows::Media::SpeechSynthesis::VoiceGender value {}; + check_hresult(WINRT_SHIM(IVoiceInformation)->get_Gender(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInstalledVoicesStatic::AllVoices() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IInstalledVoicesStatic)->get_AllVoices(put_abi(value))); + return value; +} + +template Windows::Media::SpeechSynthesis::VoiceInformation impl_IInstalledVoicesStatic::DefaultVoice() const +{ + Windows::Media::SpeechSynthesis::VoiceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IInstalledVoicesStatic)->get_DefaultVoice(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpeechSynthesisStream::Markers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISpeechSynthesisStream)->get_Markers(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISpeechSynthesizer::SynthesizeTextToStreamAsync(hstring_view text) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISpeechSynthesizer)->abi_SynthesizeTextToStreamAsync(get_abi(text), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISpeechSynthesizer::SynthesizeSsmlToStreamAsync(hstring_view Ssml) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISpeechSynthesizer)->abi_SynthesizeSsmlToStreamAsync(get_abi(Ssml), put_abi(operation))); + return operation; +} + +template void impl_ISpeechSynthesizer::Voice(const Windows::Media::SpeechSynthesis::VoiceInformation & value) const +{ + check_hresult(WINRT_SHIM(ISpeechSynthesizer)->put_Voice(get_abi(value))); +} + +template Windows::Media::SpeechSynthesis::VoiceInformation impl_ISpeechSynthesizer::Voice() const +{ + Windows::Media::SpeechSynthesis::VoiceInformation value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechSynthesizer)->get_Voice(put_abi(value))); + return value; +} + +template Windows::Media::SpeechSynthesis::SpeechSynthesizerOptions impl_ISpeechSynthesizer2::Options() const +{ + Windows::Media::SpeechSynthesis::SpeechSynthesizerOptions value { nullptr }; + check_hresult(WINRT_SHIM(ISpeechSynthesizer2)->get_Options(put_abi(value))); + return value; +} + +template bool impl_ISpeechSynthesizerOptions::IncludeWordBoundaryMetadata() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpeechSynthesizerOptions)->get_IncludeWordBoundaryMetadata(&value)); + return value; +} + +template void impl_ISpeechSynthesizerOptions::IncludeWordBoundaryMetadata(bool value) const +{ + check_hresult(WINRT_SHIM(ISpeechSynthesizerOptions)->put_IncludeWordBoundaryMetadata(value)); +} + +template bool impl_ISpeechSynthesizerOptions::IncludeSentenceBoundaryMetadata() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpeechSynthesizerOptions)->get_IncludeSentenceBoundaryMetadata(&value)); + return value; +} + +template void impl_ISpeechSynthesizerOptions::IncludeSentenceBoundaryMetadata(bool value) const +{ + check_hresult(WINRT_SHIM(ISpeechSynthesizerOptions)->put_IncludeSentenceBoundaryMetadata(value)); +} + +inline SpeechSynthesizer::SpeechSynthesizer() : + SpeechSynthesizer(activate_instance()) +{} + +inline Windows::Foundation::Collections::IVectorView SpeechSynthesizer::AllVoices() +{ + return get_activation_factory().AllVoices(); +} + +inline Windows::Media::SpeechSynthesis::VoiceInformation SpeechSynthesizer::DefaultVoice() +{ + return get_activation_factory().DefaultVoice(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::IInstalledVoicesStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::ISpeechSynthesisStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::ISpeechSynthesizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::ISpeechSynthesizer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::ISpeechSynthesizerOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::IVoiceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::SpeechSynthesisStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::SpeechSynthesizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::SpeechSynthesizerOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SpeechSynthesis::VoiceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Streaming.Adaptive.h b/10.0.15042.0/winrt/Windows.Media.Streaming.Adaptive.h new file mode 100644 index 000000000..afcc82456 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Streaming.Adaptive.h @@ -0,0 +1,2871 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Web.Http.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Media.Streaming.Adaptive.3.h" +#include "Windows.Media.h" +#include "Windows.Foundation.h" +#include "Windows.Media.Core.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsLive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredLiveOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredLiveOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredLiveOffset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredLiveOffset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InitialBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InitialBitrate(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialBitrate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentDownloadBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentDownloadBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentPlaybackBitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentPlaybackBitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableBitrates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableBitrates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredMinBitrate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredMinBitrate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredMinBitrate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredMinBitrate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredMaxBitrate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredMaxBitrate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredMaxBitrate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredMaxBitrate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioOnlyPlayback(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioOnlyPlayback()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InboundBitsPerSecond(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InboundBitsPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InboundBitsPerSecondWindow(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InboundBitsPerSecondWindow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InboundBitsPerSecondWindow(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InboundBitsPerSecondWindow(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadBitrateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadBitrateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadBitrateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadBitrateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlaybackBitrateChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlaybackBitrateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlaybackBitrateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackBitrateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadFailed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadFailed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AdvancedSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvancedSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinLiveOffset(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinLiveOffset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSeekableWindowSize(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSeekableWindowSize()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredSeekableWindowSize(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredSeekableWindowSize()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredSeekableWindowSize(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredSeekableWindowSize(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Diagnostics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Diagnostics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCorrelatedTimes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCorrelatedTimes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllSegmentsIndependent(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllSegmentsIndependent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllSegmentsIndependent(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllSegmentsIndependent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredBitrateHeadroomRatio(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredBitrateHeadroomRatio()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredBitrateHeadroomRatio(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredBitrateHeadroomRatio(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitrateDowngradeTriggerRatio(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitrateDowngradeTriggerRatio()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BitrateDowngradeTriggerRatio(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BitrateDowngradeTriggerRatio(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PresentationTimeStamp(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PresentationTimeStamp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProgramDateTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProgramDateTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceCreationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HttpResponseMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HttpResponseMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DiagnosticType(Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDiagnosticType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DiagnosticType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestId(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SegmentId(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SegmentId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceType(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeOffset(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeOffset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bitrate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bitrate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_DiagnosticAvailable(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DiagnosticAvailable(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DiagnosticAvailable(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DiagnosticAvailable(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldValue(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewValue(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadBitrateChangedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResourceType(Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeOffset(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeOffset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HttpResponseMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HttpResponseMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Statistics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Statistics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResourceType(Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeOffset(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeOffset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HttpResponseMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HttpResponseMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Statistics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Statistics()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResourceType(Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeOffset(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeOffset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Result(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ResourceUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResourceUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputStream(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputStream(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Buffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Buffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Buffer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Buffer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedStatus(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExtendedStatus(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExtendedStatus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResourceByteRangeOffset(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeOffset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ResourceByteRangeOffset(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResourceByteRangeOffset(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResourceByteRangeLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResourceByteRangeLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ResourceByteRangeLength(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResourceByteRangeLength(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentBytesReceivedCount(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentBytesReceivedCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeToHeadersReceived(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeToHeadersReceived()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeToFirstByteReceived(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeToFirstByteReceived()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeToLastByteReceived(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeToLastByteReceived()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldValue(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewValue(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsContentTypeSupported(impl::abi_arg_in contentType, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsContentTypeSupported(*reinterpret_cast(&contentType))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUriAsync(impl::abi_arg_in uri, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromUriAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUriWithDownloaderAsync(impl::abi_arg_in uri, impl::abi_arg_in httpClient, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromUriAsync(*reinterpret_cast(&uri), *reinterpret_cast(&httpClient))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStreamAsync(impl::abi_arg_in stream, impl::abi_arg_in uri, impl::abi_arg_in contentType, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromStreamAsync(*reinterpret_cast(&stream), *reinterpret_cast(&uri), *reinterpret_cast(&contentType))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStreamWithDownloaderAsync(impl::abi_arg_in stream, impl::abi_arg_in uri, impl::abi_arg_in contentType, impl::abi_arg_in httpClient, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromStreamAsync(*reinterpret_cast(&stream), *reinterpret_cast(&uri), *reinterpret_cast(&contentType), *reinterpret_cast(&httpClient))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Streaming::Adaptive { + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceCreationStatus impl_IAdaptiveMediaSourceCreationResult::Status() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceCreationStatus value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceCreationResult)->get_Status(&value)); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSource impl_IAdaptiveMediaSourceCreationResult::MediaSource() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSource value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceCreationResult)->get_MediaSource(put_abi(value))); + return value; +} + +template Windows::Web::Http::HttpResponseMessage impl_IAdaptiveMediaSourceCreationResult::HttpResponseMessage() const +{ + Windows::Web::Http::HttpResponseMessage value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceCreationResult)->get_HttpResponseMessage(put_abi(value))); + return value; +} + +template HRESULT impl_IAdaptiveMediaSourceCreationResult2::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceCreationResult2)->get_ExtendedError(&value)); + return value; +} + +template bool impl_IAdaptiveMediaSourceStatics::IsContentTypeSupported(hstring_view contentType) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceStatics)->abi_IsContentTypeSupported(get_abi(contentType), &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAdaptiveMediaSourceStatics::CreateFromUriAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceStatics)->abi_CreateFromUriAsync(get_abi(uri), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAdaptiveMediaSourceStatics::CreateFromUriAsync(const Windows::Foundation::Uri & uri, const Windows::Web::Http::HttpClient & httpClient) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceStatics)->abi_CreateFromUriWithDownloaderAsync(get_abi(uri), get_abi(httpClient), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAdaptiveMediaSourceStatics::CreateFromStreamAsync(const Windows::Storage::Streams::IInputStream & stream, const Windows::Foundation::Uri & uri, hstring_view contentType) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceStatics)->abi_CreateFromStreamAsync(get_abi(stream), get_abi(uri), get_abi(contentType), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IAdaptiveMediaSourceStatics::CreateFromStreamAsync(const Windows::Storage::Streams::IInputStream & stream, const Windows::Foundation::Uri & uri, hstring_view contentType, const Windows::Web::Http::HttpClient & httpClient) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceStatics)->abi_CreateFromStreamWithDownloaderAsync(get_abi(stream), get_abi(uri), get_abi(contentType), get_abi(httpClient), put_abi(result))); + return result; +} + +template bool impl_IAdaptiveMediaSource::IsLive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_IsLive(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAdaptiveMediaSource::DesiredLiveOffset() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_DesiredLiveOffset(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSource::DesiredLiveOffset(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->put_DesiredLiveOffset(get_abi(value))); +} + +template uint32_t impl_IAdaptiveMediaSource::InitialBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_InitialBitrate(&value)); + return value; +} + +template void impl_IAdaptiveMediaSource::InitialBitrate(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->put_InitialBitrate(value)); +} + +template uint32_t impl_IAdaptiveMediaSource::CurrentDownloadBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_CurrentDownloadBitrate(&value)); + return value; +} + +template uint32_t impl_IAdaptiveMediaSource::CurrentPlaybackBitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_CurrentPlaybackBitrate(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAdaptiveMediaSource::AvailableBitrates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_AvailableBitrates(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSource::DesiredMinBitrate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_DesiredMinBitrate(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSource::DesiredMinBitrate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->put_DesiredMinBitrate(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSource::DesiredMaxBitrate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_DesiredMaxBitrate(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSource::DesiredMaxBitrate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->put_DesiredMaxBitrate(get_abi(value))); +} + +template bool impl_IAdaptiveMediaSource::AudioOnlyPlayback() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_AudioOnlyPlayback(&value)); + return value; +} + +template uint64_t impl_IAdaptiveMediaSource::InboundBitsPerSecond() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_InboundBitsPerSecond(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAdaptiveMediaSource::InboundBitsPerSecondWindow() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->get_InboundBitsPerSecondWindow(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSource::InboundBitsPerSecondWindow(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->put_InboundBitsPerSecondWindow(get_abi(value))); +} + +template event_token impl_IAdaptiveMediaSource::DownloadBitrateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->add_DownloadBitrateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdaptiveMediaSource::DownloadBitrateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource::remove_DownloadBitrateChanged, DownloadBitrateChanged(handler)); +} + +template void impl_IAdaptiveMediaSource::DownloadBitrateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->remove_DownloadBitrateChanged(token)); +} + +template event_token impl_IAdaptiveMediaSource::PlaybackBitrateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->add_PlaybackBitrateChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdaptiveMediaSource::PlaybackBitrateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource::remove_PlaybackBitrateChanged, PlaybackBitrateChanged(handler)); +} + +template void impl_IAdaptiveMediaSource::PlaybackBitrateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->remove_PlaybackBitrateChanged(token)); +} + +template event_token impl_IAdaptiveMediaSource::DownloadRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->add_DownloadRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdaptiveMediaSource::DownloadRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource::remove_DownloadRequested, DownloadRequested(handler)); +} + +template void impl_IAdaptiveMediaSource::DownloadRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->remove_DownloadRequested(token)); +} + +template event_token impl_IAdaptiveMediaSource::DownloadCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->add_DownloadCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdaptiveMediaSource::DownloadCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource::remove_DownloadCompleted, DownloadCompleted(handler)); +} + +template void impl_IAdaptiveMediaSource::DownloadCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->remove_DownloadCompleted(token)); +} + +template event_token impl_IAdaptiveMediaSource::DownloadFailed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->add_DownloadFailed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdaptiveMediaSource::DownloadFailed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource::remove_DownloadFailed, DownloadFailed(handler)); +} + +template void impl_IAdaptiveMediaSource::DownloadFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource)->remove_DownloadFailed(token)); +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceAdvancedSettings impl_IAdaptiveMediaSource2::AdvancedSettings() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceAdvancedSettings value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource2)->get_AdvancedSettings(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSource3::MinLiveOffset() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource3)->get_MinLiveOffset(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSource3::MaxSeekableWindowSize() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource3)->get_MaxSeekableWindowSize(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSource3::DesiredSeekableWindowSize() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource3)->get_DesiredSeekableWindowSize(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSource3::DesiredSeekableWindowSize(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSource3)->put_DesiredSeekableWindowSize(get_abi(value))); +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDiagnostics impl_IAdaptiveMediaSource3::Diagnostics() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDiagnostics value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource3)->get_Diagnostics(put_abi(value))); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceCorrelatedTimes impl_IAdaptiveMediaSource3::GetCorrelatedTimes() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceCorrelatedTimes value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSource3)->abi_GetCorrelatedTimes(put_abi(value))); + return value; +} + +template bool impl_IAdaptiveMediaSourceAdvancedSettings::AllSegmentsIndependent() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceAdvancedSettings)->get_AllSegmentsIndependent(&value)); + return value; +} + +template void impl_IAdaptiveMediaSourceAdvancedSettings::AllSegmentsIndependent(bool value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceAdvancedSettings)->put_AllSegmentsIndependent(value)); +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceAdvancedSettings::DesiredBitrateHeadroomRatio() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceAdvancedSettings)->get_DesiredBitrateHeadroomRatio(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceAdvancedSettings::DesiredBitrateHeadroomRatio(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceAdvancedSettings)->put_DesiredBitrateHeadroomRatio(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceAdvancedSettings::BitrateDowngradeTriggerRatio() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceAdvancedSettings)->get_BitrateDowngradeTriggerRatio(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceAdvancedSettings::BitrateDowngradeTriggerRatio(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceAdvancedSettings)->put_BitrateDowngradeTriggerRatio(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceCorrelatedTimes::Position() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceCorrelatedTimes)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceCorrelatedTimes::PresentationTimeStamp() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceCorrelatedTimes)->get_PresentationTimeStamp(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceCorrelatedTimes::ProgramDateTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceCorrelatedTimes)->get_ProgramDateTime(put_abi(value))); + return value; +} + +template uint32_t impl_IAdaptiveMediaSourceDownloadBitrateChangedEventArgs::OldValue() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadBitrateChangedEventArgs)->get_OldValue(&value)); + return value; +} + +template uint32_t impl_IAdaptiveMediaSourceDownloadBitrateChangedEventArgs::NewValue() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadBitrateChangedEventArgs)->get_NewValue(&value)); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadBitrateChangedReason impl_IAdaptiveMediaSourceDownloadBitrateChangedEventArgs2::Reason() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadBitrateChangedReason value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadBitrateChangedEventArgs2)->get_Reason(&value)); + return value; +} + +template uint32_t impl_IAdaptiveMediaSourcePlaybackBitrateChangedEventArgs::OldValue() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourcePlaybackBitrateChangedEventArgs)->get_OldValue(&value)); + return value; +} + +template uint32_t impl_IAdaptiveMediaSourcePlaybackBitrateChangedEventArgs::NewValue() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourcePlaybackBitrateChangedEventArgs)->get_NewValue(&value)); + return value; +} + +template bool impl_IAdaptiveMediaSourcePlaybackBitrateChangedEventArgs::AudioOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourcePlaybackBitrateChangedEventArgs)->get_AudioOnly(&value)); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType impl_IAdaptiveMediaSourceDownloadRequestedEventArgs::ResourceType() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs)->get_ResourceType(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IAdaptiveMediaSourceDownloadRequestedEventArgs::ResourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs)->get_ResourceUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadRequestedEventArgs::ResourceByteRangeOffset() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs)->get_ResourceByteRangeOffset(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadRequestedEventArgs::ResourceByteRangeLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs)->get_ResourceByteRangeLength(put_abi(value))); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadResult impl_IAdaptiveMediaSourceDownloadRequestedEventArgs::Result() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadResult value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs)->get_Result(put_abi(value))); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadRequestedDeferral impl_IAdaptiveMediaSourceDownloadRequestedEventArgs::GetDeferral() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadRequestedDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template int32_t impl_IAdaptiveMediaSourceDownloadRequestedEventArgs2::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs2)->get_RequestId(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadRequestedEventArgs2::Position() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedEventArgs2)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IAdaptiveMediaSourceDownloadResult::ResourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->get_ResourceUri(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceDownloadResult::ResourceUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->put_ResourceUri(get_abi(value))); +} + +template Windows::Storage::Streams::IInputStream impl_IAdaptiveMediaSourceDownloadResult::InputStream() const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->get_InputStream(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceDownloadResult::InputStream(const Windows::Storage::Streams::IInputStream & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->put_InputStream(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_IAdaptiveMediaSourceDownloadResult::Buffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->get_Buffer(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceDownloadResult::Buffer(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->put_Buffer(get_abi(value))); +} + +template hstring impl_IAdaptiveMediaSourceDownloadResult::ContentType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->get_ContentType(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceDownloadResult::ContentType(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->put_ContentType(get_abi(value))); +} + +template uint32_t impl_IAdaptiveMediaSourceDownloadResult::ExtendedStatus() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->get_ExtendedStatus(&value)); + return value; +} + +template void impl_IAdaptiveMediaSourceDownloadResult::ExtendedStatus(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult)->put_ExtendedStatus(value)); +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadResult2::ResourceByteRangeOffset() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult2)->get_ResourceByteRangeOffset(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceDownloadResult2::ResourceByteRangeOffset(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult2)->put_ResourceByteRangeOffset(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadResult2::ResourceByteRangeLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult2)->get_ResourceByteRangeLength(put_abi(value))); + return value; +} + +template void impl_IAdaptiveMediaSourceDownloadResult2::ResourceByteRangeLength(const optional & value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadResult2)->put_ResourceByteRangeLength(get_abi(value))); +} + +template void impl_IAdaptiveMediaSourceDownloadRequestedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadRequestedDeferral)->abi_Complete()); +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType impl_IAdaptiveMediaSourceDownloadCompletedEventArgs::ResourceType() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs)->get_ResourceType(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IAdaptiveMediaSourceDownloadCompletedEventArgs::ResourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs)->get_ResourceUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadCompletedEventArgs::ResourceByteRangeOffset() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs)->get_ResourceByteRangeOffset(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadCompletedEventArgs::ResourceByteRangeLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs)->get_ResourceByteRangeLength(put_abi(value))); + return value; +} + +template Windows::Web::Http::HttpResponseMessage impl_IAdaptiveMediaSourceDownloadCompletedEventArgs::HttpResponseMessage() const +{ + Windows::Web::Http::HttpResponseMessage value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs)->get_HttpResponseMessage(put_abi(value))); + return value; +} + +template uint64_t impl_IAdaptiveMediaSourceDownloadStatistics::ContentBytesReceivedCount() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadStatistics)->get_ContentBytesReceivedCount(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadStatistics::TimeToHeadersReceived() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadStatistics)->get_TimeToHeadersReceived(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadStatistics::TimeToFirstByteReceived() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadStatistics)->get_TimeToFirstByteReceived(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadStatistics::TimeToLastByteReceived() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadStatistics)->get_TimeToLastByteReceived(put_abi(value))); + return value; +} + +template int32_t impl_IAdaptiveMediaSourceDownloadCompletedEventArgs2::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs2)->get_RequestId(&value)); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadStatistics impl_IAdaptiveMediaSourceDownloadCompletedEventArgs2::Statistics() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadStatistics value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs2)->get_Statistics(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadCompletedEventArgs2::Position() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadCompletedEventArgs2)->get_Position(put_abi(value))); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType impl_IAdaptiveMediaSourceDownloadFailedEventArgs::ResourceType() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceResourceType value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs)->get_ResourceType(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IAdaptiveMediaSourceDownloadFailedEventArgs::ResourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs)->get_ResourceUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadFailedEventArgs::ResourceByteRangeOffset() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs)->get_ResourceByteRangeOffset(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadFailedEventArgs::ResourceByteRangeLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs)->get_ResourceByteRangeLength(put_abi(value))); + return value; +} + +template Windows::Web::Http::HttpResponseMessage impl_IAdaptiveMediaSourceDownloadFailedEventArgs::HttpResponseMessage() const +{ + Windows::Web::Http::HttpResponseMessage value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs)->get_HttpResponseMessage(put_abi(value))); + return value; +} + +template int32_t impl_IAdaptiveMediaSourceDownloadFailedEventArgs2::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs2)->get_RequestId(&value)); + return value; +} + +template HRESULT impl_IAdaptiveMediaSourceDownloadFailedEventArgs2::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs2)->get_ExtendedError(&value)); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadStatistics impl_IAdaptiveMediaSourceDownloadFailedEventArgs2::Statistics() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadStatistics value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs2)->get_Statistics(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDownloadFailedEventArgs2::Position() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDownloadFailedEventArgs2)->get_Position(put_abi(value))); + return value; +} + +template Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDiagnosticType impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::DiagnosticType() const +{ + Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDiagnosticType value {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_DiagnosticType(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::RequestId() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_RequestId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::Position() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::SegmentId() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_SegmentId(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::ResourceType() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_ResourceType(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::ResourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_ResourceUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::ResourceByteRangeOffset() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_ResourceByteRangeOffset(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::ResourceByteRangeLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_ResourceByteRangeLength(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IAdaptiveMediaSourceDiagnosticAvailableEventArgs::Bitrate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnosticAvailableEventArgs)->get_Bitrate(put_abi(value))); + return value; +} + +template event_token impl_IAdaptiveMediaSourceDiagnostics::DiagnosticAvailable(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnostics)->add_DiagnosticAvailable(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IAdaptiveMediaSourceDiagnostics::DiagnosticAvailable(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDiagnostics::remove_DiagnosticAvailable, DiagnosticAvailable(handler)); +} + +template void impl_IAdaptiveMediaSourceDiagnostics::DiagnosticAvailable(event_token token) const +{ + check_hresult(WINRT_SHIM(IAdaptiveMediaSourceDiagnostics)->remove_DiagnosticAvailable(token)); +} + +inline bool AdaptiveMediaSource::IsContentTypeSupported(hstring_view contentType) +{ + return get_activation_factory().IsContentTypeSupported(contentType); +} + +inline Windows::Foundation::IAsyncOperation AdaptiveMediaSource::CreateFromUriAsync(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().CreateFromUriAsync(uri); +} + +inline Windows::Foundation::IAsyncOperation AdaptiveMediaSource::CreateFromUriAsync(const Windows::Foundation::Uri & uri, const Windows::Web::Http::HttpClient & httpClient) +{ + return get_activation_factory().CreateFromUriAsync(uri, httpClient); +} + +inline Windows::Foundation::IAsyncOperation AdaptiveMediaSource::CreateFromStreamAsync(const Windows::Storage::Streams::IInputStream & stream, const Windows::Foundation::Uri & uri, hstring_view contentType) +{ + return get_activation_factory().CreateFromStreamAsync(stream, uri, contentType); +} + +inline Windows::Foundation::IAsyncOperation AdaptiveMediaSource::CreateFromStreamAsync(const Windows::Storage::Streams::IInputStream & stream, const Windows::Foundation::Uri & uri, hstring_view contentType, const Windows::Web::Http::HttpClient & httpClient) +{ + return get_activation_factory().CreateFromStreamAsync(stream, uri, contentType, httpClient); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSource3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceAdvancedSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceCorrelatedTimes & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceCreationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceCreationResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDiagnosticAvailableEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDiagnostics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadBitrateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadBitrateChangedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadCompletedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadFailedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadRequestedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceDownloadStatistics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourcePlaybackBitrateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::IAdaptiveMediaSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceAdvancedSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceCorrelatedTimes & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceCreationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDiagnosticAvailableEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDiagnostics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadBitrateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadRequestedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourceDownloadStatistics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Streaming::Adaptive::AdaptiveMediaSourcePlaybackBitrateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.Transcoding.h b/10.0.15042.0/winrt/Windows.Media.Transcoding.h new file mode 100644 index 000000000..9f86b3457 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.Transcoding.h @@ -0,0 +1,516 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Media.Core.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Media.MediaProperties.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Media.Transcoding.3.h" +#include "Windows.Media.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall put_TrimStartTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrimStartTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrimStartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimStartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrimStopTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrimStopTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrimStopTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrimStopTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlwaysReencode(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlwaysReencode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlwaysReencode(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlwaysReencode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HardwareAccelerationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HardwareAccelerationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareAccelerationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareAccelerationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddAudioEffect(impl::abi_arg_in activatableClassId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddAudioEffect(*reinterpret_cast(&activatableClassId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddAudioEffectWithSettings(impl::abi_arg_in activatableClassId, bool effectRequired, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddAudioEffect(*reinterpret_cast(&activatableClassId), effectRequired, *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddVideoEffect(impl::abi_arg_in activatableClassId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddVideoEffect(*reinterpret_cast(&activatableClassId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddVideoEffectWithSettings(impl::abi_arg_in activatableClassId, bool effectRequired, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddVideoEffect(*reinterpret_cast(&activatableClassId), effectRequired, *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearEffects() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearEffects(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareFileTranscodeAsync(impl::abi_arg_in source, impl::abi_arg_in destination, impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareFileTranscodeAsync(*reinterpret_cast(&source), *reinterpret_cast(&destination), *reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareStreamTranscodeAsync(impl::abi_arg_in source, impl::abi_arg_in destination, impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareStreamTranscodeAsync(*reinterpret_cast(&source), *reinterpret_cast(&destination), *reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PrepareMediaStreamSourceTranscodeAsync(impl::abi_arg_in source, impl::abi_arg_in destination, impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareMediaStreamSourceTranscodeAsync(*reinterpret_cast(&source), *reinterpret_cast(&destination), *reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VideoProcessingAlgorithm(Windows::Media::Transcoding::MediaVideoProcessingAlgorithm value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VideoProcessingAlgorithm(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProcessingAlgorithm(Windows::Media::Transcoding::MediaVideoProcessingAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProcessingAlgorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanTranscode(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanTranscode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FailureReason(Windows::Media::Transcoding::TranscodeFailureReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FailureReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TranscodeAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TranscodeAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media::Transcoding { + +template Windows::Foundation::IAsyncOperation impl_IMediaTranscoder2::PrepareMediaStreamSourceTranscodeAsync(const Windows::Media::Core::IMediaSource & source, const Windows::Storage::Streams::IRandomAccessStream & destination, const Windows::Media::MediaProperties::MediaEncodingProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaTranscoder2)->abi_PrepareMediaStreamSourceTranscodeAsync(get_abi(source), get_abi(destination), get_abi(profile), put_abi(operation))); + return operation; +} + +template void impl_IMediaTranscoder2::VideoProcessingAlgorithm(Windows::Media::Transcoding::MediaVideoProcessingAlgorithm value) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder2)->put_VideoProcessingAlgorithm(value)); +} + +template Windows::Media::Transcoding::MediaVideoProcessingAlgorithm impl_IMediaTranscoder2::VideoProcessingAlgorithm() const +{ + Windows::Media::Transcoding::MediaVideoProcessingAlgorithm value {}; + check_hresult(WINRT_SHIM(IMediaTranscoder2)->get_VideoProcessingAlgorithm(&value)); + return value; +} + +template void impl_IMediaTranscoder::TrimStartTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->put_TrimStartTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaTranscoder::TrimStartTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaTranscoder)->get_TrimStartTime(put_abi(value))); + return value; +} + +template void impl_IMediaTranscoder::TrimStopTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->put_TrimStopTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IMediaTranscoder::TrimStopTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaTranscoder)->get_TrimStopTime(put_abi(value))); + return value; +} + +template void impl_IMediaTranscoder::AlwaysReencode(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->put_AlwaysReencode(value)); +} + +template bool impl_IMediaTranscoder::AlwaysReencode() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTranscoder)->get_AlwaysReencode(&value)); + return value; +} + +template void impl_IMediaTranscoder::HardwareAccelerationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->put_HardwareAccelerationEnabled(value)); +} + +template bool impl_IMediaTranscoder::HardwareAccelerationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTranscoder)->get_HardwareAccelerationEnabled(&value)); + return value; +} + +template void impl_IMediaTranscoder::AddAudioEffect(hstring_view activatableClassId) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->abi_AddAudioEffect(get_abi(activatableClassId))); +} + +template void impl_IMediaTranscoder::AddAudioEffect(hstring_view activatableClassId, bool effectRequired, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->abi_AddAudioEffectWithSettings(get_abi(activatableClassId), effectRequired, get_abi(configuration))); +} + +template void impl_IMediaTranscoder::AddVideoEffect(hstring_view activatableClassId) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->abi_AddVideoEffect(get_abi(activatableClassId))); +} + +template void impl_IMediaTranscoder::AddVideoEffect(hstring_view activatableClassId, bool effectRequired, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->abi_AddVideoEffectWithSettings(get_abi(activatableClassId), effectRequired, get_abi(configuration))); +} + +template void impl_IMediaTranscoder::ClearEffects() const +{ + check_hresult(WINRT_SHIM(IMediaTranscoder)->abi_ClearEffects()); +} + +template Windows::Foundation::IAsyncOperation impl_IMediaTranscoder::PrepareFileTranscodeAsync(const Windows::Storage::IStorageFile & source, const Windows::Storage::IStorageFile & destination, const Windows::Media::MediaProperties::MediaEncodingProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaTranscoder)->abi_PrepareFileTranscodeAsync(get_abi(source), get_abi(destination), get_abi(profile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IMediaTranscoder::PrepareStreamTranscodeAsync(const Windows::Storage::Streams::IRandomAccessStream & source, const Windows::Storage::Streams::IRandomAccessStream & destination, const Windows::Media::MediaProperties::MediaEncodingProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IMediaTranscoder)->abi_PrepareStreamTranscodeAsync(get_abi(source), get_abi(destination), get_abi(profile), put_abi(operation))); + return operation; +} + +template bool impl_IPrepareTranscodeResult::CanTranscode() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPrepareTranscodeResult)->get_CanTranscode(&value)); + return value; +} + +template Windows::Media::Transcoding::TranscodeFailureReason impl_IPrepareTranscodeResult::FailureReason() const +{ + Windows::Media::Transcoding::TranscodeFailureReason value {}; + check_hresult(WINRT_SHIM(IPrepareTranscodeResult)->get_FailureReason(&value)); + return value; +} + +template Windows::Foundation::IAsyncActionWithProgress impl_IPrepareTranscodeResult::TranscodeAsync() const +{ + Windows::Foundation::IAsyncActionWithProgress operation; + check_hresult(WINRT_SHIM(IPrepareTranscodeResult)->abi_TranscodeAsync(put_abi(operation))); + return operation; +} + +inline MediaTranscoder::MediaTranscoder() : + MediaTranscoder(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Transcoding::IMediaTranscoder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Transcoding::IMediaTranscoder2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Transcoding::IPrepareTranscodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Transcoding::MediaTranscoder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::Transcoding::PrepareTranscodeResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Media.h b/10.0.15042.0/winrt/Windows.Media.h new file mode 100644 index 000000000..2a2974d58 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Media.h @@ -0,0 +1,4939 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.Imaging.3.h" +#include "internal/Windows.Graphics.DirectX.Direct3D11.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.ApplicationModel.AppService.3.h" +#include "internal/Windows.Media.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Capacity(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Length(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Length(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LockBuffer(Windows::Media::AudioBufferAccessMode mode, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LockBuffer(mode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t capacity, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(capacity)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestedAutoRepeatMode(Windows::Media::MediaPlaybackAutoRepeatMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedAutoRepeatMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subtitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subtitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SoundLevelChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().SoundLevelChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SoundLevelChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SoundLevelChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlayPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PlayPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlayPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PausePressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PausePressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PausePressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PausePressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StopPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StopPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StopPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlayPauseTogglePressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PlayPauseTogglePressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlayPauseTogglePressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayPauseTogglePressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecordPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().RecordPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecordPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecordPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NextTrackPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().NextTrackPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NextTrackPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NextTrackPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PreviousTrackPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PreviousTrackPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PreviousTrackPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreviousTrackPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FastForwardPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().FastForwardPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FastForwardPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FastForwardPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RewindPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().RewindPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RewindPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RewindPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ChannelUpPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ChannelUpPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ChannelUpPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChannelUpPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ChannelDownPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ChannelDownPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ChannelDownPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChannelDownPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoundLevel(Windows::Media::SoundLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoundLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrackName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrackName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrackName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrackName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ArtistName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ArtistName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ArtistName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ArtistName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPlaying(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPlaying(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlaying(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlaying()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlbumArt(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlbumArt(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlbumArt(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlbumArt()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetProperties(impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetProperties(*reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterSchemeHandler(impl::abi_arg_in activatableClassId, impl::abi_arg_in scheme) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterSchemeHandler(*reinterpret_cast(&activatableClassId), *reinterpret_cast(&scheme)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterSchemeHandlerWithSettings(impl::abi_arg_in activatableClassId, impl::abi_arg_in scheme, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterSchemeHandler(*reinterpret_cast(&activatableClassId), *reinterpret_cast(&scheme), *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterByteStreamHandler(impl::abi_arg_in activatableClassId, impl::abi_arg_in fileExtension, impl::abi_arg_in mimeType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterByteStreamHandler(*reinterpret_cast(&activatableClassId), *reinterpret_cast(&fileExtension), *reinterpret_cast(&mimeType)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterByteStreamHandlerWithSettings(impl::abi_arg_in activatableClassId, impl::abi_arg_in fileExtension, impl::abi_arg_in mimeType, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterByteStreamHandler(*reinterpret_cast(&activatableClassId), *reinterpret_cast(&fileExtension), *reinterpret_cast(&mimeType), *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterAudioDecoder(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterAudioDecoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterAudioDecoderWithSettings(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterAudioDecoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype, *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterAudioEncoder(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterAudioEncoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterAudioEncoderWithSettings(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterAudioEncoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype, *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterVideoDecoder(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterVideoDecoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterVideoDecoderWithSettings(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterVideoDecoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype, *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterVideoEncoder(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterVideoEncoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterVideoEncoderWithSettings(impl::abi_arg_in activatableClassId, GUID inputSubtype, GUID outputSubtype, impl::abi_arg_in configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterVideoEncoder(*reinterpret_cast(&activatableClassId), inputSubtype, outputSubtype, *reinterpret_cast(&configuration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterMediaExtensionForAppService(impl::abi_arg_in extension, impl::abi_arg_in connection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterMediaExtensionForAppService(*reinterpret_cast(&extension), *reinterpret_cast(&connection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelativeTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelativeTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelativeTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemRelativeTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemRelativeTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemRelativeTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemRelativeTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDiscontinuous(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDiscontinuous(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDiscontinuous(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDiscontinuous()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Time(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Time()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaMarkerType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaMarkerType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Bookmark(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bookmark()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Markers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Markers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resume() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resume(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClockRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClockRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClockRate(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClockRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Media::MediaTimelineControllerState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PositionChanged(impl::abi_arg_in> positionChangedEventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().PositionChanged(*reinterpret_cast *>(&positionChangedEventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PositionChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> stateChangedEventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&stateChangedEventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Duration(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLoopingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLoopingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLoopingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLoopingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Failed(impl::abi_arg_in> eventHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Failed(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Failed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Failed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Ended(impl::abi_arg_in> eventHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Ended(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Ended(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ended(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlbumArtist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlbumArtist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlbumArtist(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlbumArtist(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Artist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Artist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Artist(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Artist(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlbumTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlbumTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlbumTitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlbumTitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrackNumber(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrackNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrackNumber(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrackNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Genres(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Genres()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlbumTrackCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlbumTrackCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlbumTrackCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlbumTrackCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestedPlaybackPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedPlaybackPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestedPlaybackRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedPlaybackRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestedShuffleEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedShuffleEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlaybackStatus(Windows::Media::MediaPlaybackStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaybackStatus(Windows::Media::MediaPlaybackStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackStatus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayUpdater(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayUpdater()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoundLevel(Windows::Media::SoundLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoundLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlayEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlayEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPlayEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPlayEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStopEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStopEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsStopEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsStopEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPauseEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPauseEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPauseEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPauseEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRecordEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRecordEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRecordEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRecordEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastForwardEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastForwardEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFastForwardEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFastForwardEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRewindEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRewindEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRewindEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRewindEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPreviousEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPreviousEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPreviousEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPreviousEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNextEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNextEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsNextEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsNextEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsChannelUpEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsChannelUpEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsChannelUpEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsChannelUpEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsChannelDownEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsChannelDownEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsChannelDownEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsChannelDownEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ButtonPressed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ButtonPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ButtonPressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonPressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PropertyChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PropertyChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PropertyChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PropertyChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AutoRepeatMode(Windows::Media::MediaPlaybackAutoRepeatMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoRepeatMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoRepeatMode(Windows::Media::MediaPlaybackAutoRepeatMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoRepeatMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShuffleEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShuffleEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShuffleEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShuffleEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaybackRate(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateTimelineProperties(impl::abi_arg_in timelineProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateTimelineProperties(*reinterpret_cast(&timelineProperties)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlaybackPositionChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlaybackPositionChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlaybackPositionChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackPositionChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PlaybackRateChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PlaybackRateChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PlaybackRateChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackRateChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ShuffleEnabledChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ShuffleEnabledChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ShuffleEnabledChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShuffleEnabledChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AutoRepeatModeChangeRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AutoRepeatModeChangeRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AutoRepeatModeChangeRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoRepeatModeChangeRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Button(Windows::Media::SystemMediaTransportControlsButton * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Button()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Media::MediaPlaybackType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(Windows::Media::MediaPlaybackType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppMediaId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppMediaId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppMediaId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppMediaId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbnail(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbnail(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MusicProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MusicProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyFromFileAsync(Windows::Media::MediaPlaybackType type, impl::abi_arg_in source, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyFromFileAsync(type, *reinterpret_cast(&source))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Update() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Update(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Property(Windows::Media::SystemMediaTransportControlsProperty * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Property()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out mediaControl) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *mediaControl = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *mediaControl = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EndTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinSeekTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinSeekTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinSeekTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinSeekTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSeekTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSeekTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxSeekTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxSeekTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subtitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subtitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Genres(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Genres()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VideoStabilization(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoStabilization()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SoftwareBitmap(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareBitmap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyToAsync(impl::abi_arg_in frame, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CopyToAsync(*reinterpret_cast(&frame))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direct3DSurface(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direct3DSurface()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(format, width, height)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithAlpha(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithAlpha(format, width, height, alpha)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Media { + +template Windows::Foundation::Collections::ValueSet impl_IMediaProcessingTriggerDetails::Arguments() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IMediaProcessingTriggerDetails)->get_Arguments(put_abi(value))); + return value; +} + +template hstring impl_IMediaFrame::Type() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaFrame)->get_Type(put_abi(value))); + return value; +} + +template bool impl_IMediaFrame::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaFrame)->get_IsReadOnly(&value)); + return value; +} + +template void impl_IMediaFrame::RelativeTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaFrame)->put_RelativeTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IMediaFrame::RelativeTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaFrame)->get_RelativeTime(put_abi(value))); + return value; +} + +template void impl_IMediaFrame::SystemRelativeTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaFrame)->put_SystemRelativeTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IMediaFrame::SystemRelativeTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaFrame)->get_SystemRelativeTime(put_abi(value))); + return value; +} + +template void impl_IMediaFrame::Duration(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaFrame)->put_Duration(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IMediaFrame::Duration() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaFrame)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IMediaFrame::IsDiscontinuous(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaFrame)->put_IsDiscontinuous(value)); +} + +template bool impl_IMediaFrame::IsDiscontinuous() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaFrame)->get_IsDiscontinuous(&value)); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IMediaFrame::ExtendedProperties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IMediaFrame)->get_ExtendedProperties(put_abi(value))); + return value; +} + +template Windows::Graphics::Imaging::SoftwareBitmap impl_IVideoFrame::SoftwareBitmap() const +{ + Windows::Graphics::Imaging::SoftwareBitmap value { nullptr }; + check_hresult(WINRT_SHIM(IVideoFrame)->get_SoftwareBitmap(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IVideoFrame::CopyToAsync(const Windows::Media::VideoFrame & frame) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IVideoFrame)->abi_CopyToAsync(get_abi(frame), put_abi(value))); + return value; +} + +template Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface impl_IVideoFrame::Direct3DSurface() const +{ + Windows::Graphics::DirectX::Direct3D11::IDirect3DSurface value; + check_hresult(WINRT_SHIM(IVideoFrame)->get_Direct3DSurface(put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IVideoFrameFactory::Create(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height) const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IVideoFrameFactory)->abi_Create(format, width, height, put_abi(value))); + return value; +} + +template Windows::Media::VideoFrame impl_IVideoFrameFactory::CreateWithAlpha(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha) const +{ + Windows::Media::VideoFrame value { nullptr }; + check_hresult(WINRT_SHIM(IVideoFrameFactory)->abi_CreateWithAlpha(format, width, height, alpha, put_abi(value))); + return value; +} + +template Windows::Media::AudioBuffer impl_IAudioFrame::LockBuffer(Windows::Media::AudioBufferAccessMode mode) const +{ + Windows::Media::AudioBuffer value { nullptr }; + check_hresult(WINRT_SHIM(IAudioFrame)->abi_LockBuffer(mode, put_abi(value))); + return value; +} + +template Windows::Media::AudioFrame impl_IAudioFrameFactory::Create(uint32_t capacity) const +{ + Windows::Media::AudioFrame value { nullptr }; + check_hresult(WINRT_SHIM(IAudioFrameFactory)->abi_Create(capacity, put_abi(value))); + return value; +} + +template uint32_t impl_IAudioBuffer::Capacity() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioBuffer)->get_Capacity(&value)); + return value; +} + +template uint32_t impl_IAudioBuffer::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IAudioBuffer)->get_Length(&value)); + return value; +} + +template void impl_IAudioBuffer::Length(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IAudioBuffer)->put_Length(value)); +} + +template Windows::Foundation::TimeSpan impl_IMediaMarker::Time() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaMarker)->get_Time(put_abi(value))); + return value; +} + +template hstring impl_IMediaMarker::MediaMarkerType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaMarker)->get_MediaMarkerType(put_abi(value))); + return value; +} + +template hstring impl_IMediaMarker::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaMarker)->get_Text(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMediaMarkers::Markers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMediaMarkers)->get_Markers(put_abi(value))); + return value; +} + +template hstring impl_IMediaMarkerTypesStatics::Bookmark() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaMarkerTypesStatics)->get_Bookmark(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISystemMediaTransportControlsTimelineProperties::StartTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->get_StartTime(put_abi(value))); + return value; +} + +template void impl_ISystemMediaTransportControlsTimelineProperties::StartTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->put_StartTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ISystemMediaTransportControlsTimelineProperties::EndTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->get_EndTime(put_abi(value))); + return value; +} + +template void impl_ISystemMediaTransportControlsTimelineProperties::EndTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->put_EndTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ISystemMediaTransportControlsTimelineProperties::MinSeekTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->get_MinSeekTime(put_abi(value))); + return value; +} + +template void impl_ISystemMediaTransportControlsTimelineProperties::MinSeekTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->put_MinSeekTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ISystemMediaTransportControlsTimelineProperties::MaxSeekTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->get_MaxSeekTime(put_abi(value))); + return value; +} + +template void impl_ISystemMediaTransportControlsTimelineProperties::MaxSeekTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->put_MaxSeekTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_ISystemMediaTransportControlsTimelineProperties::Position() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->get_Position(put_abi(value))); + return value; +} + +template void impl_ISystemMediaTransportControlsTimelineProperties::Position(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsTimelineProperties)->put_Position(get_abi(value))); +} + +template hstring impl_IMusicDisplayProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicDisplayProperties)->get_Title(put_abi(value))); + return value; +} + +template void impl_IMusicDisplayProperties::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicDisplayProperties)->put_Title(get_abi(value))); +} + +template hstring impl_IMusicDisplayProperties::AlbumArtist() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicDisplayProperties)->get_AlbumArtist(put_abi(value))); + return value; +} + +template void impl_IMusicDisplayProperties::AlbumArtist(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicDisplayProperties)->put_AlbumArtist(get_abi(value))); +} + +template hstring impl_IMusicDisplayProperties::Artist() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicDisplayProperties)->get_Artist(put_abi(value))); + return value; +} + +template void impl_IMusicDisplayProperties::Artist(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicDisplayProperties)->put_Artist(get_abi(value))); +} + +template hstring impl_IMusicDisplayProperties2::AlbumTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicDisplayProperties2)->get_AlbumTitle(put_abi(value))); + return value; +} + +template void impl_IMusicDisplayProperties2::AlbumTitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicDisplayProperties2)->put_AlbumTitle(get_abi(value))); +} + +template uint32_t impl_IMusicDisplayProperties2::TrackNumber() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMusicDisplayProperties2)->get_TrackNumber(&value)); + return value; +} + +template void impl_IMusicDisplayProperties2::TrackNumber(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMusicDisplayProperties2)->put_TrackNumber(value)); +} + +template Windows::Foundation::Collections::IVector impl_IMusicDisplayProperties2::Genres() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMusicDisplayProperties2)->get_Genres(put_abi(value))); + return value; +} + +template uint32_t impl_IMusicDisplayProperties3::AlbumTrackCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMusicDisplayProperties3)->get_AlbumTrackCount(&value)); + return value; +} + +template void impl_IMusicDisplayProperties3::AlbumTrackCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMusicDisplayProperties3)->put_AlbumTrackCount(value)); +} + +template hstring impl_IVideoDisplayProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoDisplayProperties)->get_Title(put_abi(value))); + return value; +} + +template void impl_IVideoDisplayProperties::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVideoDisplayProperties)->put_Title(get_abi(value))); +} + +template hstring impl_IVideoDisplayProperties::Subtitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoDisplayProperties)->get_Subtitle(put_abi(value))); + return value; +} + +template void impl_IVideoDisplayProperties::Subtitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVideoDisplayProperties)->put_Subtitle(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVideoDisplayProperties2::Genres() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVideoDisplayProperties2)->get_Genres(put_abi(value))); + return value; +} + +template hstring impl_IImageDisplayProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IImageDisplayProperties)->get_Title(put_abi(value))); + return value; +} + +template void impl_IImageDisplayProperties::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IImageDisplayProperties)->put_Title(get_abi(value))); +} + +template hstring impl_IImageDisplayProperties::Subtitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IImageDisplayProperties)->get_Subtitle(put_abi(value))); + return value; +} + +template void impl_IImageDisplayProperties::Subtitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IImageDisplayProperties)->put_Subtitle(get_abi(value))); +} + +template Windows::Media::MediaPlaybackType impl_ISystemMediaTransportControlsDisplayUpdater::Type() const +{ + Windows::Media::MediaPlaybackType value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->get_Type(&value)); + return value; +} + +template void impl_ISystemMediaTransportControlsDisplayUpdater::Type(Windows::Media::MediaPlaybackType value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->put_Type(value)); +} + +template hstring impl_ISystemMediaTransportControlsDisplayUpdater::AppMediaId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->get_AppMediaId(put_abi(value))); + return value; +} + +template void impl_ISystemMediaTransportControlsDisplayUpdater::AppMediaId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->put_AppMediaId(get_abi(value))); +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_ISystemMediaTransportControlsDisplayUpdater::Thumbnail() const +{ + Windows::Storage::Streams::RandomAccessStreamReference value { nullptr }; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->get_Thumbnail(put_abi(value))); + return value; +} + +template void impl_ISystemMediaTransportControlsDisplayUpdater::Thumbnail(const Windows::Storage::Streams::RandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->put_Thumbnail(get_abi(value))); +} + +template Windows::Media::MusicDisplayProperties impl_ISystemMediaTransportControlsDisplayUpdater::MusicProperties() const +{ + Windows::Media::MusicDisplayProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->get_MusicProperties(put_abi(value))); + return value; +} + +template Windows::Media::VideoDisplayProperties impl_ISystemMediaTransportControlsDisplayUpdater::VideoProperties() const +{ + Windows::Media::VideoDisplayProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->get_VideoProperties(put_abi(value))); + return value; +} + +template Windows::Media::ImageDisplayProperties impl_ISystemMediaTransportControlsDisplayUpdater::ImageProperties() const +{ + Windows::Media::ImageDisplayProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->get_ImageProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISystemMediaTransportControlsDisplayUpdater::CopyFromFileAsync(Windows::Media::MediaPlaybackType type, const Windows::Storage::StorageFile & source) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->abi_CopyFromFileAsync(type, get_abi(source), put_abi(operation))); + return operation; +} + +template void impl_ISystemMediaTransportControlsDisplayUpdater::ClearAll() const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->abi_ClearAll()); +} + +template void impl_ISystemMediaTransportControlsDisplayUpdater::Update() const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsDisplayUpdater)->abi_Update()); +} + +template Windows::Media::SystemMediaTransportControlsButton impl_ISystemMediaTransportControlsButtonPressedEventArgs::Button() const +{ + Windows::Media::SystemMediaTransportControlsButton value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsButtonPressedEventArgs)->get_Button(&value)); + return value; +} + +template Windows::Media::SystemMediaTransportControlsProperty impl_ISystemMediaTransportControlsPropertyChangedEventArgs::Property() const +{ + Windows::Media::SystemMediaTransportControlsProperty value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsPropertyChangedEventArgs)->get_Property(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPlaybackPositionChangeRequestedEventArgs::RequestedPlaybackPosition() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPlaybackPositionChangeRequestedEventArgs)->get_RequestedPlaybackPosition(put_abi(value))); + return value; +} + +template double impl_IPlaybackRateChangeRequestedEventArgs::RequestedPlaybackRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPlaybackRateChangeRequestedEventArgs)->get_RequestedPlaybackRate(&value)); + return value; +} + +template bool impl_IShuffleEnabledChangeRequestedEventArgs::RequestedShuffleEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IShuffleEnabledChangeRequestedEventArgs)->get_RequestedShuffleEnabled(&value)); + return value; +} + +template Windows::Media::MediaPlaybackAutoRepeatMode impl_IAutoRepeatModeChangeRequestedEventArgs::RequestedAutoRepeatMode() const +{ + Windows::Media::MediaPlaybackAutoRepeatMode value {}; + check_hresult(WINRT_SHIM(IAutoRepeatModeChangeRequestedEventArgs)->get_RequestedAutoRepeatMode(&value)); + return value; +} + +template Windows::Media::MediaPlaybackStatus impl_ISystemMediaTransportControls::PlaybackStatus() const +{ + Windows::Media::MediaPlaybackStatus value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_PlaybackStatus(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::PlaybackStatus(Windows::Media::MediaPlaybackStatus value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_PlaybackStatus(value)); +} + +template Windows::Media::SystemMediaTransportControlsDisplayUpdater impl_ISystemMediaTransportControls::DisplayUpdater() const +{ + Windows::Media::SystemMediaTransportControlsDisplayUpdater value { nullptr }; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_DisplayUpdater(put_abi(value))); + return value; +} + +template Windows::Media::SoundLevel impl_ISystemMediaTransportControls::SoundLevel() const +{ + Windows::Media::SoundLevel value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_SoundLevel(&value)); + return value; +} + +template bool impl_ISystemMediaTransportControls::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsPlayEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsPlayEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsPlayEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsPlayEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsStopEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsStopEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsStopEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsStopEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsPauseEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsPauseEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsPauseEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsPauseEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsRecordEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsRecordEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsRecordEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsRecordEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsFastForwardEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsFastForwardEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsFastForwardEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsFastForwardEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsRewindEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsRewindEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsRewindEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsRewindEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsPreviousEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsPreviousEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsPreviousEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsPreviousEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsNextEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsNextEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsNextEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsNextEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsChannelUpEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsChannelUpEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsChannelUpEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsChannelUpEnabled(value)); +} + +template bool impl_ISystemMediaTransportControls::IsChannelDownEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->get_IsChannelDownEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls::IsChannelDownEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->put_IsChannelDownEnabled(value)); +} + +template event_token impl_ISystemMediaTransportControls::ButtonPressed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->add_ButtonPressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemMediaTransportControls::ButtonPressed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::ISystemMediaTransportControls::remove_ButtonPressed, ButtonPressed(handler)); +} + +template void impl_ISystemMediaTransportControls::ButtonPressed(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->remove_ButtonPressed(token)); +} + +template event_token impl_ISystemMediaTransportControls::PropertyChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->add_PropertyChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemMediaTransportControls::PropertyChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::ISystemMediaTransportControls::remove_PropertyChanged, PropertyChanged(handler)); +} + +template void impl_ISystemMediaTransportControls::PropertyChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls)->remove_PropertyChanged(token)); +} + +template Windows::Media::MediaPlaybackAutoRepeatMode impl_ISystemMediaTransportControls2::AutoRepeatMode() const +{ + Windows::Media::MediaPlaybackAutoRepeatMode value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->get_AutoRepeatMode(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls2::AutoRepeatMode(Windows::Media::MediaPlaybackAutoRepeatMode value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->put_AutoRepeatMode(value)); +} + +template bool impl_ISystemMediaTransportControls2::ShuffleEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->get_ShuffleEnabled(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls2::ShuffleEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->put_ShuffleEnabled(value)); +} + +template double impl_ISystemMediaTransportControls2::PlaybackRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->get_PlaybackRate(&value)); + return value; +} + +template void impl_ISystemMediaTransportControls2::PlaybackRate(double value) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->put_PlaybackRate(value)); +} + +template void impl_ISystemMediaTransportControls2::UpdateTimelineProperties(const Windows::Media::SystemMediaTransportControlsTimelineProperties & timelineProperties) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->abi_UpdateTimelineProperties(get_abi(timelineProperties))); +} + +template event_token impl_ISystemMediaTransportControls2::PlaybackPositionChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->add_PlaybackPositionChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemMediaTransportControls2::PlaybackPositionChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::ISystemMediaTransportControls2::remove_PlaybackPositionChangeRequested, PlaybackPositionChangeRequested(handler)); +} + +template void impl_ISystemMediaTransportControls2::PlaybackPositionChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->remove_PlaybackPositionChangeRequested(token)); +} + +template event_token impl_ISystemMediaTransportControls2::PlaybackRateChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->add_PlaybackRateChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemMediaTransportControls2::PlaybackRateChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::ISystemMediaTransportControls2::remove_PlaybackRateChangeRequested, PlaybackRateChangeRequested(handler)); +} + +template void impl_ISystemMediaTransportControls2::PlaybackRateChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->remove_PlaybackRateChangeRequested(token)); +} + +template event_token impl_ISystemMediaTransportControls2::ShuffleEnabledChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->add_ShuffleEnabledChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemMediaTransportControls2::ShuffleEnabledChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::ISystemMediaTransportControls2::remove_ShuffleEnabledChangeRequested, ShuffleEnabledChangeRequested(handler)); +} + +template void impl_ISystemMediaTransportControls2::ShuffleEnabledChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->remove_ShuffleEnabledChangeRequested(token)); +} + +template event_token impl_ISystemMediaTransportControls2::AutoRepeatModeChangeRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->add_AutoRepeatModeChangeRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemMediaTransportControls2::AutoRepeatModeChangeRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::ISystemMediaTransportControls2::remove_AutoRepeatModeChangeRequested, AutoRepeatModeChangeRequested(handler)); +} + +template void impl_ISystemMediaTransportControls2::AutoRepeatModeChangeRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemMediaTransportControls2)->remove_AutoRepeatModeChangeRequested(token)); +} + +template Windows::Media::SystemMediaTransportControls impl_ISystemMediaTransportControlsStatics::GetForCurrentView() const +{ + Windows::Media::SystemMediaTransportControls mediaControl { nullptr }; + check_hresult(WINRT_SHIM(ISystemMediaTransportControlsStatics)->abi_GetForCurrentView(put_abi(mediaControl))); + return mediaControl; +} + +template void impl_IMediaTimelineController::Start() const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController)->abi_Start()); +} + +template void impl_IMediaTimelineController::Resume() const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController)->abi_Resume()); +} + +template void impl_IMediaTimelineController::Pause() const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController)->abi_Pause()); +} + +template Windows::Foundation::TimeSpan impl_IMediaTimelineController::Position() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaTimelineController)->get_Position(put_abi(value))); + return value; +} + +template void impl_IMediaTimelineController::Position(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController)->put_Position(get_abi(value))); +} + +template double impl_IMediaTimelineController::ClockRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaTimelineController)->get_ClockRate(&value)); + return value; +} + +template void impl_IMediaTimelineController::ClockRate(double value) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController)->put_ClockRate(value)); +} + +template Windows::Media::MediaTimelineControllerState impl_IMediaTimelineController::State() const +{ + Windows::Media::MediaTimelineControllerState value {}; + check_hresult(WINRT_SHIM(IMediaTimelineController)->get_State(&value)); + return value; +} + +template event_token impl_IMediaTimelineController::PositionChanged(const Windows::Foundation::TypedEventHandler & positionChangedEventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IMediaTimelineController)->add_PositionChanged(get_abi(positionChangedEventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IMediaTimelineController::PositionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & positionChangedEventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaTimelineController::remove_PositionChanged, PositionChanged(positionChangedEventHandler)); +} + +template void impl_IMediaTimelineController::PositionChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController)->remove_PositionChanged(eventCookie)); +} + +template event_token impl_IMediaTimelineController::StateChanged(const Windows::Foundation::TypedEventHandler & stateChangedEventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IMediaTimelineController)->add_StateChanged(get_abi(stateChangedEventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IMediaTimelineController::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & stateChangedEventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaTimelineController::remove_StateChanged, StateChanged(stateChangedEventHandler)); +} + +template void impl_IMediaTimelineController::StateChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController)->remove_StateChanged(eventCookie)); +} + +template Windows::Foundation::IReference impl_IMediaTimelineController2::Duration() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaTimelineController2)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IMediaTimelineController2::Duration(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController2)->put_Duration(get_abi(value))); +} + +template bool impl_IMediaTimelineController2::IsLoopingEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTimelineController2)->get_IsLoopingEnabled(&value)); + return value; +} + +template void impl_IMediaTimelineController2::IsLoopingEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController2)->put_IsLoopingEnabled(value)); +} + +template event_token impl_IMediaTimelineController2::Failed(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaTimelineController2)->add_Failed(get_abi(eventHandler), &token)); + return token; +} + +template event_revoker impl_IMediaTimelineController2::Failed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaTimelineController2::remove_Failed, Failed(eventHandler)); +} + +template void impl_IMediaTimelineController2::Failed(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController2)->remove_Failed(token)); +} + +template event_token impl_IMediaTimelineController2::Ended(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaTimelineController2)->add_Ended(get_abi(eventHandler), &token)); + return token; +} + +template event_revoker impl_IMediaTimelineController2::Ended(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaTimelineController2::remove_Ended, Ended(eventHandler)); +} + +template void impl_IMediaTimelineController2::Ended(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaTimelineController2)->remove_Ended(token)); +} + +template HRESULT impl_IMediaTimelineControllerFailedEventArgs::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IMediaTimelineControllerFailedEventArgs)->get_ExtendedError(&value)); + return value; +} + +template void impl_IMediaExtension::SetProperties(const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaExtension)->abi_SetProperties(get_abi(configuration))); +} + +template void impl_IMediaExtensionManager::RegisterSchemeHandler(hstring_view activatableClassId, hstring_view scheme) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterSchemeHandler(get_abi(activatableClassId), get_abi(scheme))); +} + +template void impl_IMediaExtensionManager::RegisterSchemeHandler(hstring_view activatableClassId, hstring_view scheme, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterSchemeHandlerWithSettings(get_abi(activatableClassId), get_abi(scheme), get_abi(configuration))); +} + +template void impl_IMediaExtensionManager::RegisterByteStreamHandler(hstring_view activatableClassId, hstring_view fileExtension, hstring_view mimeType) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterByteStreamHandler(get_abi(activatableClassId), get_abi(fileExtension), get_abi(mimeType))); +} + +template void impl_IMediaExtensionManager::RegisterByteStreamHandler(hstring_view activatableClassId, hstring_view fileExtension, hstring_view mimeType, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterByteStreamHandlerWithSettings(get_abi(activatableClassId), get_abi(fileExtension), get_abi(mimeType), get_abi(configuration))); +} + +template void impl_IMediaExtensionManager::RegisterAudioDecoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterAudioDecoder(get_abi(activatableClassId), inputSubtype, outputSubtype)); +} + +template void impl_IMediaExtensionManager::RegisterAudioDecoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterAudioDecoderWithSettings(get_abi(activatableClassId), inputSubtype, outputSubtype, get_abi(configuration))); +} + +template void impl_IMediaExtensionManager::RegisterAudioEncoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterAudioEncoder(get_abi(activatableClassId), inputSubtype, outputSubtype)); +} + +template void impl_IMediaExtensionManager::RegisterAudioEncoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterAudioEncoderWithSettings(get_abi(activatableClassId), inputSubtype, outputSubtype, get_abi(configuration))); +} + +template void impl_IMediaExtensionManager::RegisterVideoDecoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterVideoDecoder(get_abi(activatableClassId), inputSubtype, outputSubtype)); +} + +template void impl_IMediaExtensionManager::RegisterVideoDecoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterVideoDecoderWithSettings(get_abi(activatableClassId), inputSubtype, outputSubtype, get_abi(configuration))); +} + +template void impl_IMediaExtensionManager::RegisterVideoEncoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterVideoEncoder(get_abi(activatableClassId), inputSubtype, outputSubtype)); +} + +template void impl_IMediaExtensionManager::RegisterVideoEncoder(hstring_view activatableClassId, GUID inputSubtype, GUID outputSubtype, const Windows::Foundation::Collections::IPropertySet & configuration) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager)->abi_RegisterVideoEncoderWithSettings(get_abi(activatableClassId), inputSubtype, outputSubtype, get_abi(configuration))); +} + +template void impl_IMediaExtensionManager2::RegisterMediaExtensionForAppService(const Windows::Media::IMediaExtension & extension, const Windows::ApplicationModel::AppService::AppServiceConnection & connection) const +{ + check_hresult(WINRT_SHIM(IMediaExtensionManager2)->abi_RegisterMediaExtensionForAppService(get_abi(extension), get_abi(connection))); +} + +template hstring impl_IVideoEffectsStatics::VideoStabilization() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoEffectsStatics)->get_VideoStabilization(put_abi(value))); + return value; +} + +template event_token impl_IMediaControl::SoundLevelChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_SoundLevelChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::SoundLevelChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_SoundLevelChanged, SoundLevelChanged(handler)); +} + +template void impl_IMediaControl::SoundLevelChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_SoundLevelChanged(cookie)); +} + +template event_token impl_IMediaControl::PlayPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_PlayPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::PlayPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_PlayPressed, PlayPressed(handler)); +} + +template void impl_IMediaControl::PlayPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_PlayPressed(cookie)); +} + +template event_token impl_IMediaControl::PausePressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_PausePressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::PausePressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_PausePressed, PausePressed(handler)); +} + +template void impl_IMediaControl::PausePressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_PausePressed(cookie)); +} + +template event_token impl_IMediaControl::StopPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_StopPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::StopPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_StopPressed, StopPressed(handler)); +} + +template void impl_IMediaControl::StopPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_StopPressed(cookie)); +} + +template event_token impl_IMediaControl::PlayPauseTogglePressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_PlayPauseTogglePressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::PlayPauseTogglePressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_PlayPauseTogglePressed, PlayPauseTogglePressed(handler)); +} + +template void impl_IMediaControl::PlayPauseTogglePressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_PlayPauseTogglePressed(cookie)); +} + +template event_token impl_IMediaControl::RecordPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_RecordPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::RecordPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_RecordPressed, RecordPressed(handler)); +} + +template void impl_IMediaControl::RecordPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_RecordPressed(cookie)); +} + +template event_token impl_IMediaControl::NextTrackPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_NextTrackPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::NextTrackPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_NextTrackPressed, NextTrackPressed(handler)); +} + +template void impl_IMediaControl::NextTrackPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_NextTrackPressed(cookie)); +} + +template event_token impl_IMediaControl::PreviousTrackPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_PreviousTrackPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::PreviousTrackPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_PreviousTrackPressed, PreviousTrackPressed(handler)); +} + +template void impl_IMediaControl::PreviousTrackPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_PreviousTrackPressed(cookie)); +} + +template event_token impl_IMediaControl::FastForwardPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_FastForwardPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::FastForwardPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_FastForwardPressed, FastForwardPressed(handler)); +} + +template void impl_IMediaControl::FastForwardPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_FastForwardPressed(cookie)); +} + +template event_token impl_IMediaControl::RewindPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_RewindPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::RewindPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_RewindPressed, RewindPressed(handler)); +} + +template void impl_IMediaControl::RewindPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_RewindPressed(cookie)); +} + +template event_token impl_IMediaControl::ChannelUpPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_ChannelUpPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::ChannelUpPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_ChannelUpPressed, ChannelUpPressed(handler)); +} + +template void impl_IMediaControl::ChannelUpPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_ChannelUpPressed(cookie)); +} + +template event_token impl_IMediaControl::ChannelDownPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMediaControl)->add_ChannelDownPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMediaControl::ChannelDownPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Media::IMediaControl::remove_ChannelDownPressed, ChannelDownPressed(handler)); +} + +template void impl_IMediaControl::ChannelDownPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->remove_ChannelDownPressed(cookie)); +} + +template Windows::Media::SoundLevel impl_IMediaControl::SoundLevel() const +{ + Windows::Media::SoundLevel value {}; + check_hresult(WINRT_SHIM(IMediaControl)->get_SoundLevel(&value)); + return value; +} + +template void impl_IMediaControl::TrackName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->put_TrackName(get_abi(value))); +} + +template hstring impl_IMediaControl::TrackName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaControl)->get_TrackName(put_abi(value))); + return value; +} + +template void impl_IMediaControl::ArtistName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->put_ArtistName(get_abi(value))); +} + +template hstring impl_IMediaControl::ArtistName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaControl)->get_ArtistName(put_abi(value))); + return value; +} + +template void impl_IMediaControl::IsPlaying(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->put_IsPlaying(value)); +} + +template bool impl_IMediaControl::IsPlaying() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaControl)->get_IsPlaying(&value)); + return value; +} + +template void impl_IMediaControl::AlbumArt(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IMediaControl)->put_AlbumArt(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IMediaControl::AlbumArt() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IMediaControl)->get_AlbumArt(put_abi(value))); + return value; +} + +inline AudioFrame::AudioFrame(uint32_t capacity) : + AudioFrame(get_activation_factory().Create(capacity)) +{} + +inline event_token MediaControl::SoundLevelChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().SoundLevelChanged(handler); +} + +inline factory_event_revoker MediaControl::SoundLevelChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_SoundLevelChanged, factory.SoundLevelChanged(handler) }; +} + +inline void MediaControl::SoundLevelChanged(event_token cookie) +{ + get_activation_factory().SoundLevelChanged(cookie); +} + +inline event_token MediaControl::PlayPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().PlayPressed(handler); +} + +inline factory_event_revoker MediaControl::PlayPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_PlayPressed, factory.PlayPressed(handler) }; +} + +inline void MediaControl::PlayPressed(event_token cookie) +{ + get_activation_factory().PlayPressed(cookie); +} + +inline event_token MediaControl::PausePressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().PausePressed(handler); +} + +inline factory_event_revoker MediaControl::PausePressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_PausePressed, factory.PausePressed(handler) }; +} + +inline void MediaControl::PausePressed(event_token cookie) +{ + get_activation_factory().PausePressed(cookie); +} + +inline event_token MediaControl::StopPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().StopPressed(handler); +} + +inline factory_event_revoker MediaControl::StopPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_StopPressed, factory.StopPressed(handler) }; +} + +inline void MediaControl::StopPressed(event_token cookie) +{ + get_activation_factory().StopPressed(cookie); +} + +inline event_token MediaControl::PlayPauseTogglePressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().PlayPauseTogglePressed(handler); +} + +inline factory_event_revoker MediaControl::PlayPauseTogglePressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_PlayPauseTogglePressed, factory.PlayPauseTogglePressed(handler) }; +} + +inline void MediaControl::PlayPauseTogglePressed(event_token cookie) +{ + get_activation_factory().PlayPauseTogglePressed(cookie); +} + +inline event_token MediaControl::RecordPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RecordPressed(handler); +} + +inline factory_event_revoker MediaControl::RecordPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_RecordPressed, factory.RecordPressed(handler) }; +} + +inline void MediaControl::RecordPressed(event_token cookie) +{ + get_activation_factory().RecordPressed(cookie); +} + +inline event_token MediaControl::NextTrackPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().NextTrackPressed(handler); +} + +inline factory_event_revoker MediaControl::NextTrackPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_NextTrackPressed, factory.NextTrackPressed(handler) }; +} + +inline void MediaControl::NextTrackPressed(event_token cookie) +{ + get_activation_factory().NextTrackPressed(cookie); +} + +inline event_token MediaControl::PreviousTrackPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().PreviousTrackPressed(handler); +} + +inline factory_event_revoker MediaControl::PreviousTrackPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_PreviousTrackPressed, factory.PreviousTrackPressed(handler) }; +} + +inline void MediaControl::PreviousTrackPressed(event_token cookie) +{ + get_activation_factory().PreviousTrackPressed(cookie); +} + +inline event_token MediaControl::FastForwardPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().FastForwardPressed(handler); +} + +inline factory_event_revoker MediaControl::FastForwardPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_FastForwardPressed, factory.FastForwardPressed(handler) }; +} + +inline void MediaControl::FastForwardPressed(event_token cookie) +{ + get_activation_factory().FastForwardPressed(cookie); +} + +inline event_token MediaControl::RewindPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RewindPressed(handler); +} + +inline factory_event_revoker MediaControl::RewindPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_RewindPressed, factory.RewindPressed(handler) }; +} + +inline void MediaControl::RewindPressed(event_token cookie) +{ + get_activation_factory().RewindPressed(cookie); +} + +inline event_token MediaControl::ChannelUpPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().ChannelUpPressed(handler); +} + +inline factory_event_revoker MediaControl::ChannelUpPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_ChannelUpPressed, factory.ChannelUpPressed(handler) }; +} + +inline void MediaControl::ChannelUpPressed(event_token cookie) +{ + get_activation_factory().ChannelUpPressed(cookie); +} + +inline event_token MediaControl::ChannelDownPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().ChannelDownPressed(handler); +} + +inline factory_event_revoker MediaControl::ChannelDownPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Media::IMediaControl::remove_ChannelDownPressed, factory.ChannelDownPressed(handler) }; +} + +inline void MediaControl::ChannelDownPressed(event_token cookie) +{ + get_activation_factory().ChannelDownPressed(cookie); +} + +inline Windows::Media::SoundLevel MediaControl::SoundLevel() +{ + return get_activation_factory().SoundLevel(); +} + +inline void MediaControl::TrackName(hstring_view value) +{ + get_activation_factory().TrackName(value); +} + +inline hstring MediaControl::TrackName() +{ + return get_activation_factory().TrackName(); +} + +inline void MediaControl::ArtistName(hstring_view value) +{ + get_activation_factory().ArtistName(value); +} + +inline hstring MediaControl::ArtistName() +{ + return get_activation_factory().ArtistName(); +} + +inline void MediaControl::IsPlaying(bool value) +{ + get_activation_factory().IsPlaying(value); +} + +inline bool MediaControl::IsPlaying() +{ + return get_activation_factory().IsPlaying(); +} + +inline void MediaControl::AlbumArt(const Windows::Foundation::Uri & value) +{ + get_activation_factory().AlbumArt(value); +} + +inline Windows::Foundation::Uri MediaControl::AlbumArt() +{ + return get_activation_factory().AlbumArt(); +} + +inline MediaExtensionManager::MediaExtensionManager() : + MediaExtensionManager(activate_instance()) +{} + +inline hstring MediaMarkerTypes::Bookmark() +{ + return get_activation_factory().Bookmark(); +} + +inline MediaTimelineController::MediaTimelineController() : + MediaTimelineController(activate_instance()) +{} + +inline Windows::Media::SystemMediaTransportControls SystemMediaTransportControls::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline SystemMediaTransportControlsTimelineProperties::SystemMediaTransportControlsTimelineProperties() : + SystemMediaTransportControlsTimelineProperties(activate_instance()) +{} + +inline hstring VideoEffects::VideoStabilization() +{ + return get_activation_factory().VideoStabilization(); +} + +inline VideoFrame::VideoFrame(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height) : + VideoFrame(get_activation_factory().Create(format, width, height)) +{} + +inline VideoFrame::VideoFrame(Windows::Graphics::Imaging::BitmapPixelFormat format, int32_t width, int32_t height, Windows::Graphics::Imaging::BitmapAlphaMode alpha) : + VideoFrame(get_activation_factory().CreateWithAlpha(format, width, height, alpha)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IAudioBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IAudioFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IAudioFrameFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IAutoRepeatModeChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IImageDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaExtension & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaExtensionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaExtensionManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaMarker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaMarkerTypesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaMarkers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaProcessingTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaTimelineController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaTimelineController2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMediaTimelineControllerFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMusicDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMusicDisplayProperties2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IMusicDisplayProperties3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IPlaybackPositionChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IPlaybackRateChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IShuffleEnabledChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ISystemMediaTransportControls & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ISystemMediaTransportControls2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ISystemMediaTransportControlsButtonPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ISystemMediaTransportControlsDisplayUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ISystemMediaTransportControlsPropertyChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ISystemMediaTransportControlsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ISystemMediaTransportControlsTimelineProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IVideoDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IVideoDisplayProperties2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IVideoEffectsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IVideoFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::IVideoFrameFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::AudioBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::AudioFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::AutoRepeatModeChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ImageDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaExtensionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaProcessingTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaTimelineController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MediaTimelineControllerFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::MusicDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlaybackPositionChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::PlaybackRateChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::ShuffleEnabledChangeRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SystemMediaTransportControls & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SystemMediaTransportControlsButtonPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SystemMediaTransportControlsDisplayUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SystemMediaTransportControlsPropertyChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::SystemMediaTransportControlsTimelineProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::VideoDisplayProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Media::VideoFrame & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.BackgroundTransfer.h b/10.0.15042.0/winrt/Windows.Networking.BackgroundTransfer.h new file mode 100644 index 000000000..e7abb0621 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.BackgroundTransfer.h @@ -0,0 +1,2684 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.UI.Notifications.3.h" +#include "internal/Windows.Web.3.h" +#include "internal/Windows.ApplicationModel.Background.3.h" +#include "internal/Windows.Networking.BackgroundTransfer.3.h" +#include "Windows.Networking.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDownload(impl::abi_arg_in uri, impl::abi_arg_in resultFile, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateDownload(*reinterpret_cast(&uri), *reinterpret_cast(&resultFile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDownloadFromFile(impl::abi_arg_in uri, impl::abi_arg_in resultFile, impl::abi_arg_in requestBodyFile, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateDownload(*reinterpret_cast(&uri), *reinterpret_cast(&resultFile), *reinterpret_cast(&requestBodyFile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDownloadAsync(impl::abi_arg_in uri, impl::abi_arg_in resultFile, impl::abi_arg_in requestBodyStream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateDownloadAsync(*reinterpret_cast(&uri), *reinterpret_cast(&resultFile), *reinterpret_cast(&requestBodyStream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransferGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransferGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransferGroup(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferGroup(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuccessToastNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuccessToastNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuccessToastNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuccessToastNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FailureToastNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FailureToastNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FailureToastNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FailureToastNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuccessTileNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuccessTileNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuccessTileNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuccessTileNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FailureTileNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FailureTileNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FailureTileNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FailureTileNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CompletionGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompletionGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithCompletionGroup(impl::abi_arg_in completionGroup, impl::abi_arg_out backgroundDownloader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *backgroundDownloader = detach_abi(this->shim().CreateWithCompletionGroup(*reinterpret_cast(&completionGroup))); + return S_OK; + } + catch (...) + { + *backgroundDownloader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentDownloadsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCurrentDownloadsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentDownloadsForGroupAsync(impl::abi_arg_in group, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCurrentDownloadsAsync(*reinterpret_cast(&group))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentDownloadsForTransferGroupAsync(impl::abi_arg_in group, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCurrentDownloadsForTransferGroupAsync(*reinterpret_cast(&group))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestUnconstrainedDownloadsAsync(impl::abi_arg_in> operations, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestUnconstrainedDownloadsAsync(*reinterpret_cast *>(&operations))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetRequestHeader(impl::abi_arg_in headerName, impl::abi_arg_in headerValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRequestHeader(*reinterpret_cast(&headerName), *reinterpret_cast(&headerValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCredential(impl::abi_arg_out credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().ServerCredential()); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServerCredential(impl::abi_arg_in credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerCredential(*reinterpret_cast(&credential)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProxyCredential(impl::abi_arg_out credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().ProxyCredential()); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProxyCredential(impl::abi_arg_in credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProxyCredential(*reinterpret_cast(&credential)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Method(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Method()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Method(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Method(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Group(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Group()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Group(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Group(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CostPolicy(Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CostPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CostPolicy(Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CostPolicy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Trigger(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Trigger()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Enable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Downloads(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Downloads()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uploads(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uploads()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetHeader(impl::abi_arg_in headerName, impl::abi_arg_in headerValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHeader(*reinterpret_cast(&headerName), *reinterpret_cast(&headerValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFile(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFile(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithName(impl::abi_arg_in name, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithName(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithNameAndFileName(impl::abi_arg_in name, impl::abi_arg_in fileName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithNameAndFileName(*reinterpret_cast(&name), *reinterpret_cast(&fileName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetStatus(int32_t hresult, Windows::Web::WebErrorStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetStatus(hresult)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransferBehavior(Windows::Networking::BackgroundTransfer::BackgroundTransferBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransferBehavior()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransferBehavior(Windows::Networking::BackgroundTransfer::BackgroundTransferBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferBehavior(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateGroup(impl::abi_arg_in name, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateGroup(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Guid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Guid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestedUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestedUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Method(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Method()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Group(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Group()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CostPolicy(Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CostPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CostPolicy(Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CostPolicy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetResultStreamAt(uint64_t position, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetResultStreamAt(position)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetResponseInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetResponseInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Priority(Windows::Networking::BackgroundTransfer::BackgroundTransferPriority * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Priority()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Priority(Windows::Networking::BackgroundTransfer::BackgroundTransferPriority value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Priority(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateUpload(impl::abi_arg_in uri, impl::abi_arg_in sourceFile, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateUpload(*reinterpret_cast(&uri), *reinterpret_cast(&sourceFile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateUploadFromStreamAsync(impl::abi_arg_in uri, impl::abi_arg_in sourceStream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateUploadFromStreamAsync(*reinterpret_cast(&uri), *reinterpret_cast(&sourceStream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateUploadWithFormDataAndAutoBoundaryAsync(impl::abi_arg_in uri, impl::abi_arg_in> parts, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateUploadAsync(*reinterpret_cast(&uri), *reinterpret_cast *>(&parts))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateUploadWithSubTypeAsync(impl::abi_arg_in uri, impl::abi_arg_in> parts, impl::abi_arg_in subType, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateUploadAsync(*reinterpret_cast(&uri), *reinterpret_cast *>(&parts), *reinterpret_cast(&subType))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateUploadWithSubTypeAndBoundaryAsync(impl::abi_arg_in uri, impl::abi_arg_in> parts, impl::abi_arg_in subType, impl::abi_arg_in boundary, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateUploadAsync(*reinterpret_cast(&uri), *reinterpret_cast *>(&parts), *reinterpret_cast(&subType), *reinterpret_cast(&boundary))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransferGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransferGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransferGroup(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferGroup(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuccessToastNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuccessToastNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuccessToastNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuccessToastNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FailureToastNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FailureToastNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FailureToastNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FailureToastNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuccessTileNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuccessTileNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuccessTileNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuccessTileNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FailureTileNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FailureTileNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FailureTileNotification(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FailureTileNotification(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CompletionGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompletionGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithCompletionGroup(impl::abi_arg_in completionGroup, impl::abi_arg_out backgroundUploader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *backgroundUploader = detach_abi(this->shim().CreateWithCompletionGroup(*reinterpret_cast(&completionGroup))); + return S_OK; + } + catch (...) + { + *backgroundUploader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentUploadsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCurrentUploadsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentUploadsForGroupAsync(impl::abi_arg_in group, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCurrentUploadsAsync(*reinterpret_cast(&group))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentUploadsForTransferGroupAsync(impl::abi_arg_in group, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCurrentUploadsForTransferGroupAsync(*reinterpret_cast(&group))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestUnconstrainedUploadsAsync(impl::abi_arg_in> operations, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestUnconstrainedUploadsAsync(*reinterpret_cast *>(&operations))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentUris(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentUris()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IndirectContentUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IndirectContentUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndirectContentUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndirectContentUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LastSuccessfulPrefetchTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSuccessfulPrefetchTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResultFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResultFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AttachAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AttachAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resume() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resume(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransferGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransferGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsResumable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsResumable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StatusCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StatusCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Headers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Headers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsUnconstrained(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUnconstrained()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Progress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Progress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AttachAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AttachAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransferGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransferGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::BackgroundTransfer { + +template void impl_IBackgroundTransferBase::SetRequestHeader(hstring_view headerName, hstring_view headerValue) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->abi_SetRequestHeader(get_abi(headerName), get_abi(headerValue))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IBackgroundTransferBase::ServerCredential() const +{ + Windows::Security::Credentials::PasswordCredential credential { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->get_ServerCredential(put_abi(credential))); + return credential; +} + +template void impl_IBackgroundTransferBase::ServerCredential(const Windows::Security::Credentials::PasswordCredential & credential) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->put_ServerCredential(get_abi(credential))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IBackgroundTransferBase::ProxyCredential() const +{ + Windows::Security::Credentials::PasswordCredential credential { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->get_ProxyCredential(put_abi(credential))); + return credential; +} + +template void impl_IBackgroundTransferBase::ProxyCredential(const Windows::Security::Credentials::PasswordCredential & credential) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->put_ProxyCredential(get_abi(credential))); +} + +template hstring impl_IBackgroundTransferBase::Method() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->get_Method(put_abi(value))); + return value; +} + +template void impl_IBackgroundTransferBase::Method(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->put_Method(get_abi(value))); +} + +template hstring impl_IBackgroundTransferBase::Group() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->get_Group(put_abi(value))); + return value; +} + +template void impl_IBackgroundTransferBase::Group(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->put_Group(get_abi(value))); +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy impl_IBackgroundTransferBase::CostPolicy() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy value {}; + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->get_CostPolicy(&value)); + return value; +} + +template void impl_IBackgroundTransferBase::CostPolicy(Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferBase)->put_CostPolicy(value)); +} + +template bool impl_IUnconstrainedTransferRequestResult::IsUnconstrained() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUnconstrainedTransferRequestResult)->get_IsUnconstrained(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundDownloaderUserConsent::RequestUnconstrainedDownloadsAsync(iterable operations) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundDownloaderUserConsent)->abi_RequestUnconstrainedDownloadsAsync(get_abi(operations), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundUploaderUserConsent::RequestUnconstrainedUploadsAsync(iterable operations) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundUploaderUserConsent)->abi_RequestUnconstrainedUploadsAsync(get_abi(operations), put_abi(operation))); + return operation; +} + +template Windows::Networking::BackgroundTransfer::DownloadOperation impl_IBackgroundDownloader::CreateDownload(const Windows::Foundation::Uri & uri, const Windows::Storage::IStorageFile & resultFile) const +{ + Windows::Networking::BackgroundTransfer::DownloadOperation operation { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader)->abi_CreateDownload(get_abi(uri), get_abi(resultFile), put_abi(operation))); + return operation; +} + +template Windows::Networking::BackgroundTransfer::DownloadOperation impl_IBackgroundDownloader::CreateDownload(const Windows::Foundation::Uri & uri, const Windows::Storage::IStorageFile & resultFile, const Windows::Storage::IStorageFile & requestBodyFile) const +{ + Windows::Networking::BackgroundTransfer::DownloadOperation operation { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader)->abi_CreateDownloadFromFile(get_abi(uri), get_abi(resultFile), get_abi(requestBodyFile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundDownloader::CreateDownloadAsync(const Windows::Foundation::Uri & uri, const Windows::Storage::IStorageFile & resultFile, const Windows::Storage::Streams::IInputStream & requestBodyStream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundDownloader)->abi_CreateDownloadAsync(get_abi(uri), get_abi(resultFile), get_abi(requestBodyStream), put_abi(operation))); + return operation; +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferGroup impl_IBackgroundDownloader2::TransferGroup() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->get_TransferGroup(put_abi(value))); + return value; +} + +template void impl_IBackgroundDownloader2::TransferGroup(const Windows::Networking::BackgroundTransfer::BackgroundTransferGroup & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->put_TransferGroup(get_abi(value))); +} + +template Windows::UI::Notifications::ToastNotification impl_IBackgroundDownloader2::SuccessToastNotification() const +{ + Windows::UI::Notifications::ToastNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->get_SuccessToastNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundDownloader2::SuccessToastNotification(const Windows::UI::Notifications::ToastNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->put_SuccessToastNotification(get_abi(value))); +} + +template Windows::UI::Notifications::ToastNotification impl_IBackgroundDownloader2::FailureToastNotification() const +{ + Windows::UI::Notifications::ToastNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->get_FailureToastNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundDownloader2::FailureToastNotification(const Windows::UI::Notifications::ToastNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->put_FailureToastNotification(get_abi(value))); +} + +template Windows::UI::Notifications::TileNotification impl_IBackgroundDownloader2::SuccessTileNotification() const +{ + Windows::UI::Notifications::TileNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->get_SuccessTileNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundDownloader2::SuccessTileNotification(const Windows::UI::Notifications::TileNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->put_SuccessTileNotification(get_abi(value))); +} + +template Windows::UI::Notifications::TileNotification impl_IBackgroundDownloader2::FailureTileNotification() const +{ + Windows::UI::Notifications::TileNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->get_FailureTileNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundDownloader2::FailureTileNotification(const Windows::UI::Notifications::TileNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundDownloader2)->put_FailureTileNotification(get_abi(value))); +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup impl_IBackgroundDownloader3::CompletionGroup() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloader3)->get_CompletionGroup(put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::UploadOperation impl_IBackgroundUploader::CreateUpload(const Windows::Foundation::Uri & uri, const Windows::Storage::IStorageFile & sourceFile) const +{ + Windows::Networking::BackgroundTransfer::UploadOperation operation { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploader)->abi_CreateUpload(get_abi(uri), get_abi(sourceFile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundUploader::CreateUploadFromStreamAsync(const Windows::Foundation::Uri & uri, const Windows::Storage::Streams::IInputStream & sourceStream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundUploader)->abi_CreateUploadFromStreamAsync(get_abi(uri), get_abi(sourceStream), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundUploader::CreateUploadAsync(const Windows::Foundation::Uri & uri, iterable parts) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundUploader)->abi_CreateUploadWithFormDataAndAutoBoundaryAsync(get_abi(uri), get_abi(parts), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundUploader::CreateUploadAsync(const Windows::Foundation::Uri & uri, iterable parts, hstring_view subType) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundUploader)->abi_CreateUploadWithSubTypeAsync(get_abi(uri), get_abi(parts), get_abi(subType), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IBackgroundUploader::CreateUploadAsync(const Windows::Foundation::Uri & uri, iterable parts, hstring_view subType, hstring_view boundary) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IBackgroundUploader)->abi_CreateUploadWithSubTypeAndBoundaryAsync(get_abi(uri), get_abi(parts), get_abi(subType), get_abi(boundary), put_abi(operation))); + return operation; +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferGroup impl_IBackgroundUploader2::TransferGroup() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploader2)->get_TransferGroup(put_abi(value))); + return value; +} + +template void impl_IBackgroundUploader2::TransferGroup(const Windows::Networking::BackgroundTransfer::BackgroundTransferGroup & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundUploader2)->put_TransferGroup(get_abi(value))); +} + +template Windows::UI::Notifications::ToastNotification impl_IBackgroundUploader2::SuccessToastNotification() const +{ + Windows::UI::Notifications::ToastNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploader2)->get_SuccessToastNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundUploader2::SuccessToastNotification(const Windows::UI::Notifications::ToastNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundUploader2)->put_SuccessToastNotification(get_abi(value))); +} + +template Windows::UI::Notifications::ToastNotification impl_IBackgroundUploader2::FailureToastNotification() const +{ + Windows::UI::Notifications::ToastNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploader2)->get_FailureToastNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundUploader2::FailureToastNotification(const Windows::UI::Notifications::ToastNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundUploader2)->put_FailureToastNotification(get_abi(value))); +} + +template Windows::UI::Notifications::TileNotification impl_IBackgroundUploader2::SuccessTileNotification() const +{ + Windows::UI::Notifications::TileNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploader2)->get_SuccessTileNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundUploader2::SuccessTileNotification(const Windows::UI::Notifications::TileNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundUploader2)->put_SuccessTileNotification(get_abi(value))); +} + +template Windows::UI::Notifications::TileNotification impl_IBackgroundUploader2::FailureTileNotification() const +{ + Windows::UI::Notifications::TileNotification value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploader2)->get_FailureTileNotification(put_abi(value))); + return value; +} + +template void impl_IBackgroundUploader2::FailureTileNotification(const Windows::UI::Notifications::TileNotification & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundUploader2)->put_FailureTileNotification(get_abi(value))); +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup impl_IBackgroundUploader3::CompletionGroup() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploader3)->get_CompletionGroup(put_abi(value))); + return value; +} + +template GUID impl_IBackgroundTransferOperation::Guid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->get_Guid(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IBackgroundTransferOperation::RequestedUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->get_RequestedUri(put_abi(value))); + return value; +} + +template hstring impl_IBackgroundTransferOperation::Method() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->get_Method(put_abi(value))); + return value; +} + +template hstring impl_IBackgroundTransferOperation::Group() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->get_Group(put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy impl_IBackgroundTransferOperation::CostPolicy() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy value {}; + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->get_CostPolicy(&value)); + return value; +} + +template void impl_IBackgroundTransferOperation::CostPolicy(Windows::Networking::BackgroundTransfer::BackgroundTransferCostPolicy value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->put_CostPolicy(value)); +} + +template Windows::Storage::Streams::IInputStream impl_IBackgroundTransferOperation::GetResultStreamAt(uint64_t position) const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->abi_GetResultStreamAt(position, put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::ResponseInformation impl_IBackgroundTransferOperation::GetResponseInformation() const +{ + Windows::Networking::BackgroundTransfer::ResponseInformation value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTransferOperation)->abi_GetResponseInformation(put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferPriority impl_IBackgroundTransferOperationPriority::Priority() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferPriority value {}; + check_hresult(WINRT_SHIM(IBackgroundTransferOperationPriority)->get_Priority(&value)); + return value; +} + +template void impl_IBackgroundTransferOperationPriority::Priority(Windows::Networking::BackgroundTransfer::BackgroundTransferPriority value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferOperationPriority)->put_Priority(value)); +} + +template Windows::Storage::IStorageFile impl_IDownloadOperation::ResultFile() const +{ + Windows::Storage::IStorageFile value; + check_hresult(WINRT_SHIM(IDownloadOperation)->get_ResultFile(put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::BackgroundDownloadProgress impl_IDownloadOperation::Progress() const +{ + Windows::Networking::BackgroundTransfer::BackgroundDownloadProgress value {}; + check_hresult(WINRT_SHIM(IDownloadOperation)->get_Progress(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IDownloadOperation::StartAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IDownloadOperation)->abi_StartAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IDownloadOperation::AttachAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IDownloadOperation)->abi_AttachAsync(put_abi(operation))); + return operation; +} + +template void impl_IDownloadOperation::Pause() const +{ + check_hresult(WINRT_SHIM(IDownloadOperation)->abi_Pause()); +} + +template void impl_IDownloadOperation::Resume() const +{ + check_hresult(WINRT_SHIM(IDownloadOperation)->abi_Resume()); +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferGroup impl_IDownloadOperation2::TransferGroup() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferGroup value { nullptr }; + check_hresult(WINRT_SHIM(IDownloadOperation2)->get_TransferGroup(put_abi(value))); + return value; +} + +template Windows::Storage::IStorageFile impl_IUploadOperation::SourceFile() const +{ + Windows::Storage::IStorageFile value; + check_hresult(WINRT_SHIM(IUploadOperation)->get_SourceFile(put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::BackgroundUploadProgress impl_IUploadOperation::Progress() const +{ + Windows::Networking::BackgroundTransfer::BackgroundUploadProgress value {}; + check_hresult(WINRT_SHIM(IUploadOperation)->get_Progress(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IUploadOperation::StartAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IUploadOperation)->abi_StartAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IUploadOperation::AttachAsync() const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IUploadOperation)->abi_AttachAsync(put_abi(operation))); + return operation; +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferGroup impl_IUploadOperation2::TransferGroup() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferGroup value { nullptr }; + check_hresult(WINRT_SHIM(IUploadOperation2)->get_TransferGroup(put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::BackgroundDownloader impl_IBackgroundDownloaderFactory::CreateWithCompletionGroup(const Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup & completionGroup) const +{ + Windows::Networking::BackgroundTransfer::BackgroundDownloader backgroundDownloader { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundDownloaderFactory)->abi_CreateWithCompletionGroup(get_abi(completionGroup), put_abi(backgroundDownloader))); + return backgroundDownloader; +} + +template Windows::Foundation::IAsyncOperation> impl_IBackgroundDownloaderStaticMethods::GetCurrentDownloadsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IBackgroundDownloaderStaticMethods)->abi_GetCurrentDownloadsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IBackgroundDownloaderStaticMethods::GetCurrentDownloadsAsync(hstring_view group) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IBackgroundDownloaderStaticMethods)->abi_GetCurrentDownloadsForGroupAsync(get_abi(group), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IBackgroundDownloaderStaticMethods2::GetCurrentDownloadsForTransferGroupAsync(const Windows::Networking::BackgroundTransfer::BackgroundTransferGroup & group) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IBackgroundDownloaderStaticMethods2)->abi_GetCurrentDownloadsForTransferGroupAsync(get_abi(group), put_abi(operation))); + return operation; +} + +template Windows::Networking::BackgroundTransfer::BackgroundUploader impl_IBackgroundUploaderFactory::CreateWithCompletionGroup(const Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup & completionGroup) const +{ + Windows::Networking::BackgroundTransfer::BackgroundUploader backgroundUploader { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundUploaderFactory)->abi_CreateWithCompletionGroup(get_abi(completionGroup), put_abi(backgroundUploader))); + return backgroundUploader; +} + +template Windows::Foundation::IAsyncOperation> impl_IBackgroundUploaderStaticMethods::GetCurrentUploadsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IBackgroundUploaderStaticMethods)->abi_GetCurrentUploadsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IBackgroundUploaderStaticMethods::GetCurrentUploadsAsync(hstring_view group) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IBackgroundUploaderStaticMethods)->abi_GetCurrentUploadsForGroupAsync(get_abi(group), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IBackgroundUploaderStaticMethods2::GetCurrentUploadsForTransferGroupAsync(const Windows::Networking::BackgroundTransfer::BackgroundTransferGroup & group) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IBackgroundUploaderStaticMethods2)->abi_GetCurrentUploadsForTransferGroupAsync(get_abi(group), put_abi(operation))); + return operation; +} + +template bool impl_IResponseInformation::IsResumable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IResponseInformation)->get_IsResumable(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IResponseInformation::ActualUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IResponseInformation)->get_ActualUri(put_abi(value))); + return value; +} + +template uint32_t impl_IResponseInformation::StatusCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IResponseInformation)->get_StatusCode(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IResponseInformation::Headers() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IResponseInformation)->get_Headers(put_abi(value))); + return value; +} + +template Windows::Web::WebErrorStatus impl_IBackgroundTransferErrorStaticMethods::GetStatus(int32_t hresult) const +{ + Windows::Web::WebErrorStatus status {}; + check_hresult(WINRT_SHIM(IBackgroundTransferErrorStaticMethods)->abi_GetStatus(hresult, &status)); + return status; +} + +template void impl_IBackgroundTransferContentPart::SetHeader(hstring_view headerName, hstring_view headerValue) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferContentPart)->abi_SetHeader(get_abi(headerName), get_abi(headerValue))); +} + +template void impl_IBackgroundTransferContentPart::SetText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferContentPart)->abi_SetText(get_abi(value))); +} + +template void impl_IBackgroundTransferContentPart::SetFile(const Windows::Storage::IStorageFile & value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferContentPart)->abi_SetFile(get_abi(value))); +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferContentPart impl_IBackgroundTransferContentPartFactory::CreateWithName(hstring_view name) const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferContentPart value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTransferContentPartFactory)->abi_CreateWithName(get_abi(name), put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferContentPart impl_IBackgroundTransferContentPartFactory::CreateWithNameAndFileName(hstring_view name, hstring_view fileName) const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferContentPart value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTransferContentPartFactory)->abi_CreateWithNameAndFileName(get_abi(name), get_abi(fileName), put_abi(value))); + return value; +} + +template hstring impl_IBackgroundTransferGroup::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IBackgroundTransferGroup)->get_Name(put_abi(value))); + return value; +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferBehavior impl_IBackgroundTransferGroup::TransferBehavior() const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferBehavior value {}; + check_hresult(WINRT_SHIM(IBackgroundTransferGroup)->get_TransferBehavior(&value)); + return value; +} + +template void impl_IBackgroundTransferGroup::TransferBehavior(Windows::Networking::BackgroundTransfer::BackgroundTransferBehavior value) const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferGroup)->put_TransferBehavior(value)); +} + +template Windows::Networking::BackgroundTransfer::BackgroundTransferGroup impl_IBackgroundTransferGroupStatics::CreateGroup(hstring_view name) const +{ + Windows::Networking::BackgroundTransfer::BackgroundTransferGroup value { nullptr }; + check_hresult(WINRT_SHIM(IBackgroundTransferGroupStatics)->abi_CreateGroup(get_abi(name), put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IContentPrefetcherTime::LastSuccessfulPrefetchTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IContentPrefetcherTime)->get_LastSuccessfulPrefetchTime(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContentPrefetcher::ContentUris() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContentPrefetcher)->get_ContentUris(put_abi(value))); + return value; +} + +template void impl_IContentPrefetcher::IndirectContentUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IContentPrefetcher)->put_IndirectContentUri(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IContentPrefetcher::IndirectContentUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IContentPrefetcher)->get_IndirectContentUri(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::IBackgroundTrigger impl_IBackgroundTransferCompletionGroup::Trigger() const +{ + Windows::ApplicationModel::Background::IBackgroundTrigger value; + check_hresult(WINRT_SHIM(IBackgroundTransferCompletionGroup)->get_Trigger(put_abi(value))); + return value; +} + +template bool impl_IBackgroundTransferCompletionGroup::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBackgroundTransferCompletionGroup)->get_IsEnabled(&value)); + return value; +} + +template void impl_IBackgroundTransferCompletionGroup::Enable() const +{ + check_hresult(WINRT_SHIM(IBackgroundTransferCompletionGroup)->abi_Enable()); +} + +template Windows::Foundation::Collections::IVectorView impl_IBackgroundTransferCompletionGroupTriggerDetails::Downloads() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBackgroundTransferCompletionGroupTriggerDetails)->get_Downloads(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IBackgroundTransferCompletionGroupTriggerDetails::Uploads() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IBackgroundTransferCompletionGroupTriggerDetails)->get_Uploads(put_abi(value))); + return value; +} + +inline BackgroundDownloader::BackgroundDownloader() : + BackgroundDownloader(activate_instance()) +{} + +inline BackgroundDownloader::BackgroundDownloader(const Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup & completionGroup) : + BackgroundDownloader(get_activation_factory().CreateWithCompletionGroup(completionGroup)) +{} + +inline Windows::Foundation::IAsyncOperation> BackgroundDownloader::GetCurrentDownloadsAsync() +{ + return get_activation_factory().GetCurrentDownloadsAsync(); +} + +inline Windows::Foundation::IAsyncOperation> BackgroundDownloader::GetCurrentDownloadsAsync(hstring_view group) +{ + return get_activation_factory().GetCurrentDownloadsAsync(group); +} + +inline Windows::Foundation::IAsyncOperation> BackgroundDownloader::GetCurrentDownloadsForTransferGroupAsync(const Windows::Networking::BackgroundTransfer::BackgroundTransferGroup & group) +{ + return get_activation_factory().GetCurrentDownloadsForTransferGroupAsync(group); +} + +inline Windows::Foundation::IAsyncOperation BackgroundDownloader::RequestUnconstrainedDownloadsAsync(iterable operations) +{ + return get_activation_factory().RequestUnconstrainedDownloadsAsync(operations); +} + +inline BackgroundTransferCompletionGroup::BackgroundTransferCompletionGroup() : + BackgroundTransferCompletionGroup(activate_instance()) +{} + +inline BackgroundTransferContentPart::BackgroundTransferContentPart() : + BackgroundTransferContentPart(activate_instance()) +{} + +inline BackgroundTransferContentPart::BackgroundTransferContentPart(hstring_view name) : + BackgroundTransferContentPart(get_activation_factory().CreateWithName(name)) +{} + +inline BackgroundTransferContentPart::BackgroundTransferContentPart(hstring_view name, hstring_view fileName) : + BackgroundTransferContentPart(get_activation_factory().CreateWithNameAndFileName(name, fileName)) +{} + +inline Windows::Web::WebErrorStatus BackgroundTransferError::GetStatus(int32_t hresult) +{ + return get_activation_factory().GetStatus(hresult); +} + +inline Windows::Networking::BackgroundTransfer::BackgroundTransferGroup BackgroundTransferGroup::CreateGroup(hstring_view name) +{ + return get_activation_factory().CreateGroup(name); +} + +inline BackgroundUploader::BackgroundUploader() : + BackgroundUploader(activate_instance()) +{} + +inline BackgroundUploader::BackgroundUploader(const Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup & completionGroup) : + BackgroundUploader(get_activation_factory().CreateWithCompletionGroup(completionGroup)) +{} + +inline Windows::Foundation::IAsyncOperation> BackgroundUploader::GetCurrentUploadsAsync() +{ + return get_activation_factory().GetCurrentUploadsAsync(); +} + +inline Windows::Foundation::IAsyncOperation> BackgroundUploader::GetCurrentUploadsAsync(hstring_view group) +{ + return get_activation_factory().GetCurrentUploadsAsync(group); +} + +inline Windows::Foundation::IAsyncOperation> BackgroundUploader::GetCurrentUploadsForTransferGroupAsync(const Windows::Networking::BackgroundTransfer::BackgroundTransferGroup & group) +{ + return get_activation_factory().GetCurrentUploadsForTransferGroupAsync(group); +} + +inline Windows::Foundation::IAsyncOperation BackgroundUploader::RequestUnconstrainedUploadsAsync(iterable operations) +{ + return get_activation_factory().RequestUnconstrainedUploadsAsync(operations); +} + +inline Windows::Foundation::Collections::IVector ContentPrefetcher::ContentUris() +{ + return get_activation_factory().ContentUris(); +} + +inline void ContentPrefetcher::IndirectContentUri(const Windows::Foundation::Uri & value) +{ + get_activation_factory().IndirectContentUri(value); +} + +inline Windows::Foundation::Uri ContentPrefetcher::IndirectContentUri() +{ + return get_activation_factory().IndirectContentUri(); +} + +inline Windows::Foundation::IReference ContentPrefetcher::LastSuccessfulPrefetchTime() +{ + return get_activation_factory().LastSuccessfulPrefetchTime(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundDownloader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundDownloader2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundDownloader3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundDownloaderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundDownloaderStaticMethods & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundDownloaderStaticMethods2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundDownloaderUserConsent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferCompletionGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferCompletionGroupTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferContentPart & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferContentPartFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferErrorStaticMethods & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferGroupStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundTransferOperationPriority & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundUploader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundUploader2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundUploader3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundUploaderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundUploaderStaticMethods & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundUploaderStaticMethods2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IBackgroundUploaderUserConsent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IContentPrefetcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IContentPrefetcherTime & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IDownloadOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IDownloadOperation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IResponseInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IUnconstrainedTransferRequestResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IUploadOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::IUploadOperation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::BackgroundDownloader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::BackgroundTransferCompletionGroupTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::BackgroundTransferContentPart & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::BackgroundTransferGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::BackgroundUploader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::DownloadOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::ResponseInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::UnconstrainedTransferRequestResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::BackgroundTransfer::UploadOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.Connectivity.h b/10.0.15042.0/winrt/Windows.Networking.Connectivity.h new file mode 100644 index 000000000..ce3464100 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.Connectivity.h @@ -0,0 +1,3318 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Networking.Connectivity.3.h" +#include "Windows.Networking.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Networking::Connectivity { + +template NetworkStatusChangedEventHandler::NetworkStatusChangedEventHandler(L lambda) : + NetworkStatusChangedEventHandler(impl::make_delegate, NetworkStatusChangedEventHandler>(std::forward(lambda))) +{} + +template NetworkStatusChangedEventHandler::NetworkStatusChangedEventHandler(F * function) : + NetworkStatusChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template NetworkStatusChangedEventHandler::NetworkStatusChangedEventHandler(O * object, M method) : + NetworkStatusChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void NetworkStatusChangedEventHandler::operator()(const Windows::Foundation::IInspectable & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BytesSent(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesSent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytesReceived(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesReceived()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributionName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributionName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttributionThumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttributionThumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProviderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProviderId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProviderId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccessPointName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccessPointName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AccessPointName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccessPointName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Password(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Password()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Password(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Password(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCompressionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompressionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCompressionEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCompressionEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationType(Windows::Networking::Connectivity::CellularApnAuthenticationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AuthenticationType(Windows::Networking::Connectivity::CellularApnAuthenticationType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkCostType(Windows::Networking::Connectivity::NetworkCostType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkCostType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Roaming(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Roaming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverDataLimit(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverDataLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApproachingDataLimit(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApproachingDataLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BackgroundDataUsageRestricted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundDataUsageRestricted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProfileName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProfileName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNetworkConnectivityLevel(Windows::Networking::Connectivity::NetworkConnectivityLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNetworkConnectivityLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNetworkNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNetworkNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConnectionCost(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectionCost()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDataPlanStatus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDataPlanStatus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkAdapter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAdapter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalUsage(impl::abi_arg_in StartTime, impl::abi_arg_in EndTime, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLocalUsage(*reinterpret_cast(&StartTime), *reinterpret_cast(&EndTime))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalUsagePerRoamingStates(impl::abi_arg_in StartTime, impl::abi_arg_in EndTime, Windows::Networking::Connectivity::RoamingStates States, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLocalUsage(*reinterpret_cast(&StartTime), *reinterpret_cast(&EndTime), States)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkSecuritySettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkSecuritySettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsWwanConnectionProfile(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWwanConnectionProfile()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsWlanConnectionProfile(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWlanConnectionProfile()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WwanConnectionProfileDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WwanConnectionProfileDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WlanConnectionProfileDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WlanConnectionProfileDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceProviderGuid(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceProviderGuid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSignalBars(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSignalBars()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDomainConnectivityLevel(Windows::Networking::Connectivity::DomainConnectivityLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDomainConnectivityLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNetworkUsageAsync(impl::abi_arg_in startTime, impl::abi_arg_in endTime, Windows::Networking::Connectivity::DataUsageGranularity granularity, impl::abi_arg_in states, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNetworkUsageAsync(*reinterpret_cast(&startTime), *reinterpret_cast(&endTime), granularity, *reinterpret_cast(&states))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConnectivityIntervalsAsync(impl::abi_arg_in startTime, impl::abi_arg_in endTime, impl::abi_arg_in states, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectivityIntervalsAsync(*reinterpret_cast(&startTime), *reinterpret_cast(&endTime), *reinterpret_cast(&states))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAttributedNetworkUsageAsync(impl::abi_arg_in startTime, impl::abi_arg_in endTime, impl::abi_arg_in states, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAttributedNetworkUsageAsync(*reinterpret_cast(&startTime), *reinterpret_cast(&endTime), *reinterpret_cast(&states))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsConnected(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsConnected(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsConnected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsConnected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsWwanConnectionProfile(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsWwanConnectionProfile(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsWwanConnectionProfile(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWwanConnectionProfile()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsWlanConnectionProfile(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsWlanConnectionProfile(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsWlanConnectionProfile(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWlanConnectionProfile()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NetworkCostType(Windows::Networking::Connectivity::NetworkCostType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NetworkCostType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkCostType(Windows::Networking::Connectivity::NetworkCostType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkCostType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServiceProviderGuid(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceProviderGuid(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceProviderGuid(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceProviderGuid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsRoaming(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRoaming(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRoaming(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRoaming()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOverDataLimit(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOverDataLimit(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOverDataLimit(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOverDataLimit()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsBackgroundDataUsageRestricted(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsBackgroundDataUsageRestricted(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBackgroundDataUsageRestricted(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBackgroundDataUsageRestricted()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConnectionProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartTime(impl::abi_arg_out startTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *startTime = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionDuration(impl::abi_arg_out duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *duration = detach_abi(this->shim().ConnectionDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AcquireConnectionAsync(impl::abi_arg_in cellularApnContext, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AcquireConnectionAsync(*reinterpret_cast(&cellularApnContext))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddHttpRoutePolicy(impl::abi_arg_in routePolicy) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddHttpRoutePolicy(*reinterpret_cast(&routePolicy)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveHttpRoutePolicy(impl::abi_arg_in routePolicy) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveHttpRoutePolicy(*reinterpret_cast(&routePolicy)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataPlanUsage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataPlanUsage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataLimitInMegabytes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataLimitInMegabytes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InboundBitsPerSecond(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InboundBitsPerSecond()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutboundBitsPerSecond(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundBitsPerSecond()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextBillingCycle(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextBillingCycle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxTransferSizeInMegabytes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxTransferSizeInMegabytes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MegabytesUsed(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MegabytesUsed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastSyncTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastSyncTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BytesSent(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesSent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytesReceived(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesReceived()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAdapter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAdapter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrefixLength(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrefixLength()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InfrastructureId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InfrastructureId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PortId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PortId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkAdapterId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAdapterId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OutboundMaxBitsPerSecond(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundMaxBitsPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InboundMaxBitsPerSecond(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InboundMaxBitsPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IanaInterfaceType(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IanaInterfaceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkAdapterId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAdapterId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConnectedProfileAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectedProfileAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetConnectionProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectionProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInternetConnectionProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetInternetConnectionProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLanIdentifiers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLanIdentifiers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHostNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetHostNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProxyConfigurationAsync(impl::abi_arg_in uri, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetProxyConfigurationAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSortedEndpointPairs(impl::abi_arg_in> destinationList, Windows::Networking::HostNameSortOptions sortOptions, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSortedEndpointPairs(*reinterpret_cast *>(&destinationList), sortOptions)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NetworkStatusChanged(impl::abi_arg_in networkStatusHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().NetworkStatusChanged(*reinterpret_cast(&networkStatusHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NetworkStatusChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NetworkStatusChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindConnectionProfilesAsync(impl::abi_arg_in pProfileFilter, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindConnectionProfilesAsync(*reinterpret_cast(&pProfileFilter))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNetworkTypes(Windows::Networking::Connectivity::NetworkTypes * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNetworkTypes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAuthenticationType(Windows::Networking::Connectivity::NetworkAuthenticationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAuthenticationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkEncryptionType(Windows::Networking::Connectivity::NetworkEncryptionType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkEncryptionType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasNewInternetConnectionProfile(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewInternetConnectionProfile()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNewConnectionCost(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewConnectionCost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNewNetworkConnectivityLevel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewNetworkConnectivityLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNewDomainConnectivityLevel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewDomainConnectivityLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNewHostNameList(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewHostNameList()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNewWwanRegistrationState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewWwanRegistrationState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasNewTetheringOperationalState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewTetheringOperationalState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNewTetheringClientCount(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNewTetheringClientCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BytesSent(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesSent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytesReceived(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesReceived()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionDuration(impl::abi_arg_out duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *duration = detach_abi(this->shim().ConnectionDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProxyUris(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProxyUris()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanConnectDirectly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanConnectDirectly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConnectionProfile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionProfile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HostNameType(Windows::Networking::DomainNameType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HostNameType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateRoutePolicy(impl::abi_arg_in connectionProfile, impl::abi_arg_in hostName, Windows::Networking::DomainNameType type, impl::abi_arg_out routePolicy) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *routePolicy = detach_abi(this->shim().CreateRoutePolicy(*reinterpret_cast(&connectionProfile), *reinterpret_cast(&hostName), type)); + return S_OK; + } + catch (...) + { + *routePolicy = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetConnectedSsid(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectedSsid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HomeProviderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HomeProviderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccessPointName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccessPointName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNetworkRegistrationState(Windows::Networking::Connectivity::WwanNetworkRegistrationState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNetworkRegistrationState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentDataClass(Windows::Networking::Connectivity::WwanDataClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentDataClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::Connectivity { + +template uint64_t impl_IDataUsage::BytesSent() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IDataUsage)->get_BytesSent(&value)); + return value; +} + +template uint64_t impl_IDataUsage::BytesReceived() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IDataUsage)->get_BytesReceived(&value)); + return value; +} + +template uint32_t impl_IDataPlanUsage::MegabytesUsed() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDataPlanUsage)->get_MegabytesUsed(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IDataPlanUsage::LastSyncTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDataPlanUsage)->get_LastSyncTime(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::DataPlanUsage impl_IDataPlanStatus::DataPlanUsage() const +{ + Windows::Networking::Connectivity::DataPlanUsage value { nullptr }; + check_hresult(WINRT_SHIM(IDataPlanStatus)->get_DataPlanUsage(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IDataPlanStatus::DataLimitInMegabytes() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IDataPlanStatus)->get_DataLimitInMegabytes(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IDataPlanStatus::InboundBitsPerSecond() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IDataPlanStatus)->get_InboundBitsPerSecond(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IDataPlanStatus::OutboundBitsPerSecond() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IDataPlanStatus)->get_OutboundBitsPerSecond(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IDataPlanStatus::NextBillingCycle() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IDataPlanStatus)->get_NextBillingCycle(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IDataPlanStatus::MaxTransferSizeInMegabytes() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IDataPlanStatus)->get_MaxTransferSizeInMegabytes(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkCostType impl_IConnectionCost::NetworkCostType() const +{ + Windows::Networking::Connectivity::NetworkCostType value {}; + check_hresult(WINRT_SHIM(IConnectionCost)->get_NetworkCostType(&value)); + return value; +} + +template bool impl_IConnectionCost::Roaming() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionCost)->get_Roaming(&value)); + return value; +} + +template bool impl_IConnectionCost::OverDataLimit() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionCost)->get_OverDataLimit(&value)); + return value; +} + +template bool impl_IConnectionCost::ApproachingDataLimit() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionCost)->get_ApproachingDataLimit(&value)); + return value; +} + +template bool impl_IConnectionCost2::BackgroundDataUsageRestricted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionCost2)->get_BackgroundDataUsageRestricted(&value)); + return value; +} + +template Windows::Networking::Connectivity::NetworkAuthenticationType impl_INetworkSecuritySettings::NetworkAuthenticationType() const +{ + Windows::Networking::Connectivity::NetworkAuthenticationType value {}; + check_hresult(WINRT_SHIM(INetworkSecuritySettings)->get_NetworkAuthenticationType(&value)); + return value; +} + +template Windows::Networking::Connectivity::NetworkEncryptionType impl_INetworkSecuritySettings::NetworkEncryptionType() const +{ + Windows::Networking::Connectivity::NetworkEncryptionType value {}; + check_hresult(WINRT_SHIM(INetworkSecuritySettings)->get_NetworkEncryptionType(&value)); + return value; +} + +template hstring impl_IConnectionProfile::ProfileName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IConnectionProfile)->get_ProfileName(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkConnectivityLevel impl_IConnectionProfile::GetNetworkConnectivityLevel() const +{ + Windows::Networking::Connectivity::NetworkConnectivityLevel value {}; + check_hresult(WINRT_SHIM(IConnectionProfile)->abi_GetNetworkConnectivityLevel(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IConnectionProfile::GetNetworkNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IConnectionProfile)->abi_GetNetworkNames(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::ConnectionCost impl_IConnectionProfile::GetConnectionCost() const +{ + Windows::Networking::Connectivity::ConnectionCost value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile)->abi_GetConnectionCost(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::DataPlanStatus impl_IConnectionProfile::GetDataPlanStatus() const +{ + Windows::Networking::Connectivity::DataPlanStatus value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile)->abi_GetDataPlanStatus(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkAdapter impl_IConnectionProfile::NetworkAdapter() const +{ + Windows::Networking::Connectivity::NetworkAdapter value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile)->get_NetworkAdapter(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::DataUsage impl_IConnectionProfile::GetLocalUsage(const Windows::Foundation::DateTime & StartTime, const Windows::Foundation::DateTime & EndTime) const +{ + Windows::Networking::Connectivity::DataUsage value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile)->abi_GetLocalUsage(get_abi(StartTime), get_abi(EndTime), put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::DataUsage impl_IConnectionProfile::GetLocalUsage(const Windows::Foundation::DateTime & StartTime, const Windows::Foundation::DateTime & EndTime, Windows::Networking::Connectivity::RoamingStates States) const +{ + Windows::Networking::Connectivity::DataUsage value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile)->abi_GetLocalUsagePerRoamingStates(get_abi(StartTime), get_abi(EndTime), States, put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkSecuritySettings impl_IConnectionProfile::NetworkSecuritySettings() const +{ + Windows::Networking::Connectivity::NetworkSecuritySettings value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile)->get_NetworkSecuritySettings(put_abi(value))); + return value; +} + +template hstring impl_IWlanConnectionProfileDetails::GetConnectedSsid() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWlanConnectionProfileDetails)->abi_GetConnectedSsid(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IConnectivityInterval::StartTime() const +{ + Windows::Foundation::DateTime startTime {}; + check_hresult(WINRT_SHIM(IConnectivityInterval)->get_StartTime(put_abi(startTime))); + return startTime; +} + +template Windows::Foundation::TimeSpan impl_IConnectivityInterval::ConnectionDuration() const +{ + Windows::Foundation::TimeSpan duration {}; + check_hresult(WINRT_SHIM(IConnectivityInterval)->get_ConnectionDuration(put_abi(duration))); + return duration; +} + +template uint64_t impl_INetworkUsage::BytesSent() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(INetworkUsage)->get_BytesSent(&value)); + return value; +} + +template uint64_t impl_INetworkUsage::BytesReceived() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(INetworkUsage)->get_BytesReceived(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_INetworkUsage::ConnectionDuration() const +{ + Windows::Foundation::TimeSpan duration {}; + check_hresult(WINRT_SHIM(INetworkUsage)->get_ConnectionDuration(put_abi(duration))); + return duration; +} + +template uint64_t impl_IAttributedNetworkUsage::BytesSent() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAttributedNetworkUsage)->get_BytesSent(&value)); + return value; +} + +template uint64_t impl_IAttributedNetworkUsage::BytesReceived() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAttributedNetworkUsage)->get_BytesReceived(&value)); + return value; +} + +template hstring impl_IAttributedNetworkUsage::AttributionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAttributedNetworkUsage)->get_AttributionId(put_abi(value))); + return value; +} + +template hstring impl_IAttributedNetworkUsage::AttributionName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAttributedNetworkUsage)->get_AttributionName(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IAttributedNetworkUsage::AttributionThumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IAttributedNetworkUsage)->get_AttributionThumbnail(put_abi(value))); + return value; +} + +template bool impl_IConnectionProfile2::IsWwanConnectionProfile() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionProfile2)->get_IsWwanConnectionProfile(&value)); + return value; +} + +template bool impl_IConnectionProfile2::IsWlanConnectionProfile() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionProfile2)->get_IsWlanConnectionProfile(&value)); + return value; +} + +template Windows::Networking::Connectivity::WwanConnectionProfileDetails impl_IConnectionProfile2::WwanConnectionProfileDetails() const +{ + Windows::Networking::Connectivity::WwanConnectionProfileDetails value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile2)->get_WwanConnectionProfileDetails(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::WlanConnectionProfileDetails impl_IConnectionProfile2::WlanConnectionProfileDetails() const +{ + Windows::Networking::Connectivity::WlanConnectionProfileDetails value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionProfile2)->get_WlanConnectionProfileDetails(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IConnectionProfile2::ServiceProviderGuid() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IConnectionProfile2)->get_ServiceProviderGuid(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IConnectionProfile2::GetSignalBars() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IConnectionProfile2)->abi_GetSignalBars(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::DomainConnectivityLevel impl_IConnectionProfile2::GetDomainConnectivityLevel() const +{ + Windows::Networking::Connectivity::DomainConnectivityLevel value {}; + check_hresult(WINRT_SHIM(IConnectionProfile2)->abi_GetDomainConnectivityLevel(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IConnectionProfile2::GetNetworkUsageAsync(const Windows::Foundation::DateTime & startTime, const Windows::Foundation::DateTime & endTime, Windows::Networking::Connectivity::DataUsageGranularity granularity, const Windows::Networking::Connectivity::NetworkUsageStates & states) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IConnectionProfile2)->abi_GetNetworkUsageAsync(get_abi(startTime), get_abi(endTime), granularity, get_abi(states), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IConnectionProfile2::GetConnectivityIntervalsAsync(const Windows::Foundation::DateTime & startTime, const Windows::Foundation::DateTime & endTime, const Windows::Networking::Connectivity::NetworkUsageStates & states) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IConnectionProfile2)->abi_GetConnectivityIntervalsAsync(get_abi(startTime), get_abi(endTime), get_abi(states), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IConnectionProfile3::GetAttributedNetworkUsageAsync(const Windows::Foundation::DateTime & startTime, const Windows::Foundation::DateTime & endTime, const Windows::Networking::Connectivity::NetworkUsageStates & states) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IConnectionProfile3)->abi_GetAttributedNetworkUsageAsync(get_abi(startTime), get_abi(endTime), get_abi(states), put_abi(value))); + return value; +} + +template uint32_t impl_ILanIdentifierData::Type() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ILanIdentifierData)->get_Type(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ILanIdentifierData::Value() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ILanIdentifierData)->get_Value(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::LanIdentifierData impl_ILanIdentifier::InfrastructureId() const +{ + Windows::Networking::Connectivity::LanIdentifierData value { nullptr }; + check_hresult(WINRT_SHIM(ILanIdentifier)->get_InfrastructureId(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::LanIdentifierData impl_ILanIdentifier::PortId() const +{ + Windows::Networking::Connectivity::LanIdentifierData value { nullptr }; + check_hresult(WINRT_SHIM(ILanIdentifier)->get_PortId(put_abi(value))); + return value; +} + +template GUID impl_ILanIdentifier::NetworkAdapterId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ILanIdentifier)->get_NetworkAdapterId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_INetworkInformationStatics::GetConnectionProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INetworkInformationStatics)->abi_GetConnectionProfiles(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::ConnectionProfile impl_INetworkInformationStatics::GetInternetConnectionProfile() const +{ + Windows::Networking::Connectivity::ConnectionProfile value { nullptr }; + check_hresult(WINRT_SHIM(INetworkInformationStatics)->abi_GetInternetConnectionProfile(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_INetworkInformationStatics::GetLanIdentifiers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INetworkInformationStatics)->abi_GetLanIdentifiers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_INetworkInformationStatics::GetHostNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INetworkInformationStatics)->abi_GetHostNames(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_INetworkInformationStatics::GetProxyConfigurationAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(INetworkInformationStatics)->abi_GetProxyConfigurationAsync(get_abi(uri), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_INetworkInformationStatics::GetSortedEndpointPairs(iterable destinationList, Windows::Networking::HostNameSortOptions sortOptions) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INetworkInformationStatics)->abi_GetSortedEndpointPairs(get_abi(destinationList), sortOptions, put_abi(value))); + return value; +} + +template event_token impl_INetworkInformationStatics::NetworkStatusChanged(const Windows::Networking::Connectivity::NetworkStatusChangedEventHandler & networkStatusHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(INetworkInformationStatics)->add_NetworkStatusChanged(get_abi(networkStatusHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_INetworkInformationStatics::NetworkStatusChanged(auto_revoke_t, const Windows::Networking::Connectivity::NetworkStatusChangedEventHandler & networkStatusHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Connectivity::INetworkInformationStatics::remove_NetworkStatusChanged, NetworkStatusChanged(networkStatusHandler)); +} + +template void impl_INetworkInformationStatics::NetworkStatusChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(INetworkInformationStatics)->remove_NetworkStatusChanged(eventCookie)); +} + +template void impl_IConnectionProfileFilter::IsConnected(bool value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->put_IsConnected(value)); +} + +template bool impl_IConnectionProfileFilter::IsConnected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->get_IsConnected(&value)); + return value; +} + +template void impl_IConnectionProfileFilter::IsWwanConnectionProfile(bool value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->put_IsWwanConnectionProfile(value)); +} + +template bool impl_IConnectionProfileFilter::IsWwanConnectionProfile() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->get_IsWwanConnectionProfile(&value)); + return value; +} + +template void impl_IConnectionProfileFilter::IsWlanConnectionProfile(bool value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->put_IsWlanConnectionProfile(value)); +} + +template bool impl_IConnectionProfileFilter::IsWlanConnectionProfile() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->get_IsWlanConnectionProfile(&value)); + return value; +} + +template void impl_IConnectionProfileFilter::NetworkCostType(Windows::Networking::Connectivity::NetworkCostType value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->put_NetworkCostType(value)); +} + +template Windows::Networking::Connectivity::NetworkCostType impl_IConnectionProfileFilter::NetworkCostType() const +{ + Windows::Networking::Connectivity::NetworkCostType value {}; + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->get_NetworkCostType(&value)); + return value; +} + +template void impl_IConnectionProfileFilter::ServiceProviderGuid(const optional & value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->put_ServiceProviderGuid(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IConnectionProfileFilter::ServiceProviderGuid() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IConnectionProfileFilter)->get_ServiceProviderGuid(put_abi(value))); + return value; +} + +template void impl_IConnectionProfileFilter2::IsRoaming(const optional & value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter2)->put_IsRoaming(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IConnectionProfileFilter2::IsRoaming() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IConnectionProfileFilter2)->get_IsRoaming(put_abi(value))); + return value; +} + +template void impl_IConnectionProfileFilter2::IsOverDataLimit(const optional & value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter2)->put_IsOverDataLimit(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IConnectionProfileFilter2::IsOverDataLimit() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IConnectionProfileFilter2)->get_IsOverDataLimit(put_abi(value))); + return value; +} + +template void impl_IConnectionProfileFilter2::IsBackgroundDataUsageRestricted(const optional & value) const +{ + check_hresult(WINRT_SHIM(IConnectionProfileFilter2)->put_IsBackgroundDataUsageRestricted(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IConnectionProfileFilter2::IsBackgroundDataUsageRestricted() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IConnectionProfileFilter2)->get_IsBackgroundDataUsageRestricted(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IConnectionProfileFilter2::RawData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IConnectionProfileFilter2)->get_RawData(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_INetworkInformationStatics2::FindConnectionProfilesAsync(const Windows::Networking::Connectivity::ConnectionProfileFilter & pProfileFilter) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(INetworkInformationStatics2)->abi_FindConnectionProfilesAsync(get_abi(pProfileFilter), put_abi(value))); + return value; +} + +template GUID impl_INetworkItem::NetworkId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(INetworkItem)->get_NetworkId(&value)); + return value; +} + +template Windows::Networking::Connectivity::NetworkTypes impl_INetworkItem::GetNetworkTypes() const +{ + Windows::Networking::Connectivity::NetworkTypes value {}; + check_hresult(WINRT_SHIM(INetworkItem)->abi_GetNetworkTypes(&value)); + return value; +} + +template uint64_t impl_INetworkAdapter::OutboundMaxBitsPerSecond() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(INetworkAdapter)->get_OutboundMaxBitsPerSecond(&value)); + return value; +} + +template uint64_t impl_INetworkAdapter::InboundMaxBitsPerSecond() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(INetworkAdapter)->get_InboundMaxBitsPerSecond(&value)); + return value; +} + +template uint32_t impl_INetworkAdapter::IanaInterfaceType() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(INetworkAdapter)->get_IanaInterfaceType(&value)); + return value; +} + +template Windows::Networking::Connectivity::NetworkItem impl_INetworkAdapter::NetworkItem() const +{ + Windows::Networking::Connectivity::NetworkItem value { nullptr }; + check_hresult(WINRT_SHIM(INetworkAdapter)->get_NetworkItem(put_abi(value))); + return value; +} + +template GUID impl_INetworkAdapter::NetworkAdapterId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(INetworkAdapter)->get_NetworkAdapterId(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_INetworkAdapter::GetConnectedProfileAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(INetworkAdapter)->abi_GetConnectedProfileAsync(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkAdapter impl_IIPInformation::NetworkAdapter() const +{ + Windows::Networking::Connectivity::NetworkAdapter value { nullptr }; + check_hresult(WINRT_SHIM(IIPInformation)->get_NetworkAdapter(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IIPInformation::PrefixLength() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IIPInformation)->get_PrefixLength(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IProxyConfiguration::ProxyUris() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IProxyConfiguration)->get_ProxyUris(put_abi(value))); + return value; +} + +template bool impl_IProxyConfiguration::CanConnectDirectly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProxyConfiguration)->get_CanConnectDirectly(&value)); + return value; +} + +template Windows::Networking::Connectivity::ConnectionProfile impl_IConnectionSession::ConnectionProfile() const +{ + Windows::Networking::Connectivity::ConnectionProfile value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionSession)->get_ConnectionProfile(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::ConnectionProfile impl_IRoutePolicy::ConnectionProfile() const +{ + Windows::Networking::Connectivity::ConnectionProfile value { nullptr }; + check_hresult(WINRT_SHIM(IRoutePolicy)->get_ConnectionProfile(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IRoutePolicy::HostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IRoutePolicy)->get_HostName(put_abi(value))); + return value; +} + +template Windows::Networking::DomainNameType impl_IRoutePolicy::HostNameType() const +{ + Windows::Networking::DomainNameType value {}; + check_hresult(WINRT_SHIM(IRoutePolicy)->get_HostNameType(&value)); + return value; +} + +template Windows::Networking::Connectivity::RoutePolicy impl_IRoutePolicyFactory::CreateRoutePolicy(const Windows::Networking::Connectivity::ConnectionProfile & connectionProfile, const Windows::Networking::HostName & hostName, Windows::Networking::DomainNameType type) const +{ + Windows::Networking::Connectivity::RoutePolicy routePolicy { nullptr }; + check_hresult(WINRT_SHIM(IRoutePolicyFactory)->abi_CreateRoutePolicy(get_abi(connectionProfile), get_abi(hostName), type, put_abi(routePolicy))); + return routePolicy; +} + +template hstring impl_ICellularApnContext::ProviderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICellularApnContext)->get_ProviderId(put_abi(value))); + return value; +} + +template void impl_ICellularApnContext::ProviderId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICellularApnContext)->put_ProviderId(get_abi(value))); +} + +template hstring impl_ICellularApnContext::AccessPointName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICellularApnContext)->get_AccessPointName(put_abi(value))); + return value; +} + +template void impl_ICellularApnContext::AccessPointName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICellularApnContext)->put_AccessPointName(get_abi(value))); +} + +template hstring impl_ICellularApnContext::UserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICellularApnContext)->get_UserName(put_abi(value))); + return value; +} + +template void impl_ICellularApnContext::UserName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICellularApnContext)->put_UserName(get_abi(value))); +} + +template hstring impl_ICellularApnContext::Password() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICellularApnContext)->get_Password(put_abi(value))); + return value; +} + +template void impl_ICellularApnContext::Password(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICellularApnContext)->put_Password(get_abi(value))); +} + +template bool impl_ICellularApnContext::IsCompressionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICellularApnContext)->get_IsCompressionEnabled(&value)); + return value; +} + +template void impl_ICellularApnContext::IsCompressionEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ICellularApnContext)->put_IsCompressionEnabled(value)); +} + +template Windows::Networking::Connectivity::CellularApnAuthenticationType impl_ICellularApnContext::AuthenticationType() const +{ + Windows::Networking::Connectivity::CellularApnAuthenticationType value {}; + check_hresult(WINRT_SHIM(ICellularApnContext)->get_AuthenticationType(&value)); + return value; +} + +template void impl_ICellularApnContext::AuthenticationType(Windows::Networking::Connectivity::CellularApnAuthenticationType value) const +{ + check_hresult(WINRT_SHIM(ICellularApnContext)->put_AuthenticationType(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IConnectivityManagerStatics::AcquireConnectionAsync(const Windows::Networking::Connectivity::CellularApnContext & cellularApnContext) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IConnectivityManagerStatics)->abi_AcquireConnectionAsync(get_abi(cellularApnContext), put_abi(operation))); + return operation; +} + +template void impl_IConnectivityManagerStatics::AddHttpRoutePolicy(const Windows::Networking::Connectivity::RoutePolicy & routePolicy) const +{ + check_hresult(WINRT_SHIM(IConnectivityManagerStatics)->abi_AddHttpRoutePolicy(get_abi(routePolicy))); +} + +template void impl_IConnectivityManagerStatics::RemoveHttpRoutePolicy(const Windows::Networking::Connectivity::RoutePolicy & routePolicy) const +{ + check_hresult(WINRT_SHIM(IConnectivityManagerStatics)->abi_RemoveHttpRoutePolicy(get_abi(routePolicy))); +} + +template bool impl_INetworkStateChangeEventDetails::HasNewInternetConnectionProfile() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails)->get_HasNewInternetConnectionProfile(&value)); + return value; +} + +template bool impl_INetworkStateChangeEventDetails::HasNewConnectionCost() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails)->get_HasNewConnectionCost(&value)); + return value; +} + +template bool impl_INetworkStateChangeEventDetails::HasNewNetworkConnectivityLevel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails)->get_HasNewNetworkConnectivityLevel(&value)); + return value; +} + +template bool impl_INetworkStateChangeEventDetails::HasNewDomainConnectivityLevel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails)->get_HasNewDomainConnectivityLevel(&value)); + return value; +} + +template bool impl_INetworkStateChangeEventDetails::HasNewHostNameList() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails)->get_HasNewHostNameList(&value)); + return value; +} + +template bool impl_INetworkStateChangeEventDetails::HasNewWwanRegistrationState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails)->get_HasNewWwanRegistrationState(&value)); + return value; +} + +template bool impl_INetworkStateChangeEventDetails2::HasNewTetheringOperationalState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails2)->get_HasNewTetheringOperationalState(&value)); + return value; +} + +template bool impl_INetworkStateChangeEventDetails2::HasNewTetheringClientCount() const +{ + bool value {}; + check_hresult(WINRT_SHIM(INetworkStateChangeEventDetails2)->get_HasNewTetheringClientCount(&value)); + return value; +} + +template hstring impl_IWwanConnectionProfileDetails::HomeProviderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWwanConnectionProfileDetails)->get_HomeProviderId(put_abi(value))); + return value; +} + +template hstring impl_IWwanConnectionProfileDetails::AccessPointName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWwanConnectionProfileDetails)->get_AccessPointName(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::WwanNetworkRegistrationState impl_IWwanConnectionProfileDetails::GetNetworkRegistrationState() const +{ + Windows::Networking::Connectivity::WwanNetworkRegistrationState value {}; + check_hresult(WINRT_SHIM(IWwanConnectionProfileDetails)->abi_GetNetworkRegistrationState(&value)); + return value; +} + +template Windows::Networking::Connectivity::WwanDataClass impl_IWwanConnectionProfileDetails::GetCurrentDataClass() const +{ + Windows::Networking::Connectivity::WwanDataClass value {}; + check_hresult(WINRT_SHIM(IWwanConnectionProfileDetails)->abi_GetCurrentDataClass(&value)); + return value; +} + +inline CellularApnContext::CellularApnContext() : + CellularApnContext(activate_instance()) +{} + +inline ConnectionProfileFilter::ConnectionProfileFilter() : + ConnectionProfileFilter(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation ConnectivityManager::AcquireConnectionAsync(const Windows::Networking::Connectivity::CellularApnContext & cellularApnContext) +{ + return get_activation_factory().AcquireConnectionAsync(cellularApnContext); +} + +inline void ConnectivityManager::AddHttpRoutePolicy(const Windows::Networking::Connectivity::RoutePolicy & routePolicy) +{ + get_activation_factory().AddHttpRoutePolicy(routePolicy); +} + +inline void ConnectivityManager::RemoveHttpRoutePolicy(const Windows::Networking::Connectivity::RoutePolicy & routePolicy) +{ + get_activation_factory().RemoveHttpRoutePolicy(routePolicy); +} + +inline Windows::Foundation::Collections::IVectorView NetworkInformation::GetConnectionProfiles() +{ + return get_activation_factory().GetConnectionProfiles(); +} + +inline Windows::Networking::Connectivity::ConnectionProfile NetworkInformation::GetInternetConnectionProfile() +{ + return get_activation_factory().GetInternetConnectionProfile(); +} + +inline Windows::Foundation::Collections::IVectorView NetworkInformation::GetLanIdentifiers() +{ + return get_activation_factory().GetLanIdentifiers(); +} + +inline Windows::Foundation::Collections::IVectorView NetworkInformation::GetHostNames() +{ + return get_activation_factory().GetHostNames(); +} + +inline Windows::Foundation::IAsyncOperation NetworkInformation::GetProxyConfigurationAsync(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().GetProxyConfigurationAsync(uri); +} + +inline Windows::Foundation::Collections::IVectorView NetworkInformation::GetSortedEndpointPairs(iterable destinationList, Windows::Networking::HostNameSortOptions sortOptions) +{ + return get_activation_factory().GetSortedEndpointPairs(destinationList, sortOptions); +} + +inline event_token NetworkInformation::NetworkStatusChanged(const Windows::Networking::Connectivity::NetworkStatusChangedEventHandler & networkStatusHandler) +{ + return get_activation_factory().NetworkStatusChanged(networkStatusHandler); +} + +inline factory_event_revoker NetworkInformation::NetworkStatusChanged(auto_revoke_t, const Windows::Networking::Connectivity::NetworkStatusChangedEventHandler & networkStatusHandler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Networking::Connectivity::INetworkInformationStatics::remove_NetworkStatusChanged, factory.NetworkStatusChanged(networkStatusHandler) }; +} + +inline void NetworkInformation::NetworkStatusChanged(event_token eventCookie) +{ + get_activation_factory().NetworkStatusChanged(eventCookie); +} + +inline Windows::Foundation::IAsyncOperation> NetworkInformation::FindConnectionProfilesAsync(const Windows::Networking::Connectivity::ConnectionProfileFilter & pProfileFilter) +{ + return get_activation_factory().FindConnectionProfilesAsync(pProfileFilter); +} + +inline RoutePolicy::RoutePolicy(const Windows::Networking::Connectivity::ConnectionProfile & connectionProfile, const Windows::Networking::HostName & hostName, Windows::Networking::DomainNameType type) : + RoutePolicy(get_activation_factory().CreateRoutePolicy(connectionProfile, hostName, type)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IAttributedNetworkUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ICellularApnContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionCost & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionCost2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionProfile2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionProfile3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionProfileFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionProfileFilter2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectionSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectivityInterval & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IConnectivityManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IDataPlanStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IDataPlanUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IDataUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IIPInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ILanIdentifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ILanIdentifierData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkAdapter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkInformationStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkSecuritySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkStateChangeEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkStateChangeEventDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::INetworkUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IProxyConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IRoutePolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IRoutePolicyFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IWlanConnectionProfileDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IWwanConnectionProfileDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::AttributedNetworkUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::CellularApnContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ConnectionCost & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ConnectionProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ConnectionProfileFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ConnectionSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ConnectivityInterval & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::DataPlanStatus & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::DataPlanUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::DataUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::IPInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::LanIdentifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::LanIdentifierData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::NetworkAdapter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::NetworkItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::NetworkSecuritySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::NetworkStateChangeEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::NetworkUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::ProxyConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::RoutePolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::WlanConnectionProfileDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Connectivity::WwanConnectionProfileDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.NetworkOperators.h b/10.0.15042.0/winrt/Windows.Networking.NetworkOperators.h new file mode 100644 index 000000000..add7e840b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.NetworkOperators.h @@ -0,0 +1,6077 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Sms.3.h" +#include "internal/Windows.Networking.Connectivity.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Data.Xml.Dom.3.h" +#include "internal/Windows.Networking.NetworkOperators.3.h" +#include "Windows.Networking.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestUnlockAsync(impl::abi_arg_in contactListId, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RequestUnlockAsync(*reinterpret_cast(&contactListId))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WirelessNetworkId(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().WirelessNetworkId()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkAdapter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAdapter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RedirectMessageUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RedirectMessageUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RedirectMessageXml(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RedirectMessageXml()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IssueCredentials(impl::abi_arg_in userName, impl::abi_arg_in password, impl::abi_arg_in extraParameters, bool markAsManualConnectOnFailure) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IssueCredentials(*reinterpret_cast(&userName), *reinterpret_cast(&password), *reinterpret_cast(&extraParameters), markAsManualConnectOnFailure); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AbortAuthentication(bool markAsManual) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AbortAuthentication(markAsManual); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SkipAuthentication() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SkipAuthentication(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TriggerAttentionRequired(impl::abi_arg_in packageRelativeApplicationId, impl::abi_arg_in applicationParameters) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TriggerAttentionRequired(*reinterpret_cast(&packageRelativeApplicationId), *reinterpret_cast(&applicationParameters)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IssueCredentialsAsync(impl::abi_arg_in userName, impl::abi_arg_in password, impl::abi_arg_in extraParameters, bool markAsManualConnectOnFailure, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().IssueCredentialsAsync(*reinterpret_cast(&userName), *reinterpret_cast(&password), *reinterpret_cast(&extraParameters), markAsManualConnectOnFailure)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetAuthenticationContext(impl::abi_arg_in evenToken, impl::abi_arg_out context, bool * isValid) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isValid = detach_abi(this->shim().TryGetAuthenticationContext(*reinterpret_cast(&evenToken), *context)); + return S_OK; + } + catch (...) + { + *context = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EventToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EventToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasNetworkErrorOccurred(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNetworkErrorOccurred()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseCode(Windows::Networking::NetworkOperators::HotspotAuthenticationResponseCode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LogoffUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LogoffUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationReplyXml(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationReplyXml()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EFSpn(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EFSpn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid1(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid2(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EFSpn(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EFSpn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid1(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid2(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EFOns(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EFOns()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EFSpn(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EFSpn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid1(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid2(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EFSpn(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EFSpn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EFOpl(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EFOpl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EFPnn(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EFPnn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid1(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gid2(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gid2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceProviderGuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceProviderGuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceProviderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceProviderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentNetwork(impl::abi_arg_out network) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *network = detach_abi(this->shim().CurrentNetwork()); + return S_OK; + } + catch (...) + { + *network = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentDeviceInformation(impl::abi_arg_out deviceInformation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceInformation = detach_abi(this->shim().CurrentDeviceInformation()); + return S_OK; + } + catch (...) + { + *deviceInformation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetConnectionProfiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetConnectionProfiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccountExperienceUrl(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountExperienceUrl()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AvailableNetworkAccountIds(impl::abi_arg_out> ppAccountIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppAccountIds = detach_abi(this->shim().AvailableNetworkAccountIds()); + return S_OK; + } + catch (...) + { + *ppAccountIds = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromNetworkAccountId(impl::abi_arg_in networkAccountId, impl::abi_arg_out ppAccount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppAccount = detach_abi(this->shim().CreateFromNetworkAccountId(*reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *ppAccount = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasDeviceInformationChanged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasDeviceInformationChanged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNetworkChanged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNetworkChanged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AccountAdded(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AccountAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AccountAdded(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccountAdded(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AccountUpdated(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AccountUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AccountUpdated(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccountUpdated(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AccountRemoved(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AccountRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AccountRemoved(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccountRemoved(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Networking::NetworkOperators::MobileBroadbandAccountWatcherStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkDeviceStatus(Windows::Networking::NetworkOperators::NetworkDeviceStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkDeviceStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Manufacturer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Manufacturer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Model(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Model()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirmwareInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirmwareInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CellularClass(Windows::Devices::Sms::CellularClass * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CellularClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataClasses(Windows::Networking::NetworkOperators::DataClasses * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataClasses()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomDataClass(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomDataClass()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MobileEquipmentId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MobileEquipmentId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TelephoneNumbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TelephoneNumbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubscriberId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscriberId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimIccId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimIccId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceType(Windows::Networking::NetworkOperators::MobileBroadbandDeviceType * pDeviceType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pDeviceType = detach_abi(this->shim().DeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentRadioState(Windows::Networking::NetworkOperators::MobileBroadbandRadioState * pCurrentState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCurrentState = detach_abi(this->shim().CurrentRadioState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PinManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Revision(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Revision()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SerialNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SerialNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SimSpn(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimSpn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimPnn(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimPnn()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimGid1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimGid1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenDataSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenDataSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenCommandSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenCommandSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StatusCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StatusCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendQueryCommandAsync(uint32_t commandId, impl::abi_arg_in data, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SendQueryCommandAsync(commandId, *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendSetCommandAsync(uint32_t commandId, impl::abi_arg_in data, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SendSetCommandAsync(commandId, *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CloseSession() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseSession(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReceivedData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReceivedData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_WriteDataAsync(impl::abi_arg_in value, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().WriteDataAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CloseSession() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseSession(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DataReceived(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().DataReceived(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DataReceived(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataReceived(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDataReadSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDataReadSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDataWriteSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDataWriteSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceServiceId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceServiceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReceivedData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReceivedData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentAccount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentAccount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDeviceServiceCommandSizeInBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDeviceServiceCommandSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDeviceServiceDataSizeInBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDeviceServiceDataSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceServices(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceServices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceService(GUID deviceServiceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceService(deviceServiceId)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsResetSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsResetSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ResetAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentConfigurationAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetCurrentConfigurationAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentNetwork(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentNetwork()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uicc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uicc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HomeProviderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HomeProviderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HomeProviderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HomeProviderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromId(impl::abi_arg_in deviceId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkAdapter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAdapter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkRegistrationState(Windows::Networking::NetworkOperators::NetworkRegistrationState * registrationState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *registrationState = detach_abi(this->shim().NetworkRegistrationState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegistrationNetworkError(uint32_t * networkError) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *networkError = detach_abi(this->shim().RegistrationNetworkError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PacketAttachNetworkError(uint32_t * networkError) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *networkError = detach_abi(this->shim().PacketAttachNetworkError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActivationNetworkError(uint32_t * networkError) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *networkError = detach_abi(this->shim().ActivationNetworkError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccessPointName(impl::abi_arg_out apn) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *apn = detach_abi(this->shim().AccessPointName()); + return S_OK; + } + catch (...) + { + *apn = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegisteredDataClass(Windows::Networking::NetworkOperators::DataClasses * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegisteredDataClass()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegisteredProviderId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegisteredProviderId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegisteredProviderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegisteredProviderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowConnectionUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowConnectionUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetVoiceCallSupportAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetVoiceCallSupportAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegistrationUiccApps(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegistrationUiccApps()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Network(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Network()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NetworkRegistrationStateChanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkRegistrationStateChanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Networking::NetworkOperators::MobileBroadbandPinType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LockState(Windows::Networking::NetworkOperators::MobileBroadbandPinLockState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LockState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Format(Windows::Networking::NetworkOperators::MobileBroadbandPinFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttemptsRemaining(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttemptsRemaining()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableAsync(impl::abi_arg_in currentPin, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().EnableAsync(*reinterpret_cast(¤tPin))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableAsync(impl::abi_arg_in currentPin, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().DisableAsync(*reinterpret_cast(¤tPin))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnterAsync(impl::abi_arg_in currentPin, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().EnterAsync(*reinterpret_cast(¤tPin))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeAsync(impl::abi_arg_in currentPin, impl::abi_arg_in newPin, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ChangeAsync(*reinterpret_cast(¤tPin), *reinterpret_cast(&newPin))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnblockAsync(impl::abi_arg_in pinUnblockKey, impl::abi_arg_in newPin, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().UnblockAsync(*reinterpret_cast(&pinUnblockKey), *reinterpret_cast(&newPin))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PinType(Windows::Networking::NetworkOperators::MobileBroadbandPinType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PinLockState(Windows::Networking::NetworkOperators::MobileBroadbandPinLockState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinLockState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PinLockStateChanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PinLockStateChanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedPins(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedPins()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPin(Windows::Networking::NetworkOperators::MobileBroadbandPinType pinType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPin(pinType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSuccessful(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSuccessful()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttemptsRemaining(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttemptsRemaining()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RadioState(Windows::Networking::NetworkOperators::MobileBroadbandRadioState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RadioState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RadioStateChanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RadioStateChanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SimIccId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimIccId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUiccAppsAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetUiccAppsAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Networking::NetworkOperators::UiccAppKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRecordDetailsAsync(impl::abi_arg_in> uiccFilePath, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetRecordDetailsAsync(*reinterpret_cast *>(&uiccFilePath))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadRecordAsync(impl::abi_arg_in> uiccFilePath, int32_t recordIndex, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ReadRecordAsync(*reinterpret_cast *>(&uiccFilePath), recordIndex)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Networking::NetworkOperators::UiccAppRecordKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecordCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecordCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecordSize(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecordSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReadAccessCondition(Windows::Networking::NetworkOperators::UiccAccessCondition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadAccessCondition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteAccessCondition(Windows::Networking::NetworkOperators::UiccAccessCondition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteAccessCondition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UiccApps(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UiccApps()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NotificationType(Windows::Networking::NetworkOperators::NetworkOperatorEventMessageType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotificationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EncodingType(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodingType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RuleId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RuleId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmsMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmsMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Ssid(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ssid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Ssid(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ssid(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Passphrase(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Passphrase()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Passphrase(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Passphrase(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MacAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MacAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HostNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HostNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTetheringClients(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTetheringClients()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AuthorizeTethering(bool allow, impl::abi_arg_in entitlementFailureReason) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthorizeTethering(allow, *reinterpret_cast(&entitlementFailureReason)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxClientCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxClientCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClientCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TetheringOperationalState(Windows::Networking::NetworkOperators::TetheringOperationalState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TetheringOperationalState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentAccessPointConfiguration(impl::abi_arg_out configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *configuration = detach_abi(this->shim().GetCurrentAccessPointConfiguration()); + return S_OK; + } + catch (...) + { + *configuration = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureAccessPointAsync(impl::abi_arg_in configuration, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ConfigureAccessPointAsync(*reinterpret_cast(&configuration))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartTetheringAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StartTetheringAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopTetheringAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().StopTetheringAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTetheringCapability(impl::abi_arg_in networkAccountId, Windows::Networking::NetworkOperators::TetheringCapability * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTetheringCapability(*reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromNetworkAccountId(impl::abi_arg_in networkAccountId, impl::abi_arg_out ppManager) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppManager = detach_abi(this->shim().CreateFromNetworkAccountId(*reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *ppManager = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTetheringCapabilityFromConnectionProfile(impl::abi_arg_in profile, Windows::Networking::NetworkOperators::TetheringCapability * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTetheringCapabilityFromConnectionProfile(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromConnectionProfile(impl::abi_arg_in profile, impl::abi_arg_out ppManager) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppManager = detach_abi(this->shim().CreateFromConnectionProfile(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *ppManager = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromConnectionProfileWithTargetAdapter(impl::abi_arg_in profile, impl::abi_arg_in adapter, impl::abi_arg_out ppManager) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppManager = detach_abi(this->shim().CreateFromConnectionProfile(*reinterpret_cast(&profile), *reinterpret_cast(&adapter))); + return S_OK; + } + catch (...) + { + *ppManager = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Networking::NetworkOperators::TetheringOperationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdditionalErrorMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdditionalErrorMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllElementsProvisioned(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllElementsProvisioned()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProvisionResultsXml(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProvisionResultsXml()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UpdateCost(Windows::Networking::Connectivity::NetworkCostType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateCost(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateUsage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateUsage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ProvisionFromXmlDocumentAsync(impl::abi_arg_in provisioningXmlDocument, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ProvisionFromXmlDocumentAsync(*reinterpret_cast(&provisioningXmlDocument))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProvisionedProfile(Windows::Networking::NetworkOperators::ProfileMediaType mediaType, impl::abi_arg_in profileName, impl::abi_arg_out provisionedProfile) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *provisionedProfile = detach_abi(this->shim().GetProvisionedProfile(mediaType, *reinterpret_cast(&profileName))); + return S_OK; + } + catch (...) + { + *provisionedProfile = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromNetworkAccountId(impl::abi_arg_in networkAccountId, impl::abi_arg_out provisioningAgent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *provisioningAgent = detach_abi(this->shim().CreateFromNetworkAccountId(*reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *provisioningAgent = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataCodingScheme(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataCodingScheme()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataCodingScheme(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataCodingScheme(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPayload(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().GetPayload()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPayload(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPayload(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PayloadAsText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PayloadAsText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PayloadAsText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PayloadAsText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMessage(impl::abi_arg_in messageText, impl::abi_arg_out ussdMessage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ussdMessage = detach_abi(this->shim().CreateMessage(*reinterpret_cast(&messageText))); + return S_OK; + } + catch (...) + { + *ussdMessage = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResultCode(Windows::Networking::NetworkOperators::UssdResultCode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResultCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendMessageAndGetReplyAsync(impl::abi_arg_in message, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SendMessageAndGetReplyAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromNetworkAccountId(impl::abi_arg_in networkAccountId, impl::abi_arg_out ussdSession) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ussdSession = detach_abi(this->shim().CreateFromNetworkAccountId(*reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *ussdSession = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromNetworkInterfaceId(impl::abi_arg_in networkInterfaceId, impl::abi_arg_out ussdSession) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ussdSession = detach_abi(this->shim().CreateFromNetworkInterfaceId(*reinterpret_cast(&networkInterfaceId))); + return S_OK; + } + catch (...) + { + *ussdSession = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::NetworkOperators { + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandAccountStatics::AvailableNetworkAccountIds() const +{ + Windows::Foundation::Collections::IVectorView ppAccountIds; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountStatics)->get_AvailableNetworkAccountIds(put_abi(ppAccountIds))); + return ppAccountIds; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandAccount impl_IMobileBroadbandAccountStatics::CreateFromNetworkAccountId(hstring_view networkAccountId) const +{ + Windows::Networking::NetworkOperators::MobileBroadbandAccount ppAccount { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountStatics)->abi_CreateFromNetworkAccountId(get_abi(networkAccountId), put_abi(ppAccount))); + return ppAccount; +} + +template hstring impl_IMobileBroadbandAccount::NetworkAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandAccount)->get_NetworkAccountId(put_abi(value))); + return value; +} + +template GUID impl_IMobileBroadbandAccount::ServiceProviderGuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccount)->get_ServiceProviderGuid(&value)); + return value; +} + +template hstring impl_IMobileBroadbandAccount::ServiceProviderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandAccount)->get_ServiceProviderName(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandNetwork impl_IMobileBroadbandAccount::CurrentNetwork() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandNetwork network { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandAccount)->get_CurrentNetwork(put_abi(network))); + return network; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandDeviceInformation impl_IMobileBroadbandAccount::CurrentDeviceInformation() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandDeviceInformation deviceInformation { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandAccount)->get_CurrentDeviceInformation(put_abi(deviceInformation))); + return deviceInformation; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandAccount2::GetConnectionProfiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandAccount2)->abi_GetConnectionProfiles(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IMobileBroadbandAccount3::AccountExperienceUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandAccount3)->get_AccountExperienceUrl(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::NetworkDeviceStatus impl_IMobileBroadbandDeviceInformation::NetworkDeviceStatus() const +{ + Windows::Networking::NetworkOperators::NetworkDeviceStatus value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_NetworkDeviceStatus(&value)); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation::Manufacturer() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_Manufacturer(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation::Model() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_Model(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation::FirmwareInformation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_FirmwareInformation(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::CellularClass impl_IMobileBroadbandDeviceInformation::CellularClass() const +{ + Windows::Devices::Sms::CellularClass value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_CellularClass(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::DataClasses impl_IMobileBroadbandDeviceInformation::DataClasses() const +{ + Windows::Networking::NetworkOperators::DataClasses value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_DataClasses(&value)); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation::CustomDataClass() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_CustomDataClass(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation::MobileEquipmentId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_MobileEquipmentId(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandDeviceInformation::TelephoneNumbers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_TelephoneNumbers(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation::SubscriberId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_SubscriberId(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation::SimIccId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_SimIccId(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandDeviceType impl_IMobileBroadbandDeviceInformation::DeviceType() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandDeviceType pDeviceType {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_DeviceType(&pDeviceType)); + return pDeviceType; +} + +template hstring impl_IMobileBroadbandDeviceInformation::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandRadioState impl_IMobileBroadbandDeviceInformation::CurrentRadioState() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandRadioState pCurrentState {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation)->get_CurrentRadioState(&pCurrentState)); + return pCurrentState; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandPinManager impl_IMobileBroadbandDeviceInformation2::PinManager() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandPinManager value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation2)->get_PinManager(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation2::Revision() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation2)->get_Revision(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation2::SerialNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation2)->get_SerialNumber(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation3::SimSpn() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation3)->get_SimSpn(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation3::SimPnn() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation3)->get_SimPnn(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceInformation3::SimGid1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceInformation3)->get_SimGid1(put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkAdapter impl_IMobileBroadbandNetwork::NetworkAdapter() const +{ + Windows::Networking::Connectivity::NetworkAdapter value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_NetworkAdapter(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::NetworkRegistrationState impl_IMobileBroadbandNetwork::NetworkRegistrationState() const +{ + Windows::Networking::NetworkOperators::NetworkRegistrationState registrationState {}; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_NetworkRegistrationState(®istrationState)); + return registrationState; +} + +template uint32_t impl_IMobileBroadbandNetwork::RegistrationNetworkError() const +{ + uint32_t networkError {}; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_RegistrationNetworkError(&networkError)); + return networkError; +} + +template uint32_t impl_IMobileBroadbandNetwork::PacketAttachNetworkError() const +{ + uint32_t networkError {}; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_PacketAttachNetworkError(&networkError)); + return networkError; +} + +template uint32_t impl_IMobileBroadbandNetwork::ActivationNetworkError() const +{ + uint32_t networkError {}; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_ActivationNetworkError(&networkError)); + return networkError; +} + +template hstring impl_IMobileBroadbandNetwork::AccessPointName() const +{ + hstring apn; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_AccessPointName(put_abi(apn))); + return apn; +} + +template Windows::Networking::NetworkOperators::DataClasses impl_IMobileBroadbandNetwork::RegisteredDataClass() const +{ + Windows::Networking::NetworkOperators::DataClasses value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_RegisteredDataClass(&value)); + return value; +} + +template hstring impl_IMobileBroadbandNetwork::RegisteredProviderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_RegisteredProviderId(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandNetwork::RegisteredProviderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->get_RegisteredProviderName(put_abi(value))); + return value; +} + +template void impl_IMobileBroadbandNetwork::ShowConnectionUI() const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork)->abi_ShowConnectionUI()); +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandNetwork2::GetVoiceCallSupportAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork2)->abi_GetVoiceCallSupportAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandNetwork2::RegistrationUiccApps() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandNetwork2)->get_RegistrationUiccApps(put_abi(value))); + return value; +} + +template hstring impl_INetworkOperatorTetheringAccessPointConfiguration::Ssid() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringAccessPointConfiguration)->get_Ssid(put_abi(value))); + return value; +} + +template void impl_INetworkOperatorTetheringAccessPointConfiguration::Ssid(hstring_view value) const +{ + check_hresult(WINRT_SHIM(INetworkOperatorTetheringAccessPointConfiguration)->put_Ssid(get_abi(value))); +} + +template hstring impl_INetworkOperatorTetheringAccessPointConfiguration::Passphrase() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringAccessPointConfiguration)->get_Passphrase(put_abi(value))); + return value; +} + +template void impl_INetworkOperatorTetheringAccessPointConfiguration::Passphrase(hstring_view value) const +{ + check_hresult(WINRT_SHIM(INetworkOperatorTetheringAccessPointConfiguration)->put_Passphrase(get_abi(value))); +} + +template Windows::Networking::NetworkOperators::TetheringOperationStatus impl_INetworkOperatorTetheringOperationResult::Status() const +{ + Windows::Networking::NetworkOperators::TetheringOperationStatus value {}; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringOperationResult)->get_Status(&value)); + return value; +} + +template hstring impl_INetworkOperatorTetheringOperationResult::AdditionalErrorMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringOperationResult)->get_AdditionalErrorMessage(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::TetheringCapability impl_INetworkOperatorTetheringManagerStatics::GetTetheringCapability(hstring_view networkAccountId) const +{ + Windows::Networking::NetworkOperators::TetheringCapability value {}; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManagerStatics)->abi_GetTetheringCapability(get_abi(networkAccountId), &value)); + return value; +} + +template Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager impl_INetworkOperatorTetheringManagerStatics::CreateFromNetworkAccountId(hstring_view networkAccountId) const +{ + Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager ppManager { nullptr }; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManagerStatics)->abi_CreateFromNetworkAccountId(get_abi(networkAccountId), put_abi(ppManager))); + return ppManager; +} + +template Windows::Networking::NetworkOperators::TetheringCapability impl_INetworkOperatorTetheringManagerStatics2::GetTetheringCapabilityFromConnectionProfile(const Windows::Networking::Connectivity::ConnectionProfile & profile) const +{ + Windows::Networking::NetworkOperators::TetheringCapability result {}; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManagerStatics2)->abi_GetTetheringCapabilityFromConnectionProfile(get_abi(profile), &result)); + return result; +} + +template Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager impl_INetworkOperatorTetheringManagerStatics2::CreateFromConnectionProfile(const Windows::Networking::Connectivity::ConnectionProfile & profile) const +{ + Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager ppManager { nullptr }; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManagerStatics2)->abi_CreateFromConnectionProfile(get_abi(profile), put_abi(ppManager))); + return ppManager; +} + +template Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager impl_INetworkOperatorTetheringManagerStatics3::CreateFromConnectionProfile(const Windows::Networking::Connectivity::ConnectionProfile & profile, const Windows::Networking::Connectivity::NetworkAdapter & adapter) const +{ + Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager ppManager { nullptr }; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManagerStatics3)->abi_CreateFromConnectionProfileWithTargetAdapter(get_abi(profile), get_abi(adapter), put_abi(ppManager))); + return ppManager; +} + +template uint32_t impl_INetworkOperatorTetheringManager::MaxClientCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManager)->get_MaxClientCount(&value)); + return value; +} + +template uint32_t impl_INetworkOperatorTetheringManager::ClientCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManager)->get_ClientCount(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::TetheringOperationalState impl_INetworkOperatorTetheringManager::TetheringOperationalState() const +{ + Windows::Networking::NetworkOperators::TetheringOperationalState value {}; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManager)->get_TetheringOperationalState(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::NetworkOperatorTetheringAccessPointConfiguration impl_INetworkOperatorTetheringManager::GetCurrentAccessPointConfiguration() const +{ + Windows::Networking::NetworkOperators::NetworkOperatorTetheringAccessPointConfiguration configuration { nullptr }; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManager)->abi_GetCurrentAccessPointConfiguration(put_abi(configuration))); + return configuration; +} + +template Windows::Foundation::IAsyncAction impl_INetworkOperatorTetheringManager::ConfigureAccessPointAsync(const Windows::Networking::NetworkOperators::NetworkOperatorTetheringAccessPointConfiguration & configuration) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManager)->abi_ConfigureAccessPointAsync(get_abi(configuration), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_INetworkOperatorTetheringManager::StartTetheringAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManager)->abi_StartTetheringAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_INetworkOperatorTetheringManager::StopTetheringAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringManager)->abi_StopTetheringAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template hstring impl_INetworkOperatorTetheringClient::MacAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringClient)->get_MacAddress(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_INetworkOperatorTetheringClient::HostNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringClient)->get_HostNames(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_INetworkOperatorTetheringClientManager::GetTetheringClients() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(INetworkOperatorTetheringClientManager)->abi_GetTetheringClients(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandAccountEventArgs::NetworkAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountEventArgs)->get_NetworkAccountId(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandAccountUpdatedEventArgs::NetworkAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountUpdatedEventArgs)->get_NetworkAccountId(put_abi(value))); + return value; +} + +template bool impl_IMobileBroadbandAccountUpdatedEventArgs::HasDeviceInformationChanged() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountUpdatedEventArgs)->get_HasDeviceInformationChanged(&value)); + return value; +} + +template bool impl_IMobileBroadbandAccountUpdatedEventArgs::HasNetworkChanged() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountUpdatedEventArgs)->get_HasNetworkChanged(&value)); + return value; +} + +template event_token impl_IMobileBroadbandAccountWatcher::AccountAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->add_AccountAdded(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMobileBroadbandAccountWatcher::AccountAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::NetworkOperators::IMobileBroadbandAccountWatcher::remove_AccountAdded, AccountAdded(handler)); +} + +template void impl_IMobileBroadbandAccountWatcher::AccountAdded(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->remove_AccountAdded(cookie)); +} + +template event_token impl_IMobileBroadbandAccountWatcher::AccountUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->add_AccountUpdated(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMobileBroadbandAccountWatcher::AccountUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::NetworkOperators::IMobileBroadbandAccountWatcher::remove_AccountUpdated, AccountUpdated(handler)); +} + +template void impl_IMobileBroadbandAccountWatcher::AccountUpdated(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->remove_AccountUpdated(cookie)); +} + +template event_token impl_IMobileBroadbandAccountWatcher::AccountRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->add_AccountRemoved(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMobileBroadbandAccountWatcher::AccountRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::NetworkOperators::IMobileBroadbandAccountWatcher::remove_AccountRemoved, AccountRemoved(handler)); +} + +template void impl_IMobileBroadbandAccountWatcher::AccountRemoved(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->remove_AccountRemoved(cookie)); +} + +template event_token impl_IMobileBroadbandAccountWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->add_EnumerationCompleted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMobileBroadbandAccountWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::NetworkOperators::IMobileBroadbandAccountWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IMobileBroadbandAccountWatcher::EnumerationCompleted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->remove_EnumerationCompleted(cookie)); +} + +template event_token impl_IMobileBroadbandAccountWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->add_Stopped(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IMobileBroadbandAccountWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::NetworkOperators::IMobileBroadbandAccountWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IMobileBroadbandAccountWatcher::Stopped(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->remove_Stopped(cookie)); +} + +template Windows::Networking::NetworkOperators::MobileBroadbandAccountWatcherStatus impl_IMobileBroadbandAccountWatcher::Status() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandAccountWatcherStatus status {}; + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->get_Status(&status)); + return status; +} + +template void impl_IMobileBroadbandAccountWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->abi_Start()); +} + +template void impl_IMobileBroadbandAccountWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandAccountWatcher)->abi_Stop()); +} + +template hstring impl_IMobileBroadbandModemStatics::GetDeviceSelector() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandModemStatics)->abi_GetDeviceSelector(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandModem impl_IMobileBroadbandModemStatics::FromId(hstring_view deviceId) const +{ + Windows::Networking::NetworkOperators::MobileBroadbandModem value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandModemStatics)->abi_FromId(get_abi(deviceId), put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandModem impl_IMobileBroadbandModemStatics::GetDefault() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandModem value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandModemStatics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandUicc impl_IMobileBroadbandModemConfiguration::Uicc() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandUicc value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandModemConfiguration)->get_Uicc(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandModemConfiguration::HomeProviderId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandModemConfiguration)->get_HomeProviderId(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandModemConfiguration::HomeProviderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandModemConfiguration)->get_HomeProviderName(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandAccount impl_IMobileBroadbandModem::CurrentAccount() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandAccount value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->get_CurrentAccount(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandDeviceInformation impl_IMobileBroadbandModem::DeviceInformation() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandDeviceInformation value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->get_DeviceInformation(put_abi(value))); + return value; +} + +template uint32_t impl_IMobileBroadbandModem::MaxDeviceServiceCommandSizeInBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->get_MaxDeviceServiceCommandSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IMobileBroadbandModem::MaxDeviceServiceDataSizeInBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->get_MaxDeviceServiceDataSizeInBytes(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandModem::DeviceServices() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->get_DeviceServices(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandDeviceService impl_IMobileBroadbandModem::GetDeviceService(GUID deviceServiceId) const +{ + Windows::Networking::NetworkOperators::MobileBroadbandDeviceService value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->abi_GetDeviceService(deviceServiceId, put_abi(value))); + return value; +} + +template bool impl_IMobileBroadbandModem::IsResetSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->get_IsResetSupported(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMobileBroadbandModem::ResetAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->abi_ResetAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandModem::GetCurrentConfigurationAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->abi_GetCurrentConfigurationAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandNetwork impl_IMobileBroadbandModem::CurrentNetwork() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandNetwork value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandModem)->get_CurrentNetwork(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandPinManager::SupportedPins() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandPinManager)->get_SupportedPins(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandPin impl_IMobileBroadbandPinManager::GetPin(Windows::Networking::NetworkOperators::MobileBroadbandPinType pinType) const +{ + Windows::Networking::NetworkOperators::MobileBroadbandPin value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandPinManager)->abi_GetPin(pinType, put_abi(value))); + return value; +} + +template bool impl_IMobileBroadbandPinOperationResult::IsSuccessful() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPinOperationResult)->get_IsSuccessful(&value)); + return value; +} + +template uint32_t impl_IMobileBroadbandPinOperationResult::AttemptsRemaining() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPinOperationResult)->get_AttemptsRemaining(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandPinType impl_IMobileBroadbandPin::Type() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandPinType value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->get_Type(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandPinLockState impl_IMobileBroadbandPin::LockState() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandPinLockState value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->get_LockState(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandPinFormat impl_IMobileBroadbandPin::Format() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandPinFormat value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->get_Format(&value)); + return value; +} + +template bool impl_IMobileBroadbandPin::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->get_Enabled(&value)); + return value; +} + +template uint32_t impl_IMobileBroadbandPin::MaxLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->get_MaxLength(&value)); + return value; +} + +template uint32_t impl_IMobileBroadbandPin::MinLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->get_MinLength(&value)); + return value; +} + +template uint32_t impl_IMobileBroadbandPin::AttemptsRemaining() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->get_AttemptsRemaining(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandPin::EnableAsync(hstring_view currentPin) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->abi_EnableAsync(get_abi(currentPin), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandPin::DisableAsync(hstring_view currentPin) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->abi_DisableAsync(get_abi(currentPin), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandPin::EnterAsync(hstring_view currentPin) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->abi_EnterAsync(get_abi(currentPin), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandPin::ChangeAsync(hstring_view currentPin, hstring_view newPin) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->abi_ChangeAsync(get_abi(currentPin), get_abi(newPin), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandPin::UnblockAsync(hstring_view pinUnblockKey, hstring_view newPin) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandPin)->abi_UnblockAsync(get_abi(pinUnblockKey), get_abi(newPin), put_abi(asyncInfo))); + return asyncInfo; +} + +template GUID impl_IMobileBroadbandDeviceServiceInformation::DeviceServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceInformation)->get_DeviceServiceId(&value)); + return value; +} + +template bool impl_IMobileBroadbandDeviceServiceInformation::IsDataReadSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceInformation)->get_IsDataReadSupported(&value)); + return value; +} + +template bool impl_IMobileBroadbandDeviceServiceInformation::IsDataWriteSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceInformation)->get_IsDataWriteSupported(&value)); + return value; +} + +template GUID impl_IMobileBroadbandDeviceService::DeviceServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceService)->get_DeviceServiceId(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandDeviceService::SupportedCommands() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceService)->get_SupportedCommands(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceDataSession impl_IMobileBroadbandDeviceService::OpenDataSession() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceDataSession value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceService)->abi_OpenDataSession(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceCommandSession impl_IMobileBroadbandDeviceService::OpenCommandSession() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceCommandSession value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceService)->abi_OpenCommandSession(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMobileBroadbandDeviceServiceDataReceivedEventArgs::ReceivedData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceDataReceivedEventArgs)->get_ReceivedData(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IMobileBroadbandDeviceServiceDataSession::WriteDataAsync(const Windows::Storage::Streams::IBuffer & value) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceDataSession)->abi_WriteDataAsync(get_abi(value), put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IMobileBroadbandDeviceServiceDataSession::CloseSession() const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceDataSession)->abi_CloseSession()); +} + +template event_token impl_IMobileBroadbandDeviceServiceDataSession::DataReceived(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceDataSession)->add_DataReceived(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IMobileBroadbandDeviceServiceDataSession::DataReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceServiceDataSession::remove_DataReceived, DataReceived(eventHandler)); +} + +template void impl_IMobileBroadbandDeviceServiceDataSession::DataReceived(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceDataSession)->remove_DataReceived(eventCookie)); +} + +template uint32_t impl_IMobileBroadbandDeviceServiceCommandResult::StatusCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceCommandResult)->get_StatusCode(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMobileBroadbandDeviceServiceCommandResult::ResponseData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceCommandResult)->get_ResponseData(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandDeviceServiceCommandSession::SendQueryCommandAsync(uint32_t commandId, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceCommandSession)->abi_SendQueryCommandAsync(commandId, get_abi(data), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandDeviceServiceCommandSession::SendSetCommandAsync(uint32_t commandId, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceCommandSession)->abi_SendSetCommandAsync(commandId, get_abi(data), put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IMobileBroadbandDeviceServiceCommandSession::CloseSession() const +{ + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceCommandSession)->abi_CloseSession()); +} + +template Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus impl_IMobileBroadbandUiccAppsResult::Status() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppsResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandUiccAppsResult::UiccApps() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppsResult)->get_UiccApps(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandUicc::SimIccId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandUicc)->get_SimIccId(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandUicc::GetUiccAppsAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandUicc)->abi_GetUiccAppsAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus impl_IMobileBroadbandUiccAppRecordDetailsResult::Status() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppRecordDetailsResult)->get_Status(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::UiccAppRecordKind impl_IMobileBroadbandUiccAppRecordDetailsResult::Kind() const +{ + Windows::Networking::NetworkOperators::UiccAppRecordKind value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppRecordDetailsResult)->get_Kind(&value)); + return value; +} + +template int32_t impl_IMobileBroadbandUiccAppRecordDetailsResult::RecordCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppRecordDetailsResult)->get_RecordCount(&value)); + return value; +} + +template int32_t impl_IMobileBroadbandUiccAppRecordDetailsResult::RecordSize() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppRecordDetailsResult)->get_RecordSize(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::UiccAccessCondition impl_IMobileBroadbandUiccAppRecordDetailsResult::ReadAccessCondition() const +{ + Windows::Networking::NetworkOperators::UiccAccessCondition value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppRecordDetailsResult)->get_ReadAccessCondition(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::UiccAccessCondition impl_IMobileBroadbandUiccAppRecordDetailsResult::WriteAccessCondition() const +{ + Windows::Networking::NetworkOperators::UiccAccessCondition value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppRecordDetailsResult)->get_WriteAccessCondition(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus impl_IMobileBroadbandUiccAppReadRecordResult::Status() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandUiccAppOperationStatus value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppReadRecordResult)->get_Status(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMobileBroadbandUiccAppReadRecordResult::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccAppReadRecordResult)->get_Data(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMobileBroadbandUiccApp::Id() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccApp)->get_Id(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::UiccAppKind impl_IMobileBroadbandUiccApp::Kind() const +{ + Windows::Networking::NetworkOperators::UiccAppKind value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccApp)->get_Kind(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandUiccApp::GetRecordDetailsAsync(iterable uiccFilePath) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccApp)->abi_GetRecordDetailsAsync(get_abi(uiccFilePath), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IMobileBroadbandUiccApp::ReadRecordAsync(iterable uiccFilePath, int32_t recordIndex) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IMobileBroadbandUiccApp)->abi_ReadRecordAsync(get_abi(uiccFilePath), recordIndex, put_abi(asyncInfo))); + return asyncInfo; +} + +template hstring impl_IMobileBroadbandNetworkRegistrationStateChange::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandNetworkRegistrationStateChange)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandNetwork impl_IMobileBroadbandNetworkRegistrationStateChange::Network() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandNetwork value { nullptr }; + check_hresult(WINRT_SHIM(IMobileBroadbandNetworkRegistrationStateChange)->get_Network(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails::NetworkRegistrationStateChanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails)->get_NetworkRegistrationStateChanges(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandRadioStateChange::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandRadioStateChange)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandRadioState impl_IMobileBroadbandRadioStateChange::RadioState() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandRadioState value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandRadioStateChange)->get_RadioState(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandRadioStateChangeTriggerDetails::RadioStateChanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandRadioStateChangeTriggerDetails)->get_RadioStateChanges(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandPinLockStateChange::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandPinLockStateChange)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandPinType impl_IMobileBroadbandPinLockStateChange::PinType() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandPinType value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPinLockStateChange)->get_PinType(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::MobileBroadbandPinLockState impl_IMobileBroadbandPinLockStateChange::PinLockState() const +{ + Windows::Networking::NetworkOperators::MobileBroadbandPinLockState value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandPinLockStateChange)->get_PinLockState(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMobileBroadbandPinLockStateChangeTriggerDetails::PinLockStateChanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMobileBroadbandPinLockStateChangeTriggerDetails)->get_PinLockStateChanges(put_abi(value))); + return value; +} + +template hstring impl_IMobileBroadbandDeviceServiceTriggerDetails::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceTriggerDetails)->get_DeviceId(put_abi(value))); + return value; +} + +template GUID impl_IMobileBroadbandDeviceServiceTriggerDetails::DeviceServiceId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceTriggerDetails)->get_DeviceServiceId(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IMobileBroadbandDeviceServiceTriggerDetails::ReceivedData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IMobileBroadbandDeviceServiceTriggerDetails)->get_ReceivedData(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownCSimFilePathsStatics::EFSpn() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownCSimFilePathsStatics)->get_EFSpn(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownCSimFilePathsStatics::Gid1() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownCSimFilePathsStatics)->get_Gid1(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownCSimFilePathsStatics::Gid2() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownCSimFilePathsStatics)->get_Gid2(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownRuimFilePathsStatics::EFSpn() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownRuimFilePathsStatics)->get_EFSpn(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownRuimFilePathsStatics::Gid1() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownRuimFilePathsStatics)->get_Gid1(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownRuimFilePathsStatics::Gid2() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownRuimFilePathsStatics)->get_Gid2(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownSimFilePathsStatics::EFOns() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownSimFilePathsStatics)->get_EFOns(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownSimFilePathsStatics::EFSpn() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownSimFilePathsStatics)->get_EFSpn(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownSimFilePathsStatics::Gid1() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownSimFilePathsStatics)->get_Gid1(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownSimFilePathsStatics::Gid2() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownSimFilePathsStatics)->get_Gid2(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownUSimFilePathsStatics::EFSpn() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownUSimFilePathsStatics)->get_EFSpn(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownUSimFilePathsStatics::EFOpl() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownUSimFilePathsStatics)->get_EFOpl(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownUSimFilePathsStatics::EFPnn() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownUSimFilePathsStatics)->get_EFPnn(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownUSimFilePathsStatics::Gid1() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownUSimFilePathsStatics)->get_Gid1(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IKnownUSimFilePathsStatics::Gid2() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IKnownUSimFilePathsStatics)->get_Gid2(put_abi(value))); + return value; +} + +template hstring impl_IHotspotAuthenticationEventDetails::EventToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHotspotAuthenticationEventDetails)->get_EventToken(put_abi(value))); + return value; +} + +template bool impl_IHotspotAuthenticationContextStatics::TryGetAuthenticationContext(hstring_view evenToken, Windows::Networking::NetworkOperators::HotspotAuthenticationContext & context) const +{ + bool isValid {}; + check_hresult(WINRT_SHIM(IHotspotAuthenticationContextStatics)->abi_TryGetAuthenticationContext(get_abi(evenToken), put_abi(context), &isValid)); + return isValid; +} + +template com_array impl_IHotspotAuthenticationContext::WirelessNetworkId() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->get_WirelessNetworkId(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template Windows::Networking::Connectivity::NetworkAdapter impl_IHotspotAuthenticationContext::NetworkAdapter() const +{ + Windows::Networking::Connectivity::NetworkAdapter value { nullptr }; + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->get_NetworkAdapter(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IHotspotAuthenticationContext::RedirectMessageUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->get_RedirectMessageUrl(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IHotspotAuthenticationContext::RedirectMessageXml() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->get_RedirectMessageXml(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IHotspotAuthenticationContext::AuthenticationUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->get_AuthenticationUrl(put_abi(value))); + return value; +} + +template void impl_IHotspotAuthenticationContext::IssueCredentials(hstring_view userName, hstring_view password, hstring_view extraParameters, bool markAsManualConnectOnFailure) const +{ + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->abi_IssueCredentials(get_abi(userName), get_abi(password), get_abi(extraParameters), markAsManualConnectOnFailure)); +} + +template void impl_IHotspotAuthenticationContext::AbortAuthentication(bool markAsManual) const +{ + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->abi_AbortAuthentication(markAsManual)); +} + +template void impl_IHotspotAuthenticationContext::SkipAuthentication() const +{ + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->abi_SkipAuthentication()); +} + +template void impl_IHotspotAuthenticationContext::TriggerAttentionRequired(hstring_view packageRelativeApplicationId, hstring_view applicationParameters) const +{ + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext)->abi_TriggerAttentionRequired(get_abi(packageRelativeApplicationId), get_abi(applicationParameters))); +} + +template bool impl_IHotspotCredentialsAuthenticationResult::HasNetworkErrorOccurred() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHotspotCredentialsAuthenticationResult)->get_HasNetworkErrorOccurred(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::HotspotAuthenticationResponseCode impl_IHotspotCredentialsAuthenticationResult::ResponseCode() const +{ + Windows::Networking::NetworkOperators::HotspotAuthenticationResponseCode value {}; + check_hresult(WINRT_SHIM(IHotspotCredentialsAuthenticationResult)->get_ResponseCode(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IHotspotCredentialsAuthenticationResult::LogoffUrl() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IHotspotCredentialsAuthenticationResult)->get_LogoffUrl(put_abi(value))); + return value; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IHotspotCredentialsAuthenticationResult::AuthenticationReplyXml() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(IHotspotCredentialsAuthenticationResult)->get_AuthenticationReplyXml(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IHotspotAuthenticationContext2::IssueCredentialsAsync(hstring_view userName, hstring_view password, hstring_view extraParameters, bool markAsManualConnectOnFailure) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IHotspotAuthenticationContext2)->abi_IssueCredentialsAsync(get_abi(userName), get_abi(password), get_abi(extraParameters), markAsManualConnectOnFailure, put_abi(asyncInfo))); + return asyncInfo; +} + +template bool impl_IProvisionFromXmlDocumentResults::AllElementsProvisioned() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProvisionFromXmlDocumentResults)->get_AllElementsProvisioned(&value)); + return value; +} + +template hstring impl_IProvisionFromXmlDocumentResults::ProvisionResultsXml() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProvisionFromXmlDocumentResults)->get_ProvisionResultsXml(put_abi(value))); + return value; +} + +template void impl_IProvisionedProfile::UpdateCost(Windows::Networking::Connectivity::NetworkCostType value) const +{ + check_hresult(WINRT_SHIM(IProvisionedProfile)->abi_UpdateCost(value)); +} + +template void impl_IProvisionedProfile::UpdateUsage(const Windows::Networking::NetworkOperators::ProfileUsage & value) const +{ + check_hresult(WINRT_SHIM(IProvisionedProfile)->abi_UpdateUsage(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IProvisioningAgent::ProvisionFromXmlDocumentAsync(hstring_view provisioningXmlDocument) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IProvisioningAgent)->abi_ProvisionFromXmlDocumentAsync(get_abi(provisioningXmlDocument), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Networking::NetworkOperators::ProvisionedProfile impl_IProvisioningAgent::GetProvisionedProfile(Windows::Networking::NetworkOperators::ProfileMediaType mediaType, hstring_view profileName) const +{ + Windows::Networking::NetworkOperators::ProvisionedProfile provisionedProfile { nullptr }; + check_hresult(WINRT_SHIM(IProvisioningAgent)->abi_GetProvisionedProfile(mediaType, get_abi(profileName), put_abi(provisionedProfile))); + return provisionedProfile; +} + +template Windows::Networking::NetworkOperators::ProvisioningAgent impl_IProvisioningAgentStaticMethods::CreateFromNetworkAccountId(hstring_view networkAccountId) const +{ + Windows::Networking::NetworkOperators::ProvisioningAgent provisioningAgent { nullptr }; + check_hresult(WINRT_SHIM(IProvisioningAgentStaticMethods)->abi_CreateFromNetworkAccountId(get_abi(networkAccountId), put_abi(provisioningAgent))); + return provisioningAgent; +} + +template uint8_t impl_IUssdMessage::DataCodingScheme() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IUssdMessage)->get_DataCodingScheme(&value)); + return value; +} + +template void impl_IUssdMessage::DataCodingScheme(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IUssdMessage)->put_DataCodingScheme(value)); +} + +template com_array impl_IUssdMessage::GetPayload() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(IUssdMessage)->abi_GetPayload(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template void impl_IUssdMessage::SetPayload(array_view value) const +{ + check_hresult(WINRT_SHIM(IUssdMessage)->abi_SetPayload(value.size(), get_abi(value))); +} + +template hstring impl_IUssdMessage::PayloadAsText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUssdMessage)->get_PayloadAsText(put_abi(value))); + return value; +} + +template void impl_IUssdMessage::PayloadAsText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUssdMessage)->put_PayloadAsText(get_abi(value))); +} + +template Windows::Networking::NetworkOperators::UssdMessage impl_IUssdMessageFactory::CreateMessage(hstring_view messageText) const +{ + Windows::Networking::NetworkOperators::UssdMessage ussdMessage { nullptr }; + check_hresult(WINRT_SHIM(IUssdMessageFactory)->abi_CreateMessage(get_abi(messageText), put_abi(ussdMessage))); + return ussdMessage; +} + +template Windows::Networking::NetworkOperators::UssdResultCode impl_IUssdReply::ResultCode() const +{ + Windows::Networking::NetworkOperators::UssdResultCode value {}; + check_hresult(WINRT_SHIM(IUssdReply)->get_ResultCode(&value)); + return value; +} + +template Windows::Networking::NetworkOperators::UssdMessage impl_IUssdReply::Message() const +{ + Windows::Networking::NetworkOperators::UssdMessage value { nullptr }; + check_hresult(WINRT_SHIM(IUssdReply)->get_Message(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUssdSession::SendMessageAndGetReplyAsync(const Windows::Networking::NetworkOperators::UssdMessage & message) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IUssdSession)->abi_SendMessageAndGetReplyAsync(get_abi(message), put_abi(asyncInfo))); + return asyncInfo; +} + +template void impl_IUssdSession::Close() const +{ + check_hresult(WINRT_SHIM(IUssdSession)->abi_Close()); +} + +template Windows::Networking::NetworkOperators::UssdSession impl_IUssdSessionStatics::CreateFromNetworkAccountId(hstring_view networkAccountId) const +{ + Windows::Networking::NetworkOperators::UssdSession ussdSession { nullptr }; + check_hresult(WINRT_SHIM(IUssdSessionStatics)->abi_CreateFromNetworkAccountId(get_abi(networkAccountId), put_abi(ussdSession))); + return ussdSession; +} + +template Windows::Networking::NetworkOperators::UssdSession impl_IUssdSessionStatics::CreateFromNetworkInterfaceId(hstring_view networkInterfaceId) const +{ + Windows::Networking::NetworkOperators::UssdSession ussdSession { nullptr }; + check_hresult(WINRT_SHIM(IUssdSessionStatics)->abi_CreateFromNetworkInterfaceId(get_abi(networkInterfaceId), put_abi(ussdSession))); + return ussdSession; +} + +template Windows::Foundation::IAsyncOperation impl_IFdnAccessManagerStatics::RequestUnlockAsync(hstring_view contactListId) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IFdnAccessManagerStatics)->abi_RequestUnlockAsync(get_abi(contactListId), put_abi(returnValue))); + return returnValue; +} + +template Windows::Networking::NetworkOperators::NetworkOperatorEventMessageType impl_INetworkOperatorNotificationEventDetails::NotificationType() const +{ + Windows::Networking::NetworkOperators::NetworkOperatorEventMessageType value {}; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationEventDetails)->get_NotificationType(&value)); + return value; +} + +template hstring impl_INetworkOperatorNotificationEventDetails::NetworkAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationEventDetails)->get_NetworkAccountId(put_abi(value))); + return value; +} + +template uint8_t impl_INetworkOperatorNotificationEventDetails::EncodingType() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationEventDetails)->get_EncodingType(&value)); + return value; +} + +template hstring impl_INetworkOperatorNotificationEventDetails::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationEventDetails)->get_Message(put_abi(value))); + return value; +} + +template hstring impl_INetworkOperatorNotificationEventDetails::RuleId() const +{ + hstring value; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationEventDetails)->get_RuleId(put_abi(value))); + return value; +} + +template Windows::Devices::Sms::ISmsMessage impl_INetworkOperatorNotificationEventDetails::SmsMessage() const +{ + Windows::Devices::Sms::ISmsMessage value; + check_hresult(WINRT_SHIM(INetworkOperatorNotificationEventDetails)->get_SmsMessage(put_abi(value))); + return value; +} + +template void impl_INetworkOperatorTetheringEntitlementCheck::AuthorizeTethering(bool allow, hstring_view entitlementFailureReason) const +{ + check_hresult(WINRT_SHIM(INetworkOperatorTetheringEntitlementCheck)->abi_AuthorizeTethering(allow, get_abi(entitlementFailureReason))); +} + +inline Windows::Foundation::IAsyncOperation FdnAccessManager::RequestUnlockAsync(hstring_view contactListId) +{ + return get_activation_factory().RequestUnlockAsync(contactListId); +} + +inline bool HotspotAuthenticationContext::TryGetAuthenticationContext(hstring_view evenToken, Windows::Networking::NetworkOperators::HotspotAuthenticationContext & context) +{ + return get_activation_factory().TryGetAuthenticationContext(evenToken, context); +} + +inline Windows::Foundation::Collections::IVectorView KnownCSimFilePaths::EFSpn() +{ + return get_activation_factory().EFSpn(); +} + +inline Windows::Foundation::Collections::IVectorView KnownCSimFilePaths::Gid1() +{ + return get_activation_factory().Gid1(); +} + +inline Windows::Foundation::Collections::IVectorView KnownCSimFilePaths::Gid2() +{ + return get_activation_factory().Gid2(); +} + +inline Windows::Foundation::Collections::IVectorView KnownRuimFilePaths::EFSpn() +{ + return get_activation_factory().EFSpn(); +} + +inline Windows::Foundation::Collections::IVectorView KnownRuimFilePaths::Gid1() +{ + return get_activation_factory().Gid1(); +} + +inline Windows::Foundation::Collections::IVectorView KnownRuimFilePaths::Gid2() +{ + return get_activation_factory().Gid2(); +} + +inline Windows::Foundation::Collections::IVectorView KnownSimFilePaths::EFOns() +{ + return get_activation_factory().EFOns(); +} + +inline Windows::Foundation::Collections::IVectorView KnownSimFilePaths::EFSpn() +{ + return get_activation_factory().EFSpn(); +} + +inline Windows::Foundation::Collections::IVectorView KnownSimFilePaths::Gid1() +{ + return get_activation_factory().Gid1(); +} + +inline Windows::Foundation::Collections::IVectorView KnownSimFilePaths::Gid2() +{ + return get_activation_factory().Gid2(); +} + +inline Windows::Foundation::Collections::IVectorView KnownUSimFilePaths::EFSpn() +{ + return get_activation_factory().EFSpn(); +} + +inline Windows::Foundation::Collections::IVectorView KnownUSimFilePaths::EFOpl() +{ + return get_activation_factory().EFOpl(); +} + +inline Windows::Foundation::Collections::IVectorView KnownUSimFilePaths::EFPnn() +{ + return get_activation_factory().EFPnn(); +} + +inline Windows::Foundation::Collections::IVectorView KnownUSimFilePaths::Gid1() +{ + return get_activation_factory().Gid1(); +} + +inline Windows::Foundation::Collections::IVectorView KnownUSimFilePaths::Gid2() +{ + return get_activation_factory().Gid2(); +} + +inline Windows::Foundation::Collections::IVectorView MobileBroadbandAccount::AvailableNetworkAccountIds() +{ + return get_activation_factory().AvailableNetworkAccountIds(); +} + +inline Windows::Networking::NetworkOperators::MobileBroadbandAccount MobileBroadbandAccount::CreateFromNetworkAccountId(hstring_view networkAccountId) +{ + return get_activation_factory().CreateFromNetworkAccountId(networkAccountId); +} + +inline MobileBroadbandAccountWatcher::MobileBroadbandAccountWatcher() : + MobileBroadbandAccountWatcher(activate_instance()) +{} + +inline hstring MobileBroadbandModem::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Networking::NetworkOperators::MobileBroadbandModem MobileBroadbandModem::FromId(hstring_view deviceId) +{ + return get_activation_factory().FromId(deviceId); +} + +inline Windows::Networking::NetworkOperators::MobileBroadbandModem MobileBroadbandModem::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline NetworkOperatorTetheringAccessPointConfiguration::NetworkOperatorTetheringAccessPointConfiguration() : + NetworkOperatorTetheringAccessPointConfiguration(activate_instance()) +{} + +inline Windows::Networking::NetworkOperators::TetheringCapability NetworkOperatorTetheringManager::GetTetheringCapability(hstring_view networkAccountId) +{ + return get_activation_factory().GetTetheringCapability(networkAccountId); +} + +inline Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager NetworkOperatorTetheringManager::CreateFromNetworkAccountId(hstring_view networkAccountId) +{ + return get_activation_factory().CreateFromNetworkAccountId(networkAccountId); +} + +inline Windows::Networking::NetworkOperators::TetheringCapability NetworkOperatorTetheringManager::GetTetheringCapabilityFromConnectionProfile(const Windows::Networking::Connectivity::ConnectionProfile & profile) +{ + return get_activation_factory().GetTetheringCapabilityFromConnectionProfile(profile); +} + +inline Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager NetworkOperatorTetheringManager::CreateFromConnectionProfile(const Windows::Networking::Connectivity::ConnectionProfile & profile) +{ + return get_activation_factory().CreateFromConnectionProfile(profile); +} + +inline Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager NetworkOperatorTetheringManager::CreateFromConnectionProfile(const Windows::Networking::Connectivity::ConnectionProfile & profile, const Windows::Networking::Connectivity::NetworkAdapter & adapter) +{ + return get_activation_factory().CreateFromConnectionProfile(profile, adapter); +} + +inline ProvisioningAgent::ProvisioningAgent() : + ProvisioningAgent(activate_instance()) +{} + +inline Windows::Networking::NetworkOperators::ProvisioningAgent ProvisioningAgent::CreateFromNetworkAccountId(hstring_view networkAccountId) +{ + return get_activation_factory().CreateFromNetworkAccountId(networkAccountId); +} + +inline UssdMessage::UssdMessage(hstring_view messageText) : + UssdMessage(get_activation_factory().CreateMessage(messageText)) +{} + +inline Windows::Networking::NetworkOperators::UssdSession UssdSession::CreateFromNetworkAccountId(hstring_view networkAccountId) +{ + return get_activation_factory().CreateFromNetworkAccountId(networkAccountId); +} + +inline Windows::Networking::NetworkOperators::UssdSession UssdSession::CreateFromNetworkInterfaceId(hstring_view networkInterfaceId) +{ + return get_activation_factory().CreateFromNetworkInterfaceId(networkInterfaceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IFdnAccessManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IHotspotAuthenticationContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IHotspotAuthenticationContext2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IHotspotAuthenticationContextStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IHotspotAuthenticationEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IHotspotCredentialsAuthenticationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IKnownCSimFilePathsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IKnownRuimFilePathsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IKnownSimFilePathsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IKnownUSimFilePathsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandAccount2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandAccount3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandAccountEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandAccountStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandAccountUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandAccountWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceInformation3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceServiceCommandResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceServiceCommandSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceServiceDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceServiceDataSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceServiceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandDeviceServiceTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandModem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandModemConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandModemStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandNetwork & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandNetwork2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandNetworkRegistrationStateChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandPin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandPinLockStateChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandPinLockStateChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandPinManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandPinOperationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandRadioStateChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandRadioStateChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandUicc & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandUiccApp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandUiccAppReadRecordResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandUiccAppRecordDetailsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IMobileBroadbandUiccAppsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorNotificationEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringAccessPointConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringClient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringClientManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringEntitlementCheck & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::INetworkOperatorTetheringOperationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IProvisionFromXmlDocumentResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IProvisionedProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IProvisioningAgent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IProvisioningAgentStaticMethods & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IUssdMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IUssdMessageFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IUssdReply & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IUssdSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::IUssdSessionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::HotspotAuthenticationContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::HotspotAuthenticationEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::HotspotCredentialsAuthenticationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandAccountEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandAccountUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandAccountWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceCommandResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceCommandSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceDataReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceDataSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandDeviceServiceTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandModem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandModemConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandNetwork & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandNetworkRegistrationStateChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandNetworkRegistrationStateChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandPin & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandPinLockStateChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandPinLockStateChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandPinManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandPinOperationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandRadioStateChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandRadioStateChangeTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandUicc & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandUiccApp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandUiccAppReadRecordResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandUiccAppRecordDetailsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::MobileBroadbandUiccAppsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::NetworkOperatorNotificationEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::NetworkOperatorTetheringAccessPointConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::NetworkOperatorTetheringClient & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::NetworkOperatorTetheringManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::NetworkOperatorTetheringOperationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::ProvisionFromXmlDocumentResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::ProvisionedProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::ProvisioningAgent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::UssdMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::UssdReply & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::NetworkOperators::UssdSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.Proximity.h b/10.0.15042.0/winrt/Windows.Networking.Proximity.h new file mode 100644 index 000000000..f422c005b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.Proximity.h @@ -0,0 +1,1915 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Networking.Proximity.3.h" +#include "Windows.Networking.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Networking::Proximity { + +template DeviceArrivedEventHandler::DeviceArrivedEventHandler(L lambda) : + DeviceArrivedEventHandler(impl::make_delegate, DeviceArrivedEventHandler>(std::forward(lambda))) +{} + +template DeviceArrivedEventHandler::DeviceArrivedEventHandler(F * function) : + DeviceArrivedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DeviceArrivedEventHandler::DeviceArrivedEventHandler(O * object, M method) : + DeviceArrivedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DeviceArrivedEventHandler::operator()(const Windows::Networking::Proximity::ProximityDevice & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +template DeviceDepartedEventHandler::DeviceDepartedEventHandler(L lambda) : + DeviceDepartedEventHandler(impl::make_delegate, DeviceDepartedEventHandler>(std::forward(lambda))) +{} + +template DeviceDepartedEventHandler::DeviceDepartedEventHandler(F * function) : + DeviceDepartedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DeviceDepartedEventHandler::DeviceDepartedEventHandler(O * object, M method) : + DeviceDepartedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DeviceDepartedEventHandler::operator()(const Windows::Networking::Proximity::ProximityDevice & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +template MessageReceivedHandler::MessageReceivedHandler(L lambda) : + MessageReceivedHandler(impl::make_delegate, MessageReceivedHandler>(std::forward(lambda))) +{} + +template MessageReceivedHandler::MessageReceivedHandler(F * function) : + MessageReceivedHandler([=](auto && ... args) { function(args ...); }) +{} + +template MessageReceivedHandler::MessageReceivedHandler(O * object, M method) : + MessageReceivedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void MessageReceivedHandler::operator()(const Windows::Networking::Proximity::ProximityDevice & sender, const Windows::Networking::Proximity::ProximityMessage & message) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(message))); +} + +template MessageTransmittedHandler::MessageTransmittedHandler(L lambda) : + MessageTransmittedHandler(impl::make_delegate, MessageTransmittedHandler>(std::forward(lambda))) +{} + +template MessageTransmittedHandler::MessageTransmittedHandler(F * function) : + MessageTransmittedHandler([=](auto && ... args) { function(args ...); }) +{} + +template MessageTransmittedHandler::MessageTransmittedHandler(O * object, M method) : + MessageTransmittedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void MessageTransmittedHandler::operator()(const Windows::Networking::Proximity::ProximityDevice & sender, int64_t messageId) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), messageId)); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PeerInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowBluetooth(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowBluetooth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowBluetooth(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowBluetooth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowInfrastructure(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowInfrastructure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowInfrastructure(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowInfrastructure(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowWiFiDirect(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowWiFiDirect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowWiFiDirect(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowWiFiDirect(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedDiscoveryTypes(Windows::Networking::Proximity::PeerDiscoveryTypes * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedDiscoveryTypes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateIdentities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateIdentities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartWithMessage(impl::abi_arg_in peerMessage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(*reinterpret_cast(&peerMessage)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TriggeredConnectionStateChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().TriggeredConnectionStateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TriggeredConnectionStateChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TriggeredConnectionStateChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ConnectionRequested(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ConnectionRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ConnectionRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConnectionRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllPeersAsync(impl::abi_arg_out>> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().FindAllPeersAsync()); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_in peerInformation, impl::abi_arg_out> asyncOp) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOp = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&peerInformation))); + return S_OK; + } + catch (...) + { + *asyncOp = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Role(Windows::Networking::Proximity::PeerRole * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Role()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Role(Windows::Networking::Proximity::PeerRole value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Role(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DiscoveryData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DiscoveryData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DiscoveryData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DiscoveryData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DiscoveryData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DiscoveryData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Networking::Proximity::PeerWatcherStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SubscribeForMessage(impl::abi_arg_in messageType, impl::abi_arg_in messageReceivedHandler, int64_t * subscriptionId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *subscriptionId = detach_abi(this->shim().SubscribeForMessage(*reinterpret_cast(&messageType), *reinterpret_cast(&messageReceivedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PublishMessage(impl::abi_arg_in messageType, impl::abi_arg_in message, int64_t * messageId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageId = detach_abi(this->shim().PublishMessage(*reinterpret_cast(&messageType), *reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PublishMessageWithCallback(impl::abi_arg_in messageType, impl::abi_arg_in message, impl::abi_arg_in messageTransmittedHandler, int64_t * messageId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageId = detach_abi(this->shim().PublishMessage(*reinterpret_cast(&messageType), *reinterpret_cast(&message), *reinterpret_cast(&messageTransmittedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PublishBinaryMessage(impl::abi_arg_in messageType, impl::abi_arg_in message, int64_t * messageId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageId = detach_abi(this->shim().PublishBinaryMessage(*reinterpret_cast(&messageType), *reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PublishBinaryMessageWithCallback(impl::abi_arg_in messageType, impl::abi_arg_in message, impl::abi_arg_in messageTransmittedHandler, int64_t * messageId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageId = detach_abi(this->shim().PublishBinaryMessage(*reinterpret_cast(&messageType), *reinterpret_cast(&message), *reinterpret_cast(&messageTransmittedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PublishUriMessage(impl::abi_arg_in message, int64_t * messageId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageId = detach_abi(this->shim().PublishUriMessage(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PublishUriMessageWithCallback(impl::abi_arg_in message, impl::abi_arg_in messageTransmittedHandler, int64_t * messageId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageId = detach_abi(this->shim().PublishUriMessage(*reinterpret_cast(&message), *reinterpret_cast(&messageTransmittedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopSubscribingForMessage(int64_t subscriptionId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopSubscribingForMessage(subscriptionId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopPublishingMessage(int64_t messageId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopPublishingMessage(messageId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DeviceArrived(impl::abi_arg_in arrivedHandler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().DeviceArrived(*reinterpret_cast(&arrivedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DeviceArrived(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeviceArrived(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DeviceDeparted(impl::abi_arg_in departedHandler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().DeviceDeparted(*reinterpret_cast(&departedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DeviceDeparted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeviceDeparted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxMessageBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxMessageBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BitsPerSecond(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitsPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out proximityDevice) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *proximityDevice = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *proximityDevice = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromId(impl::abi_arg_in deviceId, impl::abi_arg_out proximityDevice) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *proximityDevice = detach_abi(this->shim().FromId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *proximityDevice = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MessageType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubscriptionId(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscriptionId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataAsString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataAsString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(Windows::Networking::Proximity::TriggeredConnectState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Socket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Socket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::Proximity { + +template hstring impl_IProximityMessage::MessageType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProximityMessage)->get_MessageType(put_abi(value))); + return value; +} + +template int64_t impl_IProximityMessage::SubscriptionId() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IProximityMessage)->get_SubscriptionId(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IProximityMessage::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IProximityMessage)->get_Data(put_abi(value))); + return value; +} + +template hstring impl_IProximityMessage::DataAsString() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProximityMessage)->get_DataAsString(put_abi(value))); + return value; +} + +template int64_t impl_IProximityDevice::SubscribeForMessage(hstring_view messageType, const Windows::Networking::Proximity::MessageReceivedHandler & messageReceivedHandler) const +{ + int64_t subscriptionId {}; + check_hresult(WINRT_SHIM(IProximityDevice)->abi_SubscribeForMessage(get_abi(messageType), get_abi(messageReceivedHandler), &subscriptionId)); + return subscriptionId; +} + +template int64_t impl_IProximityDevice::PublishMessage(hstring_view messageType, hstring_view message) const +{ + int64_t messageId {}; + check_hresult(WINRT_SHIM(IProximityDevice)->abi_PublishMessage(get_abi(messageType), get_abi(message), &messageId)); + return messageId; +} + +template int64_t impl_IProximityDevice::PublishMessage(hstring_view messageType, hstring_view message, const Windows::Networking::Proximity::MessageTransmittedHandler & messageTransmittedHandler) const +{ + int64_t messageId {}; + check_hresult(WINRT_SHIM(IProximityDevice)->abi_PublishMessageWithCallback(get_abi(messageType), get_abi(message), get_abi(messageTransmittedHandler), &messageId)); + return messageId; +} + +template int64_t impl_IProximityDevice::PublishBinaryMessage(hstring_view messageType, const Windows::Storage::Streams::IBuffer & message) const +{ + int64_t messageId {}; + check_hresult(WINRT_SHIM(IProximityDevice)->abi_PublishBinaryMessage(get_abi(messageType), get_abi(message), &messageId)); + return messageId; +} + +template int64_t impl_IProximityDevice::PublishBinaryMessage(hstring_view messageType, const Windows::Storage::Streams::IBuffer & message, const Windows::Networking::Proximity::MessageTransmittedHandler & messageTransmittedHandler) const +{ + int64_t messageId {}; + check_hresult(WINRT_SHIM(IProximityDevice)->abi_PublishBinaryMessageWithCallback(get_abi(messageType), get_abi(message), get_abi(messageTransmittedHandler), &messageId)); + return messageId; +} + +template int64_t impl_IProximityDevice::PublishUriMessage(const Windows::Foundation::Uri & message) const +{ + int64_t messageId {}; + check_hresult(WINRT_SHIM(IProximityDevice)->abi_PublishUriMessage(get_abi(message), &messageId)); + return messageId; +} + +template int64_t impl_IProximityDevice::PublishUriMessage(const Windows::Foundation::Uri & message, const Windows::Networking::Proximity::MessageTransmittedHandler & messageTransmittedHandler) const +{ + int64_t messageId {}; + check_hresult(WINRT_SHIM(IProximityDevice)->abi_PublishUriMessageWithCallback(get_abi(message), get_abi(messageTransmittedHandler), &messageId)); + return messageId; +} + +template void impl_IProximityDevice::StopSubscribingForMessage(int64_t subscriptionId) const +{ + check_hresult(WINRT_SHIM(IProximityDevice)->abi_StopSubscribingForMessage(subscriptionId)); +} + +template void impl_IProximityDevice::StopPublishingMessage(int64_t messageId) const +{ + check_hresult(WINRT_SHIM(IProximityDevice)->abi_StopPublishingMessage(messageId)); +} + +template event_token impl_IProximityDevice::DeviceArrived(const Windows::Networking::Proximity::DeviceArrivedEventHandler & arrivedHandler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IProximityDevice)->add_DeviceArrived(get_abi(arrivedHandler), &cookie)); + return cookie; +} + +template event_revoker impl_IProximityDevice::DeviceArrived(auto_revoke_t, const Windows::Networking::Proximity::DeviceArrivedEventHandler & arrivedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IProximityDevice::remove_DeviceArrived, DeviceArrived(arrivedHandler)); +} + +template void impl_IProximityDevice::DeviceArrived(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IProximityDevice)->remove_DeviceArrived(cookie)); +} + +template event_token impl_IProximityDevice::DeviceDeparted(const Windows::Networking::Proximity::DeviceDepartedEventHandler & departedHandler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IProximityDevice)->add_DeviceDeparted(get_abi(departedHandler), &cookie)); + return cookie; +} + +template event_revoker impl_IProximityDevice::DeviceDeparted(auto_revoke_t, const Windows::Networking::Proximity::DeviceDepartedEventHandler & departedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IProximityDevice::remove_DeviceDeparted, DeviceDeparted(departedHandler)); +} + +template void impl_IProximityDevice::DeviceDeparted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IProximityDevice)->remove_DeviceDeparted(cookie)); +} + +template uint32_t impl_IProximityDevice::MaxMessageBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IProximityDevice)->get_MaxMessageBytes(&value)); + return value; +} + +template uint64_t impl_IProximityDevice::BitsPerSecond() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProximityDevice)->get_BitsPerSecond(&value)); + return value; +} + +template hstring impl_IProximityDevice::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProximityDevice)->get_DeviceId(put_abi(value))); + return value; +} + +template hstring impl_IProximityDeviceStatics::GetDeviceSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(IProximityDeviceStatics)->abi_GetDeviceSelector(put_abi(selector))); + return selector; +} + +template Windows::Networking::Proximity::ProximityDevice impl_IProximityDeviceStatics::GetDefault() const +{ + Windows::Networking::Proximity::ProximityDevice proximityDevice { nullptr }; + check_hresult(WINRT_SHIM(IProximityDeviceStatics)->abi_GetDefault(put_abi(proximityDevice))); + return proximityDevice; +} + +template Windows::Networking::Proximity::ProximityDevice impl_IProximityDeviceStatics::FromId(hstring_view deviceId) const +{ + Windows::Networking::Proximity::ProximityDevice proximityDevice { nullptr }; + check_hresult(WINRT_SHIM(IProximityDeviceStatics)->abi_FromId(get_abi(deviceId), put_abi(proximityDevice))); + return proximityDevice; +} + +template Windows::Networking::Proximity::TriggeredConnectState impl_ITriggeredConnectionStateChangedEventArgs::State() const +{ + Windows::Networking::Proximity::TriggeredConnectState value {}; + check_hresult(WINRT_SHIM(ITriggeredConnectionStateChangedEventArgs)->get_State(&value)); + return value; +} + +template uint32_t impl_ITriggeredConnectionStateChangedEventArgs::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ITriggeredConnectionStateChangedEventArgs)->get_Id(&value)); + return value; +} + +template Windows::Networking::Sockets::StreamSocket impl_ITriggeredConnectionStateChangedEventArgs::Socket() const +{ + Windows::Networking::Sockets::StreamSocket value { nullptr }; + check_hresult(WINRT_SHIM(ITriggeredConnectionStateChangedEventArgs)->get_Socket(put_abi(value))); + return value; +} + +template hstring impl_IPeerInformation::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPeerInformation)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IPeerInformationWithHostAndService::HostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IPeerInformationWithHostAndService)->get_HostName(put_abi(value))); + return value; +} + +template hstring impl_IPeerInformationWithHostAndService::ServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPeerInformationWithHostAndService)->get_ServiceName(put_abi(value))); + return value; +} + +template hstring impl_IPeerInformation3::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPeerInformation3)->get_Id(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IPeerInformation3::DiscoveryData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IPeerInformation3)->get_DiscoveryData(put_abi(value))); + return value; +} + +template Windows::Networking::Proximity::PeerInformation impl_IConnectionRequestedEventArgs::PeerInformation() const +{ + Windows::Networking::Proximity::PeerInformation value { nullptr }; + check_hresult(WINRT_SHIM(IConnectionRequestedEventArgs)->get_PeerInformation(put_abi(value))); + return value; +} + +template event_token impl_IPeerWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPeerWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPeerWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IPeerWatcher::remove_Added, Added(handler)); +} + +template void impl_IPeerWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(IPeerWatcher)->remove_Added(token)); +} + +template event_token impl_IPeerWatcher::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPeerWatcher)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPeerWatcher::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IPeerWatcher::remove_Removed, Removed(handler)); +} + +template void impl_IPeerWatcher::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(IPeerWatcher)->remove_Removed(token)); +} + +template event_token impl_IPeerWatcher::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPeerWatcher)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPeerWatcher::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IPeerWatcher::remove_Updated, Updated(handler)); +} + +template void impl_IPeerWatcher::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(IPeerWatcher)->remove_Updated(token)); +} + +template event_token impl_IPeerWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPeerWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPeerWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IPeerWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IPeerWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IPeerWatcher)->remove_EnumerationCompleted(token)); +} + +template event_token impl_IPeerWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPeerWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPeerWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IPeerWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IPeerWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IPeerWatcher)->remove_Stopped(token)); +} + +template Windows::Networking::Proximity::PeerWatcherStatus impl_IPeerWatcher::Status() const +{ + Windows::Networking::Proximity::PeerWatcherStatus status {}; + check_hresult(WINRT_SHIM(IPeerWatcher)->get_Status(&status)); + return status; +} + +template void impl_IPeerWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IPeerWatcher)->abi_Start()); +} + +template void impl_IPeerWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IPeerWatcher)->abi_Stop()); +} + +template bool impl_IPeerFinderStatics::AllowBluetooth() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->get_AllowBluetooth(&value)); + return value; +} + +template void impl_IPeerFinderStatics::AllowBluetooth(bool value) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->put_AllowBluetooth(value)); +} + +template bool impl_IPeerFinderStatics::AllowInfrastructure() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->get_AllowInfrastructure(&value)); + return value; +} + +template void impl_IPeerFinderStatics::AllowInfrastructure(bool value) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->put_AllowInfrastructure(value)); +} + +template bool impl_IPeerFinderStatics::AllowWiFiDirect() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->get_AllowWiFiDirect(&value)); + return value; +} + +template void impl_IPeerFinderStatics::AllowWiFiDirect(bool value) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->put_AllowWiFiDirect(value)); +} + +template hstring impl_IPeerFinderStatics::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IPeerFinderStatics::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->put_DisplayName(get_abi(value))); +} + +template Windows::Networking::Proximity::PeerDiscoveryTypes impl_IPeerFinderStatics::SupportedDiscoveryTypes() const +{ + Windows::Networking::Proximity::PeerDiscoveryTypes value {}; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->get_SupportedDiscoveryTypes(&value)); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IPeerFinderStatics::AlternateIdentities() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->get_AlternateIdentities(put_abi(value))); + return value; +} + +template void impl_IPeerFinderStatics::Start() const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->abi_Start()); +} + +template void impl_IPeerFinderStatics::Start(hstring_view peerMessage) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->abi_StartWithMessage(get_abi(peerMessage))); +} + +template void impl_IPeerFinderStatics::Stop() const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->abi_Stop()); +} + +template event_token impl_IPeerFinderStatics::TriggeredConnectionStateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->add_TriggeredConnectionStateChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IPeerFinderStatics::TriggeredConnectionStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IPeerFinderStatics::remove_TriggeredConnectionStateChanged, TriggeredConnectionStateChanged(handler)); +} + +template void impl_IPeerFinderStatics::TriggeredConnectionStateChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->remove_TriggeredConnectionStateChanged(cookie)); +} + +template event_token impl_IPeerFinderStatics::ConnectionRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->add_ConnectionRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IPeerFinderStatics::ConnectionRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Proximity::IPeerFinderStatics::remove_ConnectionRequested, ConnectionRequested(handler)); +} + +template void impl_IPeerFinderStatics::ConnectionRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics)->remove_ConnectionRequested(cookie)); +} + +template Windows::Foundation::IAsyncOperation> impl_IPeerFinderStatics::FindAllPeersAsync() const +{ + Windows::Foundation::IAsyncOperation> asyncOp; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->abi_FindAllPeersAsync(put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Foundation::IAsyncOperation impl_IPeerFinderStatics::ConnectAsync(const Windows::Networking::Proximity::PeerInformation & peerInformation) const +{ + Windows::Foundation::IAsyncOperation asyncOp; + check_hresult(WINRT_SHIM(IPeerFinderStatics)->abi_ConnectAsync(get_abi(peerInformation), put_abi(asyncOp))); + return asyncOp; +} + +template Windows::Networking::Proximity::PeerRole impl_IPeerFinderStatics2::Role() const +{ + Windows::Networking::Proximity::PeerRole value {}; + check_hresult(WINRT_SHIM(IPeerFinderStatics2)->get_Role(&value)); + return value; +} + +template void impl_IPeerFinderStatics2::Role(Windows::Networking::Proximity::PeerRole value) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics2)->put_Role(value)); +} + +template Windows::Storage::Streams::IBuffer impl_IPeerFinderStatics2::DiscoveryData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IPeerFinderStatics2)->get_DiscoveryData(put_abi(value))); + return value; +} + +template void impl_IPeerFinderStatics2::DiscoveryData(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IPeerFinderStatics2)->put_DiscoveryData(get_abi(value))); +} + +template Windows::Networking::Proximity::PeerWatcher impl_IPeerFinderStatics2::CreateWatcher() const +{ + Windows::Networking::Proximity::PeerWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IPeerFinderStatics2)->abi_CreateWatcher(put_abi(watcher))); + return watcher; +} + +inline bool PeerFinder::AllowBluetooth() +{ + return get_activation_factory().AllowBluetooth(); +} + +inline void PeerFinder::AllowBluetooth(bool value) +{ + get_activation_factory().AllowBluetooth(value); +} + +inline bool PeerFinder::AllowInfrastructure() +{ + return get_activation_factory().AllowInfrastructure(); +} + +inline void PeerFinder::AllowInfrastructure(bool value) +{ + get_activation_factory().AllowInfrastructure(value); +} + +inline bool PeerFinder::AllowWiFiDirect() +{ + return get_activation_factory().AllowWiFiDirect(); +} + +inline void PeerFinder::AllowWiFiDirect(bool value) +{ + get_activation_factory().AllowWiFiDirect(value); +} + +inline hstring PeerFinder::DisplayName() +{ + return get_activation_factory().DisplayName(); +} + +inline void PeerFinder::DisplayName(hstring_view value) +{ + get_activation_factory().DisplayName(value); +} + +inline Windows::Networking::Proximity::PeerDiscoveryTypes PeerFinder::SupportedDiscoveryTypes() +{ + return get_activation_factory().SupportedDiscoveryTypes(); +} + +inline Windows::Foundation::Collections::IMap PeerFinder::AlternateIdentities() +{ + return get_activation_factory().AlternateIdentities(); +} + +inline void PeerFinder::Start() +{ + get_activation_factory().Start(); +} + +inline void PeerFinder::Start(hstring_view peerMessage) +{ + get_activation_factory().Start(peerMessage); +} + +inline void PeerFinder::Stop() +{ + get_activation_factory().Stop(); +} + +inline event_token PeerFinder::TriggeredConnectionStateChanged(const Windows::Foundation::TypedEventHandler & handler) +{ + return get_activation_factory().TriggeredConnectionStateChanged(handler); +} + +inline factory_event_revoker PeerFinder::TriggeredConnectionStateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Networking::Proximity::IPeerFinderStatics::remove_TriggeredConnectionStateChanged, factory.TriggeredConnectionStateChanged(handler) }; +} + +inline void PeerFinder::TriggeredConnectionStateChanged(event_token cookie) +{ + get_activation_factory().TriggeredConnectionStateChanged(cookie); +} + +inline event_token PeerFinder::ConnectionRequested(const Windows::Foundation::TypedEventHandler & handler) +{ + return get_activation_factory().ConnectionRequested(handler); +} + +inline factory_event_revoker PeerFinder::ConnectionRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Networking::Proximity::IPeerFinderStatics::remove_ConnectionRequested, factory.ConnectionRequested(handler) }; +} + +inline void PeerFinder::ConnectionRequested(event_token cookie) +{ + get_activation_factory().ConnectionRequested(cookie); +} + +inline Windows::Foundation::IAsyncOperation> PeerFinder::FindAllPeersAsync() +{ + return get_activation_factory().FindAllPeersAsync(); +} + +inline Windows::Foundation::IAsyncOperation PeerFinder::ConnectAsync(const Windows::Networking::Proximity::PeerInformation & peerInformation) +{ + return get_activation_factory().ConnectAsync(peerInformation); +} + +inline Windows::Networking::Proximity::PeerRole PeerFinder::Role() +{ + return get_activation_factory().Role(); +} + +inline void PeerFinder::Role(Windows::Networking::Proximity::PeerRole value) +{ + get_activation_factory().Role(value); +} + +inline Windows::Storage::Streams::IBuffer PeerFinder::DiscoveryData() +{ + return get_activation_factory().DiscoveryData(); +} + +inline void PeerFinder::DiscoveryData(const Windows::Storage::Streams::IBuffer & value) +{ + get_activation_factory().DiscoveryData(value); +} + +inline Windows::Networking::Proximity::PeerWatcher PeerFinder::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline hstring ProximityDevice::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::Networking::Proximity::ProximityDevice ProximityDevice::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Networking::Proximity::ProximityDevice ProximityDevice::FromId(hstring_view deviceId) +{ + return get_activation_factory().FromId(deviceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IConnectionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IPeerFinderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IPeerFinderStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IPeerInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IPeerInformation3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IPeerInformationWithHostAndService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IPeerWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IProximityDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IProximityDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::IProximityMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::ITriggeredConnectionStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::ConnectionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::PeerInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::PeerWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::ProximityDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::ProximityMessage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Proximity::TriggeredConnectionStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.PushNotifications.h b/10.0.15042.0/winrt/Windows.Networking.PushNotifications.h new file mode 100644 index 000000000..1e54aef93 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.PushNotifications.h @@ -0,0 +1,771 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.UI.Notifications.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Networking.PushNotifications.3.h" +#include "Windows.Networking.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PushNotificationReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PushNotificationReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PushNotificationReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PushNotificationReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePushNotificationChannelForApplicationAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreatePushNotificationChannelForApplicationAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePushNotificationChannelForApplicationAsyncWithId(impl::abi_arg_in applicationId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreatePushNotificationChannelForApplicationAsync(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePushNotificationChannelForSecondaryTileAsync(impl::abi_arg_in tileId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreatePushNotificationChannelForSecondaryTileAsync(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(impl::abi_arg_in appServerKey, impl::abi_arg_in channelId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(*reinterpret_cast(&appServerKey), *reinterpret_cast(&channelId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsyncWithId(impl::abi_arg_in appServerKey, impl::abi_arg_in channelId, impl::abi_arg_in appId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(*reinterpret_cast(&appServerKey), *reinterpret_cast(&channelId), *reinterpret_cast(&appId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePushNotificationChannelForApplicationAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreatePushNotificationChannelForApplicationAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePushNotificationChannelForApplicationAsyncWithId(impl::abi_arg_in applicationId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreatePushNotificationChannelForApplicationAsync(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePushNotificationChannelForSecondaryTileAsync(impl::abi_arg_in tileId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreatePushNotificationChannelForSecondaryTileAsync(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NotificationType(Windows::Networking::PushNotifications::PushNotificationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotificationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToastNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToastNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BadgeNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BadgeNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawNotification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawNotification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Headers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Headers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChannelId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChannelId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::PushNotifications { + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerStatics::CreatePushNotificationChannelForApplicationAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerStatics)->abi_CreatePushNotificationChannelForApplicationAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerStatics::CreatePushNotificationChannelForApplicationAsync(hstring_view applicationId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerStatics)->abi_CreatePushNotificationChannelForApplicationAsyncWithId(get_abi(applicationId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerStatics::CreatePushNotificationChannelForSecondaryTileAsync(hstring_view tileId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerStatics)->abi_CreatePushNotificationChannelForSecondaryTileAsync(get_abi(tileId), put_abi(operation))); + return operation; +} + +template Windows::Networking::PushNotifications::PushNotificationChannelManagerForUser impl_IPushNotificationChannelManagerStatics2::GetForUser(const Windows::System::User & user) const +{ + Windows::Networking::PushNotifications::PushNotificationChannelManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerStatics2)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::Networking::PushNotifications::PushNotificationChannelManagerForUser impl_IPushNotificationChannelManagerStatics3::GetDefault() const +{ + Windows::Networking::PushNotifications::PushNotificationChannelManagerForUser value { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerStatics3)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerForUser::CreatePushNotificationChannelForApplicationAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerForUser)->abi_CreatePushNotificationChannelForApplicationAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerForUser::CreatePushNotificationChannelForApplicationAsync(hstring_view applicationId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerForUser)->abi_CreatePushNotificationChannelForApplicationAsyncWithId(get_abi(applicationId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerForUser::CreatePushNotificationChannelForSecondaryTileAsync(hstring_view tileId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerForUser)->abi_CreatePushNotificationChannelForSecondaryTileAsync(get_abi(tileId), put_abi(operation))); + return operation; +} + +template Windows::System::User impl_IPushNotificationChannelManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerForUser)->get_User(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerForUser2::CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(const Windows::Storage::Streams::IBuffer & appServerKey, hstring_view channelId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerForUser2)->abi_CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(get_abi(appServerKey), get_abi(channelId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPushNotificationChannelManagerForUser2::CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(const Windows::Storage::Streams::IBuffer & appServerKey, hstring_view channelId, hstring_view appId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPushNotificationChannelManagerForUser2)->abi_CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsyncWithId(get_abi(appServerKey), get_abi(channelId), get_abi(appId), put_abi(operation))); + return operation; +} + +template hstring impl_IPushNotificationChannel::Uri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPushNotificationChannel)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IPushNotificationChannel::ExpirationTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPushNotificationChannel)->get_ExpirationTime(put_abi(value))); + return value; +} + +template void impl_IPushNotificationChannel::Close() const +{ + check_hresult(WINRT_SHIM(IPushNotificationChannel)->abi_Close()); +} + +template event_token impl_IPushNotificationChannel::PushNotificationReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPushNotificationChannel)->add_PushNotificationReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPushNotificationChannel::PushNotificationReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::PushNotifications::IPushNotificationChannel::remove_PushNotificationReceived, PushNotificationReceived(handler)); +} + +template void impl_IPushNotificationChannel::PushNotificationReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IPushNotificationChannel)->remove_PushNotificationReceived(token)); +} + +template void impl_IPushNotificationReceivedEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(IPushNotificationReceivedEventArgs)->put_Cancel(value)); +} + +template bool impl_IPushNotificationReceivedEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPushNotificationReceivedEventArgs)->get_Cancel(&value)); + return value; +} + +template Windows::Networking::PushNotifications::PushNotificationType impl_IPushNotificationReceivedEventArgs::NotificationType() const +{ + Windows::Networking::PushNotifications::PushNotificationType value {}; + check_hresult(WINRT_SHIM(IPushNotificationReceivedEventArgs)->get_NotificationType(&value)); + return value; +} + +template Windows::UI::Notifications::ToastNotification impl_IPushNotificationReceivedEventArgs::ToastNotification() const +{ + Windows::UI::Notifications::ToastNotification value { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationReceivedEventArgs)->get_ToastNotification(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::TileNotification impl_IPushNotificationReceivedEventArgs::TileNotification() const +{ + Windows::UI::Notifications::TileNotification value { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationReceivedEventArgs)->get_TileNotification(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::BadgeNotification impl_IPushNotificationReceivedEventArgs::BadgeNotification() const +{ + Windows::UI::Notifications::BadgeNotification value { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationReceivedEventArgs)->get_BadgeNotification(put_abi(value))); + return value; +} + +template Windows::Networking::PushNotifications::RawNotification impl_IPushNotificationReceivedEventArgs::RawNotification() const +{ + Windows::Networking::PushNotifications::RawNotification value { nullptr }; + check_hresult(WINRT_SHIM(IPushNotificationReceivedEventArgs)->get_RawNotification(put_abi(value))); + return value; +} + +template hstring impl_IRawNotification::Content() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRawNotification)->get_Content(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IRawNotification2::Headers() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IRawNotification2)->get_Headers(put_abi(value))); + return value; +} + +template hstring impl_IRawNotification2::ChannelId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRawNotification2)->get_ChannelId(put_abi(value))); + return value; +} + +inline Windows::Foundation::IAsyncOperation PushNotificationChannelManager::CreatePushNotificationChannelForApplicationAsync() +{ + return get_activation_factory().CreatePushNotificationChannelForApplicationAsync(); +} + +inline Windows::Foundation::IAsyncOperation PushNotificationChannelManager::CreatePushNotificationChannelForApplicationAsync(hstring_view applicationId) +{ + return get_activation_factory().CreatePushNotificationChannelForApplicationAsync(applicationId); +} + +inline Windows::Foundation::IAsyncOperation PushNotificationChannelManager::CreatePushNotificationChannelForSecondaryTileAsync(hstring_view tileId) +{ + return get_activation_factory().CreatePushNotificationChannelForSecondaryTileAsync(tileId); +} + +inline Windows::Networking::PushNotifications::PushNotificationChannelManagerForUser PushNotificationChannelManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline Windows::Networking::PushNotifications::PushNotificationChannelManagerForUser PushNotificationChannelManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IPushNotificationChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IPushNotificationChannelManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IPushNotificationChannelManagerForUser2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IPushNotificationChannelManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IPushNotificationChannelManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IPushNotificationChannelManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IPushNotificationReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IRawNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::IRawNotification2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::PushNotificationChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::PushNotificationChannelManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::PushNotificationReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::PushNotifications::RawNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.ServiceDiscovery.Dnssd.h b/10.0.15042.0/winrt/Windows.Networking.ServiceDiscovery.Dnssd.h new file mode 100644 index 000000000..f2ed2ac55 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.ServiceDiscovery.Dnssd.h @@ -0,0 +1,719 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "internal/Windows.Networking.Connectivity.3.h" +#include "internal/Windows.Networking.ServiceDiscovery.Dnssd.3.h" +#include "Windows.Networking.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Networking::ServiceDiscovery::Dnssd::DnssdRegistrationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IPAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IPAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasInstanceNameChanged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasInstanceNameChanged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DnssdServiceInstanceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DnssdServiceInstanceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DnssdServiceInstanceName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DnssdServiceInstanceName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HostName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HostName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Port(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Port()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Port(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Port(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Priority(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Priority()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Priority(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Priority(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Weight(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Weight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Weight(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Weight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAttributes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAttributes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterStreamSocketListenerAsync1(impl::abi_arg_in socket, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterStreamSocketListenerAsync(*reinterpret_cast(&socket))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterStreamSocketListenerAsync2(impl::abi_arg_in socket, impl::abi_arg_in adapter, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterStreamSocketListenerAsync(*reinterpret_cast(&socket), *reinterpret_cast(&adapter))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterDatagramSocketAsync1(impl::abi_arg_in socket, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterDatagramSocketAsync(*reinterpret_cast(&socket))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterDatagramSocketAsync2(impl::abi_arg_in socket, impl::abi_arg_in adapter, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RegisterDatagramSocketAsync(*reinterpret_cast(&socket), *reinterpret_cast(&adapter))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in dnssdServiceInstanceName, impl::abi_arg_in hostName, uint16_t port, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&dnssdServiceInstanceName), *reinterpret_cast(&hostName), port)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceWatcherStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::ServiceDiscovery::Dnssd { + +template event_token impl_IDnssdServiceWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDnssdServiceWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::ServiceDiscovery::Dnssd::IDnssdServiceWatcher::remove_Added, Added(handler)); +} + +template void impl_IDnssdServiceWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->remove_Added(token)); +} + +template event_token impl_IDnssdServiceWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDnssdServiceWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::ServiceDiscovery::Dnssd::IDnssdServiceWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IDnssdServiceWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->remove_EnumerationCompleted(token)); +} + +template event_token impl_IDnssdServiceWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDnssdServiceWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::ServiceDiscovery::Dnssd::IDnssdServiceWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IDnssdServiceWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->remove_Stopped(token)); +} + +template Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceWatcherStatus impl_IDnssdServiceWatcher::Status() const +{ + Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceWatcherStatus status {}; + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->get_Status(&status)); + return status; +} + +template void impl_IDnssdServiceWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->abi_Start()); +} + +template void impl_IDnssdServiceWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IDnssdServiceWatcher)->abi_Stop()); +} + +template Windows::Networking::ServiceDiscovery::Dnssd::DnssdRegistrationStatus impl_IDnssdRegistrationResult::Status() const +{ + Windows::Networking::ServiceDiscovery::Dnssd::DnssdRegistrationStatus value {}; + check_hresult(WINRT_SHIM(IDnssdRegistrationResult)->get_Status(&value)); + return value; +} + +template Windows::Networking::HostName impl_IDnssdRegistrationResult::IPAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IDnssdRegistrationResult)->get_IPAddress(put_abi(value))); + return value; +} + +template bool impl_IDnssdRegistrationResult::HasInstanceNameChanged() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDnssdRegistrationResult)->get_HasInstanceNameChanged(&value)); + return value; +} + +template Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceInstance impl_IDnssdServiceInstanceFactory::Create(hstring_view dnssdServiceInstanceName, const Windows::Networking::HostName & hostName, uint16_t port) const +{ + Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceInstance result { nullptr }; + check_hresult(WINRT_SHIM(IDnssdServiceInstanceFactory)->abi_Create(get_abi(dnssdServiceInstanceName), get_abi(hostName), port, put_abi(result))); + return result; +} + +template hstring impl_IDnssdServiceInstance::DnssdServiceInstanceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->get_DnssdServiceInstanceName(put_abi(value))); + return value; +} + +template void impl_IDnssdServiceInstance::DnssdServiceInstanceName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->put_DnssdServiceInstanceName(get_abi(value))); +} + +template Windows::Networking::HostName impl_IDnssdServiceInstance::HostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->get_HostName(put_abi(value))); + return value; +} + +template void impl_IDnssdServiceInstance::HostName(const Windows::Networking::HostName & value) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->put_HostName(get_abi(value))); +} + +template uint16_t impl_IDnssdServiceInstance::Port() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->get_Port(&value)); + return value; +} + +template void impl_IDnssdServiceInstance::Port(uint16_t value) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->put_Port(value)); +} + +template uint16_t impl_IDnssdServiceInstance::Priority() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->get_Priority(&value)); + return value; +} + +template void impl_IDnssdServiceInstance::Priority(uint16_t value) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->put_Priority(value)); +} + +template uint16_t impl_IDnssdServiceInstance::Weight() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->get_Weight(&value)); + return value; +} + +template void impl_IDnssdServiceInstance::Weight(uint16_t value) const +{ + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->put_Weight(value)); +} + +template Windows::Foundation::Collections::IMap impl_IDnssdServiceInstance::TextAttributes() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->get_TextAttributes(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDnssdServiceInstance::RegisterStreamSocketListenerAsync(const Windows::Networking::Sockets::StreamSocketListener & socket) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->abi_RegisterStreamSocketListenerAsync1(get_abi(socket), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDnssdServiceInstance::RegisterStreamSocketListenerAsync(const Windows::Networking::Sockets::StreamSocketListener & socket, const Windows::Networking::Connectivity::NetworkAdapter & adapter) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->abi_RegisterStreamSocketListenerAsync2(get_abi(socket), get_abi(adapter), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDnssdServiceInstance::RegisterDatagramSocketAsync(const Windows::Networking::Sockets::DatagramSocket & socket) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->abi_RegisterDatagramSocketAsync1(get_abi(socket), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDnssdServiceInstance::RegisterDatagramSocketAsync(const Windows::Networking::Sockets::DatagramSocket & socket, const Windows::Networking::Connectivity::NetworkAdapter & adapter) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDnssdServiceInstance)->abi_RegisterDatagramSocketAsync2(get_abi(socket), get_abi(adapter), put_abi(result))); + return result; +} + +inline DnssdRegistrationResult::DnssdRegistrationResult() : + DnssdRegistrationResult(activate_instance()) +{} + +inline DnssdServiceInstance::DnssdServiceInstance(hstring_view dnssdServiceInstanceName, const Windows::Networking::HostName & hostName, uint16_t port) : + DnssdServiceInstance(get_activation_factory().Create(dnssdServiceInstanceName, hostName, port)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::IDnssdRegistrationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::IDnssdServiceInstance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::IDnssdServiceInstanceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::IDnssdServiceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::DnssdRegistrationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceInstance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceInstanceCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::ServiceDiscovery::Dnssd::DnssdServiceWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.Sockets.h b/10.0.15042.0/winrt/Windows.Networking.Sockets.h new file mode 100644 index 000000000..c6fa04b00 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.Sockets.h @@ -0,0 +1,5070 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.Connectivity.3.h" +#include "internal/Windows.Security.Cryptography.Certificates.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Web.3.h" +#include "internal/Windows.ApplicationModel.Background.3.h" +#include "internal/Windows.Networking.Sockets.3.h" +#include "Windows.Networking.h" +#include "Windows.ApplicationModel.Background.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ControlChannelTriggerId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlChannelTriggerId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerKeepAliveIntervalInMinutes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerKeepAliveIntervalInMinutes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServerKeepAliveIntervalInMinutes(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerKeepAliveIntervalInMinutes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentKeepAliveIntervalInMinutes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentKeepAliveIntervalInMinutes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportObject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportObject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeepAliveTrigger(impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().KeepAliveTrigger()); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PushNotificationTrigger(impl::abi_arg_out trigger) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *trigger = detach_abi(this->shim().PushNotificationTrigger()); + return S_OK; + } + catch (...) + { + *trigger = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UsingTransport(impl::abi_arg_in transport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UsingTransport(*reinterpret_cast(&transport)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WaitForPushEnabled(Windows::Networking::Sockets::ControlChannelTriggerStatus * channelTriggerStatus) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *channelTriggerStatus = detach_abi(this->shim().WaitForPushEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DecreaseNetworkKeepAliveInterval() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecreaseNetworkKeepAliveInterval(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FlushTransport() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlushTransport(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsWakeFromLowPowerSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsWakeFromLowPowerSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ControlChannelTrigger(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlChannelTrigger()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateControlChannelTrigger(impl::abi_arg_in channelId, uint32_t serverKeepAliveIntervalInMinutes, impl::abi_arg_out notificationChannel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notificationChannel = detach_abi(this->shim().CreateControlChannelTrigger(*reinterpret_cast(&channelId), serverKeepAliveIntervalInMinutes)); + return S_OK; + } + catch (...) + { + *notificationChannel = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateControlChannelTriggerEx(impl::abi_arg_in channelId, uint32_t serverKeepAliveIntervalInMinutes, Windows::Networking::Sockets::ControlChannelTriggerResourceType resourceRequestType, impl::abi_arg_out notificationChannel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notificationChannel = detach_abi(this->shim().CreateControlChannelTriggerEx(*reinterpret_cast(&channelId), serverKeepAliveIntervalInMinutes, resourceRequestType)); + return S_OK; + } + catch (...) + { + *notificationChannel = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResetReason(Windows::Networking::Sockets::ControlChannelTriggerResetReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResetReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareSlotReset(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareSlotReset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SoftwareSlotReset(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareSlotReset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Control(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Control()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Information(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Information()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectWithEndpointPairAsync(impl::abi_arg_in endpointPair, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&endpointPair))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BindServiceNameAsync(impl::abi_arg_in localServiceName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BindServiceNameAsync(*reinterpret_cast(&localServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BindEndpointAsync(impl::abi_arg_in localHostName, impl::abi_arg_in localServiceName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BindEndpointAsync(*reinterpret_cast(&localHostName), *reinterpret_cast(&localServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_JoinMulticastGroup(impl::abi_arg_in host) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().JoinMulticastGroup(*reinterpret_cast(&host)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOutputStreamAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetOutputStreamAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOutputStreamWithEndpointPairAsync(impl::abi_arg_in endpointPair, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetOutputStreamAsync(*reinterpret_cast(&endpointPair))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MessageReceived(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().MessageReceived(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageReceived(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageReceived(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BindServiceNameAndAdapterAsync(impl::abi_arg_in localServiceName, impl::abi_arg_in adapter, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BindServiceNameAsync(*reinterpret_cast(&localServiceName), *reinterpret_cast(&adapter))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CancelIOAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CancelIOAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableTransferOwnership(GUID taskId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableTransferOwnership(taskId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableTransferOwnershipWithConnectedStandbyAction(GUID taskId, Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableTransferOwnership(taskId, connectedStandbyAction); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnership(impl::abi_arg_in socketId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnershipWithContext(impl::abi_arg_in socketId, impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId), *reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnershipWithContextAndKeepAliveTime(impl::abi_arg_in socketId, impl::abi_arg_in data, impl::abi_arg_in keepAliveTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId), *reinterpret_cast(&data), *reinterpret_cast(&keepAliveTime)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QualityOfService(Windows::Networking::Sockets::SocketQualityOfService * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualityOfService()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QualityOfService(Windows::Networking::Sockets::SocketQualityOfService value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QualityOfService(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutboundUnicastHopLimit(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundUnicastHopLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutboundUnicastHopLimit(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutboundUnicastHopLimit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InboundBufferSizeInBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InboundBufferSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InboundBufferSizeInBytes(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InboundBufferSizeInBytes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DontFragment(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DontFragment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DontFragment(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DontFragment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MulticastOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MulticastOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MulticastOnly(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MulticastOnly(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalPort(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalPort()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemotePort(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemotePort()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemotePort(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemotePort()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDataReader(impl::abi_arg_out dataReader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataReader = detach_abi(this->shim().GetDataReader()); + return S_OK; + } + catch (...) + { + *dataReader = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDataStream(impl::abi_arg_out inputStream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inputStream = detach_abi(this->shim().GetDataStream()); + return S_OK; + } + catch (...) + { + *inputStream = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetEndpointPairsAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetEndpointPairsAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEndpointPairsWithSortOptionsAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, Windows::Networking::HostNameSortOptions sortOptions, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetEndpointPairsAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName), sortOptions)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Control(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Control()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Information(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Information()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MessageReceived(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().MessageReceived(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MessageReceived(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageReceived(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ServerCustomValidationRequested(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().ServerCustomValidationRequested(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ServerCustomValidationRequested(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerCustomValidationRequested(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxMessageSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxMessageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxMessageSize(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxMessageSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageType(Windows::Networking::Sockets::SocketMessageType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MessageType(Windows::Networking::Sockets::SocketMessageType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MessageType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MessageType(Windows::Networking::Sockets::SocketMessageType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDataReader(impl::abi_arg_out dataReader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataReader = detach_abi(this->shim().GetDataReader()); + return S_OK; + } + catch (...) + { + *dataReader = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDataStream(impl::abi_arg_out inputStream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inputStream = detach_abi(this->shim().GetDataStream()); + return S_OK; + } + catch (...) + { + *inputStream = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in data, impl::abi_arg_out context) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *context = detach_abi(this->shim().Create(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *context = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TaskId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TaskId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SocketKind(Windows::Networking::Sockets::SocketActivityKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SocketKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Context(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Context()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DatagramSocket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DatagramSocket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreamSocket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamSocket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreamSocketListener(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamSocketListener()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllSockets(impl::abi_arg_out> sockets) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *sockets = detach_abi(this->shim().AllSockets()); + return S_OK; + } + catch (...) + { + *sockets = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::Networking::Sockets::SocketActivityTriggerReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SocketInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SocketInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetStatus(int32_t hresult, Windows::Networking::Sockets::SocketErrorStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetStatus(hresult)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Control(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Control()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Information(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Information()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectWithEndpointPairAsync(impl::abi_arg_in endpointPair, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&endpointPair))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectWithEndpointPairAndProtectionLevelAsync(impl::abi_arg_in endpointPair, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&endpointPair), protectionLevel)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectWithProtectionLevelAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName), protectionLevel)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpgradeToSslAsync(Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, impl::abi_arg_in validationHostName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpgradeToSslAsync(protectionLevel, *reinterpret_cast(&validationHostName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConnectWithProtectionLevelAndAdapterAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, impl::abi_arg_in adapter, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName), protectionLevel, *reinterpret_cast(&adapter))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CancelIOAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CancelIOAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableTransferOwnership(GUID taskId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableTransferOwnership(taskId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableTransferOwnershipWithConnectedStandbyAction(GUID taskId, Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableTransferOwnership(taskId, connectedStandbyAction); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnership(impl::abi_arg_in socketId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnershipWithContext(impl::abi_arg_in socketId, impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId), *reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnershipWithContextAndKeepAliveTime(impl::abi_arg_in socketId, impl::abi_arg_in data, impl::abi_arg_in keepAliveTime) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId), *reinterpret_cast(&data), *reinterpret_cast(&keepAliveTime)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NoDelay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NoDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NoDelay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NoDelay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeepAlive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeepAlive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeepAlive(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeepAlive(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutboundBufferSizeInBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundBufferSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutboundBufferSizeInBytes(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutboundBufferSizeInBytes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QualityOfService(Windows::Networking::Sockets::SocketQualityOfService * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualityOfService()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QualityOfService(Windows::Networking::Sockets::SocketQualityOfService value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QualityOfService(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutboundUnicastHopLimit(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundUnicastHopLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutboundUnicastHopLimit(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutboundUnicastHopLimit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IgnorableServerCertificateErrors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IgnorableServerCertificateErrors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SerializeConnectionAttempts(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SerializeConnectionAttempts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SerializeConnectionAttempts(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SerializeConnectionAttempts(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClientCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClientCertificate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClientCertificate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalPort(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalPort()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteHostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteHostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemotePort(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemotePort()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoundTripTimeStatistics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoundTripTimeStatistics()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BandwidthStatistics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BandwidthStatistics()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionLevel(Windows::Networking::Sockets::SocketProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionKey(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionKey()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServerCertificateErrorSeverity(Windows::Networking::Sockets::SocketSslErrorSeverity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificateErrorSeverity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCertificateErrors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificateErrors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerIntermediateCertificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerIntermediateCertificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Control(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Control()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Information(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Information()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BindServiceNameAsync(impl::abi_arg_in localServiceName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BindServiceNameAsync(*reinterpret_cast(&localServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BindEndpointAsync(impl::abi_arg_in localHostName, impl::abi_arg_in localServiceName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BindEndpointAsync(*reinterpret_cast(&localHostName), *reinterpret_cast(&localServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ConnectionReceived(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().ConnectionReceived(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ConnectionReceived(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConnectionReceived(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BindServiceNameWithProtectionLevelAsync(impl::abi_arg_in localServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BindServiceNameAsync(*reinterpret_cast(&localServiceName), protectionLevel)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BindServiceNameWithProtectionLevelAndAdapterAsync(impl::abi_arg_in localServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, impl::abi_arg_in adapter, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BindServiceNameAsync(*reinterpret_cast(&localServiceName), protectionLevel, *reinterpret_cast(&adapter))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CancelIOAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CancelIOAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableTransferOwnership(GUID taskId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableTransferOwnership(taskId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableTransferOwnershipWithConnectedStandbyAction(GUID taskId, Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableTransferOwnership(taskId, connectedStandbyAction); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnership(impl::abi_arg_in socketId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransferOwnershipWithContext(impl::abi_arg_in socketId, impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransferOwnership(*reinterpret_cast(&socketId), *reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Socket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Socket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QualityOfService(Windows::Networking::Sockets::SocketQualityOfService * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QualityOfService()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QualityOfService(Windows::Networking::Sockets::SocketQualityOfService value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QualityOfService(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NoDelay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NoDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NoDelay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NoDelay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeepAlive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeepAlive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeepAlive(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeepAlive(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutboundBufferSizeInBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundBufferSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutboundBufferSizeInBytes(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutboundBufferSizeInBytes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutboundUnicastHopLimit(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundUnicastHopLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutboundUnicastHopLimit(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutboundUnicastHopLimit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalPort(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalPort()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetEndpointPairsAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetEndpointPairsAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEndpointPairsWithSortOptionsAsync(impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, Windows::Networking::HostNameSortOptions sortOptions, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetEndpointPairsAsync(*reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName), sortOptions)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Control(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Control()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Information(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Information()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ServerCustomValidationRequested(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().ServerCustomValidationRequested(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ServerCustomValidationRequested(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerCustomValidationRequested(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NoDelay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NoDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NoDelay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NoDelay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OutputStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutputStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectAsync(impl::abi_arg_in uri, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRequestHeader(impl::abi_arg_in headerName, impl::abi_arg_in headerValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRequestHeader(*reinterpret_cast(&headerName), *reinterpret_cast(&headerValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> eventHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().Closed(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CloseWithStatus(uint16_t code, impl::abi_arg_in reason) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(code, *reinterpret_cast(&reason)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Code(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reason(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OutboundBufferSizeInBytes(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutboundBufferSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutboundBufferSizeInBytes(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutboundBufferSizeInBytes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServerCredential(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerCredential(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProxyCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProxyCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProxyCredential(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProxyCredential(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedProtocols(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedProtocols()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IgnorableServerCertificateErrors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IgnorableServerCertificateErrors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetStatus(int32_t hresult, Windows::Web::WebErrorStatus * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetStatus(hresult)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BandwidthStatistics(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BandwidthStatistics()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Protocol(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Protocol()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServerCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCertificateErrorSeverity(Windows::Networking::Sockets::SocketSslErrorSeverity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificateErrorSeverity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCertificateErrors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificateErrors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerIntermediateCertificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerIntermediateCertificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServerCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCertificateErrorSeverity(Windows::Networking::Sockets::SocketSslErrorSeverity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificateErrorSeverity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerCertificateErrors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerCertificateErrors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerIntermediateCertificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerIntermediateCertificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reject() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reject(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::Sockets { + +template GUID impl_ISocketActivityInformation::TaskId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ISocketActivityInformation)->get_TaskId(&value)); + return value; +} + +template hstring impl_ISocketActivityInformation::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISocketActivityInformation)->get_Id(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketActivityKind impl_ISocketActivityInformation::SocketKind() const +{ + Windows::Networking::Sockets::SocketActivityKind value {}; + check_hresult(WINRT_SHIM(ISocketActivityInformation)->get_SocketKind(&value)); + return value; +} + +template Windows::Networking::Sockets::SocketActivityContext impl_ISocketActivityInformation::Context() const +{ + Windows::Networking::Sockets::SocketActivityContext value { nullptr }; + check_hresult(WINRT_SHIM(ISocketActivityInformation)->get_Context(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::DatagramSocket impl_ISocketActivityInformation::DatagramSocket() const +{ + Windows::Networking::Sockets::DatagramSocket value { nullptr }; + check_hresult(WINRT_SHIM(ISocketActivityInformation)->get_DatagramSocket(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::StreamSocket impl_ISocketActivityInformation::StreamSocket() const +{ + Windows::Networking::Sockets::StreamSocket value { nullptr }; + check_hresult(WINRT_SHIM(ISocketActivityInformation)->get_StreamSocket(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::StreamSocketListener impl_ISocketActivityInformation::StreamSocketListener() const +{ + Windows::Networking::Sockets::StreamSocketListener value { nullptr }; + check_hresult(WINRT_SHIM(ISocketActivityInformation)->get_StreamSocketListener(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketActivityTriggerReason impl_ISocketActivityTriggerDetails::Reason() const +{ + Windows::Networking::Sockets::SocketActivityTriggerReason value {}; + check_hresult(WINRT_SHIM(ISocketActivityTriggerDetails)->get_Reason(&value)); + return value; +} + +template Windows::Networking::Sockets::SocketActivityInformation impl_ISocketActivityTriggerDetails::SocketInformation() const +{ + Windows::Networking::Sockets::SocketActivityInformation value { nullptr }; + check_hresult(WINRT_SHIM(ISocketActivityTriggerDetails)->get_SocketInformation(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ISocketActivityInformationStatics::AllSockets() const +{ + Windows::Foundation::Collections::IMapView sockets; + check_hresult(WINRT_SHIM(ISocketActivityInformationStatics)->get_AllSockets(put_abi(sockets))); + return sockets; +} + +template Windows::Storage::Streams::IBuffer impl_ISocketActivityContext::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISocketActivityContext)->get_Data(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketActivityContext impl_ISocketActivityContextFactory::Create(const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Networking::Sockets::SocketActivityContext context { nullptr }; + check_hresult(WINRT_SHIM(ISocketActivityContextFactory)->abi_Create(get_abi(data), put_abi(context))); + return context; +} + +template Windows::Networking::HostName impl_IDatagramSocketMessageReceivedEventArgs::RemoteAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IDatagramSocketMessageReceivedEventArgs)->get_RemoteAddress(put_abi(value))); + return value; +} + +template hstring impl_IDatagramSocketMessageReceivedEventArgs::RemotePort() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDatagramSocketMessageReceivedEventArgs)->get_RemotePort(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IDatagramSocketMessageReceivedEventArgs::LocalAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IDatagramSocketMessageReceivedEventArgs)->get_LocalAddress(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::DataReader impl_IDatagramSocketMessageReceivedEventArgs::GetDataReader() const +{ + Windows::Storage::Streams::DataReader dataReader { nullptr }; + check_hresult(WINRT_SHIM(IDatagramSocketMessageReceivedEventArgs)->abi_GetDataReader(put_abi(dataReader))); + return dataReader; +} + +template Windows::Storage::Streams::IInputStream impl_IDatagramSocketMessageReceivedEventArgs::GetDataStream() const +{ + Windows::Storage::Streams::IInputStream inputStream; + check_hresult(WINRT_SHIM(IDatagramSocketMessageReceivedEventArgs)->abi_GetDataStream(put_abi(inputStream))); + return inputStream; +} + +template Windows::Networking::Sockets::SocketMessageType impl_IMessageWebSocketMessageReceivedEventArgs::MessageType() const +{ + Windows::Networking::Sockets::SocketMessageType value {}; + check_hresult(WINRT_SHIM(IMessageWebSocketMessageReceivedEventArgs)->get_MessageType(&value)); + return value; +} + +template Windows::Storage::Streams::DataReader impl_IMessageWebSocketMessageReceivedEventArgs::GetDataReader() const +{ + Windows::Storage::Streams::DataReader dataReader { nullptr }; + check_hresult(WINRT_SHIM(IMessageWebSocketMessageReceivedEventArgs)->abi_GetDataReader(put_abi(dataReader))); + return dataReader; +} + +template Windows::Storage::Streams::IInputStream impl_IMessageWebSocketMessageReceivedEventArgs::GetDataStream() const +{ + Windows::Storage::Streams::IInputStream inputStream; + check_hresult(WINRT_SHIM(IMessageWebSocketMessageReceivedEventArgs)->abi_GetDataStream(put_abi(inputStream))); + return inputStream; +} + +template uint16_t impl_IWebSocketClosedEventArgs::Code() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IWebSocketClosedEventArgs)->get_Code(&value)); + return value; +} + +template hstring impl_IWebSocketClosedEventArgs::Reason() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebSocketClosedEventArgs)->get_Reason(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IDatagramSocketInformation::LocalAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IDatagramSocketInformation)->get_LocalAddress(put_abi(value))); + return value; +} + +template hstring impl_IDatagramSocketInformation::LocalPort() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDatagramSocketInformation)->get_LocalPort(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IDatagramSocketInformation::RemoteAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IDatagramSocketInformation)->get_RemoteAddress(put_abi(value))); + return value; +} + +template hstring impl_IDatagramSocketInformation::RemotePort() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDatagramSocketInformation)->get_RemotePort(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketQualityOfService impl_IDatagramSocketControl::QualityOfService() const +{ + Windows::Networking::Sockets::SocketQualityOfService value {}; + check_hresult(WINRT_SHIM(IDatagramSocketControl)->get_QualityOfService(&value)); + return value; +} + +template void impl_IDatagramSocketControl::QualityOfService(Windows::Networking::Sockets::SocketQualityOfService value) const +{ + check_hresult(WINRT_SHIM(IDatagramSocketControl)->put_QualityOfService(value)); +} + +template uint8_t impl_IDatagramSocketControl::OutboundUnicastHopLimit() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IDatagramSocketControl)->get_OutboundUnicastHopLimit(&value)); + return value; +} + +template void impl_IDatagramSocketControl::OutboundUnicastHopLimit(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IDatagramSocketControl)->put_OutboundUnicastHopLimit(value)); +} + +template uint32_t impl_IDatagramSocketControl2::InboundBufferSizeInBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDatagramSocketControl2)->get_InboundBufferSizeInBytes(&value)); + return value; +} + +template void impl_IDatagramSocketControl2::InboundBufferSizeInBytes(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IDatagramSocketControl2)->put_InboundBufferSizeInBytes(value)); +} + +template bool impl_IDatagramSocketControl2::DontFragment() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDatagramSocketControl2)->get_DontFragment(&value)); + return value; +} + +template void impl_IDatagramSocketControl2::DontFragment(bool value) const +{ + check_hresult(WINRT_SHIM(IDatagramSocketControl2)->put_DontFragment(value)); +} + +template bool impl_IDatagramSocketControl3::MulticastOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDatagramSocketControl3)->get_MulticastOnly(&value)); + return value; +} + +template void impl_IDatagramSocketControl3::MulticastOnly(bool value) const +{ + check_hresult(WINRT_SHIM(IDatagramSocketControl3)->put_MulticastOnly(value)); +} + +template Windows::Foundation::IAsyncOperation> impl_IDatagramSocketStatics::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IDatagramSocketStatics)->abi_GetEndpointPairsAsync(get_abi(remoteHostName), get_abi(remoteServiceName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IDatagramSocketStatics::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName, Windows::Networking::HostNameSortOptions sortOptions) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IDatagramSocketStatics)->abi_GetEndpointPairsWithSortOptionsAsync(get_abi(remoteHostName), get_abi(remoteServiceName), sortOptions, put_abi(operation))); + return operation; +} + +template Windows::Networking::Sockets::DatagramSocketControl impl_IDatagramSocket::Control() const +{ + Windows::Networking::Sockets::DatagramSocketControl value { nullptr }; + check_hresult(WINRT_SHIM(IDatagramSocket)->get_Control(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::DatagramSocketInformation impl_IDatagramSocket::Information() const +{ + Windows::Networking::Sockets::DatagramSocketInformation value { nullptr }; + check_hresult(WINRT_SHIM(IDatagramSocket)->get_Information(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IOutputStream impl_IDatagramSocket::OutputStream() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(IDatagramSocket)->get_OutputStream(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IDatagramSocket::ConnectAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IDatagramSocket)->abi_ConnectAsync(get_abi(remoteHostName), get_abi(remoteServiceName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IDatagramSocket::ConnectAsync(const Windows::Networking::EndpointPair & endpointPair) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IDatagramSocket)->abi_ConnectWithEndpointPairAsync(get_abi(endpointPair), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IDatagramSocket::BindServiceNameAsync(hstring_view localServiceName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IDatagramSocket)->abi_BindServiceNameAsync(get_abi(localServiceName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IDatagramSocket::BindEndpointAsync(const Windows::Networking::HostName & localHostName, hstring_view localServiceName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IDatagramSocket)->abi_BindEndpointAsync(get_abi(localHostName), get_abi(localServiceName), put_abi(operation))); + return operation; +} + +template void impl_IDatagramSocket::JoinMulticastGroup(const Windows::Networking::HostName & host) const +{ + check_hresult(WINRT_SHIM(IDatagramSocket)->abi_JoinMulticastGroup(get_abi(host))); +} + +template Windows::Foundation::IAsyncOperation impl_IDatagramSocket::GetOutputStreamAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IDatagramSocket)->abi_GetOutputStreamAsync(get_abi(remoteHostName), get_abi(remoteServiceName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDatagramSocket::GetOutputStreamAsync(const Windows::Networking::EndpointPair & endpointPair) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IDatagramSocket)->abi_GetOutputStreamWithEndpointPairAsync(get_abi(endpointPair), put_abi(value))); + return value; +} + +template event_token impl_IDatagramSocket::MessageReceived(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IDatagramSocket)->add_MessageReceived(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IDatagramSocket::MessageReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Sockets::IDatagramSocket::remove_MessageReceived, MessageReceived(eventHandler)); +} + +template void impl_IDatagramSocket::MessageReceived(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IDatagramSocket)->remove_MessageReceived(eventCookie)); +} + +template Windows::Foundation::IAsyncAction impl_IDatagramSocket2::BindServiceNameAsync(hstring_view localServiceName, const Windows::Networking::Connectivity::NetworkAdapter & adapter) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IDatagramSocket2)->abi_BindServiceNameAndAdapterAsync(get_abi(localServiceName), get_abi(adapter), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IDatagramSocket3::CancelIOAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IDatagramSocket3)->abi_CancelIOAsync(put_abi(operation))); + return operation; +} + +template void impl_IDatagramSocket3::EnableTransferOwnership(GUID taskId) const +{ + check_hresult(WINRT_SHIM(IDatagramSocket3)->abi_EnableTransferOwnership(taskId)); +} + +template void impl_IDatagramSocket3::EnableTransferOwnership(GUID taskId, Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) const +{ + check_hresult(WINRT_SHIM(IDatagramSocket3)->abi_EnableTransferOwnershipWithConnectedStandbyAction(taskId, connectedStandbyAction)); +} + +template void impl_IDatagramSocket3::TransferOwnership(hstring_view socketId) const +{ + check_hresult(WINRT_SHIM(IDatagramSocket3)->abi_TransferOwnership(get_abi(socketId))); +} + +template void impl_IDatagramSocket3::TransferOwnership(hstring_view socketId, const Windows::Networking::Sockets::SocketActivityContext & data) const +{ + check_hresult(WINRT_SHIM(IDatagramSocket3)->abi_TransferOwnershipWithContext(get_abi(socketId), get_abi(data))); +} + +template void impl_IDatagramSocket3::TransferOwnership(hstring_view socketId, const Windows::Networking::Sockets::SocketActivityContext & data, const Windows::Foundation::TimeSpan & keepAliveTime) const +{ + check_hresult(WINRT_SHIM(IDatagramSocket3)->abi_TransferOwnershipWithContextAndKeepAliveTime(get_abi(socketId), get_abi(data), get_abi(keepAliveTime))); +} + +template Windows::Networking::HostName impl_IStreamSocketInformation::LocalAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_LocalAddress(put_abi(value))); + return value; +} + +template hstring impl_IStreamSocketInformation::LocalPort() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_LocalPort(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IStreamSocketInformation::RemoteHostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_RemoteHostName(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IStreamSocketInformation::RemoteAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_RemoteAddress(put_abi(value))); + return value; +} + +template hstring impl_IStreamSocketInformation::RemoteServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_RemoteServiceName(put_abi(value))); + return value; +} + +template hstring impl_IStreamSocketInformation::RemotePort() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_RemotePort(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::RoundTripTimeStatistics impl_IStreamSocketInformation::RoundTripTimeStatistics() const +{ + Windows::Networking::Sockets::RoundTripTimeStatistics value {}; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_RoundTripTimeStatistics(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::BandwidthStatistics impl_IStreamSocketInformation::BandwidthStatistics() const +{ + Windows::Networking::Sockets::BandwidthStatistics value {}; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_BandwidthStatistics(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketProtectionLevel impl_IStreamSocketInformation::ProtectionLevel() const +{ + Windows::Networking::Sockets::SocketProtectionLevel value {}; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_ProtectionLevel(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IStreamSocketInformation::SessionKey() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IStreamSocketInformation)->get_SessionKey(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketSslErrorSeverity impl_IStreamSocketInformation2::ServerCertificateErrorSeverity() const +{ + Windows::Networking::Sockets::SocketSslErrorSeverity value {}; + check_hresult(WINRT_SHIM(IStreamSocketInformation2)->get_ServerCertificateErrorSeverity(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStreamSocketInformation2::ServerCertificateErrors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStreamSocketInformation2)->get_ServerCertificateErrors(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_IStreamSocketInformation2::ServerCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketInformation2)->get_ServerCertificate(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStreamSocketInformation2::ServerIntermediateCertificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStreamSocketInformation2)->get_ServerIntermediateCertificates(put_abi(value))); + return value; +} + +template bool impl_IStreamSocketControl::NoDelay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreamSocketControl)->get_NoDelay(&value)); + return value; +} + +template void impl_IStreamSocketControl::NoDelay(bool value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketControl)->put_NoDelay(value)); +} + +template bool impl_IStreamSocketControl::KeepAlive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreamSocketControl)->get_KeepAlive(&value)); + return value; +} + +template void impl_IStreamSocketControl::KeepAlive(bool value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketControl)->put_KeepAlive(value)); +} + +template uint32_t impl_IStreamSocketControl::OutboundBufferSizeInBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStreamSocketControl)->get_OutboundBufferSizeInBytes(&value)); + return value; +} + +template void impl_IStreamSocketControl::OutboundBufferSizeInBytes(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketControl)->put_OutboundBufferSizeInBytes(value)); +} + +template Windows::Networking::Sockets::SocketQualityOfService impl_IStreamSocketControl::QualityOfService() const +{ + Windows::Networking::Sockets::SocketQualityOfService value {}; + check_hresult(WINRT_SHIM(IStreamSocketControl)->get_QualityOfService(&value)); + return value; +} + +template void impl_IStreamSocketControl::QualityOfService(Windows::Networking::Sockets::SocketQualityOfService value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketControl)->put_QualityOfService(value)); +} + +template uint8_t impl_IStreamSocketControl::OutboundUnicastHopLimit() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IStreamSocketControl)->get_OutboundUnicastHopLimit(&value)); + return value; +} + +template void impl_IStreamSocketControl::OutboundUnicastHopLimit(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketControl)->put_OutboundUnicastHopLimit(value)); +} + +template Windows::Foundation::Collections::IVector impl_IStreamSocketControl2::IgnorableServerCertificateErrors() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IStreamSocketControl2)->get_IgnorableServerCertificateErrors(put_abi(value))); + return value; +} + +template bool impl_IStreamSocketControl3::SerializeConnectionAttempts() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreamSocketControl3)->get_SerializeConnectionAttempts(&value)); + return value; +} + +template void impl_IStreamSocketControl3::SerializeConnectionAttempts(bool value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketControl3)->put_SerializeConnectionAttempts(value)); +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_IStreamSocketControl3::ClientCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketControl3)->get_ClientCertificate(put_abi(value))); + return value; +} + +template void impl_IStreamSocketControl3::ClientCertificate(const Windows::Security::Cryptography::Certificates::Certificate & value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketControl3)->put_ClientCertificate(get_abi(value))); +} + +template Windows::Networking::Sockets::StreamSocketControl impl_IStreamSocket::Control() const +{ + Windows::Networking::Sockets::StreamSocketControl value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocket)->get_Control(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::StreamSocketInformation impl_IStreamSocket::Information() const +{ + Windows::Networking::Sockets::StreamSocketInformation value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocket)->get_Information(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IInputStream impl_IStreamSocket::InputStream() const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(IStreamSocket)->get_InputStream(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IOutputStream impl_IStreamSocket::OutputStream() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(IStreamSocket)->get_OutputStream(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocket::ConnectAsync(const Windows::Networking::EndpointPair & endpointPair) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocket)->abi_ConnectWithEndpointPairAsync(get_abi(endpointPair), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocket::ConnectAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocket)->abi_ConnectAsync(get_abi(remoteHostName), get_abi(remoteServiceName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocket::ConnectAsync(const Windows::Networking::EndpointPair & endpointPair, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocket)->abi_ConnectWithEndpointPairAndProtectionLevelAsync(get_abi(endpointPair), protectionLevel, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocket::ConnectAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocket)->abi_ConnectWithProtectionLevelAsync(get_abi(remoteHostName), get_abi(remoteServiceName), protectionLevel, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocket::UpgradeToSslAsync(Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, const Windows::Networking::HostName & validationHostName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocket)->abi_UpgradeToSslAsync(protectionLevel, get_abi(validationHostName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocket2::ConnectAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, const Windows::Networking::Connectivity::NetworkAdapter & adapter) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocket2)->abi_ConnectWithProtectionLevelAndAdapterAsync(get_abi(remoteHostName), get_abi(remoteServiceName), protectionLevel, get_abi(adapter), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocket3::CancelIOAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocket3)->abi_CancelIOAsync(put_abi(operation))); + return operation; +} + +template void impl_IStreamSocket3::EnableTransferOwnership(GUID taskId) const +{ + check_hresult(WINRT_SHIM(IStreamSocket3)->abi_EnableTransferOwnership(taskId)); +} + +template void impl_IStreamSocket3::EnableTransferOwnership(GUID taskId, Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) const +{ + check_hresult(WINRT_SHIM(IStreamSocket3)->abi_EnableTransferOwnershipWithConnectedStandbyAction(taskId, connectedStandbyAction)); +} + +template void impl_IStreamSocket3::TransferOwnership(hstring_view socketId) const +{ + check_hresult(WINRT_SHIM(IStreamSocket3)->abi_TransferOwnership(get_abi(socketId))); +} + +template void impl_IStreamSocket3::TransferOwnership(hstring_view socketId, const Windows::Networking::Sockets::SocketActivityContext & data) const +{ + check_hresult(WINRT_SHIM(IStreamSocket3)->abi_TransferOwnershipWithContext(get_abi(socketId), get_abi(data))); +} + +template void impl_IStreamSocket3::TransferOwnership(hstring_view socketId, const Windows::Networking::Sockets::SocketActivityContext & data, const Windows::Foundation::TimeSpan & keepAliveTime) const +{ + check_hresult(WINRT_SHIM(IStreamSocket3)->abi_TransferOwnershipWithContextAndKeepAliveTime(get_abi(socketId), get_abi(data), get_abi(keepAliveTime))); +} + +template Windows::Foundation::IAsyncOperation> impl_IStreamSocketStatics::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStreamSocketStatics)->abi_GetEndpointPairsAsync(get_abi(remoteHostName), get_abi(remoteServiceName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStreamSocketStatics::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName, Windows::Networking::HostNameSortOptions sortOptions) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStreamSocketStatics)->abi_GetEndpointPairsWithSortOptionsAsync(get_abi(remoteHostName), get_abi(remoteServiceName), sortOptions, put_abi(operation))); + return operation; +} + +template Windows::Networking::Sockets::SocketQualityOfService impl_IStreamSocketListenerControl::QualityOfService() const +{ + Windows::Networking::Sockets::SocketQualityOfService value {}; + check_hresult(WINRT_SHIM(IStreamSocketListenerControl)->get_QualityOfService(&value)); + return value; +} + +template void impl_IStreamSocketListenerControl::QualityOfService(Windows::Networking::Sockets::SocketQualityOfService value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListenerControl)->put_QualityOfService(value)); +} + +template bool impl_IStreamSocketListenerControl2::NoDelay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->get_NoDelay(&value)); + return value; +} + +template void impl_IStreamSocketListenerControl2::NoDelay(bool value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->put_NoDelay(value)); +} + +template bool impl_IStreamSocketListenerControl2::KeepAlive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->get_KeepAlive(&value)); + return value; +} + +template void impl_IStreamSocketListenerControl2::KeepAlive(bool value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->put_KeepAlive(value)); +} + +template uint32_t impl_IStreamSocketListenerControl2::OutboundBufferSizeInBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->get_OutboundBufferSizeInBytes(&value)); + return value; +} + +template void impl_IStreamSocketListenerControl2::OutboundBufferSizeInBytes(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->put_OutboundBufferSizeInBytes(value)); +} + +template uint8_t impl_IStreamSocketListenerControl2::OutboundUnicastHopLimit() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->get_OutboundUnicastHopLimit(&value)); + return value; +} + +template void impl_IStreamSocketListenerControl2::OutboundUnicastHopLimit(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListenerControl2)->put_OutboundUnicastHopLimit(value)); +} + +template hstring impl_IStreamSocketListenerInformation::LocalPort() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStreamSocketListenerInformation)->get_LocalPort(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::StreamSocket impl_IStreamSocketListenerConnectionReceivedEventArgs::Socket() const +{ + Windows::Networking::Sockets::StreamSocket value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketListenerConnectionReceivedEventArgs)->get_Socket(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::StreamSocketListenerControl impl_IStreamSocketListener::Control() const +{ + Windows::Networking::Sockets::StreamSocketListenerControl value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketListener)->get_Control(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::StreamSocketListenerInformation impl_IStreamSocketListener::Information() const +{ + Windows::Networking::Sockets::StreamSocketListenerInformation value { nullptr }; + check_hresult(WINRT_SHIM(IStreamSocketListener)->get_Information(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocketListener::BindServiceNameAsync(hstring_view localServiceName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocketListener)->abi_BindServiceNameAsync(get_abi(localServiceName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocketListener::BindEndpointAsync(const Windows::Networking::HostName & localHostName, hstring_view localServiceName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocketListener)->abi_BindEndpointAsync(get_abi(localHostName), get_abi(localServiceName), put_abi(operation))); + return operation; +} + +template event_token impl_IStreamSocketListener::ConnectionReceived(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStreamSocketListener)->add_ConnectionReceived(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStreamSocketListener::ConnectionReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Sockets::IStreamSocketListener::remove_ConnectionReceived, ConnectionReceived(eventHandler)); +} + +template void impl_IStreamSocketListener::ConnectionReceived(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListener)->remove_ConnectionReceived(eventCookie)); +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocketListener2::BindServiceNameAsync(hstring_view localServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocketListener2)->abi_BindServiceNameWithProtectionLevelAsync(get_abi(localServiceName), protectionLevel, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocketListener2::BindServiceNameAsync(hstring_view localServiceName, Windows::Networking::Sockets::SocketProtectionLevel protectionLevel, const Windows::Networking::Connectivity::NetworkAdapter & adapter) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocketListener2)->abi_BindServiceNameWithProtectionLevelAndAdapterAsync(get_abi(localServiceName), protectionLevel, get_abi(adapter), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStreamSocketListener3::CancelIOAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStreamSocketListener3)->abi_CancelIOAsync(put_abi(operation))); + return operation; +} + +template void impl_IStreamSocketListener3::EnableTransferOwnership(GUID taskId) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListener3)->abi_EnableTransferOwnership(taskId)); +} + +template void impl_IStreamSocketListener3::EnableTransferOwnership(GUID taskId, Windows::Networking::Sockets::SocketActivityConnectedStandbyAction connectedStandbyAction) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListener3)->abi_EnableTransferOwnershipWithConnectedStandbyAction(taskId, connectedStandbyAction)); +} + +template void impl_IStreamSocketListener3::TransferOwnership(hstring_view socketId) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListener3)->abi_TransferOwnership(get_abi(socketId))); +} + +template void impl_IStreamSocketListener3::TransferOwnership(hstring_view socketId, const Windows::Networking::Sockets::SocketActivityContext & data) const +{ + check_hresult(WINRT_SHIM(IStreamSocketListener3)->abi_TransferOwnershipWithContext(get_abi(socketId), get_abi(data))); +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_IWebSocketServerCustomValidationRequestedEventArgs::ServerCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(IWebSocketServerCustomValidationRequestedEventArgs)->get_ServerCertificate(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketSslErrorSeverity impl_IWebSocketServerCustomValidationRequestedEventArgs::ServerCertificateErrorSeverity() const +{ + Windows::Networking::Sockets::SocketSslErrorSeverity value {}; + check_hresult(WINRT_SHIM(IWebSocketServerCustomValidationRequestedEventArgs)->get_ServerCertificateErrorSeverity(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWebSocketServerCustomValidationRequestedEventArgs::ServerCertificateErrors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWebSocketServerCustomValidationRequestedEventArgs)->get_ServerCertificateErrors(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWebSocketServerCustomValidationRequestedEventArgs::ServerIntermediateCertificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWebSocketServerCustomValidationRequestedEventArgs)->get_ServerIntermediateCertificates(put_abi(value))); + return value; +} + +template void impl_IWebSocketServerCustomValidationRequestedEventArgs::Reject() const +{ + check_hresult(WINRT_SHIM(IWebSocketServerCustomValidationRequestedEventArgs)->abi_Reject()); +} + +template Windows::Foundation::Deferral impl_IWebSocketServerCustomValidationRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IWebSocketServerCustomValidationRequestedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template uint32_t impl_IWebSocketControl::OutboundBufferSizeInBytes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWebSocketControl)->get_OutboundBufferSizeInBytes(&value)); + return value; +} + +template void impl_IWebSocketControl::OutboundBufferSizeInBytes(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IWebSocketControl)->put_OutboundBufferSizeInBytes(value)); +} + +template Windows::Security::Credentials::PasswordCredential impl_IWebSocketControl::ServerCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IWebSocketControl)->get_ServerCredential(put_abi(value))); + return value; +} + +template void impl_IWebSocketControl::ServerCredential(const Windows::Security::Credentials::PasswordCredential & value) const +{ + check_hresult(WINRT_SHIM(IWebSocketControl)->put_ServerCredential(get_abi(value))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IWebSocketControl::ProxyCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IWebSocketControl)->get_ProxyCredential(put_abi(value))); + return value; +} + +template void impl_IWebSocketControl::ProxyCredential(const Windows::Security::Credentials::PasswordCredential & value) const +{ + check_hresult(WINRT_SHIM(IWebSocketControl)->put_ProxyCredential(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IWebSocketControl::SupportedProtocols() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWebSocketControl)->get_SupportedProtocols(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IWebSocketControl2::IgnorableServerCertificateErrors() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWebSocketControl2)->get_IgnorableServerCertificateErrors(put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IWebSocketInformation::LocalAddress() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IWebSocketInformation)->get_LocalAddress(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::BandwidthStatistics impl_IWebSocketInformation::BandwidthStatistics() const +{ + Windows::Networking::Sockets::BandwidthStatistics value {}; + check_hresult(WINRT_SHIM(IWebSocketInformation)->get_BandwidthStatistics(put_abi(value))); + return value; +} + +template hstring impl_IWebSocketInformation::Protocol() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebSocketInformation)->get_Protocol(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_IWebSocketInformation2::ServerCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(IWebSocketInformation2)->get_ServerCertificate(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::SocketSslErrorSeverity impl_IWebSocketInformation2::ServerCertificateErrorSeverity() const +{ + Windows::Networking::Sockets::SocketSslErrorSeverity value {}; + check_hresult(WINRT_SHIM(IWebSocketInformation2)->get_ServerCertificateErrorSeverity(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWebSocketInformation2::ServerCertificateErrors() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWebSocketInformation2)->get_ServerCertificateErrors(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWebSocketInformation2::ServerIntermediateCertificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWebSocketInformation2)->get_ServerIntermediateCertificates(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IOutputStream impl_IWebSocket::OutputStream() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(IWebSocket)->get_OutputStream(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IWebSocket::ConnectAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IWebSocket)->abi_ConnectAsync(get_abi(uri), put_abi(operation))); + return operation; +} + +template void impl_IWebSocket::SetRequestHeader(hstring_view headerName, hstring_view headerValue) const +{ + check_hresult(WINRT_SHIM(IWebSocket)->abi_SetRequestHeader(get_abi(headerName), get_abi(headerValue))); +} + +template event_token impl_IWebSocket::Closed(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IWebSocket)->add_Closed(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IWebSocket::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Sockets::IWebSocket::remove_Closed, Closed(eventHandler)); +} + +template void impl_IWebSocket::Closed(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IWebSocket)->remove_Closed(eventCookie)); +} + +template void impl_IWebSocket::Close(uint16_t code, hstring_view reason) const +{ + check_hresult(WINRT_SHIM(IWebSocket)->abi_CloseWithStatus(code, get_abi(reason))); +} + +template uint32_t impl_IMessageWebSocketControl::MaxMessageSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMessageWebSocketControl)->get_MaxMessageSize(&value)); + return value; +} + +template void impl_IMessageWebSocketControl::MaxMessageSize(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMessageWebSocketControl)->put_MaxMessageSize(value)); +} + +template Windows::Networking::Sockets::SocketMessageType impl_IMessageWebSocketControl::MessageType() const +{ + Windows::Networking::Sockets::SocketMessageType value {}; + check_hresult(WINRT_SHIM(IMessageWebSocketControl)->get_MessageType(&value)); + return value; +} + +template void impl_IMessageWebSocketControl::MessageType(Windows::Networking::Sockets::SocketMessageType value) const +{ + check_hresult(WINRT_SHIM(IMessageWebSocketControl)->put_MessageType(value)); +} + +template Windows::Networking::Sockets::MessageWebSocketControl impl_IMessageWebSocket::Control() const +{ + Windows::Networking::Sockets::MessageWebSocketControl value { nullptr }; + check_hresult(WINRT_SHIM(IMessageWebSocket)->get_Control(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::MessageWebSocketInformation impl_IMessageWebSocket::Information() const +{ + Windows::Networking::Sockets::MessageWebSocketInformation value { nullptr }; + check_hresult(WINRT_SHIM(IMessageWebSocket)->get_Information(put_abi(value))); + return value; +} + +template event_token impl_IMessageWebSocket::MessageReceived(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IMessageWebSocket)->add_MessageReceived(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IMessageWebSocket::MessageReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Sockets::IMessageWebSocket::remove_MessageReceived, MessageReceived(eventHandler)); +} + +template void impl_IMessageWebSocket::MessageReceived(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IMessageWebSocket)->remove_MessageReceived(eventCookie)); +} + +template event_token impl_IMessageWebSocket2::ServerCustomValidationRequested(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IMessageWebSocket2)->add_ServerCustomValidationRequested(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IMessageWebSocket2::ServerCustomValidationRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Sockets::IMessageWebSocket2::remove_ServerCustomValidationRequested, ServerCustomValidationRequested(eventHandler)); +} + +template void impl_IMessageWebSocket2::ServerCustomValidationRequested(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IMessageWebSocket2)->remove_ServerCustomValidationRequested(eventCookie)); +} + +template bool impl_IStreamWebSocketControl::NoDelay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreamWebSocketControl)->get_NoDelay(&value)); + return value; +} + +template void impl_IStreamWebSocketControl::NoDelay(bool value) const +{ + check_hresult(WINRT_SHIM(IStreamWebSocketControl)->put_NoDelay(value)); +} + +template Windows::Networking::Sockets::StreamWebSocketControl impl_IStreamWebSocket::Control() const +{ + Windows::Networking::Sockets::StreamWebSocketControl value { nullptr }; + check_hresult(WINRT_SHIM(IStreamWebSocket)->get_Control(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::StreamWebSocketInformation impl_IStreamWebSocket::Information() const +{ + Windows::Networking::Sockets::StreamWebSocketInformation value { nullptr }; + check_hresult(WINRT_SHIM(IStreamWebSocket)->get_Information(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IInputStream impl_IStreamWebSocket::InputStream() const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(IStreamWebSocket)->get_InputStream(put_abi(value))); + return value; +} + +template event_token impl_IStreamWebSocket2::ServerCustomValidationRequested(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStreamWebSocket2)->add_ServerCustomValidationRequested(get_abi(eventHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStreamWebSocket2::ServerCustomValidationRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Sockets::IStreamWebSocket2::remove_ServerCustomValidationRequested, ServerCustomValidationRequested(eventHandler)); +} + +template void impl_IStreamWebSocket2::ServerCustomValidationRequested(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStreamWebSocket2)->remove_ServerCustomValidationRequested(eventCookie)); +} + +template Windows::Networking::Sockets::SocketErrorStatus impl_ISocketErrorStatics::GetStatus(int32_t hresult) const +{ + Windows::Networking::Sockets::SocketErrorStatus status {}; + check_hresult(WINRT_SHIM(ISocketErrorStatics)->abi_GetStatus(hresult, &status)); + return status; +} + +template Windows::Web::WebErrorStatus impl_IWebSocketErrorStatics::GetStatus(int32_t hresult) const +{ + Windows::Web::WebErrorStatus status {}; + check_hresult(WINRT_SHIM(IWebSocketErrorStatics)->abi_GetStatus(hresult, &status)); + return status; +} + +template hstring impl_IControlChannelTrigger::ControlChannelTriggerId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IControlChannelTrigger)->get_ControlChannelTriggerId(put_abi(value))); + return value; +} + +template uint32_t impl_IControlChannelTrigger::ServerKeepAliveIntervalInMinutes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IControlChannelTrigger)->get_ServerKeepAliveIntervalInMinutes(&value)); + return value; +} + +template void impl_IControlChannelTrigger::ServerKeepAliveIntervalInMinutes(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IControlChannelTrigger)->put_ServerKeepAliveIntervalInMinutes(value)); +} + +template uint32_t impl_IControlChannelTrigger::CurrentKeepAliveIntervalInMinutes() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IControlChannelTrigger)->get_CurrentKeepAliveIntervalInMinutes(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IControlChannelTrigger::TransportObject() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IControlChannelTrigger)->get_TransportObject(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Background::IBackgroundTrigger impl_IControlChannelTrigger::KeepAliveTrigger() const +{ + Windows::ApplicationModel::Background::IBackgroundTrigger trigger; + check_hresult(WINRT_SHIM(IControlChannelTrigger)->get_KeepAliveTrigger(put_abi(trigger))); + return trigger; +} + +template Windows::ApplicationModel::Background::IBackgroundTrigger impl_IControlChannelTrigger::PushNotificationTrigger() const +{ + Windows::ApplicationModel::Background::IBackgroundTrigger trigger; + check_hresult(WINRT_SHIM(IControlChannelTrigger)->get_PushNotificationTrigger(put_abi(trigger))); + return trigger; +} + +template void impl_IControlChannelTrigger::UsingTransport(const Windows::Foundation::IInspectable & transport) const +{ + check_hresult(WINRT_SHIM(IControlChannelTrigger)->abi_UsingTransport(get_abi(transport))); +} + +template Windows::Networking::Sockets::ControlChannelTriggerStatus impl_IControlChannelTrigger::WaitForPushEnabled() const +{ + Windows::Networking::Sockets::ControlChannelTriggerStatus channelTriggerStatus {}; + check_hresult(WINRT_SHIM(IControlChannelTrigger)->abi_WaitForPushEnabled(&channelTriggerStatus)); + return channelTriggerStatus; +} + +template void impl_IControlChannelTrigger::DecreaseNetworkKeepAliveInterval() const +{ + check_hresult(WINRT_SHIM(IControlChannelTrigger)->abi_DecreaseNetworkKeepAliveInterval()); +} + +template void impl_IControlChannelTrigger::FlushTransport() const +{ + check_hresult(WINRT_SHIM(IControlChannelTrigger)->abi_FlushTransport()); +} + +template Windows::Networking::Sockets::ControlChannelTrigger impl_IControlChannelTriggerFactory::CreateControlChannelTrigger(hstring_view channelId, uint32_t serverKeepAliveIntervalInMinutes) const +{ + Windows::Networking::Sockets::ControlChannelTrigger notificationChannel { nullptr }; + check_hresult(WINRT_SHIM(IControlChannelTriggerFactory)->abi_CreateControlChannelTrigger(get_abi(channelId), serverKeepAliveIntervalInMinutes, put_abi(notificationChannel))); + return notificationChannel; +} + +template Windows::Networking::Sockets::ControlChannelTrigger impl_IControlChannelTriggerFactory::CreateControlChannelTriggerEx(hstring_view channelId, uint32_t serverKeepAliveIntervalInMinutes, Windows::Networking::Sockets::ControlChannelTriggerResourceType resourceRequestType) const +{ + Windows::Networking::Sockets::ControlChannelTrigger notificationChannel { nullptr }; + check_hresult(WINRT_SHIM(IControlChannelTriggerFactory)->abi_CreateControlChannelTriggerEx(get_abi(channelId), serverKeepAliveIntervalInMinutes, resourceRequestType, put_abi(notificationChannel))); + return notificationChannel; +} + +template Windows::Networking::Sockets::ControlChannelTrigger impl_IControlChannelTriggerEventDetails::ControlChannelTrigger() const +{ + Windows::Networking::Sockets::ControlChannelTrigger value { nullptr }; + check_hresult(WINRT_SHIM(IControlChannelTriggerEventDetails)->get_ControlChannelTrigger(put_abi(value))); + return value; +} + +template Windows::Networking::Sockets::ControlChannelTriggerResetReason impl_IControlChannelTriggerResetEventDetails::ResetReason() const +{ + Windows::Networking::Sockets::ControlChannelTriggerResetReason value {}; + check_hresult(WINRT_SHIM(IControlChannelTriggerResetEventDetails)->get_ResetReason(&value)); + return value; +} + +template bool impl_IControlChannelTriggerResetEventDetails::HardwareSlotReset() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IControlChannelTriggerResetEventDetails)->get_HardwareSlotReset(&value)); + return value; +} + +template bool impl_IControlChannelTriggerResetEventDetails::SoftwareSlotReset() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IControlChannelTriggerResetEventDetails)->get_SoftwareSlotReset(&value)); + return value; +} + +template bool impl_IControlChannelTrigger2::IsWakeFromLowPowerSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IControlChannelTrigger2)->get_IsWakeFromLowPowerSupported(&value)); + return value; +} + +inline ControlChannelTrigger::ControlChannelTrigger(hstring_view channelId, uint32_t serverKeepAliveIntervalInMinutes) : + ControlChannelTrigger(get_activation_factory().CreateControlChannelTrigger(channelId, serverKeepAliveIntervalInMinutes)) +{} + +inline ControlChannelTrigger::ControlChannelTrigger(hstring_view channelId, uint32_t serverKeepAliveIntervalInMinutes, Windows::Networking::Sockets::ControlChannelTriggerResourceType resourceRequestType) : + ControlChannelTrigger(get_activation_factory().CreateControlChannelTriggerEx(channelId, serverKeepAliveIntervalInMinutes, resourceRequestType)) +{} + +inline DatagramSocket::DatagramSocket() : + DatagramSocket(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation> DatagramSocket::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) +{ + return get_activation_factory().GetEndpointPairsAsync(remoteHostName, remoteServiceName); +} + +inline Windows::Foundation::IAsyncOperation> DatagramSocket::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName, Windows::Networking::HostNameSortOptions sortOptions) +{ + return get_activation_factory().GetEndpointPairsAsync(remoteHostName, remoteServiceName, sortOptions); +} + +inline MessageWebSocket::MessageWebSocket() : + MessageWebSocket(activate_instance()) +{} + +inline SocketActivityContext::SocketActivityContext(const Windows::Storage::Streams::IBuffer & data) : + SocketActivityContext(get_activation_factory().Create(data)) +{} + +inline Windows::Foundation::Collections::IMapView SocketActivityInformation::AllSockets() +{ + return get_activation_factory().AllSockets(); +} + +inline Windows::Networking::Sockets::SocketErrorStatus SocketError::GetStatus(int32_t hresult) +{ + return get_activation_factory().GetStatus(hresult); +} + +inline StreamSocket::StreamSocket() : + StreamSocket(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation> StreamSocket::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) +{ + return get_activation_factory().GetEndpointPairsAsync(remoteHostName, remoteServiceName); +} + +inline Windows::Foundation::IAsyncOperation> StreamSocket::GetEndpointPairsAsync(const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName, Windows::Networking::HostNameSortOptions sortOptions) +{ + return get_activation_factory().GetEndpointPairsAsync(remoteHostName, remoteServiceName, sortOptions); +} + +inline StreamSocketListener::StreamSocketListener() : + StreamSocketListener(activate_instance()) +{} + +inline StreamWebSocket::StreamWebSocket() : + StreamWebSocket(activate_instance()) +{} + +inline Windows::Web::WebErrorStatus WebSocketError::GetStatus(int32_t hresult) +{ + return get_activation_factory().GetStatus(hresult); +} + +inline WebSocketKeepAlive::WebSocketKeepAlive() : + WebSocketKeepAlive(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IControlChannelTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IControlChannelTrigger2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IControlChannelTriggerEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IControlChannelTriggerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IControlChannelTriggerResetEventDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocket2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocket3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocketControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocketControl3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocketInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocketMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IDatagramSocketStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IMessageWebSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IMessageWebSocket2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IMessageWebSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IMessageWebSocketMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::ISocketActivityContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::ISocketActivityContextFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::ISocketActivityInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::ISocketActivityInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::ISocketActivityTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::ISocketErrorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocket2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocket3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketControl3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketListener2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketListener3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketListenerConnectionReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketListenerControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketListenerControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketListenerInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamSocketStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamWebSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamWebSocket2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IStreamWebSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocketClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocketControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocketErrorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocketInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocketInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::IWebSocketServerCustomValidationRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::ControlChannelTrigger & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::DatagramSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::DatagramSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::DatagramSocketInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::DatagramSocketMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::MessageWebSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::MessageWebSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::MessageWebSocketInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::MessageWebSocketMessageReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::SocketActivityContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::SocketActivityInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::SocketActivityTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamSocketInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamSocketListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamSocketListenerConnectionReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamSocketListenerControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamSocketListenerInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamWebSocket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamWebSocketControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::StreamWebSocketInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::WebSocketClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::WebSocketKeepAlive & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Sockets::WebSocketServerCustomValidationRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.Vpn.h b/10.0.15042.0/winrt/Windows.Networking.Vpn.h new file mode 100644 index 000000000..b07fd8fea --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.Vpn.h @@ -0,0 +1,5327 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Security.Cryptography.Certificates.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Networking.Vpn.3.h" +#include "Windows.Networking.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Networking::Vpn::VpnAppIdType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(Windows::Networking::Vpn::VpnAppIdType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Networking::Vpn::VpnAppIdType type, impl::abi_arg_in value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(type, *reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AssociateTransport(impl::abi_arg_in mainOuterTunnelTransport, impl::abi_arg_in optionalOuterTunnelTransport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AssociateTransport(*reinterpret_cast(&mainOuterTunnelTransport), *reinterpret_cast(&optionalOuterTunnelTransport)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start(impl::abi_arg_in> assignedClientIPv4list, impl::abi_arg_in> assignedClientIPv6list, impl::abi_arg_in vpnInterfaceId, impl::abi_arg_in routeScope, impl::abi_arg_in namespaceScope, uint32_t mtuSize, uint32_t maxFrameSize, bool optimizeForLowCostNetwork, impl::abi_arg_in mainOuterTunnelTransport, impl::abi_arg_in optionalOuterTunnelTransport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(*reinterpret_cast *>(&assignedClientIPv4list), *reinterpret_cast *>(&assignedClientIPv6list), *reinterpret_cast(&vpnInterfaceId), *reinterpret_cast(&routeScope), *reinterpret_cast(&namespaceScope), mtuSize, maxFrameSize, optimizeForLowCostNetwork, *reinterpret_cast(&mainOuterTunnelTransport), *reinterpret_cast(&optionalOuterTunnelTransport)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCredentials(Windows::Networking::Vpn::VpnCredentialType credType, bool isRetry, bool isSingleSignOnCredential, impl::abi_arg_in certificate, impl::abi_arg_out credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().RequestCredentials(credType, isRetry, isSingleSignOnCredential, *reinterpret_cast(&certificate))); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestVpnPacketBuffer(Windows::Networking::Vpn::VpnDataPathType type, impl::abi_arg_out vpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestVpnPacketBuffer(type, *vpnPacketBuffer); + return S_OK; + } + catch (...) + { + *vpnPacketBuffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogDiagnosticMessage(impl::abi_arg_in message) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogDiagnosticMessage(*reinterpret_cast(&message)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Configuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Configuration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActivityChange(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActivityChange(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActivityChange(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActivityChange(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlugInContext(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlugInContext(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlugInContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlugInContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemHealth(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemHealth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCustomPrompt(impl::abi_arg_in> customPrompt) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestCustomPrompt(*reinterpret_cast *>(&customPrompt)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetErrorMessage(impl::abi_arg_in message) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetErrorMessage(*reinterpret_cast(&message)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAllowedSslTlsVersions(impl::abi_arg_in tunnelTransport, bool useTls12) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAllowedSslTlsVersions(*reinterpret_cast(&tunnelTransport), useTls12); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartWithMainTransport(impl::abi_arg_in> assignedClientIPv4list, impl::abi_arg_in> assignedClientIPv6list, impl::abi_arg_in vpnInterfaceId, impl::abi_arg_in assignedRoutes, impl::abi_arg_in assignedDomainName, uint32_t mtuSize, uint32_t maxFrameSize, bool Reserved, impl::abi_arg_in mainOuterTunnelTransport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartWithMainTransport(*reinterpret_cast *>(&assignedClientIPv4list), *reinterpret_cast *>(&assignedClientIPv6list), *reinterpret_cast(&vpnInterfaceId), *reinterpret_cast(&assignedRoutes), *reinterpret_cast(&assignedDomainName), mtuSize, maxFrameSize, Reserved, *reinterpret_cast(&mainOuterTunnelTransport)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartExistingTransports(impl::abi_arg_in> assignedClientIPv4list, impl::abi_arg_in> assignedClientIPv6list, impl::abi_arg_in vpnInterfaceId, impl::abi_arg_in assignedRoutes, impl::abi_arg_in assignedDomainName, uint32_t mtuSize, uint32_t maxFrameSize, bool Reserved) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartExistingTransports(*reinterpret_cast *>(&assignedClientIPv4list), *reinterpret_cast *>(&assignedClientIPv6list), *reinterpret_cast(&vpnInterfaceId), *reinterpret_cast(&assignedRoutes), *reinterpret_cast(&assignedDomainName), mtuSize, maxFrameSize, Reserved); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActivityStateChange(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActivityStateChange(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActivityStateChange(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActivityStateChange(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVpnSendPacketBuffer(impl::abi_arg_out vpnSendPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vpnSendPacketBuffer = detach_abi(this->shim().GetVpnSendPacketBuffer()); + return S_OK; + } + catch (...) + { + *vpnSendPacketBuffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVpnReceivePacketBuffer(impl::abi_arg_out vpnReceivePacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vpnReceivePacketBuffer = detach_abi(this->shim().GetVpnReceivePacketBuffer()); + return S_OK; + } + catch (...) + { + *vpnReceivePacketBuffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCustomPromptAsync(impl::abi_arg_in> customPromptElement, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().RequestCustomPromptAsync(*reinterpret_cast *>(&customPromptElement))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCredentialsWithCertificateAsync(Windows::Networking::Vpn::VpnCredentialType credType, uint32_t credOptions, impl::abi_arg_in certificate, impl::abi_arg_out> credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().RequestCredentialsAsync(credType, credOptions, *reinterpret_cast(&certificate))); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCredentialsWithOptionsAsync(Windows::Networking::Vpn::VpnCredentialType credType, uint32_t credOptions, impl::abi_arg_out> credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().RequestCredentialsAsync(credType, credOptions)); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCredentialsSimpleAsync(Windows::Networking::Vpn::VpnCredentialType credType, impl::abi_arg_out> credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().RequestCredentialsAsync(credType)); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TerminateConnection(impl::abi_arg_in message) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TerminateConnection(*reinterpret_cast(&message)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartWithTrafficFilter(impl::abi_arg_in> assignedClientIpv4List, impl::abi_arg_in> assignedClientIpv6List, impl::abi_arg_in vpnInterfaceId, impl::abi_arg_in assignedRoutes, impl::abi_arg_in assignedNamespace, uint32_t mtuSize, uint32_t maxFrameSize, bool reserved, impl::abi_arg_in mainOuterTunnelTransport, impl::abi_arg_in optionalOuterTunnelTransport, impl::abi_arg_in assignedTrafficFilters) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartWithTrafficFilter(*reinterpret_cast *>(&assignedClientIpv4List), *reinterpret_cast *>(&assignedClientIpv6List), *reinterpret_cast(&vpnInterfaceId), *reinterpret_cast(&assignedRoutes), *reinterpret_cast(&assignedNamespace), mtuSize, maxFrameSize, reserved, *reinterpret_cast(&mainOuterTunnelTransport), *reinterpret_cast(&optionalOuterTunnelTransport), *reinterpret_cast(&assignedTrafficFilters)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::Networking::Vpn::VpnChannelActivityEventType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivityState(Windows::Networking::Vpn::VpnChannelActivityEventType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivityState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServerServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerHostNameList(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerHostNameList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomField(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomField()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServerUris(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerUris()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ProcessEventAsync(impl::abi_arg_in thirdPartyPlugIn, impl::abi_arg_in event) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessEventAsync(*reinterpret_cast(&thirdPartyPlugIn), *reinterpret_cast(&event)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PasskeyCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasskeyCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CertificateCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CertificateCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdditionalPin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdditionalPin()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldPasswordCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldPasswordCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_InitialCheckState(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialCheckState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InitialCheckState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialCheckState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Checked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Checked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_OptionsText(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OptionsText(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OptionsText(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OptionsText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Selected(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Selected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DefaultText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NoEcho(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NoEcho(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NoEcho(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NoEcho()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Compulsory(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Compulsory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Compulsory(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Compulsory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Bordered(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bordered(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bordered(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bordered()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_InitialValue(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialValue(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InitialValue(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Compulsory(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Compulsory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Compulsory(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Compulsory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Emphasized(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Emphasized(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Emphasized(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Emphasized()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Options(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextHidden(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextHidden(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextHidden(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextHidden()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DisplayText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DomainNameList(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainNameList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProxyAutoConfigurationUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProxyAutoConfigurationUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProxyAutoConfigurationUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProxyAutoConfigurationUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DomainName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DomainNameType(Windows::Networking::Vpn::VpnDomainNameType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DomainNameType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainNameType(Windows::Networking::Vpn::VpnDomainNameType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainNameType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DnsServers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DnsServers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebProxyServers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebProxyServers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebProxyUris(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebProxyUris()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateVpnDomainNameInfo(impl::abi_arg_in name, Windows::Networking::Vpn::VpnDomainNameType nameType, impl::abi_arg_in> dnsServerList, impl::abi_arg_in> proxyServerList, impl::abi_arg_out domainNameInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *domainNameInfo = detach_abi(this->shim().CreateVpnDomainNameInfo(*reinterpret_cast(&name), nameType, *reinterpret_cast *>(&dnsServerList), *reinterpret_cast *>(&proxyServerList))); + return S_OK; + } + catch (...) + { + *domainNameInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAddressInfo(uint32_t * __idSize, impl::abi_arg_out * id) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetAddressInfo(detach_abi(__idSize, id)); + return S_OK; + } + catch (...) + { + *__idSize = 0; + *id = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateVpnInterfaceId(uint32_t __addressSize, impl::abi_arg_in * address, impl::abi_arg_out vpnInterfaceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vpnInterfaceId = detach_abi(this->shim().CreateVpnInterfaceId(array_view(address, address + __addressSize))); + return S_OK; + } + catch (...) + { + *vpnInterfaceId = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddProfileFromXmlAsync(impl::abi_arg_in xml, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddProfileFromXmlAsync(*reinterpret_cast(&xml))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddProfileFromObjectAsync(impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddProfileFromObjectAsync(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateProfileFromXmlAsync(impl::abi_arg_in xml, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateProfileFromXmlAsync(*reinterpret_cast(&xml))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateProfileFromObjectAsync(impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateProfileFromObjectAsync(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProfilesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetProfilesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteProfileAsync(impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteProfileAsync(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectProfileAsync(impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectProfileAsync(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConnectProfileWithPasswordCredentialAsync(impl::abi_arg_in profile, impl::abi_arg_in passwordCredential, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ConnectProfileWithPasswordCredentialAsync(*reinterpret_cast(&profile), *reinterpret_cast(&passwordCredential))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisconnectProfileAsync(impl::abi_arg_in profile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DisconnectProfileAsync(*reinterpret_cast(&profile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_NamespaceList(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NamespaceList(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NamespaceList(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NamespaceList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProxyAutoConfigUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProxyAutoConfigUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProxyAutoConfigUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProxyAutoConfigUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Namespace(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Namespace(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Namespace(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Namespace()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DnsServers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DnsServers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DnsServers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DnsServers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WebProxyServers(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WebProxyServers(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebProxyServers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebProxyServers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateVpnNamespaceInfo(impl::abi_arg_in name, impl::abi_arg_in> dnsServerList, impl::abi_arg_in> proxyServerList, impl::abi_arg_out namespaceInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *namespaceInfo = detach_abi(this->shim().CreateVpnNamespaceInfo(*reinterpret_cast(&name), *reinterpret_cast *>(&dnsServerList), *reinterpret_cast *>(&proxyServerList))); + return S_OK; + } + catch (...) + { + *namespaceInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Servers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Servers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoutingPolicyType(Windows::Networking::Vpn::VpnRoutingPolicyType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoutingPolicyType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoutingPolicyType(Windows::Networking::Vpn::VpnRoutingPolicyType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoutingPolicyType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NativeProtocolType(Windows::Networking::Vpn::VpnNativeProtocolType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NativeProtocolType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NativeProtocolType(Windows::Networking::Vpn::VpnNativeProtocolType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NativeProtocolType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserAuthenticationMethod(Windows::Networking::Vpn::VpnAuthenticationMethod * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserAuthenticationMethod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserAuthenticationMethod(Windows::Networking::Vpn::VpnAuthenticationMethod value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserAuthenticationMethod(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TunnelAuthenticationMethod(Windows::Networking::Vpn::VpnAuthenticationMethod * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TunnelAuthenticationMethod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TunnelAuthenticationMethod(Windows::Networking::Vpn::VpnAuthenticationMethod value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TunnelAuthenticationMethod(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EapConfiguration(impl::abi_arg_out Value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *Value = detach_abi(this->shim().EapConfiguration()); + return S_OK; + } + catch (...) + { + *Value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EapConfiguration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EapConfiguration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequireVpnClientAppUI(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequireVpnClientAppUI()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequireVpnClientAppUI(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequireVpnClientAppUI(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionStatus(Windows::Networking::Vpn::VpnManagementConnectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Buffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Buffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Status(Windows::Networking::Vpn::VpnPacketBufferStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Networking::Vpn::VpnPacketBufferStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransportAffinity(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransportAffinity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportAffinity(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportAffinity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateVpnPacketBuffer(impl::abi_arg_in parentBuffer, uint32_t offset, uint32_t length, impl::abi_arg_out vpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vpnPacketBuffer = detach_abi(this->shim().CreateVpnPacketBuffer(*reinterpret_cast(&parentBuffer), offset, length)); + return S_OK; + } + catch (...) + { + *vpnPacketBuffer = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Append(impl::abi_arg_in nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Append(*reinterpret_cast(&nextVpnPacketBuffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddAtBegin(impl::abi_arg_in nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddAtBegin(*reinterpret_cast(&nextVpnPacketBuffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAtEnd(impl::abi_arg_out nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *nextVpnPacketBuffer = detach_abi(this->shim().RemoveAtEnd()); + return S_OK; + } + catch (...) + { + *nextVpnPacketBuffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAtBegin(impl::abi_arg_out nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *nextVpnPacketBuffer = detach_abi(this->shim().RemoveAtBegin()); + return S_OK; + } + catch (...) + { + *nextVpnPacketBuffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Status(Windows::Networking::Vpn::VpnPacketBufferStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Networking::Vpn::VpnPacketBufferStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Size(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddLeadingPacket(impl::abi_arg_in nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddLeadingPacket(*reinterpret_cast(&nextVpnPacketBuffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveLeadingPacket(impl::abi_arg_out nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *nextVpnPacketBuffer = detach_abi(this->shim().RemoveLeadingPacket()); + return S_OK; + } + catch (...) + { + *nextVpnPacketBuffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTrailingPacket(impl::abi_arg_in nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTrailingPacket(*reinterpret_cast(&nextVpnPacketBuffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveTrailingPacket(impl::abi_arg_out nextVpnPacketBuffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *nextVpnPacketBuffer = detach_abi(this->shim().RemoveTrailingPacket()); + return S_OK; + } + catch (...) + { + *nextVpnPacketBuffer = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PasskeyCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasskeyCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdditionalPin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdditionalPin()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldPasswordCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldPasswordCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Connect(impl::abi_arg_in channel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Connect(*reinterpret_cast(&channel)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Disconnect(impl::abi_arg_in channel) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disconnect(*reinterpret_cast(&channel)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetKeepAlivePayload(impl::abi_arg_in channel, impl::abi_arg_out keepAlivePacket) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetKeepAlivePayload(*reinterpret_cast(&channel), *keepAlivePacket); + return S_OK; + } + catch (...) + { + *keepAlivePacket = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Encapsulate(impl::abi_arg_in channel, impl::abi_arg_in packets, impl::abi_arg_in encapulatedPackets) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Encapsulate(*reinterpret_cast(&channel), *reinterpret_cast(&packets), *reinterpret_cast(&encapulatedPackets)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Decapsulate(impl::abi_arg_in channel, impl::abi_arg_in encapBuffer, impl::abi_arg_in decapsulatedPackets, impl::abi_arg_in controlPacketsToSend) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Decapsulate(*reinterpret_cast(&channel), *reinterpret_cast(&encapBuffer), *reinterpret_cast(&decapsulatedPackets), *reinterpret_cast(&controlPacketsToSend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServerUris(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerUris()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomConfiguration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomConfiguration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomConfiguration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomConfiguration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VpnPluginPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VpnPluginPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VpnPluginPackageFamilyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VpnPluginPackageFamilyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequireVpnClientAppUI(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequireVpnClientAppUI()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequireVpnClientAppUI(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequireVpnClientAppUI(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConnectionStatus(Windows::Networking::Vpn::VpnManagementConnectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConnectionStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProfileName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProfileName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProfileName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProfileName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppTriggers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppTriggers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Routes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Routes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainNameInfoList(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainNameInfoList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrafficFilters(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrafficFilters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RememberCredentials(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RememberCredentials()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RememberCredentials(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RememberCredentials(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlwaysOn(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlwaysOn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlwaysOn(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlwaysOn(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Address(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Address(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrefixSize(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrefixSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrefixSize(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrefixSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Ipv4InclusionRoutes(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ipv4InclusionRoutes(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Ipv6InclusionRoutes(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ipv6InclusionRoutes(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ipv4InclusionRoutes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ipv4InclusionRoutes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ipv6InclusionRoutes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ipv6InclusionRoutes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Ipv4ExclusionRoutes(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ipv4ExclusionRoutes(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Ipv6ExclusionRoutes(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Ipv6ExclusionRoutes(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ipv4ExclusionRoutes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ipv4ExclusionRoutes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ipv6ExclusionRoutes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ipv6ExclusionRoutes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExcludeLocalSubnets(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExcludeLocalSubnets(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExcludeLocalSubnets(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExcludeLocalSubnets()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateVpnRoute(impl::abi_arg_in address, uint8_t prefixSize, impl::abi_arg_out route) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *route = detach_abi(this->shim().CreateVpnRoute(*reinterpret_cast(&address), prefixSize)); + return S_OK; + } + catch (...) + { + *route = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StatementOfHealth(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StatementOfHealth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppClaims(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppClaims()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Protocol(Windows::Networking::Vpn::VpnIPProtocol * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Protocol()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Protocol(Windows::Networking::Vpn::VpnIPProtocol value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Protocol(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalPortRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalPortRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemotePortRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemotePortRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalAddressRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalAddressRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteAddressRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteAddressRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoutingPolicyType(Windows::Networking::Vpn::VpnRoutingPolicyType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoutingPolicyType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoutingPolicyType(Windows::Networking::Vpn::VpnRoutingPolicyType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoutingPolicyType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TrafficFilterList(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrafficFilterList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowOutbound(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowOutbound()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowOutbound(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowOutbound(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowInbound(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowInbound()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowInbound(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowInbound(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in appId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&appId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking::Vpn { + +template void impl_IVpnPlugIn::Connect(const Windows::Networking::Vpn::VpnChannel & channel) const +{ + check_hresult(WINRT_SHIM(IVpnPlugIn)->abi_Connect(get_abi(channel))); +} + +template void impl_IVpnPlugIn::Disconnect(const Windows::Networking::Vpn::VpnChannel & channel) const +{ + check_hresult(WINRT_SHIM(IVpnPlugIn)->abi_Disconnect(get_abi(channel))); +} + +template void impl_IVpnPlugIn::GetKeepAlivePayload(const Windows::Networking::Vpn::VpnChannel & channel, Windows::Networking::Vpn::VpnPacketBuffer & keepAlivePacket) const +{ + check_hresult(WINRT_SHIM(IVpnPlugIn)->abi_GetKeepAlivePayload(get_abi(channel), put_abi(keepAlivePacket))); +} + +template void impl_IVpnPlugIn::Encapsulate(const Windows::Networking::Vpn::VpnChannel & channel, const Windows::Networking::Vpn::VpnPacketBufferList & packets, const Windows::Networking::Vpn::VpnPacketBufferList & encapulatedPackets) const +{ + check_hresult(WINRT_SHIM(IVpnPlugIn)->abi_Encapsulate(get_abi(channel), get_abi(packets), get_abi(encapulatedPackets))); +} + +template void impl_IVpnPlugIn::Decapsulate(const Windows::Networking::Vpn::VpnChannel & channel, const Windows::Networking::Vpn::VpnPacketBuffer & encapBuffer, const Windows::Networking::Vpn::VpnPacketBufferList & decapsulatedPackets, const Windows::Networking::Vpn::VpnPacketBufferList & controlPacketsToSend) const +{ + check_hresult(WINRT_SHIM(IVpnPlugIn)->abi_Decapsulate(get_abi(channel), get_abi(encapBuffer), get_abi(decapsulatedPackets), get_abi(controlPacketsToSend))); +} + +template void impl_IVpnCustomPrompt::Label(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPrompt)->put_Label(get_abi(value))); +} + +template hstring impl_IVpnCustomPrompt::Label() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomPrompt)->get_Label(put_abi(value))); + return value; +} + +template void impl_IVpnCustomPrompt::Compulsory(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPrompt)->put_Compulsory(value)); +} + +template bool impl_IVpnCustomPrompt::Compulsory() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomPrompt)->get_Compulsory(&value)); + return value; +} + +template void impl_IVpnCustomPrompt::Bordered(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPrompt)->put_Bordered(value)); +} + +template bool impl_IVpnCustomPrompt::Bordered() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomPrompt)->get_Bordered(&value)); + return value; +} + +template void impl_IVpnCustomEditBox::DefaultText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomEditBox)->put_DefaultText(get_abi(value))); +} + +template hstring impl_IVpnCustomEditBox::DefaultText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomEditBox)->get_DefaultText(put_abi(value))); + return value; +} + +template void impl_IVpnCustomEditBox::NoEcho(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomEditBox)->put_NoEcho(value)); +} + +template bool impl_IVpnCustomEditBox::NoEcho() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomEditBox)->get_NoEcho(&value)); + return value; +} + +template hstring impl_IVpnCustomEditBox::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomEditBox)->get_Text(put_abi(value))); + return value; +} + +template void impl_IVpnCustomComboBox::OptionsText(const Windows::Foundation::Collections::IVectorView & value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomComboBox)->put_OptionsText(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IVpnCustomComboBox::OptionsText() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IVpnCustomComboBox)->get_OptionsText(put_abi(value))); + return value; +} + +template uint32_t impl_IVpnCustomComboBox::Selected() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVpnCustomComboBox)->get_Selected(&value)); + return value; +} + +template void impl_IVpnCustomTextBox::DisplayText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomTextBox)->put_DisplayText(get_abi(value))); +} + +template hstring impl_IVpnCustomTextBox::DisplayText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomTextBox)->get_DisplayText(put_abi(value))); + return value; +} + +template void impl_IVpnCustomCheckBox::InitialCheckState(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomCheckBox)->put_InitialCheckState(value)); +} + +template bool impl_IVpnCustomCheckBox::InitialCheckState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomCheckBox)->get_InitialCheckState(&value)); + return value; +} + +template bool impl_IVpnCustomCheckBox::Checked() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomCheckBox)->get_Checked(&value)); + return value; +} + +template Windows::Networking::Vpn::VpnRoute impl_IVpnRouteFactory::CreateVpnRoute(const Windows::Networking::HostName & address, uint8_t prefixSize) const +{ + Windows::Networking::Vpn::VpnRoute route { nullptr }; + check_hresult(WINRT_SHIM(IVpnRouteFactory)->abi_CreateVpnRoute(get_abi(address), prefixSize, put_abi(route))); + return route; +} + +template void impl_IVpnRoute::Address(const Windows::Networking::HostName & value) const +{ + check_hresult(WINRT_SHIM(IVpnRoute)->put_Address(get_abi(value))); +} + +template Windows::Networking::HostName impl_IVpnRoute::Address() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IVpnRoute)->get_Address(put_abi(value))); + return value; +} + +template void impl_IVpnRoute::PrefixSize(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IVpnRoute)->put_PrefixSize(value)); +} + +template uint8_t impl_IVpnRoute::PrefixSize() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IVpnRoute)->get_PrefixSize(&value)); + return value; +} + +template void impl_IVpnRouteAssignment::Ipv4InclusionRoutes(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->put_Ipv4InclusionRoutes(get_abi(value))); +} + +template void impl_IVpnRouteAssignment::Ipv6InclusionRoutes(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->put_Ipv6InclusionRoutes(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVpnRouteAssignment::Ipv4InclusionRoutes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->get_Ipv4InclusionRoutes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnRouteAssignment::Ipv6InclusionRoutes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->get_Ipv6InclusionRoutes(put_abi(value))); + return value; +} + +template void impl_IVpnRouteAssignment::Ipv4ExclusionRoutes(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->put_Ipv4ExclusionRoutes(get_abi(value))); +} + +template void impl_IVpnRouteAssignment::Ipv6ExclusionRoutes(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->put_Ipv6ExclusionRoutes(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVpnRouteAssignment::Ipv4ExclusionRoutes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->get_Ipv4ExclusionRoutes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnRouteAssignment::Ipv6ExclusionRoutes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->get_Ipv6ExclusionRoutes(put_abi(value))); + return value; +} + +template void impl_IVpnRouteAssignment::ExcludeLocalSubnets(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->put_ExcludeLocalSubnets(value)); +} + +template bool impl_IVpnRouteAssignment::ExcludeLocalSubnets() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnRouteAssignment)->get_ExcludeLocalSubnets(&value)); + return value; +} + +template Windows::Networking::Vpn::VpnNamespaceInfo impl_IVpnNamespaceInfoFactory::CreateVpnNamespaceInfo(hstring_view name, const Windows::Foundation::Collections::IVector & dnsServerList, const Windows::Foundation::Collections::IVector & proxyServerList) const +{ + Windows::Networking::Vpn::VpnNamespaceInfo namespaceInfo { nullptr }; + check_hresult(WINRT_SHIM(IVpnNamespaceInfoFactory)->abi_CreateVpnNamespaceInfo(get_abi(name), get_abi(dnsServerList), get_abi(proxyServerList), put_abi(namespaceInfo))); + return namespaceInfo; +} + +template void impl_IVpnNamespaceInfo::Namespace(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnNamespaceInfo)->put_Namespace(get_abi(value))); +} + +template hstring impl_IVpnNamespaceInfo::Namespace() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnNamespaceInfo)->get_Namespace(put_abi(value))); + return value; +} + +template void impl_IVpnNamespaceInfo::DnsServers(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IVpnNamespaceInfo)->put_DnsServers(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVpnNamespaceInfo::DnsServers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnNamespaceInfo)->get_DnsServers(put_abi(value))); + return value; +} + +template void impl_IVpnNamespaceInfo::WebProxyServers(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IVpnNamespaceInfo)->put_WebProxyServers(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVpnNamespaceInfo::WebProxyServers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnNamespaceInfo)->get_WebProxyServers(put_abi(value))); + return value; +} + +template void impl_IVpnNamespaceAssignment::NamespaceList(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IVpnNamespaceAssignment)->put_NamespaceList(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVpnNamespaceAssignment::NamespaceList() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnNamespaceAssignment)->get_NamespaceList(put_abi(value))); + return value; +} + +template void impl_IVpnNamespaceAssignment::ProxyAutoConfigUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IVpnNamespaceAssignment)->put_ProxyAutoConfigUri(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IVpnNamespaceAssignment::ProxyAutoConfigUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IVpnNamespaceAssignment)->get_ProxyAutoConfigUri(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnInterfaceId impl_IVpnInterfaceIdFactory::CreateVpnInterfaceId(array_view address) const +{ + Windows::Networking::Vpn::VpnInterfaceId vpnInterfaceId { nullptr }; + check_hresult(WINRT_SHIM(IVpnInterfaceIdFactory)->abi_CreateVpnInterfaceId(address.size(), get_abi(address), put_abi(vpnInterfaceId))); + return vpnInterfaceId; +} + +template void impl_IVpnInterfaceId::GetAddressInfo(com_array & id) const +{ + check_hresult(WINRT_SHIM(IVpnInterfaceId)->abi_GetAddressInfo(impl::put_size_abi(id), put_abi(id))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IVpnPickedCredential::PasskeyCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IVpnPickedCredential)->get_PasskeyCredential(put_abi(value))); + return value; +} + +template hstring impl_IVpnPickedCredential::AdditionalPin() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnPickedCredential)->get_AdditionalPin(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::PasswordCredential impl_IVpnPickedCredential::OldPasswordCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IVpnPickedCredential)->get_OldPasswordCredential(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::PasswordCredential impl_IVpnCredential::PasskeyCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IVpnCredential)->get_PasskeyCredential(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_IVpnCredential::CertificateCredential() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(IVpnCredential)->get_CertificateCredential(put_abi(value))); + return value; +} + +template hstring impl_IVpnCredential::AdditionalPin() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCredential)->get_AdditionalPin(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::PasswordCredential impl_IVpnCredential::OldPasswordCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(IVpnCredential)->get_OldPasswordCredential(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::Buffer impl_IVpnSystemHealth::StatementOfHealth() const +{ + Windows::Storage::Streams::Buffer value { nullptr }; + check_hresult(WINRT_SHIM(IVpnSystemHealth)->get_StatementOfHealth(put_abi(value))); + return value; +} + +template hstring impl_IVpnChannelConfiguration::ServerServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnChannelConfiguration)->get_ServerServiceName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IVpnChannelConfiguration::ServerHostNameList() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IVpnChannelConfiguration)->get_ServerHostNameList(put_abi(value))); + return value; +} + +template hstring impl_IVpnChannelConfiguration::CustomField() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnChannelConfiguration)->get_CustomField(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IVpnChannelConfiguration2::ServerUris() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IVpnChannelConfiguration2)->get_ServerUris(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnChannelActivityEventType impl_IVpnChannelActivityEventArgs::Type() const +{ + Windows::Networking::Vpn::VpnChannelActivityEventType value {}; + check_hresult(WINRT_SHIM(IVpnChannelActivityEventArgs)->get_Type(&value)); + return value; +} + +template void impl_IVpnChannel::AssociateTransport(const Windows::Foundation::IInspectable & mainOuterTunnelTransport, const Windows::Foundation::IInspectable & optionalOuterTunnelTransport) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_AssociateTransport(get_abi(mainOuterTunnelTransport), get_abi(optionalOuterTunnelTransport))); +} + +template void impl_IVpnChannel::Start(vector_view assignedClientIPv4list, vector_view assignedClientIPv6list, const Windows::Networking::Vpn::VpnInterfaceId & vpnInterfaceId, const Windows::Networking::Vpn::VpnRouteAssignment & routeScope, const Windows::Networking::Vpn::VpnNamespaceAssignment & namespaceScope, uint32_t mtuSize, uint32_t maxFrameSize, bool optimizeForLowCostNetwork, const Windows::Foundation::IInspectable & mainOuterTunnelTransport, const Windows::Foundation::IInspectable & optionalOuterTunnelTransport) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_Start(get_abi(assignedClientIPv4list), get_abi(assignedClientIPv6list), get_abi(vpnInterfaceId), get_abi(routeScope), get_abi(namespaceScope), mtuSize, maxFrameSize, optimizeForLowCostNetwork, get_abi(mainOuterTunnelTransport), get_abi(optionalOuterTunnelTransport))); +} + +template void impl_IVpnChannel::Stop() const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_Stop()); +} + +template Windows::Networking::Vpn::VpnPickedCredential impl_IVpnChannel::RequestCredentials(Windows::Networking::Vpn::VpnCredentialType credType, bool isRetry, bool isSingleSignOnCredential, const Windows::Security::Cryptography::Certificates::Certificate & certificate) const +{ + Windows::Networking::Vpn::VpnPickedCredential credential { nullptr }; + check_hresult(WINRT_SHIM(IVpnChannel)->abi_RequestCredentials(credType, isRetry, isSingleSignOnCredential, get_abi(certificate), put_abi(credential))); + return credential; +} + +template void impl_IVpnChannel::RequestVpnPacketBuffer(Windows::Networking::Vpn::VpnDataPathType type, Windows::Networking::Vpn::VpnPacketBuffer & vpnPacketBuffer) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_RequestVpnPacketBuffer(type, put_abi(vpnPacketBuffer))); +} + +template void impl_IVpnChannel::LogDiagnosticMessage(hstring_view message) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_LogDiagnosticMessage(get_abi(message))); +} + +template uint32_t impl_IVpnChannel::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVpnChannel)->get_Id(&value)); + return value; +} + +template Windows::Networking::Vpn::VpnChannelConfiguration impl_IVpnChannel::Configuration() const +{ + Windows::Networking::Vpn::VpnChannelConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IVpnChannel)->get_Configuration(put_abi(value))); + return value; +} + +template event_token impl_IVpnChannel::ActivityChange(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVpnChannel)->add_ActivityChange(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVpnChannel::ActivityChange(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Vpn::IVpnChannel::remove_ActivityChange, ActivityChange(handler)); +} + +template void impl_IVpnChannel::ActivityChange(event_token token) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->remove_ActivityChange(token)); +} + +template void impl_IVpnChannel::PlugInContext(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->put_PlugInContext(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IVpnChannel::PlugInContext() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IVpnChannel)->get_PlugInContext(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnSystemHealth impl_IVpnChannel::SystemHealth() const +{ + Windows::Networking::Vpn::VpnSystemHealth value { nullptr }; + check_hresult(WINRT_SHIM(IVpnChannel)->get_SystemHealth(put_abi(value))); + return value; +} + +template void impl_IVpnChannel::RequestCustomPrompt(vector_view customPrompt) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_RequestCustomPrompt(get_abi(customPrompt))); +} + +template void impl_IVpnChannel::SetErrorMessage(hstring_view message) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_SetErrorMessage(get_abi(message))); +} + +template void impl_IVpnChannel::SetAllowedSslTlsVersions(const Windows::Foundation::IInspectable & tunnelTransport, bool useTls12) const +{ + check_hresult(WINRT_SHIM(IVpnChannel)->abi_SetAllowedSslTlsVersions(get_abi(tunnelTransport), useTls12)); +} + +template void impl_IVpnChannel2::StartWithMainTransport(vector_view assignedClientIPv4list, vector_view assignedClientIPv6list, const Windows::Networking::Vpn::VpnInterfaceId & vpnInterfaceId, const Windows::Networking::Vpn::VpnRouteAssignment & assignedRoutes, const Windows::Networking::Vpn::VpnDomainNameAssignment & assignedDomainName, uint32_t mtuSize, uint32_t maxFrameSize, bool Reserved, const Windows::Foundation::IInspectable & mainOuterTunnelTransport) const +{ + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_StartWithMainTransport(get_abi(assignedClientIPv4list), get_abi(assignedClientIPv6list), get_abi(vpnInterfaceId), get_abi(assignedRoutes), get_abi(assignedDomainName), mtuSize, maxFrameSize, Reserved, get_abi(mainOuterTunnelTransport))); +} + +template void impl_IVpnChannel2::StartExistingTransports(vector_view assignedClientIPv4list, vector_view assignedClientIPv6list, const Windows::Networking::Vpn::VpnInterfaceId & vpnInterfaceId, const Windows::Networking::Vpn::VpnRouteAssignment & assignedRoutes, const Windows::Networking::Vpn::VpnDomainNameAssignment & assignedDomainName, uint32_t mtuSize, uint32_t maxFrameSize, bool Reserved) const +{ + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_StartExistingTransports(get_abi(assignedClientIPv4list), get_abi(assignedClientIPv6list), get_abi(vpnInterfaceId), get_abi(assignedRoutes), get_abi(assignedDomainName), mtuSize, maxFrameSize, Reserved)); +} + +template event_token impl_IVpnChannel2::ActivityStateChange(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVpnChannel2)->add_ActivityStateChange(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IVpnChannel2::ActivityStateChange(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Networking::Vpn::IVpnChannel2::remove_ActivityStateChange, ActivityStateChange(handler)); +} + +template void impl_IVpnChannel2::ActivityStateChange(event_token token) const +{ + check_hresult(WINRT_SHIM(IVpnChannel2)->remove_ActivityStateChange(token)); +} + +template Windows::Networking::Vpn::VpnPacketBuffer impl_IVpnChannel2::GetVpnSendPacketBuffer() const +{ + Windows::Networking::Vpn::VpnPacketBuffer vpnSendPacketBuffer { nullptr }; + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_GetVpnSendPacketBuffer(put_abi(vpnSendPacketBuffer))); + return vpnSendPacketBuffer; +} + +template Windows::Networking::Vpn::VpnPacketBuffer impl_IVpnChannel2::GetVpnReceivePacketBuffer() const +{ + Windows::Networking::Vpn::VpnPacketBuffer vpnReceivePacketBuffer { nullptr }; + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_GetVpnReceivePacketBuffer(put_abi(vpnReceivePacketBuffer))); + return vpnReceivePacketBuffer; +} + +template Windows::Foundation::IAsyncAction impl_IVpnChannel2::RequestCustomPromptAsync(vector_view customPromptElement) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_RequestCustomPromptAsync(get_abi(customPromptElement), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnChannel2::RequestCredentialsAsync(Windows::Networking::Vpn::VpnCredentialType credType, uint32_t credOptions, const Windows::Security::Cryptography::Certificates::Certificate & certificate) const +{ + Windows::Foundation::IAsyncOperation credential; + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_RequestCredentialsWithCertificateAsync(credType, credOptions, get_abi(certificate), put_abi(credential))); + return credential; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnChannel2::RequestCredentialsAsync(Windows::Networking::Vpn::VpnCredentialType credType, uint32_t credOptions) const +{ + Windows::Foundation::IAsyncOperation credential; + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_RequestCredentialsWithOptionsAsync(credType, credOptions, put_abi(credential))); + return credential; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnChannel2::RequestCredentialsAsync(Windows::Networking::Vpn::VpnCredentialType credType) const +{ + Windows::Foundation::IAsyncOperation credential; + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_RequestCredentialsSimpleAsync(credType, put_abi(credential))); + return credential; +} + +template void impl_IVpnChannel2::TerminateConnection(hstring_view message) const +{ + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_TerminateConnection(get_abi(message))); +} + +template void impl_IVpnChannel2::StartWithTrafficFilter(vector_view assignedClientIpv4List, vector_view assignedClientIpv6List, const Windows::Networking::Vpn::VpnInterfaceId & vpnInterfaceId, const Windows::Networking::Vpn::VpnRouteAssignment & assignedRoutes, const Windows::Networking::Vpn::VpnDomainNameAssignment & assignedNamespace, uint32_t mtuSize, uint32_t maxFrameSize, bool reserved, const Windows::Foundation::IInspectable & mainOuterTunnelTransport, const Windows::Foundation::IInspectable & optionalOuterTunnelTransport, const Windows::Networking::Vpn::VpnTrafficFilterAssignment & assignedTrafficFilters) const +{ + check_hresult(WINRT_SHIM(IVpnChannel2)->abi_StartWithTrafficFilter(get_abi(assignedClientIpv4List), get_abi(assignedClientIpv6List), get_abi(vpnInterfaceId), get_abi(assignedRoutes), get_abi(assignedNamespace), mtuSize, maxFrameSize, reserved, get_abi(mainOuterTunnelTransport), get_abi(optionalOuterTunnelTransport), get_abi(assignedTrafficFilters))); +} + +template void impl_IVpnCustomPromptElement::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPromptElement)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IVpnCustomPromptElement::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomPromptElement)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IVpnCustomPromptElement::Compulsory(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPromptElement)->put_Compulsory(value)); +} + +template bool impl_IVpnCustomPromptElement::Compulsory() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomPromptElement)->get_Compulsory(&value)); + return value; +} + +template void impl_IVpnCustomPromptElement::Emphasized(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPromptElement)->put_Emphasized(value)); +} + +template bool impl_IVpnCustomPromptElement::Emphasized() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomPromptElement)->get_Emphasized(&value)); + return value; +} + +template void impl_IVpnChannelStatics::ProcessEventAsync(const Windows::Foundation::IInspectable & thirdPartyPlugIn, const Windows::Foundation::IInspectable & event) const +{ + check_hresult(WINRT_SHIM(IVpnChannelStatics)->abi_ProcessEventAsync(get_abi(thirdPartyPlugIn), get_abi(event))); +} + +template Windows::Networking::Vpn::VpnPacketBuffer impl_IVpnPacketBufferFactory::CreateVpnPacketBuffer(const Windows::Networking::Vpn::VpnPacketBuffer & parentBuffer, uint32_t offset, uint32_t length) const +{ + Windows::Networking::Vpn::VpnPacketBuffer vpnPacketBuffer { nullptr }; + check_hresult(WINRT_SHIM(IVpnPacketBufferFactory)->abi_CreateVpnPacketBuffer(get_abi(parentBuffer), offset, length, put_abi(vpnPacketBuffer))); + return vpnPacketBuffer; +} + +template Windows::Storage::Streams::Buffer impl_IVpnPacketBuffer::Buffer() const +{ + Windows::Storage::Streams::Buffer value { nullptr }; + check_hresult(WINRT_SHIM(IVpnPacketBuffer)->get_Buffer(put_abi(value))); + return value; +} + +template void impl_IVpnPacketBuffer::Status(Windows::Networking::Vpn::VpnPacketBufferStatus value) const +{ + check_hresult(WINRT_SHIM(IVpnPacketBuffer)->put_Status(value)); +} + +template Windows::Networking::Vpn::VpnPacketBufferStatus impl_IVpnPacketBuffer::Status() const +{ + Windows::Networking::Vpn::VpnPacketBufferStatus value {}; + check_hresult(WINRT_SHIM(IVpnPacketBuffer)->get_Status(&value)); + return value; +} + +template void impl_IVpnPacketBuffer::TransportAffinity(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IVpnPacketBuffer)->put_TransportAffinity(value)); +} + +template uint32_t impl_IVpnPacketBuffer::TransportAffinity() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVpnPacketBuffer)->get_TransportAffinity(&value)); + return value; +} + +template Windows::Networking::Vpn::VpnAppId impl_IVpnPacketBuffer2::AppId() const +{ + Windows::Networking::Vpn::VpnAppId value { nullptr }; + check_hresult(WINRT_SHIM(IVpnPacketBuffer2)->get_AppId(put_abi(value))); + return value; +} + +template void impl_IVpnPacketBufferList::Append(const Windows::Networking::Vpn::VpnPacketBuffer & nextVpnPacketBuffer) const +{ + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->abi_Append(get_abi(nextVpnPacketBuffer))); +} + +template void impl_IVpnPacketBufferList::AddAtBegin(const Windows::Networking::Vpn::VpnPacketBuffer & nextVpnPacketBuffer) const +{ + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->abi_AddAtBegin(get_abi(nextVpnPacketBuffer))); +} + +template Windows::Networking::Vpn::VpnPacketBuffer impl_IVpnPacketBufferList::RemoveAtEnd() const +{ + Windows::Networking::Vpn::VpnPacketBuffer nextVpnPacketBuffer { nullptr }; + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->abi_RemoveAtEnd(put_abi(nextVpnPacketBuffer))); + return nextVpnPacketBuffer; +} + +template Windows::Networking::Vpn::VpnPacketBuffer impl_IVpnPacketBufferList::RemoveAtBegin() const +{ + Windows::Networking::Vpn::VpnPacketBuffer nextVpnPacketBuffer { nullptr }; + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->abi_RemoveAtBegin(put_abi(nextVpnPacketBuffer))); + return nextVpnPacketBuffer; +} + +template void impl_IVpnPacketBufferList::Clear() const +{ + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->abi_Clear()); +} + +template void impl_IVpnPacketBufferList::Status(Windows::Networking::Vpn::VpnPacketBufferStatus value) const +{ + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->put_Status(value)); +} + +template Windows::Networking::Vpn::VpnPacketBufferStatus impl_IVpnPacketBufferList::Status() const +{ + Windows::Networking::Vpn::VpnPacketBufferStatus value {}; + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->get_Status(&value)); + return value; +} + +template uint32_t impl_IVpnPacketBufferList::Size() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVpnPacketBufferList)->get_Size(&value)); + return value; +} + +template void impl_IVpnPacketBufferList2::AddLeadingPacket(const Windows::Networking::Vpn::VpnPacketBuffer & nextVpnPacketBuffer) const +{ + check_hresult(WINRT_SHIM(IVpnPacketBufferList2)->abi_AddLeadingPacket(get_abi(nextVpnPacketBuffer))); +} + +template Windows::Networking::Vpn::VpnPacketBuffer impl_IVpnPacketBufferList2::RemoveLeadingPacket() const +{ + Windows::Networking::Vpn::VpnPacketBuffer nextVpnPacketBuffer { nullptr }; + check_hresult(WINRT_SHIM(IVpnPacketBufferList2)->abi_RemoveLeadingPacket(put_abi(nextVpnPacketBuffer))); + return nextVpnPacketBuffer; +} + +template void impl_IVpnPacketBufferList2::AddTrailingPacket(const Windows::Networking::Vpn::VpnPacketBuffer & nextVpnPacketBuffer) const +{ + check_hresult(WINRT_SHIM(IVpnPacketBufferList2)->abi_AddTrailingPacket(get_abi(nextVpnPacketBuffer))); +} + +template Windows::Networking::Vpn::VpnPacketBuffer impl_IVpnPacketBufferList2::RemoveTrailingPacket() const +{ + Windows::Networking::Vpn::VpnPacketBuffer nextVpnPacketBuffer { nullptr }; + check_hresult(WINRT_SHIM(IVpnPacketBufferList2)->abi_RemoveTrailingPacket(put_abi(nextVpnPacketBuffer))); + return nextVpnPacketBuffer; +} + +template void impl_IVpnCustomPromptTextInput::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPromptTextInput)->put_PlaceholderText(get_abi(value))); +} + +template hstring impl_IVpnCustomPromptTextInput::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomPromptTextInput)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_IVpnCustomPromptTextInput::IsTextHidden(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPromptTextInput)->put_IsTextHidden(value)); +} + +template bool impl_IVpnCustomPromptTextInput::IsTextHidden() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomPromptTextInput)->get_IsTextHidden(&value)); + return value; +} + +template hstring impl_IVpnCustomPromptTextInput::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomPromptTextInput)->get_Text(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnCustomPromptOptionSelector::Options() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnCustomPromptOptionSelector)->get_Options(put_abi(value))); + return value; +} + +template uint32_t impl_IVpnCustomPromptOptionSelector::SelectedIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVpnCustomPromptOptionSelector)->get_SelectedIndex(&value)); + return value; +} + +template void impl_IVpnCustomPromptBooleanInput::InitialValue(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPromptBooleanInput)->put_InitialValue(value)); +} + +template bool impl_IVpnCustomPromptBooleanInput::InitialValue() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomPromptBooleanInput)->get_InitialValue(&value)); + return value; +} + +template bool impl_IVpnCustomPromptBooleanInput::Value() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnCustomPromptBooleanInput)->get_Value(&value)); + return value; +} + +template void impl_IVpnCustomPromptText::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnCustomPromptText)->put_Text(get_abi(value))); +} + +template hstring impl_IVpnCustomPromptText::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnCustomPromptText)->get_Text(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnChannelActivityEventType impl_IVpnChannelActivityStateChangedArgs::ActivityState() const +{ + Windows::Networking::Vpn::VpnChannelActivityEventType value {}; + check_hresult(WINRT_SHIM(IVpnChannelActivityStateChangedArgs)->get_ActivityState(&value)); + return value; +} + +template Windows::Networking::Vpn::VpnDomainNameInfo impl_IVpnDomainNameInfoFactory::CreateVpnDomainNameInfo(hstring_view name, Windows::Networking::Vpn::VpnDomainNameType nameType, iterable dnsServerList, iterable proxyServerList) const +{ + Windows::Networking::Vpn::VpnDomainNameInfo domainNameInfo { nullptr }; + check_hresult(WINRT_SHIM(IVpnDomainNameInfoFactory)->abi_CreateVpnDomainNameInfo(get_abi(name), nameType, get_abi(dnsServerList), get_abi(proxyServerList), put_abi(domainNameInfo))); + return domainNameInfo; +} + +template void impl_IVpnDomainNameInfo::DomainName(const Windows::Networking::HostName & value) const +{ + check_hresult(WINRT_SHIM(IVpnDomainNameInfo)->put_DomainName(get_abi(value))); +} + +template Windows::Networking::HostName impl_IVpnDomainNameInfo::DomainName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IVpnDomainNameInfo)->get_DomainName(put_abi(value))); + return value; +} + +template void impl_IVpnDomainNameInfo::DomainNameType(Windows::Networking::Vpn::VpnDomainNameType value) const +{ + check_hresult(WINRT_SHIM(IVpnDomainNameInfo)->put_DomainNameType(value)); +} + +template Windows::Networking::Vpn::VpnDomainNameType impl_IVpnDomainNameInfo::DomainNameType() const +{ + Windows::Networking::Vpn::VpnDomainNameType value {}; + check_hresult(WINRT_SHIM(IVpnDomainNameInfo)->get_DomainNameType(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnDomainNameInfo::DnsServers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnDomainNameInfo)->get_DnsServers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnDomainNameInfo::WebProxyServers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnDomainNameInfo)->get_WebProxyServers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnDomainNameInfo2::WebProxyUris() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnDomainNameInfo2)->get_WebProxyUris(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnDomainNameAssignment::DomainNameList() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnDomainNameAssignment)->get_DomainNameList(put_abi(value))); + return value; +} + +template void impl_IVpnDomainNameAssignment::ProxyAutoConfigurationUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IVpnDomainNameAssignment)->put_ProxyAutoConfigurationUri(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IVpnDomainNameAssignment::ProxyAutoConfigurationUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IVpnDomainNameAssignment)->get_ProxyAutoConfigurationUri(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnAppId impl_IVpnAppIdFactory::Create(Windows::Networking::Vpn::VpnAppIdType type, hstring_view value) const +{ + Windows::Networking::Vpn::VpnAppId result { nullptr }; + check_hresult(WINRT_SHIM(IVpnAppIdFactory)->abi_Create(type, get_abi(value), put_abi(result))); + return result; +} + +template Windows::Networking::Vpn::VpnAppIdType impl_IVpnAppId::Type() const +{ + Windows::Networking::Vpn::VpnAppIdType value {}; + check_hresult(WINRT_SHIM(IVpnAppId)->get_Type(&value)); + return value; +} + +template void impl_IVpnAppId::Type(Windows::Networking::Vpn::VpnAppIdType value) const +{ + check_hresult(WINRT_SHIM(IVpnAppId)->put_Type(value)); +} + +template hstring impl_IVpnAppId::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnAppId)->get_Value(put_abi(value))); + return value; +} + +template void impl_IVpnAppId::Value(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnAppId)->put_Value(get_abi(value))); +} + +template Windows::Networking::Vpn::VpnTrafficFilter impl_IVpnTrafficFilterFactory::Create(const Windows::Networking::Vpn::VpnAppId & appId) const +{ + Windows::Networking::Vpn::VpnTrafficFilter result { nullptr }; + check_hresult(WINRT_SHIM(IVpnTrafficFilterFactory)->abi_Create(get_abi(appId), put_abi(result))); + return result; +} + +template Windows::Networking::Vpn::VpnAppId impl_IVpnTrafficFilter::AppId() const +{ + Windows::Networking::Vpn::VpnAppId value { nullptr }; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_AppId(put_abi(value))); + return value; +} + +template void impl_IVpnTrafficFilter::AppId(const Windows::Networking::Vpn::VpnAppId & value) const +{ + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->put_AppId(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVpnTrafficFilter::AppClaims() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_AppClaims(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnIPProtocol impl_IVpnTrafficFilter::Protocol() const +{ + Windows::Networking::Vpn::VpnIPProtocol value {}; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_Protocol(&value)); + return value; +} + +template void impl_IVpnTrafficFilter::Protocol(Windows::Networking::Vpn::VpnIPProtocol value) const +{ + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->put_Protocol(value)); +} + +template Windows::Foundation::Collections::IVector impl_IVpnTrafficFilter::LocalPortRanges() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_LocalPortRanges(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnTrafficFilter::RemotePortRanges() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_RemotePortRanges(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnTrafficFilter::LocalAddressRanges() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_LocalAddressRanges(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnTrafficFilter::RemoteAddressRanges() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_RemoteAddressRanges(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnRoutingPolicyType impl_IVpnTrafficFilter::RoutingPolicyType() const +{ + Windows::Networking::Vpn::VpnRoutingPolicyType value {}; + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->get_RoutingPolicyType(&value)); + return value; +} + +template void impl_IVpnTrafficFilter::RoutingPolicyType(Windows::Networking::Vpn::VpnRoutingPolicyType value) const +{ + check_hresult(WINRT_SHIM(IVpnTrafficFilter)->put_RoutingPolicyType(value)); +} + +template Windows::Foundation::Collections::IVector impl_IVpnTrafficFilterAssignment::TrafficFilterList() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnTrafficFilterAssignment)->get_TrafficFilterList(put_abi(value))); + return value; +} + +template bool impl_IVpnTrafficFilterAssignment::AllowOutbound() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnTrafficFilterAssignment)->get_AllowOutbound(&value)); + return value; +} + +template void impl_IVpnTrafficFilterAssignment::AllowOutbound(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnTrafficFilterAssignment)->put_AllowOutbound(value)); +} + +template bool impl_IVpnTrafficFilterAssignment::AllowInbound() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnTrafficFilterAssignment)->get_AllowInbound(&value)); + return value; +} + +template void impl_IVpnTrafficFilterAssignment::AllowInbound(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnTrafficFilterAssignment)->put_AllowInbound(value)); +} + +template hstring impl_IVpnProfile::ProfileName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnProfile)->get_ProfileName(put_abi(value))); + return value; +} + +template void impl_IVpnProfile::ProfileName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnProfile)->put_ProfileName(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVpnProfile::AppTriggers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnProfile)->get_AppTriggers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnProfile::Routes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnProfile)->get_Routes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnProfile::DomainNameInfoList() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnProfile)->get_DomainNameInfoList(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnProfile::TrafficFilters() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnProfile)->get_TrafficFilters(put_abi(value))); + return value; +} + +template bool impl_IVpnProfile::RememberCredentials() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnProfile)->get_RememberCredentials(&value)); + return value; +} + +template void impl_IVpnProfile::RememberCredentials(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnProfile)->put_RememberCredentials(value)); +} + +template bool impl_IVpnProfile::AlwaysOn() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnProfile)->get_AlwaysOn(&value)); + return value; +} + +template void impl_IVpnProfile::AlwaysOn(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnProfile)->put_AlwaysOn(value)); +} + +template Windows::Foundation::Collections::IVector impl_IVpnPlugInProfile::ServerUris() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnPlugInProfile)->get_ServerUris(put_abi(value))); + return value; +} + +template hstring impl_IVpnPlugInProfile::CustomConfiguration() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnPlugInProfile)->get_CustomConfiguration(put_abi(value))); + return value; +} + +template void impl_IVpnPlugInProfile::CustomConfiguration(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnPlugInProfile)->put_CustomConfiguration(get_abi(value))); +} + +template hstring impl_IVpnPlugInProfile::VpnPluginPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVpnPlugInProfile)->get_VpnPluginPackageFamilyName(put_abi(value))); + return value; +} + +template void impl_IVpnPlugInProfile::VpnPluginPackageFamilyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnPlugInProfile)->put_VpnPluginPackageFamilyName(get_abi(value))); +} + +template bool impl_IVpnPlugInProfile2::RequireVpnClientAppUI() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnPlugInProfile2)->get_RequireVpnClientAppUI(&value)); + return value; +} + +template void impl_IVpnPlugInProfile2::RequireVpnClientAppUI(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnPlugInProfile2)->put_RequireVpnClientAppUI(value)); +} + +template Windows::Networking::Vpn::VpnManagementConnectionStatus impl_IVpnPlugInProfile2::ConnectionStatus() const +{ + Windows::Networking::Vpn::VpnManagementConnectionStatus value {}; + check_hresult(WINRT_SHIM(IVpnPlugInProfile2)->get_ConnectionStatus(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVpnNativeProfile::Servers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVpnNativeProfile)->get_Servers(put_abi(value))); + return value; +} + +template Windows::Networking::Vpn::VpnRoutingPolicyType impl_IVpnNativeProfile::RoutingPolicyType() const +{ + Windows::Networking::Vpn::VpnRoutingPolicyType value {}; + check_hresult(WINRT_SHIM(IVpnNativeProfile)->get_RoutingPolicyType(&value)); + return value; +} + +template void impl_IVpnNativeProfile::RoutingPolicyType(Windows::Networking::Vpn::VpnRoutingPolicyType value) const +{ + check_hresult(WINRT_SHIM(IVpnNativeProfile)->put_RoutingPolicyType(value)); +} + +template Windows::Networking::Vpn::VpnNativeProtocolType impl_IVpnNativeProfile::NativeProtocolType() const +{ + Windows::Networking::Vpn::VpnNativeProtocolType value {}; + check_hresult(WINRT_SHIM(IVpnNativeProfile)->get_NativeProtocolType(&value)); + return value; +} + +template void impl_IVpnNativeProfile::NativeProtocolType(Windows::Networking::Vpn::VpnNativeProtocolType value) const +{ + check_hresult(WINRT_SHIM(IVpnNativeProfile)->put_NativeProtocolType(value)); +} + +template Windows::Networking::Vpn::VpnAuthenticationMethod impl_IVpnNativeProfile::UserAuthenticationMethod() const +{ + Windows::Networking::Vpn::VpnAuthenticationMethod value {}; + check_hresult(WINRT_SHIM(IVpnNativeProfile)->get_UserAuthenticationMethod(&value)); + return value; +} + +template void impl_IVpnNativeProfile::UserAuthenticationMethod(Windows::Networking::Vpn::VpnAuthenticationMethod value) const +{ + check_hresult(WINRT_SHIM(IVpnNativeProfile)->put_UserAuthenticationMethod(value)); +} + +template Windows::Networking::Vpn::VpnAuthenticationMethod impl_IVpnNativeProfile::TunnelAuthenticationMethod() const +{ + Windows::Networking::Vpn::VpnAuthenticationMethod value {}; + check_hresult(WINRT_SHIM(IVpnNativeProfile)->get_TunnelAuthenticationMethod(&value)); + return value; +} + +template void impl_IVpnNativeProfile::TunnelAuthenticationMethod(Windows::Networking::Vpn::VpnAuthenticationMethod value) const +{ + check_hresult(WINRT_SHIM(IVpnNativeProfile)->put_TunnelAuthenticationMethod(value)); +} + +template hstring impl_IVpnNativeProfile::EapConfiguration() const +{ + hstring Value; + check_hresult(WINRT_SHIM(IVpnNativeProfile)->get_EapConfiguration(put_abi(Value))); + return Value; +} + +template void impl_IVpnNativeProfile::EapConfiguration(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVpnNativeProfile)->put_EapConfiguration(get_abi(value))); +} + +template bool impl_IVpnNativeProfile2::RequireVpnClientAppUI() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVpnNativeProfile2)->get_RequireVpnClientAppUI(&value)); + return value; +} + +template void impl_IVpnNativeProfile2::RequireVpnClientAppUI(bool value) const +{ + check_hresult(WINRT_SHIM(IVpnNativeProfile2)->put_RequireVpnClientAppUI(value)); +} + +template Windows::Networking::Vpn::VpnManagementConnectionStatus impl_IVpnNativeProfile2::ConnectionStatus() const +{ + Windows::Networking::Vpn::VpnManagementConnectionStatus value {}; + check_hresult(WINRT_SHIM(IVpnNativeProfile2)->get_ConnectionStatus(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::AddProfileFromXmlAsync(hstring_view xml) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_AddProfileFromXmlAsync(get_abi(xml), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::AddProfileFromObjectAsync(const Windows::Networking::Vpn::IVpnProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_AddProfileFromObjectAsync(get_abi(profile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::UpdateProfileFromXmlAsync(hstring_view xml) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_UpdateProfileFromXmlAsync(get_abi(xml), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::UpdateProfileFromObjectAsync(const Windows::Networking::Vpn::IVpnProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_UpdateProfileFromObjectAsync(get_abi(profile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IVpnManagementAgent::GetProfilesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_GetProfilesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::DeleteProfileAsync(const Windows::Networking::Vpn::IVpnProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_DeleteProfileAsync(get_abi(profile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::ConnectProfileAsync(const Windows::Networking::Vpn::IVpnProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_ConnectProfileAsync(get_abi(profile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::ConnectProfileWithPasswordCredentialAsync(const Windows::Networking::Vpn::IVpnProfile & profile, const Windows::Security::Credentials::PasswordCredential & passwordCredential) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_ConnectProfileWithPasswordCredentialAsync(get_abi(profile), get_abi(passwordCredential), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IVpnManagementAgent::DisconnectProfileAsync(const Windows::Networking::Vpn::IVpnProfile & profile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IVpnManagementAgent)->abi_DisconnectProfileAsync(get_abi(profile), put_abi(operation))); + return operation; +} + +inline VpnAppId::VpnAppId(Windows::Networking::Vpn::VpnAppIdType type, hstring_view value) : + VpnAppId(get_activation_factory().Create(type, value)) +{} + +inline void VpnChannel::ProcessEventAsync(const Windows::Foundation::IInspectable & thirdPartyPlugIn, const Windows::Foundation::IInspectable & event) +{ + get_activation_factory().ProcessEventAsync(thirdPartyPlugIn, event); +} + +inline VpnCustomCheckBox::VpnCustomCheckBox() : + VpnCustomCheckBox(activate_instance()) +{} + +inline VpnCustomComboBox::VpnCustomComboBox() : + VpnCustomComboBox(activate_instance()) +{} + +inline VpnCustomEditBox::VpnCustomEditBox() : + VpnCustomEditBox(activate_instance()) +{} + +inline VpnCustomErrorBox::VpnCustomErrorBox() : + VpnCustomErrorBox(activate_instance()) +{} + +inline VpnCustomPromptBooleanInput::VpnCustomPromptBooleanInput() : + VpnCustomPromptBooleanInput(activate_instance()) +{} + +inline VpnCustomPromptOptionSelector::VpnCustomPromptOptionSelector() : + VpnCustomPromptOptionSelector(activate_instance()) +{} + +inline VpnCustomPromptText::VpnCustomPromptText() : + VpnCustomPromptText(activate_instance()) +{} + +inline VpnCustomPromptTextInput::VpnCustomPromptTextInput() : + VpnCustomPromptTextInput(activate_instance()) +{} + +inline VpnCustomTextBox::VpnCustomTextBox() : + VpnCustomTextBox(activate_instance()) +{} + +inline VpnDomainNameAssignment::VpnDomainNameAssignment() : + VpnDomainNameAssignment(activate_instance()) +{} + +inline VpnDomainNameInfo::VpnDomainNameInfo(hstring_view name, Windows::Networking::Vpn::VpnDomainNameType nameType, iterable dnsServerList, iterable proxyServerList) : + VpnDomainNameInfo(get_activation_factory().CreateVpnDomainNameInfo(name, nameType, dnsServerList, proxyServerList)) +{} + +inline VpnInterfaceId::VpnInterfaceId(array_view address) : + VpnInterfaceId(get_activation_factory().CreateVpnInterfaceId(address)) +{} + +inline VpnManagementAgent::VpnManagementAgent() : + VpnManagementAgent(activate_instance()) +{} + +inline VpnNamespaceAssignment::VpnNamespaceAssignment() : + VpnNamespaceAssignment(activate_instance()) +{} + +inline VpnNamespaceInfo::VpnNamespaceInfo(hstring_view name, const Windows::Foundation::Collections::IVector & dnsServerList, const Windows::Foundation::Collections::IVector & proxyServerList) : + VpnNamespaceInfo(get_activation_factory().CreateVpnNamespaceInfo(name, dnsServerList, proxyServerList)) +{} + +inline VpnNativeProfile::VpnNativeProfile() : + VpnNativeProfile(activate_instance()) +{} + +inline VpnPacketBuffer::VpnPacketBuffer(const Windows::Networking::Vpn::VpnPacketBuffer & parentBuffer, uint32_t offset, uint32_t length) : + VpnPacketBuffer(get_activation_factory().CreateVpnPacketBuffer(parentBuffer, offset, length)) +{} + +inline VpnPlugInProfile::VpnPlugInProfile() : + VpnPlugInProfile(activate_instance()) +{} + +inline VpnRoute::VpnRoute(const Windows::Networking::HostName & address, uint8_t prefixSize) : + VpnRoute(get_activation_factory().CreateVpnRoute(address, prefixSize)) +{} + +inline VpnRouteAssignment::VpnRouteAssignment() : + VpnRouteAssignment(activate_instance()) +{} + +inline VpnTrafficFilter::VpnTrafficFilter(const Windows::Networking::Vpn::VpnAppId & appId) : + VpnTrafficFilter(get_activation_factory().Create(appId)) +{} + +inline VpnTrafficFilterAssignment::VpnTrafficFilterAssignment() : + VpnTrafficFilterAssignment(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnAppId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnAppIdFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnChannel2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnChannelActivityEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnChannelActivityStateChangedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnChannelConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnChannelConfiguration2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnChannelStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomCheckBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomComboBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomEditBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomErrorBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomPrompt & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomPromptBooleanInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomPromptElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomPromptOptionSelector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomPromptText & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomPromptTextInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnCustomTextBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnDomainNameAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnDomainNameInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnDomainNameInfo2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnDomainNameInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnInterfaceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnInterfaceIdFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnManagementAgent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnNamespaceAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnNamespaceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnNamespaceInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnNativeProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnNativeProfile2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPacketBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPacketBuffer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPacketBufferFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPacketBufferList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPacketBufferList2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPickedCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPlugIn & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPlugInProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnPlugInProfile2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnRoute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnRouteAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnRouteFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnSystemHealth & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnTrafficFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnTrafficFilterAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::IVpnTrafficFilterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnAppId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnChannelActivityEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnChannelActivityStateChangedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnChannelConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomCheckBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomComboBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomEditBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomErrorBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomPromptBooleanInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomPromptOptionSelector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomPromptText & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomPromptTextInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnCustomTextBox & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnDomainNameAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnDomainNameInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnInterfaceId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnManagementAgent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnNamespaceAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnNamespaceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnNativeProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnPacketBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnPacketBufferList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnPickedCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnPlugInProfile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnRoute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnRouteAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnSystemHealth & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnTrafficFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::Vpn::VpnTrafficFilterAssignment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Networking.h b/10.0.15042.0/winrt/Windows.Networking.h new file mode 100644 index 000000000..f686c2225 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Networking.h @@ -0,0 +1,480 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Networking.Connectivity.3.h" +#include "internal/Windows.Networking.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalHostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalHostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LocalHostName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LocalHostName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LocalServiceName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LocalServiceName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteHostName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteHostName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteHostName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteHostName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteServiceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteServiceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteServiceName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteServiceName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateEndpointPair(impl::abi_arg_in localHostName, impl::abi_arg_in localServiceName, impl::abi_arg_in remoteHostName, impl::abi_arg_in remoteServiceName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateEndpointPair(*reinterpret_cast(&localHostName), *reinterpret_cast(&localServiceName), *reinterpret_cast(&remoteHostName), *reinterpret_cast(&remoteServiceName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IPInformation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IPInformation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanonicalName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanonicalName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Networking::HostNameType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEqual(impl::abi_arg_in hostName, bool * isEqual) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isEqual = detach_abi(this->shim().IsEqual(*reinterpret_cast(&hostName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateHostName(impl::abi_arg_in hostName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateHostName(*reinterpret_cast(&hostName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Compare(impl::abi_arg_in value1, impl::abi_arg_in value2, int32_t * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Compare(*reinterpret_cast(&value1), *reinterpret_cast(&value2))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Networking { + +template int32_t impl_IHostNameStatics::Compare(hstring_view value1, hstring_view value2) const +{ + int32_t result {}; + check_hresult(WINRT_SHIM(IHostNameStatics)->abi_Compare(get_abi(value1), get_abi(value2), &result)); + return result; +} + +template Windows::Networking::Connectivity::IPInformation impl_IHostName::IPInformation() const +{ + Windows::Networking::Connectivity::IPInformation value { nullptr }; + check_hresult(WINRT_SHIM(IHostName)->get_IPInformation(put_abi(value))); + return value; +} + +template hstring impl_IHostName::RawName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHostName)->get_RawName(put_abi(value))); + return value; +} + +template hstring impl_IHostName::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHostName)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IHostName::CanonicalName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHostName)->get_CanonicalName(put_abi(value))); + return value; +} + +template Windows::Networking::HostNameType impl_IHostName::Type() const +{ + Windows::Networking::HostNameType value {}; + check_hresult(WINRT_SHIM(IHostName)->get_Type(&value)); + return value; +} + +template bool impl_IHostName::IsEqual(const Windows::Networking::HostName & hostName) const +{ + bool isEqual {}; + check_hresult(WINRT_SHIM(IHostName)->abi_IsEqual(get_abi(hostName), &isEqual)); + return isEqual; +} + +template Windows::Networking::HostName impl_IHostNameFactory::CreateHostName(hstring_view hostName) const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IHostNameFactory)->abi_CreateHostName(get_abi(hostName), put_abi(value))); + return value; +} + +template Windows::Networking::HostName impl_IEndpointPair::LocalHostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IEndpointPair)->get_LocalHostName(put_abi(value))); + return value; +} + +template void impl_IEndpointPair::LocalHostName(const Windows::Networking::HostName & value) const +{ + check_hresult(WINRT_SHIM(IEndpointPair)->put_LocalHostName(get_abi(value))); +} + +template hstring impl_IEndpointPair::LocalServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEndpointPair)->get_LocalServiceName(put_abi(value))); + return value; +} + +template void impl_IEndpointPair::LocalServiceName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEndpointPair)->put_LocalServiceName(get_abi(value))); +} + +template Windows::Networking::HostName impl_IEndpointPair::RemoteHostName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IEndpointPair)->get_RemoteHostName(put_abi(value))); + return value; +} + +template void impl_IEndpointPair::RemoteHostName(const Windows::Networking::HostName & value) const +{ + check_hresult(WINRT_SHIM(IEndpointPair)->put_RemoteHostName(get_abi(value))); +} + +template hstring impl_IEndpointPair::RemoteServiceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEndpointPair)->get_RemoteServiceName(put_abi(value))); + return value; +} + +template void impl_IEndpointPair::RemoteServiceName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IEndpointPair)->put_RemoteServiceName(get_abi(value))); +} + +template Windows::Networking::EndpointPair impl_IEndpointPairFactory::CreateEndpointPair(const Windows::Networking::HostName & localHostName, hstring_view localServiceName, const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) const +{ + Windows::Networking::EndpointPair value { nullptr }; + check_hresult(WINRT_SHIM(IEndpointPairFactory)->abi_CreateEndpointPair(get_abi(localHostName), get_abi(localServiceName), get_abi(remoteHostName), get_abi(remoteServiceName), put_abi(value))); + return value; +} + +inline EndpointPair::EndpointPair(const Windows::Networking::HostName & localHostName, hstring_view localServiceName, const Windows::Networking::HostName & remoteHostName, hstring_view remoteServiceName) : + EndpointPair(get_activation_factory().CreateEndpointPair(localHostName, localServiceName, remoteHostName, remoteServiceName)) +{} + +inline HostName::HostName(hstring_view hostName) : + HostName(get_activation_factory().CreateHostName(hostName)) +{} + +inline int32_t HostName::Compare(hstring_view value1, hstring_view value2) +{ + return get_activation_factory().Compare(value1, value2); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::IEndpointPair & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::IEndpointPairFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::IHostName & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::IHostNameFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::IHostNameStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::EndpointPair & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Networking::HostName & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Perception.Automation.Core.h b/10.0.15042.0/winrt/Windows.Perception.Automation.Core.h new file mode 100644 index 000000000..62d5b5fec --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Perception.Automation.Core.h @@ -0,0 +1,62 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Perception.Automation.Core.3.h" +#include "Windows.Perception.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetActivationFactoryProvider(impl::abi_arg_in provider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetActivationFactoryProvider(*reinterpret_cast(&provider)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Perception::Automation::Core { + +template void impl_ICorePerceptionAutomationStatics::SetActivationFactoryProvider(const Windows::Foundation::IGetActivationFactory & provider) const +{ + check_hresult(WINRT_SHIM(ICorePerceptionAutomationStatics)->abi_SetActivationFactoryProvider(get_abi(provider))); +} + +inline void CorePerceptionAutomation::SetActivationFactoryProvider(const Windows::Foundation::IGetActivationFactory & provider) +{ + get_activation_factory().SetActivationFactoryProvider(provider); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Automation::Core::ICorePerceptionAutomationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Perception.People.h b/10.0.15042.0/winrt/Windows.Perception.People.h new file mode 100644 index 000000000..2e8944308 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Perception.People.h @@ -0,0 +1,109 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Perception.People.3.h" +#include "Windows.Perception.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForwardDirection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForwardDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpDirection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Perception::People { + +template Windows::Foundation::Numerics::float3 impl_IHeadPose::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IHeadPose)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IHeadPose::ForwardDirection() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IHeadPose)->get_ForwardDirection(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IHeadPose::UpDirection() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IHeadPose)->get_UpDirection(put_abi(value))); + return value; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::People::IHeadPose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::People::HeadPose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Perception.Spatial.Surfaces.h b/10.0.15042.0/winrt/Windows.Perception.Spatial.Surfaces.h new file mode 100644 index 000000000..594859acf --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Perception.Spatial.Surfaces.h @@ -0,0 +1,909 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.DirectX.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Perception.Spatial.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Perception.Spatial.Surfaces.3.h" +#include "Windows.Perception.Spatial.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdateTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetBounds(impl::abi_arg_in coordinateSystem, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetBounds(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryComputeLatestMeshAsync(double maxTrianglesPerCubicMeter, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryComputeLatestMeshAsync(maxTrianglesPerCubicMeter)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryComputeLatestMeshWithOptionsAsync(double maxTrianglesPerCubicMeter, impl::abi_arg_in options, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryComputeLatestMeshAsync(maxTrianglesPerCubicMeter, *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SurfaceInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SurfaceInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CoordinateSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriangleIndices(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriangleIndices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VertexPositions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexPositions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VertexPositionScale(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexPositionScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VertexNormals(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexNormals()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Format(Windows::Graphics::DirectX::DirectXPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Format()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stride(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stride()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElementCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElementCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VertexPositionFormat(Windows::Graphics::DirectX::DirectXPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexPositionFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VertexPositionFormat(Windows::Graphics::DirectX::DirectXPixelFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VertexPositionFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TriangleIndexFormat(Windows::Graphics::DirectX::DirectXPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TriangleIndexFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TriangleIndexFormat(Windows::Graphics::DirectX::DirectXPixelFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TriangleIndexFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VertexNormalFormat(Windows::Graphics::DirectX::DirectXPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VertexNormalFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VertexNormalFormat(Windows::Graphics::DirectX::DirectXPixelFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VertexNormalFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeVertexNormals(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeVertexNormals()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeVertexNormals(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeVertexNormals(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SupportedVertexPositionFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedVertexPositionFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedTriangleIndexFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedTriangleIndexFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedVertexNormalFormats(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedVertexNormalFormats()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetObservedSurfaces(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetObservedSurfaces()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBoundingVolume(impl::abi_arg_in bounds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBoundingVolume(*reinterpret_cast(&bounds)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBoundingVolumes(impl::abi_arg_in> bounds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBoundingVolumes(*reinterpret_cast *>(&bounds)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ObservedSurfacesChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ObservedSurfacesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ObservedSurfacesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ObservedSurfacesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Perception::Spatial::Surfaces { + +template Windows::Graphics::DirectX::DirectXPixelFormat impl_ISpatialSurfaceMeshBuffer::Format() const +{ + Windows::Graphics::DirectX::DirectXPixelFormat value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshBuffer)->get_Format(&value)); + return value; +} + +template uint32_t impl_ISpatialSurfaceMeshBuffer::Stride() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshBuffer)->get_Stride(&value)); + return value; +} + +template uint32_t impl_ISpatialSurfaceMeshBuffer::ElementCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshBuffer)->get_ElementCount(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISpatialSurfaceMeshBuffer::Data() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshBuffer)->get_Data(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::Surfaces::SpatialSurfaceInfo impl_ISpatialSurfaceMesh::SurfaceInfo() const +{ + Windows::Perception::Spatial::Surfaces::SpatialSurfaceInfo value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialSurfaceMesh)->get_SurfaceInfo(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_ISpatialSurfaceMesh::CoordinateSystem() const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialSurfaceMesh)->get_CoordinateSystem(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer impl_ISpatialSurfaceMesh::TriangleIndices() const +{ + Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialSurfaceMesh)->get_TriangleIndices(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer impl_ISpatialSurfaceMesh::VertexPositions() const +{ + Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialSurfaceMesh)->get_VertexPositions(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialSurfaceMesh::VertexPositionScale() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMesh)->get_VertexPositionScale(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer impl_ISpatialSurfaceMesh::VertexNormals() const +{ + Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialSurfaceMesh)->get_VertexNormals(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpatialSurfaceMeshOptionsStatics::SupportedVertexPositionFormats() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptionsStatics)->get_SupportedVertexPositionFormats(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpatialSurfaceMeshOptionsStatics::SupportedTriangleIndexFormats() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptionsStatics)->get_SupportedTriangleIndexFormats(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISpatialSurfaceMeshOptionsStatics::SupportedVertexNormalFormats() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptionsStatics)->get_SupportedVertexNormalFormats(put_abi(value))); + return value; +} + +template Windows::Graphics::DirectX::DirectXPixelFormat impl_ISpatialSurfaceMeshOptions::VertexPositionFormat() const +{ + Windows::Graphics::DirectX::DirectXPixelFormat value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->get_VertexPositionFormat(&value)); + return value; +} + +template void impl_ISpatialSurfaceMeshOptions::VertexPositionFormat(Windows::Graphics::DirectX::DirectXPixelFormat value) const +{ + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->put_VertexPositionFormat(value)); +} + +template Windows::Graphics::DirectX::DirectXPixelFormat impl_ISpatialSurfaceMeshOptions::TriangleIndexFormat() const +{ + Windows::Graphics::DirectX::DirectXPixelFormat value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->get_TriangleIndexFormat(&value)); + return value; +} + +template void impl_ISpatialSurfaceMeshOptions::TriangleIndexFormat(Windows::Graphics::DirectX::DirectXPixelFormat value) const +{ + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->put_TriangleIndexFormat(value)); +} + +template Windows::Graphics::DirectX::DirectXPixelFormat impl_ISpatialSurfaceMeshOptions::VertexNormalFormat() const +{ + Windows::Graphics::DirectX::DirectXPixelFormat value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->get_VertexNormalFormat(&value)); + return value; +} + +template void impl_ISpatialSurfaceMeshOptions::VertexNormalFormat(Windows::Graphics::DirectX::DirectXPixelFormat value) const +{ + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->put_VertexNormalFormat(value)); +} + +template bool impl_ISpatialSurfaceMeshOptions::IncludeVertexNormals() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->get_IncludeVertexNormals(&value)); + return value; +} + +template void impl_ISpatialSurfaceMeshOptions::IncludeVertexNormals(bool value) const +{ + check_hresult(WINRT_SHIM(ISpatialSurfaceMeshOptions)->put_IncludeVertexNormals(value)); +} + +template GUID impl_ISpatialSurfaceInfo::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceInfo)->get_Id(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ISpatialSurfaceInfo::UpdateTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceInfo)->get_UpdateTime(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISpatialSurfaceInfo::TryGetBounds(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpatialSurfaceInfo)->abi_TryGetBounds(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISpatialSurfaceInfo::TryComputeLatestMeshAsync(double maxTrianglesPerCubicMeter) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ISpatialSurfaceInfo)->abi_TryComputeLatestMeshAsync(maxTrianglesPerCubicMeter, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISpatialSurfaceInfo::TryComputeLatestMeshAsync(double maxTrianglesPerCubicMeter, const Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshOptions & options) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ISpatialSurfaceInfo)->abi_TryComputeLatestMeshWithOptionsAsync(maxTrianglesPerCubicMeter, get_abi(options), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISpatialSurfaceObserverStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISpatialSurfaceObserverStatics)->abi_RequestAccessAsync(put_abi(result))); + return result; +} + +template bool impl_ISpatialSurfaceObserverStatics2::IsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceObserverStatics2)->abi_IsSupported(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ISpatialSurfaceObserver::GetObservedSurfaces() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ISpatialSurfaceObserver)->abi_GetObservedSurfaces(put_abi(value))); + return value; +} + +template void impl_ISpatialSurfaceObserver::SetBoundingVolume(const Windows::Perception::Spatial::SpatialBoundingVolume & bounds) const +{ + check_hresult(WINRT_SHIM(ISpatialSurfaceObserver)->abi_SetBoundingVolume(get_abi(bounds))); +} + +template void impl_ISpatialSurfaceObserver::SetBoundingVolumes(iterable bounds) const +{ + check_hresult(WINRT_SHIM(ISpatialSurfaceObserver)->abi_SetBoundingVolumes(get_abi(bounds))); +} + +template event_token impl_ISpatialSurfaceObserver::ObservedSurfacesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialSurfaceObserver)->add_ObservedSurfacesChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialSurfaceObserver::ObservedSurfacesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceObserver::remove_ObservedSurfacesChanged, ObservedSurfacesChanged(handler)); +} + +template void impl_ISpatialSurfaceObserver::ObservedSurfacesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialSurfaceObserver)->remove_ObservedSurfacesChanged(token)); +} + +inline SpatialSurfaceMeshOptions::SpatialSurfaceMeshOptions() : + SpatialSurfaceMeshOptions(activate_instance()) +{} + +inline Windows::Foundation::Collections::IVectorView SpatialSurfaceMeshOptions::SupportedVertexPositionFormats() +{ + return get_activation_factory().SupportedVertexPositionFormats(); +} + +inline Windows::Foundation::Collections::IVectorView SpatialSurfaceMeshOptions::SupportedTriangleIndexFormats() +{ + return get_activation_factory().SupportedTriangleIndexFormats(); +} + +inline Windows::Foundation::Collections::IVectorView SpatialSurfaceMeshOptions::SupportedVertexNormalFormats() +{ + return get_activation_factory().SupportedVertexNormalFormats(); +} + +inline SpatialSurfaceObserver::SpatialSurfaceObserver() : + SpatialSurfaceObserver(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation SpatialSurfaceObserver::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline bool SpatialSurfaceObserver::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceMesh & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceMeshBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceMeshOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceMeshOptionsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceObserver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceObserverStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::ISpatialSurfaceObserverStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMesh & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceObserver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Perception.Spatial.h b/10.0.15042.0/winrt/Windows.Perception.Spatial.h new file mode 100644 index 000000000..5ce1d2fc0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Perception.Spatial.h @@ -0,0 +1,2484 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Perception.3.h" +#include "internal/Windows.System.RemoteSystems.3.h" +#include "internal/Windows.Perception.Spatial.3.h" +#include "Windows.Perception.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CoordinateSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawCoordinateSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawCoordinateSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RawCoordinateSystemAdjusted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().RawCoordinateSystemAdjusted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RawCoordinateSystemAdjusted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RawCoordinateSystemAdjusted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemovedByUser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedByUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStoreAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestStoreAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldRawCoordinateSystemToNewRawCoordinateSystemTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryCreateRelativeTo(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryCreateRelativeTo(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateWithPositionRelativeTo(impl::abi_arg_in coordinateSystem, impl::abi_arg_in position, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryCreateRelativeTo(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&position))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateWithPositionAndOrientationRelativeTo(impl::abi_arg_in coordinateSystem, impl::abi_arg_in position, impl::abi_arg_in orientation, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryCreateRelativeTo(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&position), *reinterpret_cast(&orientation))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAllSavedAnchors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAllSavedAnchors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySave(impl::abi_arg_in id, impl::abi_arg_in anchor, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySave(*reinterpret_cast(&id), *reinterpret_cast(&anchor))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in id) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&id)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryImportAnchorsAsync(impl::abi_arg_in stream, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryImportAnchorsAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryExportAnchorsAsync(impl::abi_arg_in>> anchors, impl::abi_arg_in stream, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryExportAnchorsAsync(*reinterpret_cast> *>(&anchors), *reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromBox(impl::abi_arg_in coordinateSystem, impl::abi_arg_in box, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromBox(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&box))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromOrientedBox(impl::abi_arg_in coordinateSystem, impl::abi_arg_in box, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromOrientedBox(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&box))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromSphere(impl::abi_arg_in coordinateSystem, impl::abi_arg_in sphere, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromSphere(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&sphere))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FromFrustum(impl::abi_arg_in coordinateSystem, impl::abi_arg_in frustum, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromFrustum(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(&frustum))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetTransformTo(impl::abi_arg_in target, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetTransformTo(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Anchor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Anchor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Entity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Entity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithSpatialAnchor(impl::abi_arg_in spatialAnchor, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithSpatialAnchor(*reinterpret_cast(&spatialAnchor))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithSpatialAnchorAndProperties(impl::abi_arg_in spatialAnchor, impl::abi_arg_in propertySet, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithSpatialAnchorAndProperties(*reinterpret_cast(&spatialAnchor), *reinterpret_cast(&propertySet))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Entity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Entity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_in entity, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SaveAsync(*reinterpret_cast(&entity))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAsync(impl::abi_arg_in entity, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().RemoveAsync(*reinterpret_cast(&entity))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateEntityWatcher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateEntityWatcher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetForRemoteSystemSession(impl::abi_arg_in session, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGet(*reinterpret_cast(&session))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Entity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Entity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Perception::Spatial::SpatialEntityWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AbsoluteLinearVelocity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteLinearVelocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AbsoluteLinearAcceleration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteLinearAcceleration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AbsoluteAngularVelocity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteAngularVelocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AbsoluteAngularAcceleration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AbsoluteAngularAcceleration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Locatability(Windows::Perception::Spatial::SpatialLocatability * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Locatability()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LocatabilityChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().LocatabilityChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LocatabilityChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LocatabilityChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PositionalTrackingDeactivating(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PositionalTrackingDeactivating(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PositionalTrackingDeactivating(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionalTrackingDeactivating(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryLocateAtTimestamp(impl::abi_arg_in timestamp, impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryLocateAtTimestamp(*reinterpret_cast(×tamp), *reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAttachedFrameOfReferenceAtCurrentHeading(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAttachedFrameOfReferenceAtCurrentHeading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAttachedFrameOfReferenceAtCurrentHeadingWithPosition(impl::abi_arg_in relativePosition, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAttachedFrameOfReferenceAtCurrentHeading(*reinterpret_cast(&relativePosition))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientation(impl::abi_arg_in relativePosition, impl::abi_arg_in relativeOrientation, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAttachedFrameOfReferenceAtCurrentHeading(*reinterpret_cast(&relativePosition), *reinterpret_cast(&relativeOrientation))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientationAndRelativeHeading(impl::abi_arg_in relativePosition, impl::abi_arg_in relativeOrientation, double relativeHeadingInRadians, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateAttachedFrameOfReferenceAtCurrentHeading(*reinterpret_cast(&relativePosition), *reinterpret_cast(&relativeOrientation), relativeHeadingInRadians)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStationaryFrameOfReferenceAtCurrentLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateStationaryFrameOfReferenceAtCurrentLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStationaryFrameOfReferenceAtCurrentLocationWithPosition(impl::abi_arg_in relativePosition, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateStationaryFrameOfReferenceAtCurrentLocation(*reinterpret_cast(&relativePosition))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientation(impl::abi_arg_in relativePosition, impl::abi_arg_in relativeOrientation, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateStationaryFrameOfReferenceAtCurrentLocation(*reinterpret_cast(&relativePosition), *reinterpret_cast(&relativeOrientation))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientationAndRelativeHeading(impl::abi_arg_in relativePosition, impl::abi_arg_in relativeOrientation, double relativeHeadingInRadians, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateStationaryFrameOfReferenceAtCurrentLocation(*reinterpret_cast(&relativePosition), *reinterpret_cast(&relativeOrientation), relativeHeadingInRadians)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RelativePosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativePosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelativePosition(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelativePosition(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelativeOrientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelativeOrientation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelativeOrientation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AdjustHeading(double headingOffsetInRadians) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdjustHeading(headingOffsetInRadians); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStationaryCoordinateSystemAtTimestamp(impl::abi_arg_in timestamp, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetStationaryCoordinateSystemAtTimestamp(*reinterpret_cast(×tamp))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetRelativeHeadingAtTimestamp(impl::abi_arg_in timestamp, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetRelativeHeadingAtTimestamp(*reinterpret_cast(×tamp))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Canceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Canceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Canceled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Canceled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CoordinateSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MovementRange(Windows::Perception::Spatial::SpatialMovementRange * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MovementRange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LookDirectionRange(Windows::Perception::Spatial::SpatialLookDirectionRange * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LookDirectionRange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCoordinateSystemAtCurrentLocation(impl::abi_arg_in locator, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCoordinateSystemAtCurrentLocation(*reinterpret_cast(&locator))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetMovementBounds(impl::abi_arg_in coordinateSystem, uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().TryGetMovementBounds(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CurrentChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().CurrentChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CurrentChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrentChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestNewStageAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestNewStageAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CoordinateSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Perception::Spatial { + +template Windows::Foundation::IReference impl_ISpatialCoordinateSystem::TryGetTransformTo(const Windows::Perception::Spatial::SpatialCoordinateSystem & target) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpatialCoordinateSystem)->abi_TryGetTransformTo(get_abi(target), put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float4x4 impl_ISpatialAnchorRawCoordinateSystemAdjustedEventArgs::OldRawCoordinateSystemToNewRawCoordinateSystemTransform() const +{ + Windows::Foundation::Numerics::float4x4 value {}; + check_hresult(WINRT_SHIM(ISpatialAnchorRawCoordinateSystemAdjustedEventArgs)->get_OldRawCoordinateSystemToNewRawCoordinateSystemTransform(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_ISpatialAnchor::CoordinateSystem() const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialAnchor)->get_CoordinateSystem(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_ISpatialAnchor::RawCoordinateSystem() const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialAnchor)->get_RawCoordinateSystem(put_abi(value))); + return value; +} + +template event_token impl_ISpatialAnchor::RawCoordinateSystemAdjusted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISpatialAnchor)->add_RawCoordinateSystemAdjusted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ISpatialAnchor::RawCoordinateSystemAdjusted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialAnchor::remove_RawCoordinateSystemAdjusted, RawCoordinateSystemAdjusted(handler)); +} + +template void impl_ISpatialAnchor::RawCoordinateSystemAdjusted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISpatialAnchor)->remove_RawCoordinateSystemAdjusted(cookie)); +} + +template bool impl_ISpatialAnchor2::RemovedByUser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialAnchor2)->get_RemovedByUser(&value)); + return value; +} + +template Windows::Perception::Spatial::SpatialAnchor impl_ISpatialAnchorStatics::TryCreateRelativeTo(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Perception::Spatial::SpatialAnchor value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialAnchorStatics)->abi_TryCreateRelativeTo(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialAnchor impl_ISpatialAnchorStatics::TryCreateRelativeTo(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Foundation::Numerics::float3 & position) const +{ + Windows::Perception::Spatial::SpatialAnchor value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialAnchorStatics)->abi_TryCreateWithPositionRelativeTo(get_abi(coordinateSystem), get_abi(position), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialAnchor impl_ISpatialAnchorStatics::TryCreateRelativeTo(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Foundation::Numerics::float3 & position, const Windows::Foundation::Numerics::quaternion & orientation) const +{ + Windows::Perception::Spatial::SpatialAnchor value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialAnchorStatics)->abi_TryCreateWithPositionAndOrientationRelativeTo(get_abi(coordinateSystem), get_abi(position), get_abi(orientation), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ISpatialAnchorStore::GetAllSavedAnchors() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ISpatialAnchorStore)->abi_GetAllSavedAnchors(put_abi(value))); + return value; +} + +template bool impl_ISpatialAnchorStore::TrySave(hstring_view id, const Windows::Perception::Spatial::SpatialAnchor & anchor) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(ISpatialAnchorStore)->abi_TrySave(get_abi(id), get_abi(anchor), &succeeded)); + return succeeded; +} + +template void impl_ISpatialAnchorStore::Remove(hstring_view id) const +{ + check_hresult(WINRT_SHIM(ISpatialAnchorStore)->abi_Remove(get_abi(id))); +} + +template void impl_ISpatialAnchorStore::Clear() const +{ + check_hresult(WINRT_SHIM(ISpatialAnchorStore)->abi_Clear()); +} + +template Windows::Foundation::IAsyncOperation impl_ISpatialAnchorManagerStatics::RequestStoreAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ISpatialAnchorManagerStatics)->abi_RequestStoreAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ISpatialAnchorTransferManagerStatics::TryImportAnchorsAsync(const Windows::Storage::Streams::IInputStream & stream) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ISpatialAnchorTransferManagerStatics)->abi_TryImportAnchorsAsync(get_abi(stream), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISpatialAnchorTransferManagerStatics::TryExportAnchorsAsync(iterable> anchors, const Windows::Storage::Streams::IOutputStream & stream) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISpatialAnchorTransferManagerStatics)->abi_TryExportAnchorsAsync(get_abi(anchors), get_abi(stream), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISpatialAnchorTransferManagerStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISpatialAnchorTransferManagerStatics)->abi_RequestAccessAsync(put_abi(result))); + return result; +} + +template bool impl_ISpatialLocatorPositionalTrackingDeactivatingEventArgs::Canceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialLocatorPositionalTrackingDeactivatingEventArgs)->get_Canceled(&value)); + return value; +} + +template void impl_ISpatialLocatorPositionalTrackingDeactivatingEventArgs::Canceled(bool value) const +{ + check_hresult(WINRT_SHIM(ISpatialLocatorPositionalTrackingDeactivatingEventArgs)->put_Canceled(value)); +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialLocatorAttachedFrameOfReference::RelativePosition() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialLocatorAttachedFrameOfReference)->get_RelativePosition(put_abi(value))); + return value; +} + +template void impl_ISpatialLocatorAttachedFrameOfReference::RelativePosition(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(ISpatialLocatorAttachedFrameOfReference)->put_RelativePosition(get_abi(value))); +} + +template Windows::Foundation::Numerics::quaternion impl_ISpatialLocatorAttachedFrameOfReference::RelativeOrientation() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(ISpatialLocatorAttachedFrameOfReference)->get_RelativeOrientation(put_abi(value))); + return value; +} + +template void impl_ISpatialLocatorAttachedFrameOfReference::RelativeOrientation(const Windows::Foundation::Numerics::quaternion & value) const +{ + check_hresult(WINRT_SHIM(ISpatialLocatorAttachedFrameOfReference)->put_RelativeOrientation(get_abi(value))); +} + +template void impl_ISpatialLocatorAttachedFrameOfReference::AdjustHeading(double headingOffsetInRadians) const +{ + check_hresult(WINRT_SHIM(ISpatialLocatorAttachedFrameOfReference)->abi_AdjustHeading(headingOffsetInRadians)); +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_ISpatialLocatorAttachedFrameOfReference::GetStationaryCoordinateSystemAtTimestamp(const Windows::Perception::PerceptionTimestamp & timestamp) const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocatorAttachedFrameOfReference)->abi_GetStationaryCoordinateSystemAtTimestamp(get_abi(timestamp), put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISpatialLocatorAttachedFrameOfReference::TryGetRelativeHeadingAtTimestamp(const Windows::Perception::PerceptionTimestamp & timestamp) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpatialLocatorAttachedFrameOfReference)->abi_TryGetRelativeHeadingAtTimestamp(get_abi(timestamp), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_ISpatialStationaryFrameOfReference::CoordinateSystem() const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialStationaryFrameOfReference)->get_CoordinateSystem(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialLocation::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialLocation)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::quaternion impl_ISpatialLocation::Orientation() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(ISpatialLocation)->get_Orientation(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialLocation::AbsoluteLinearVelocity() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialLocation)->get_AbsoluteLinearVelocity(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialLocation::AbsoluteLinearAcceleration() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialLocation)->get_AbsoluteLinearAcceleration(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::quaternion impl_ISpatialLocation::AbsoluteAngularVelocity() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(ISpatialLocation)->get_AbsoluteAngularVelocity(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::quaternion impl_ISpatialLocation::AbsoluteAngularAcceleration() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(ISpatialLocation)->get_AbsoluteAngularAcceleration(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialLocatability impl_ISpatialLocator::Locatability() const +{ + Windows::Perception::Spatial::SpatialLocatability value {}; + check_hresult(WINRT_SHIM(ISpatialLocator)->get_Locatability(&value)); + return value; +} + +template event_token impl_ISpatialLocator::LocatabilityChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISpatialLocator)->add_LocatabilityChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ISpatialLocator::LocatabilityChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialLocator::remove_LocatabilityChanged, LocatabilityChanged(handler)); +} + +template void impl_ISpatialLocator::LocatabilityChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISpatialLocator)->remove_LocatabilityChanged(cookie)); +} + +template event_token impl_ISpatialLocator::PositionalTrackingDeactivating(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISpatialLocator)->add_PositionalTrackingDeactivating(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ISpatialLocator::PositionalTrackingDeactivating(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialLocator::remove_PositionalTrackingDeactivating, PositionalTrackingDeactivating(handler)); +} + +template void impl_ISpatialLocator::PositionalTrackingDeactivating(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISpatialLocator)->remove_PositionalTrackingDeactivating(cookie)); +} + +template Windows::Perception::Spatial::SpatialLocation impl_ISpatialLocator::TryLocateAtTimestamp(const Windows::Perception::PerceptionTimestamp & timestamp, const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Perception::Spatial::SpatialLocation value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_TryLocateAtTimestamp(get_abi(timestamp), get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference impl_ISpatialLocator::CreateAttachedFrameOfReferenceAtCurrentHeading() const +{ + Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateAttachedFrameOfReferenceAtCurrentHeading(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference impl_ISpatialLocator::CreateAttachedFrameOfReferenceAtCurrentHeading(const Windows::Foundation::Numerics::float3 & relativePosition) const +{ + Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateAttachedFrameOfReferenceAtCurrentHeadingWithPosition(get_abi(relativePosition), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference impl_ISpatialLocator::CreateAttachedFrameOfReferenceAtCurrentHeading(const Windows::Foundation::Numerics::float3 & relativePosition, const Windows::Foundation::Numerics::quaternion & relativeOrientation) const +{ + Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientation(get_abi(relativePosition), get_abi(relativeOrientation), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference impl_ISpatialLocator::CreateAttachedFrameOfReferenceAtCurrentHeading(const Windows::Foundation::Numerics::float3 & relativePosition, const Windows::Foundation::Numerics::quaternion & relativeOrientation, double relativeHeadingInRadians) const +{ + Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateAttachedFrameOfReferenceAtCurrentHeadingWithPositionAndOrientationAndRelativeHeading(get_abi(relativePosition), get_abi(relativeOrientation), relativeHeadingInRadians, put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialStationaryFrameOfReference impl_ISpatialLocator::CreateStationaryFrameOfReferenceAtCurrentLocation() const +{ + Windows::Perception::Spatial::SpatialStationaryFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateStationaryFrameOfReferenceAtCurrentLocation(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialStationaryFrameOfReference impl_ISpatialLocator::CreateStationaryFrameOfReferenceAtCurrentLocation(const Windows::Foundation::Numerics::float3 & relativePosition) const +{ + Windows::Perception::Spatial::SpatialStationaryFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateStationaryFrameOfReferenceAtCurrentLocationWithPosition(get_abi(relativePosition), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialStationaryFrameOfReference impl_ISpatialLocator::CreateStationaryFrameOfReferenceAtCurrentLocation(const Windows::Foundation::Numerics::float3 & relativePosition, const Windows::Foundation::Numerics::quaternion & relativeOrientation) const +{ + Windows::Perception::Spatial::SpatialStationaryFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientation(get_abi(relativePosition), get_abi(relativeOrientation), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialStationaryFrameOfReference impl_ISpatialLocator::CreateStationaryFrameOfReferenceAtCurrentLocation(const Windows::Foundation::Numerics::float3 & relativePosition, const Windows::Foundation::Numerics::quaternion & relativeOrientation, double relativeHeadingInRadians) const +{ + Windows::Perception::Spatial::SpatialStationaryFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocator)->abi_CreateStationaryFrameOfReferenceAtCurrentLocationWithPositionAndOrientationAndRelativeHeading(get_abi(relativePosition), get_abi(relativeOrientation), relativeHeadingInRadians, put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialLocator impl_ISpatialLocatorStatics::GetDefault() const +{ + Windows::Perception::Spatial::SpatialLocator value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialLocatorStatics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialBoundingVolume impl_ISpatialBoundingVolumeStatics::FromBox(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingBox & box) const +{ + Windows::Perception::Spatial::SpatialBoundingVolume value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialBoundingVolumeStatics)->abi_FromBox(get_abi(coordinateSystem), get_abi(box), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialBoundingVolume impl_ISpatialBoundingVolumeStatics::FromOrientedBox(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingOrientedBox & box) const +{ + Windows::Perception::Spatial::SpatialBoundingVolume value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialBoundingVolumeStatics)->abi_FromOrientedBox(get_abi(coordinateSystem), get_abi(box), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialBoundingVolume impl_ISpatialBoundingVolumeStatics::FromSphere(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingSphere & sphere) const +{ + Windows::Perception::Spatial::SpatialBoundingVolume value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialBoundingVolumeStatics)->abi_FromSphere(get_abi(coordinateSystem), get_abi(sphere), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialBoundingVolume impl_ISpatialBoundingVolumeStatics::FromFrustum(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingFrustum & frustum) const +{ + Windows::Perception::Spatial::SpatialBoundingVolume value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialBoundingVolumeStatics)->abi_FromFrustum(get_abi(coordinateSystem), get_abi(frustum), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_ISpatialStageFrameOfReference::CoordinateSystem() const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReference)->get_CoordinateSystem(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialMovementRange impl_ISpatialStageFrameOfReference::MovementRange() const +{ + Windows::Perception::Spatial::SpatialMovementRange value {}; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReference)->get_MovementRange(&value)); + return value; +} + +template Windows::Perception::Spatial::SpatialLookDirectionRange impl_ISpatialStageFrameOfReference::LookDirectionRange() const +{ + Windows::Perception::Spatial::SpatialLookDirectionRange value {}; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReference)->get_LookDirectionRange(&value)); + return value; +} + +template Windows::Perception::Spatial::SpatialCoordinateSystem impl_ISpatialStageFrameOfReference::GetCoordinateSystemAtCurrentLocation(const Windows::Perception::Spatial::SpatialLocator & locator) const +{ + Windows::Perception::Spatial::SpatialCoordinateSystem result { nullptr }; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReference)->abi_GetCoordinateSystemAtCurrentLocation(get_abi(locator), put_abi(result))); + return result; +} + +template com_array impl_ISpatialStageFrameOfReference::TryGetMovementBounds(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReference)->abi_TryGetMovementBounds(get_abi(coordinateSystem), impl::put_size_abi(value), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialStageFrameOfReference impl_ISpatialStageFrameOfReferenceStatics::Current() const +{ + Windows::Perception::Spatial::SpatialStageFrameOfReference value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReferenceStatics)->get_Current(put_abi(value))); + return value; +} + +template event_token impl_ISpatialStageFrameOfReferenceStatics::CurrentChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReferenceStatics)->add_CurrentChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ISpatialStageFrameOfReferenceStatics::CurrentChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialStageFrameOfReferenceStatics::remove_CurrentChanged, CurrentChanged(handler)); +} + +template void impl_ISpatialStageFrameOfReferenceStatics::CurrentChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReferenceStatics)->remove_CurrentChanged(cookie)); +} + +template Windows::Foundation::IAsyncOperation impl_ISpatialStageFrameOfReferenceStatics::RequestNewStageAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISpatialStageFrameOfReferenceStatics)->abi_RequestNewStageAsync(put_abi(result))); + return result; +} + +template hstring impl_ISpatialEntity::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpatialEntity)->get_Id(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialAnchor impl_ISpatialEntity::Anchor() const +{ + Windows::Perception::Spatial::SpatialAnchor value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntity)->get_Anchor(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_ISpatialEntity::Properties() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntity)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialEntity impl_ISpatialEntityFactory::CreateWithSpatialAnchor(const Windows::Perception::Spatial::SpatialAnchor & spatialAnchor) const +{ + Windows::Perception::Spatial::SpatialEntity value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntityFactory)->abi_CreateWithSpatialAnchor(get_abi(spatialAnchor), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialEntity impl_ISpatialEntityFactory::CreateWithSpatialAnchorAndProperties(const Windows::Perception::Spatial::SpatialAnchor & spatialAnchor, const Windows::Foundation::Collections::ValueSet & propertySet) const +{ + Windows::Perception::Spatial::SpatialEntity value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntityFactory)->abi_CreateWithSpatialAnchorAndProperties(get_abi(spatialAnchor), get_abi(propertySet), put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialEntity impl_ISpatialEntityAddedEventArgs::Entity() const +{ + Windows::Perception::Spatial::SpatialEntity value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntityAddedEventArgs)->get_Entity(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialEntity impl_ISpatialEntityUpdatedEventArgs::Entity() const +{ + Windows::Perception::Spatial::SpatialEntity value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntityUpdatedEventArgs)->get_Entity(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialEntity impl_ISpatialEntityRemovedEventArgs::Entity() const +{ + Windows::Perception::Spatial::SpatialEntity value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntityRemovedEventArgs)->get_Entity(put_abi(value))); + return value; +} + +template Windows::Perception::Spatial::SpatialEntityWatcherStatus impl_ISpatialEntityWatcher::Status() const +{ + Windows::Perception::Spatial::SpatialEntityWatcherStatus value {}; + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->get_Status(&value)); + return value; +} + +template event_token impl_ISpatialEntityWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialEntityWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialEntityWatcher::remove_Added, Added(handler)); +} + +template void impl_ISpatialEntityWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->remove_Added(token)); +} + +template event_token impl_ISpatialEntityWatcher::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialEntityWatcher::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialEntityWatcher::remove_Updated, Updated(handler)); +} + +template void impl_ISpatialEntityWatcher::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->remove_Updated(token)); +} + +template event_token impl_ISpatialEntityWatcher::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialEntityWatcher::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialEntityWatcher::remove_Removed, Removed(handler)); +} + +template void impl_ISpatialEntityWatcher::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->remove_Removed(token)); +} + +template event_token impl_ISpatialEntityWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialEntityWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Perception::Spatial::ISpatialEntityWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_ISpatialEntityWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->remove_EnumerationCompleted(token)); +} + +template void impl_ISpatialEntityWatcher::Start() const +{ + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->abi_Start()); +} + +template void impl_ISpatialEntityWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(ISpatialEntityWatcher)->abi_Stop()); +} + +template Windows::Foundation::IAsyncAction impl_ISpatialEntityStore::SaveAsync(const Windows::Perception::Spatial::SpatialEntity & entity) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(ISpatialEntityStore)->abi_SaveAsync(get_abi(entity), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_ISpatialEntityStore::RemoveAsync(const Windows::Perception::Spatial::SpatialEntity & entity) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(ISpatialEntityStore)->abi_RemoveAsync(get_abi(entity), put_abi(action))); + return action; +} + +template Windows::Perception::Spatial::SpatialEntityWatcher impl_ISpatialEntityStore::CreateEntityWatcher() const +{ + Windows::Perception::Spatial::SpatialEntityWatcher value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntityStore)->abi_CreateEntityWatcher(put_abi(value))); + return value; +} + +template bool impl_ISpatialEntityStoreStatics::IsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialEntityStoreStatics)->get_IsSupported(&value)); + return value; +} + +template Windows::Perception::Spatial::SpatialEntityStore impl_ISpatialEntityStoreStatics::TryGet(const Windows::System::RemoteSystems::RemoteSystemSession & session) const +{ + Windows::Perception::Spatial::SpatialEntityStore value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialEntityStoreStatics)->abi_TryGetForRemoteSystemSession(get_abi(session), put_abi(value))); + return value; +} + +inline Windows::Perception::Spatial::SpatialAnchor SpatialAnchor::TryCreateRelativeTo(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) +{ + return get_activation_factory().TryCreateRelativeTo(coordinateSystem); +} + +inline Windows::Perception::Spatial::SpatialAnchor SpatialAnchor::TryCreateRelativeTo(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Foundation::Numerics::float3 & position) +{ + return get_activation_factory().TryCreateRelativeTo(coordinateSystem, position); +} + +inline Windows::Perception::Spatial::SpatialAnchor SpatialAnchor::TryCreateRelativeTo(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Foundation::Numerics::float3 & position, const Windows::Foundation::Numerics::quaternion & orientation) +{ + return get_activation_factory().TryCreateRelativeTo(coordinateSystem, position, orientation); +} + +inline Windows::Foundation::IAsyncOperation SpatialAnchorManager::RequestStoreAsync() +{ + return get_activation_factory().RequestStoreAsync(); +} + +inline Windows::Foundation::IAsyncOperation> SpatialAnchorTransferManager::TryImportAnchorsAsync(const Windows::Storage::Streams::IInputStream & stream) +{ + return get_activation_factory().TryImportAnchorsAsync(stream); +} + +inline Windows::Foundation::IAsyncOperation SpatialAnchorTransferManager::TryExportAnchorsAsync(iterable> anchors, const Windows::Storage::Streams::IOutputStream & stream) +{ + return get_activation_factory().TryExportAnchorsAsync(anchors, stream); +} + +inline Windows::Foundation::IAsyncOperation SpatialAnchorTransferManager::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline Windows::Perception::Spatial::SpatialBoundingVolume SpatialBoundingVolume::FromBox(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingBox & box) +{ + return get_activation_factory().FromBox(coordinateSystem, box); +} + +inline Windows::Perception::Spatial::SpatialBoundingVolume SpatialBoundingVolume::FromOrientedBox(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingOrientedBox & box) +{ + return get_activation_factory().FromOrientedBox(coordinateSystem, box); +} + +inline Windows::Perception::Spatial::SpatialBoundingVolume SpatialBoundingVolume::FromSphere(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingSphere & sphere) +{ + return get_activation_factory().FromSphere(coordinateSystem, sphere); +} + +inline Windows::Perception::Spatial::SpatialBoundingVolume SpatialBoundingVolume::FromFrustum(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::Spatial::SpatialBoundingFrustum & frustum) +{ + return get_activation_factory().FromFrustum(coordinateSystem, frustum); +} + +inline SpatialEntity::SpatialEntity(const Windows::Perception::Spatial::SpatialAnchor & spatialAnchor) : + SpatialEntity(get_activation_factory().CreateWithSpatialAnchor(spatialAnchor)) +{} + +inline SpatialEntity::SpatialEntity(const Windows::Perception::Spatial::SpatialAnchor & spatialAnchor, const Windows::Foundation::Collections::ValueSet & propertySet) : + SpatialEntity(get_activation_factory().CreateWithSpatialAnchorAndProperties(spatialAnchor, propertySet)) +{} + +inline bool SpatialEntityStore::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline Windows::Perception::Spatial::SpatialEntityStore SpatialEntityStore::TryGet(const Windows::System::RemoteSystems::RemoteSystemSession & session) +{ + return get_activation_factory().TryGet(session); +} + +inline Windows::Perception::Spatial::SpatialLocator SpatialLocator::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Perception::Spatial::SpatialStageFrameOfReference SpatialStageFrameOfReference::Current() +{ + return get_activation_factory().Current(); +} + +inline event_token SpatialStageFrameOfReference::CurrentChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().CurrentChanged(handler); +} + +inline factory_event_revoker SpatialStageFrameOfReference::CurrentChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Perception::Spatial::ISpatialStageFrameOfReferenceStatics::remove_CurrentChanged, factory.CurrentChanged(handler) }; +} + +inline void SpatialStageFrameOfReference::CurrentChanged(event_token cookie) +{ + get_activation_factory().CurrentChanged(cookie); +} + +inline Windows::Foundation::IAsyncOperation SpatialStageFrameOfReference::RequestNewStageAsync() +{ + return get_activation_factory().RequestNewStageAsync(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialAnchor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialAnchor2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialAnchorManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialAnchorRawCoordinateSystemAdjustedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialAnchorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialAnchorStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialAnchorTransferManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialBoundingVolume & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialBoundingVolumeStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialCoordinateSystem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntityAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntityFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntityRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntityStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntityStoreStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntityUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialEntityWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialLocator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialLocatorAttachedFrameOfReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialLocatorPositionalTrackingDeactivatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialLocatorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialStageFrameOfReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialStageFrameOfReferenceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::ISpatialStationaryFrameOfReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialAnchor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialAnchorRawCoordinateSystemAdjustedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialAnchorStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialBoundingVolume & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialCoordinateSystem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialEntity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialEntityAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialEntityRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialEntityStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialEntityUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialEntityWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialLocator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialLocatorAttachedFrameOfReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialLocatorPositionalTrackingDeactivatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialStageFrameOfReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::Spatial::SpatialStationaryFrameOfReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Perception.h b/10.0.15042.0/winrt/Windows.Perception.h new file mode 100644 index 000000000..e74d21d78 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Perception.h @@ -0,0 +1,128 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Perception.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PredictionAmount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PredictionAmount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromHistoricalTargetTime(impl::abi_arg_in targetTime, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromHistoricalTargetTime(*reinterpret_cast(&targetTime))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Perception { + +template Windows::Foundation::DateTime impl_IPerceptionTimestamp::TargetTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPerceptionTimestamp)->get_TargetTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPerceptionTimestamp::PredictionAmount() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPerceptionTimestamp)->get_PredictionAmount(put_abi(value))); + return value; +} + +template Windows::Perception::PerceptionTimestamp impl_IPerceptionTimestampHelperStatics::FromHistoricalTargetTime(const Windows::Foundation::DateTime & targetTime) const +{ + Windows::Perception::PerceptionTimestamp value { nullptr }; + check_hresult(WINRT_SHIM(IPerceptionTimestampHelperStatics)->abi_FromHistoricalTargetTime(get_abi(targetTime), put_abi(value))); + return value; +} + +inline Windows::Perception::PerceptionTimestamp PerceptionTimestampHelper::FromHistoricalTargetTime(const Windows::Foundation::DateTime & targetTime) +{ + return get_activation_factory().FromHistoricalTargetTime(targetTime); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::IPerceptionTimestamp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::IPerceptionTimestampHelperStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Perception::PerceptionTimestamp & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.ApplicationModel.h b/10.0.15042.0/winrt/Windows.Phone.ApplicationModel.h new file mode 100644 index 000000000..ffd5a1545 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.ApplicationModel.h @@ -0,0 +1,62 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Phone.ApplicationModel.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Modes(Windows::Phone::ApplicationModel::ApplicationProfileModes * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Modes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::ApplicationModel { + +template Windows::Phone::ApplicationModel::ApplicationProfileModes impl_IApplicationProfileStatics::Modes() const +{ + Windows::Phone::ApplicationModel::ApplicationProfileModes value {}; + check_hresult(WINRT_SHIM(IApplicationProfileStatics)->get_Modes(&value)); + return value; +} + +inline Windows::Phone::ApplicationModel::ApplicationProfileModes ApplicationProfile::Modes() +{ + return get_activation_factory().Modes(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::ApplicationModel::IApplicationProfileStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.Devices.Notification.h b/10.0.15042.0/winrt/Windows.Phone.Devices.Notification.h new file mode 100644 index 000000000..af13adb26 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.Devices.Notification.h @@ -0,0 +1,124 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Phone.Devices.Notification.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Vibrate(impl::abi_arg_in duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Vibrate(*reinterpret_cast(&duration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Cancel() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::Devices::Notification { + +template Windows::Phone::Devices::Notification::VibrationDevice impl_IVibrationDeviceStatics::GetDefault() const +{ + Windows::Phone::Devices::Notification::VibrationDevice result { nullptr }; + check_hresult(WINRT_SHIM(IVibrationDeviceStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template void impl_IVibrationDevice::Vibrate(const Windows::Foundation::TimeSpan & duration) const +{ + check_hresult(WINRT_SHIM(IVibrationDevice)->abi_Vibrate(get_abi(duration))); +} + +template void impl_IVibrationDevice::Cancel() const +{ + check_hresult(WINRT_SHIM(IVibrationDevice)->abi_Cancel()); +} + +inline Windows::Phone::Devices::Notification::VibrationDevice VibrationDevice::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Devices::Notification::IVibrationDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Devices::Notification::IVibrationDeviceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Devices::Notification::VibrationDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.Devices.Power.h b/10.0.15042.0/winrt/Windows.Phone.Devices.Power.h new file mode 100644 index 000000000..86b57c5a5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.Devices.Power.h @@ -0,0 +1,173 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Phone.Devices.Power.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemainingChargePercent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemainingChargePercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemainingDischargeTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemainingDischargeTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemainingChargePercentChanged(impl::abi_arg_in> changeHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemainingChargePercentChanged(*reinterpret_cast *>(&changeHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemainingChargePercentChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemainingChargePercentChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::Devices::Power { + +template Windows::Phone::Devices::Power::Battery impl_IBatteryStatics::GetDefault() const +{ + Windows::Phone::Devices::Power::Battery result { nullptr }; + check_hresult(WINRT_SHIM(IBatteryStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template int32_t impl_IBattery::RemainingChargePercent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IBattery)->get_RemainingChargePercent(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IBattery::RemainingDischargeTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IBattery)->get_RemainingDischargeTime(put_abi(value))); + return value; +} + +template event_token impl_IBattery::RemainingChargePercentChanged(const Windows::Foundation::EventHandler & changeHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBattery)->add_RemainingChargePercentChanged(get_abi(changeHandler), &token)); + return token; +} + +template event_revoker impl_IBattery::RemainingChargePercentChanged(auto_revoke_t, const Windows::Foundation::EventHandler & changeHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Phone::Devices::Power::IBattery::remove_RemainingChargePercentChanged, RemainingChargePercentChanged(changeHandler)); +} + +template void impl_IBattery::RemainingChargePercentChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IBattery)->remove_RemainingChargePercentChanged(token)); +} + +inline Windows::Phone::Devices::Power::Battery Battery::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Devices::Power::IBattery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Devices::Power::IBatteryStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Devices::Power::Battery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.Management.Deployment.h b/10.0.15042.0/winrt/Windows.Phone.Management.Deployment.h new file mode 100644 index 000000000..b2c896bc0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.Management.Deployment.h @@ -0,0 +1,730 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Management.Deployment.3.h" +#include "internal/Windows.Phone.Management.Deployment.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WorkplaceId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorkplaceId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnrollmentValidFrom(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnrollmentValidFrom()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnrollmentValidTo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnrollmentValidTo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Phone::Management::Deployment::EnterpriseStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnrolledEnterprises(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EnrolledEnterprises()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentEnterprise(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CurrentEnterprise()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ValidateEnterprisesAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ValidateEnterprisesAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestEnrollmentAsync(impl::abi_arg_in enrollmentToken, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestEnrollmentAsync(*reinterpret_cast(&enrollmentToken))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestUnenrollmentAsync(impl::abi_arg_in enterprise, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestUnenrollmentAsync(*reinterpret_cast(&enterprise))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnrolledEnterprise(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().EnrolledEnterprise()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Phone::Management::Deployment::EnterpriseEnrollmentStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddPackageAsync(impl::abi_arg_in title, impl::abi_arg_in sourceLocation, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AddPackageAsync(*reinterpret_cast(&title), *reinterpret_cast(&sourceLocation))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddPackagePreloadedAsync(impl::abi_arg_in title, impl::abi_arg_in sourceLocation, impl::abi_arg_in instanceId, impl::abi_arg_in offerId, impl::abi_arg_in license, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AddPackageAsync(*reinterpret_cast(&title), *reinterpret_cast(&sourceLocation), *reinterpret_cast(&instanceId), *reinterpret_cast(&offerId), *reinterpret_cast(&license))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPendingPackageInstalls(impl::abi_arg_out>> items) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *items = detach_abi(this->shim().GetPendingPackageInstalls()); + return S_OK; + } + catch (...) + { + *items = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesForCurrentPublisher(impl::abi_arg_out> items) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *items = detach_abi(this->shim().FindPackagesForCurrentPublisher()); + return S_OK; + } + catch (...) + { + *items = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackages(impl::abi_arg_out> items) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *items = detach_abi(this->shim().FindPackages()); + return S_OK; + } + catch (...) + { + *items = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RemovePackageAsync(impl::abi_arg_in packageFullName, Windows::Management::Deployment::RemovalOptions removalOptions, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RemovePackageAsync(*reinterpret_cast(&packageFullName), removalOptions)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterPackageAsync(impl::abi_arg_in manifestUri, impl::abi_arg_in> dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RegisterPackageAsync(*reinterpret_cast(&manifestUri), *reinterpret_cast *>(&dependencyPackageUris), deploymentOptions)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesByNamePublisher(impl::abi_arg_in packageName, impl::abi_arg_in packagePublisher, impl::abi_arg_out> items) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *items = detach_abi(this->shim().FindPackages(*reinterpret_cast(&packageName), *reinterpret_cast(&packagePublisher))); + return S_OK; + } + catch (...) + { + *items = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProductId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstallState(Windows::Management::Deployment::PackageInstallState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::Management::Deployment { + +template GUID impl_IEnterprise::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IEnterprise)->get_Id(&value)); + return value; +} + +template hstring impl_IEnterprise::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEnterprise)->get_Name(put_abi(value))); + return value; +} + +template int32_t impl_IEnterprise::WorkplaceId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IEnterprise)->get_WorkplaceId(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IEnterprise::EnrollmentValidFrom() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEnterprise)->get_EnrollmentValidFrom(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IEnterprise::EnrollmentValidTo() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEnterprise)->get_EnrollmentValidTo(put_abi(value))); + return value; +} + +template Windows::Phone::Management::Deployment::EnterpriseStatus impl_IEnterprise::Status() const +{ + Windows::Phone::Management::Deployment::EnterpriseStatus value {}; + check_hresult(WINRT_SHIM(IEnterprise)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IEnterpriseEnrollmentManager::EnrolledEnterprises() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IEnterpriseEnrollmentManager)->get_EnrolledEnterprises(put_abi(result))); + return result; +} + +template Windows::Phone::Management::Deployment::Enterprise impl_IEnterpriseEnrollmentManager::CurrentEnterprise() const +{ + Windows::Phone::Management::Deployment::Enterprise result { nullptr }; + check_hresult(WINRT_SHIM(IEnterpriseEnrollmentManager)->get_CurrentEnterprise(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IEnterpriseEnrollmentManager::ValidateEnterprisesAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IEnterpriseEnrollmentManager)->abi_ValidateEnterprisesAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEnterpriseEnrollmentManager::RequestEnrollmentAsync(hstring_view enrollmentToken) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEnterpriseEnrollmentManager)->abi_RequestEnrollmentAsync(get_abi(enrollmentToken), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEnterpriseEnrollmentManager::RequestUnenrollmentAsync(const Windows::Phone::Management::Deployment::Enterprise & enterprise) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IEnterpriseEnrollmentManager)->abi_RequestUnenrollmentAsync(get_abi(enterprise), put_abi(result))); + return result; +} + +template hstring impl_IPackageInstallResult::ProductId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageInstallResult)->get_ProductId(put_abi(value))); + return value; +} + +template Windows::Management::Deployment::PackageInstallState impl_IPackageInstallResult::InstallState() const +{ + Windows::Management::Deployment::PackageInstallState value {}; + check_hresult(WINRT_SHIM(IPackageInstallResult)->get_InstallState(&value)); + return value; +} + +template hstring impl_IPackageInstallResult2::ErrorText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPackageInstallResult2)->get_ErrorText(put_abi(value))); + return value; +} + +template Windows::Phone::Management::Deployment::Enterprise impl_IEnterpriseEnrollmentResult::EnrolledEnterprise() const +{ + Windows::Phone::Management::Deployment::Enterprise result { nullptr }; + check_hresult(WINRT_SHIM(IEnterpriseEnrollmentResult)->get_EnrolledEnterprise(put_abi(result))); + return result; +} + +template Windows::Phone::Management::Deployment::EnterpriseEnrollmentStatus impl_IEnterpriseEnrollmentResult::Status() const +{ + Windows::Phone::Management::Deployment::EnterpriseEnrollmentStatus value {}; + check_hresult(WINRT_SHIM(IEnterpriseEnrollmentResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IInstallationManagerStatics::AddPackageAsync(hstring_view title, const Windows::Foundation::Uri & sourceLocation) const +{ + Windows::Foundation::IAsyncOperationWithProgress asyncInfo; + check_hresult(WINRT_SHIM(IInstallationManagerStatics)->abi_AddPackageAsync(get_abi(title), get_abi(sourceLocation), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IInstallationManagerStatics::AddPackageAsync(hstring_view title, const Windows::Foundation::Uri & sourceLocation, hstring_view instanceId, hstring_view offerId, const Windows::Foundation::Uri & license) const +{ + Windows::Foundation::IAsyncOperationWithProgress asyncInfo; + check_hresult(WINRT_SHIM(IInstallationManagerStatics)->abi_AddPackagePreloadedAsync(get_abi(title), get_abi(sourceLocation), get_abi(instanceId), get_abi(offerId), get_abi(license), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::Collections::IIterable> impl_IInstallationManagerStatics::GetPendingPackageInstalls() const +{ + Windows::Foundation::Collections::IIterable> items; + check_hresult(WINRT_SHIM(IInstallationManagerStatics)->abi_GetPendingPackageInstalls(put_abi(items))); + return items; +} + +template Windows::Foundation::Collections::IIterable impl_IInstallationManagerStatics::FindPackagesForCurrentPublisher() const +{ + Windows::Foundation::Collections::IIterable items; + check_hresult(WINRT_SHIM(IInstallationManagerStatics)->abi_FindPackagesForCurrentPublisher(put_abi(items))); + return items; +} + +template Windows::Foundation::Collections::IIterable impl_IInstallationManagerStatics::FindPackages() const +{ + Windows::Foundation::Collections::IIterable items; + check_hresult(WINRT_SHIM(IInstallationManagerStatics)->abi_FindPackages(put_abi(items))); + return items; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IInstallationManagerStatics2::RemovePackageAsync(hstring_view packageFullName, Windows::Management::Deployment::RemovalOptions removalOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress asyncInfo; + check_hresult(WINRT_SHIM(IInstallationManagerStatics2)->abi_RemovePackageAsync(get_abi(packageFullName), removalOptions, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IInstallationManagerStatics2::RegisterPackageAsync(const Windows::Foundation::Uri & manifestUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions) const +{ + Windows::Foundation::IAsyncOperationWithProgress asyncInfo; + check_hresult(WINRT_SHIM(IInstallationManagerStatics2)->abi_RegisterPackageAsync(get_abi(manifestUri), get_abi(dependencyPackageUris), deploymentOptions, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::Collections::IIterable impl_IInstallationManagerStatics2::FindPackages(hstring_view packageName, hstring_view packagePublisher) const +{ + Windows::Foundation::Collections::IIterable items; + check_hresult(WINRT_SHIM(IInstallationManagerStatics2)->abi_FindPackagesByNamePublisher(get_abi(packageName), get_abi(packagePublisher), put_abi(items))); + return items; +} + +inline Windows::Foundation::Collections::IVectorView EnterpriseEnrollmentManager::EnrolledEnterprises() +{ + return get_activation_factory().EnrolledEnterprises(); +} + +inline Windows::Phone::Management::Deployment::Enterprise EnterpriseEnrollmentManager::CurrentEnterprise() +{ + return get_activation_factory().CurrentEnterprise(); +} + +inline Windows::Foundation::IAsyncAction EnterpriseEnrollmentManager::ValidateEnterprisesAsync() +{ + return get_activation_factory().ValidateEnterprisesAsync(); +} + +inline Windows::Foundation::IAsyncOperation EnterpriseEnrollmentManager::RequestEnrollmentAsync(hstring_view enrollmentToken) +{ + return get_activation_factory().RequestEnrollmentAsync(enrollmentToken); +} + +inline Windows::Foundation::IAsyncOperation EnterpriseEnrollmentManager::RequestUnenrollmentAsync(const Windows::Phone::Management::Deployment::Enterprise & enterprise) +{ + return get_activation_factory().RequestUnenrollmentAsync(enterprise); +} + +inline Windows::Foundation::IAsyncOperationWithProgress InstallationManager::AddPackageAsync(hstring_view title, const Windows::Foundation::Uri & sourceLocation) +{ + return get_activation_factory().AddPackageAsync(title, sourceLocation); +} + +inline Windows::Foundation::IAsyncOperationWithProgress InstallationManager::AddPackageAsync(hstring_view title, const Windows::Foundation::Uri & sourceLocation, hstring_view instanceId, hstring_view offerId, const Windows::Foundation::Uri & license) +{ + return get_activation_factory().AddPackageAsync(title, sourceLocation, instanceId, offerId, license); +} + +inline Windows::Foundation::Collections::IIterable> InstallationManager::GetPendingPackageInstalls() +{ + return get_activation_factory().GetPendingPackageInstalls(); +} + +inline Windows::Foundation::Collections::IIterable InstallationManager::FindPackagesForCurrentPublisher() +{ + return get_activation_factory().FindPackagesForCurrentPublisher(); +} + +inline Windows::Foundation::Collections::IIterable InstallationManager::FindPackages() +{ + return get_activation_factory().FindPackages(); +} + +inline Windows::Foundation::IAsyncOperationWithProgress InstallationManager::RemovePackageAsync(hstring_view packageFullName, Windows::Management::Deployment::RemovalOptions removalOptions) +{ + return get_activation_factory().RemovePackageAsync(packageFullName, removalOptions); +} + +inline Windows::Foundation::IAsyncOperationWithProgress InstallationManager::RegisterPackageAsync(const Windows::Foundation::Uri & manifestUri, iterable dependencyPackageUris, Windows::Management::Deployment::DeploymentOptions deploymentOptions) +{ + return get_activation_factory().RegisterPackageAsync(manifestUri, dependencyPackageUris, deploymentOptions); +} + +inline Windows::Foundation::Collections::IIterable InstallationManager::FindPackages(hstring_view packageName, hstring_view packagePublisher) +{ + return get_activation_factory().FindPackages(packageName, packagePublisher); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::IEnterprise & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::IEnterpriseEnrollmentManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::IEnterpriseEnrollmentResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::IInstallationManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::IInstallationManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::IPackageInstallResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::IPackageInstallResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::Enterprise & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::EnterpriseEnrollmentResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Management::Deployment::PackageInstallResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.Media.Devices.h b/10.0.15042.0/winrt/Windows.Phone.Media.Devices.h new file mode 100644 index 000000000..6a609af6c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.Media.Devices.h @@ -0,0 +1,192 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Phone.Media.Devices.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAudioEndpoint(Windows::Phone::Media::Devices::AudioRoutingEndpoint * endpoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *endpoint = detach_abi(this->shim().GetAudioEndpoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAudioEndpoint(Windows::Phone::Media::Devices::AudioRoutingEndpoint endpoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAudioEndpoint(endpoint); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AudioEndpointChanged(impl::abi_arg_in> endpointChangeHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioEndpointChanged(*reinterpret_cast *>(&endpointChangeHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioEndpointChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioEndpointChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableAudioEndpoints(Windows::Phone::Media::Devices::AvailableAudioRoutingEndpoints * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableAudioEndpoints()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out audioRoutingManager) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *audioRoutingManager = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *audioRoutingManager = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::Media::Devices { + +template Windows::Phone::Media::Devices::AudioRoutingEndpoint impl_IAudioRoutingManager::GetAudioEndpoint() const +{ + Windows::Phone::Media::Devices::AudioRoutingEndpoint endpoint {}; + check_hresult(WINRT_SHIM(IAudioRoutingManager)->abi_GetAudioEndpoint(&endpoint)); + return endpoint; +} + +template void impl_IAudioRoutingManager::SetAudioEndpoint(Windows::Phone::Media::Devices::AudioRoutingEndpoint endpoint) const +{ + check_hresult(WINRT_SHIM(IAudioRoutingManager)->abi_SetAudioEndpoint(endpoint)); +} + +template event_token impl_IAudioRoutingManager::AudioEndpointChanged(const Windows::Foundation::TypedEventHandler & endpointChangeHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAudioRoutingManager)->add_AudioEndpointChanged(get_abi(endpointChangeHandler), &token)); + return token; +} + +template event_revoker impl_IAudioRoutingManager::AudioEndpointChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & endpointChangeHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Phone::Media::Devices::IAudioRoutingManager::remove_AudioEndpointChanged, AudioEndpointChanged(endpointChangeHandler)); +} + +template void impl_IAudioRoutingManager::AudioEndpointChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAudioRoutingManager)->remove_AudioEndpointChanged(token)); +} + +template Windows::Phone::Media::Devices::AvailableAudioRoutingEndpoints impl_IAudioRoutingManager::AvailableAudioEndpoints() const +{ + Windows::Phone::Media::Devices::AvailableAudioRoutingEndpoints value {}; + check_hresult(WINRT_SHIM(IAudioRoutingManager)->get_AvailableAudioEndpoints(&value)); + return value; +} + +template Windows::Phone::Media::Devices::AudioRoutingManager impl_IAudioRoutingManagerStatics::GetDefault() const +{ + Windows::Phone::Media::Devices::AudioRoutingManager audioRoutingManager { nullptr }; + check_hresult(WINRT_SHIM(IAudioRoutingManagerStatics)->abi_GetDefault(put_abi(audioRoutingManager))); + return audioRoutingManager; +} + +inline Windows::Phone::Media::Devices::AudioRoutingManager AudioRoutingManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Media::Devices::IAudioRoutingManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Media::Devices::IAudioRoutingManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Media::Devices::AudioRoutingManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.Notification.Management.h b/10.0.15042.0/winrt/Windows.Phone.Notification.Management.h new file mode 100644 index 000000000..476a4cabd --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.Notification.Management.h @@ -0,0 +1,4219 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Email.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.Appointments.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Phone.Notification.Management.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterAccessoryApp(impl::abi_arg_out triggerId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *triggerId = detach_abi(this->shim().RegisterAccessoryApp()); + return S_OK; + } + catch (...) + { + *triggerId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNextTriggerDetails(impl::abi_arg_out pDetails) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pDetails = detach_abi(this->shim().GetNextTriggerDetails()); + return S_OK; + } + catch (...) + { + *pDetails = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessTriggerDetails(impl::abi_arg_in pDetails) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessTriggerDetails(*reinterpret_cast(&pDetails)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneLineDetails(impl::abi_arg_out> ppvalue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppvalue = detach_abi(this->shim().PhoneLineDetails()); + return S_OK; + } + catch (...) + { + *ppvalue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPhoneLineDetails(GUID phoneLine, impl::abi_arg_out ppdetails) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppdetails = detach_abi(this->shim().GetPhoneLineDetails(phoneLine)); + return S_OK; + } + catch (...) + { + *ppdetails = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptPhoneCall(uint32_t phoneCallId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptPhoneCall(phoneCallId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptPhoneCallOnEndpoint(uint32_t phoneCallId, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptPhoneCall(phoneCallId, endPoint); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptPhoneCallWithVideo(uint32_t phoneCallId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptPhoneCallWithVideo(phoneCallId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptPhoneCallWithVideoOnAudioEndpoint(uint32_t phoneCallId, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptPhoneCallWithVideo(phoneCallId, endPoint); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RejectPhoneCall(uint32_t phoneCallId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RejectPhoneCall(phoneCallId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RejectPhoneCallWithText(uint32_t phoneCallId, uint32_t textResponseID) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RejectPhoneCall(phoneCallId, textResponseID); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakePhoneCall(GUID phoneLine, impl::abi_arg_in phoneNumber) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MakePhoneCall(phoneLine, *reinterpret_cast(&phoneNumber)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakePhoneCallOnAudioEndpoint(GUID phoneLine, impl::abi_arg_in phoneNumber, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MakePhoneCall(phoneLine, *reinterpret_cast(&phoneNumber), endPoint); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakePhoneCallWithVideo(GUID phoneLine, impl::abi_arg_in phoneNumber) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MakePhoneCallWithVideo(phoneLine, *reinterpret_cast(&phoneNumber)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakePhoneCallWithVideoOnAudioEndpoint(GUID phoneLine, impl::abi_arg_in phoneNumber, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MakePhoneCallWithVideo(phoneLine, *reinterpret_cast(&phoneNumber), endPoint); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SwapPhoneCalls(uint32_t phoneCallIdToHold, uint32_t phoneCallIdOnHold) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SwapPhoneCalls(phoneCallIdToHold, phoneCallIdOnHold); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HoldPhoneCall(uint32_t phoneCallId, bool holdCall) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HoldPhoneCall(phoneCallId, holdCall); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndPhoneCall(uint32_t phoneCallId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndPhoneCall(phoneCallId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhoneMute(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhoneMute(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneMute(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneMute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PhoneCallAudioEndpoint(Windows::Phone::Notification::Management::PhoneCallAudioEndpoint value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhoneCallAudioEndpoint(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneCallAudioEndpoint(Windows::Phone::Notification::Management::PhoneCallAudioEndpoint * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneCallAudioEndpoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SnoozeAlarm(GUID alarmId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SnoozeAlarm(alarmId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SnoozeAlarmForSpecifiedTime(GUID alarmId, impl::abi_arg_in timeSpan) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SnoozeAlarm(alarmId, *reinterpret_cast(&timeSpan)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DismissAlarm(GUID alarmId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissAlarm(alarmId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SnoozeReminder(GUID reminderId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SnoozeReminder(reminderId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SnoozeReminderForSpecifiedTime(GUID reminderId, impl::abi_arg_in timeSpan) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SnoozeReminder(reminderId, *reinterpret_cast(&timeSpan)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DismissReminder(GUID reminderId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissReminder(reminderId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMediaMetadata(impl::abi_arg_out ppMetadata) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppMetadata = detach_abi(this->shim().GetMediaMetadata()); + return S_OK; + } + catch (...) + { + *ppMetadata = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlaybackCapabilities(Windows::Phone::Notification::Management::PlaybackCapability * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlaybackCapabilities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlaybackStatus(Windows::Phone::Notification::Management::PlaybackStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlaybackStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PerformMediaPlaybackCommand(Windows::Phone::Notification::Management::PlaybackCommand command) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PerformMediaPlaybackCommand(command); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DoNotDisturbEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DoNotDisturbEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DrivingModeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DrivingModeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BatterySaverState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BatterySaverState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetApps(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetApps()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableNotificationsForApplication(impl::abi_arg_in appId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableNotificationsForApplication(*reinterpret_cast(&appId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableNotificationsForApplication(impl::abi_arg_in appId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableNotificationsForApplication(*reinterpret_cast(&appId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsNotificationEnabledForApplication(impl::abi_arg_in appId, bool * enabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *enabled = detach_abi(this->shim().IsNotificationEnabledForApplication(*reinterpret_cast(&appId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEnabledAccessoryNotificationTypes(int32_t * enabledAccessoryNotificationTypes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *enabledAccessoryNotificationTypes = detach_abi(this->shim().GetEnabledAccessoryNotificationTypes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableAccessoryNotificationTypes(int32_t accessoryNotificationTypes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableAccessoryNotificationTypes(accessoryNotificationTypes); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableAllAccessoryNotificationTypes() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableAllAccessoryNotificationTypes(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUserConsent(bool * enabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *enabled = detach_abi(this->shim().GetUserConsent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppIcon(impl::abi_arg_in appId, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAppIcon(*reinterpret_cast(&appId))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RingDevice() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RingDevice(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpeedDialList(impl::abi_arg_out> ppvalue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppvalue = detach_abi(this->shim().SpeedDialList()); + return S_OK; + } + catch (...) + { + *ppvalue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearToast(impl::abi_arg_in instanceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearToast(*reinterpret_cast(&instanceId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPhonePinLocked(bool * pinLocked) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pinLocked = detach_abi(this->shim().IsPhonePinLocked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IncreaseVolume(int32_t step) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncreaseVolume(step); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DecreaseVolume(int32_t step) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DecreaseVolume(step); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMute(bool mute) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetMute(mute); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRingerVibrate(bool ringer, bool vibrate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRingerVibrate(ringer, vibrate); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VolumeInfo(impl::abi_arg_out ppVolume) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppVolume = detach_abi(this->shim().VolumeInfo()); + return S_OK; + } + catch (...) + { + *ppVolume = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAllEmailAccounts(impl::abi_arg_out> emailAccounts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *emailAccounts = detach_abi(this->shim().GetAllEmailAccounts()); + return S_OK; + } + catch (...) + { + *emailAccounts = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFolders(impl::abi_arg_in emailAccount, impl::abi_arg_out> folders) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *folders = detach_abi(this->shim().GetFolders(*reinterpret_cast(&emailAccount))); + return S_OK; + } + catch (...) + { + *folders = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableEmailNotificationEmailAccount(impl::abi_arg_in emailAccount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableEmailNotificationEmailAccount(*reinterpret_cast(&emailAccount)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DisableEmailNotificationEmailAccount(impl::abi_arg_in emailAccount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableEmailNotificationEmailAccount(*reinterpret_cast(&emailAccount)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableEmailNotificationFolderFilter(impl::abi_arg_in emailAccount, impl::abi_arg_in> folders) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableEmailNotificationFolderFilter(*reinterpret_cast(&emailAccount), *reinterpret_cast *>(&folders)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateEmailReadStatus(impl::abi_arg_in messageEntryId, bool isRead) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateEmailReadStatus(*reinterpret_cast(&messageEntryId), isRead); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SnoozeAlarmByInstanceId(impl::abi_arg_in instanceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SnoozeAlarmByInstanceId(*reinterpret_cast(&instanceId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DismissAlarmByInstanceId(impl::abi_arg_in instanceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissAlarmByInstanceId(*reinterpret_cast(&instanceId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SnoozeReminderByInstanceId(impl::abi_arg_in instanceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SnoozeReminderByInstanceId(*reinterpret_cast(&instanceId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DismissReminderByInstanceId(impl::abi_arg_in instanceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DismissReminderByInstanceId(*reinterpret_cast(&instanceId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TimeCreated(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeCreated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccessoryNotificationType(Windows::Phone::Notification::Management::AccessoryNotificationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccessoryNotificationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartedProcessing(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartedProcessing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartedProcessing(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartedProcessing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlarmId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlarmId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReminderState(Windows::Phone::Notification::Management::ReminderState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReminderState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstanceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EventType(Windows::Phone::Notification::Management::CalendarChangedEvent * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EventType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TileId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LargeContent1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LargeContent1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LargeContent2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LargeContent2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmphasizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmphasizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NonWrappedSmallContent1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonWrappedSmallContent1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NonWrappedSmallContent2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonWrappedSmallContent2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NonWrappedSmallContent3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonWrappedSmallContent3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NonWrappedSmallContent4(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonWrappedSmallContent4()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNotificationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNotificationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNotificationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNotificationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccountName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentFolderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentFolderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SenderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SenderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SenderAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SenderAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EmailMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MessageEntryId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageEntryId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccountName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParentFolderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentFolderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageEntryId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageEntryId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRead(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRead()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlaybackStatus(Windows::Phone::Notification::Management::PlaybackStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaMetadata(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaMetadata()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Artist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Artist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Album(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Album()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Track(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Track()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PhoneLine(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneLine()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallTransport(Windows::Phone::Notification::Management::PhoneCallTransport * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallTransport()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallMediaType(Windows::Phone::Notification::Management::PhoneMediaType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallMediaType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallDirection(Windows::Phone::Notification::Management::PhoneCallDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Phone::Notification::Management::PhoneCallState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConferenceCallId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConferenceCallId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PresetTextResponses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PresetTextResponses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LineId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultOutgoingLine(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultOutgoingLine()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VoicemailCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VoicemailCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegistrationState(Windows::Phone::Notification::Management::PhoneLineRegistrationState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegistrationState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MissedCallCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MissedCallCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PhoneNotificationType(Windows::Phone::Notification::Management::PhoneNotificationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNotificationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneLineChangedId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneLineChangedId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReminderId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReminderId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Details(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Details()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Appointment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Appointment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReminderState(Windows::Phone::Notification::Management::ReminderState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReminderState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstanceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text4(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text4()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuppressPopup(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuppressPopup()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InstanceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstanceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SystemVolume(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemVolume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallVolume(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallVolume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaVolume(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaVolume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMuted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMuted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVibrateEnabled(Windows::Phone::Notification::Management::VibrateState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVibrateEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::Notification::Management { + +template uint32_t impl_ITextResponse::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ITextResponse)->get_Id(&value)); + return value; +} + +template hstring impl_ITextResponse::Content() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextResponse)->get_Content(put_abi(value))); + return value; +} + +template hstring impl_IAppNotificationInfo::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppNotificationInfo)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IAppNotificationInfo::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAppNotificationInfo)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IEmailAccountInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailAccountInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template bool impl_IEmailAccountInfo::IsNotificationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailAccountInfo)->get_IsNotificationEnabled(&value)); + return value; +} + +template hstring impl_IEmailFolderInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailFolderInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template bool impl_IEmailFolderInfo::IsNotificationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailFolderInfo)->get_IsNotificationEnabled(&value)); + return value; +} + +template uint8_t impl_IBinaryId::Id() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IBinaryId)->get_Id(&value)); + return value; +} + +template uint32_t impl_IBinaryId::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBinaryId)->get_Length(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IAccessoryNotificationTriggerDetails::TimeCreated() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAccessoryNotificationTriggerDetails)->get_TimeCreated(put_abi(value))); + return value; +} + +template hstring impl_IAccessoryNotificationTriggerDetails::AppDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAccessoryNotificationTriggerDetails)->get_AppDisplayName(put_abi(value))); + return value; +} + +template hstring impl_IAccessoryNotificationTriggerDetails::AppId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAccessoryNotificationTriggerDetails)->get_AppId(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::AccessoryNotificationType impl_IAccessoryNotificationTriggerDetails::AccessoryNotificationType() const +{ + Windows::Phone::Notification::Management::AccessoryNotificationType value {}; + check_hresult(WINRT_SHIM(IAccessoryNotificationTriggerDetails)->get_AccessoryNotificationType(&value)); + return value; +} + +template bool impl_IAccessoryNotificationTriggerDetails::StartedProcessing() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAccessoryNotificationTriggerDetails)->get_StartedProcessing(&value)); + return value; +} + +template void impl_IAccessoryNotificationTriggerDetails::StartedProcessing(bool value) const +{ + check_hresult(WINRT_SHIM(IAccessoryNotificationTriggerDetails)->put_StartedProcessing(value)); +} + +template GUID impl_IAlarmNotificationTriggerDetails::AlarmId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IAlarmNotificationTriggerDetails)->get_AlarmId(&value)); + return value; +} + +template hstring impl_IAlarmNotificationTriggerDetails::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAlarmNotificationTriggerDetails)->get_Title(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IAlarmNotificationTriggerDetails::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IAlarmNotificationTriggerDetails)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::ReminderState impl_IAlarmNotificationTriggerDetails::ReminderState() const +{ + Windows::Phone::Notification::Management::ReminderState value {}; + check_hresult(WINRT_SHIM(IAlarmNotificationTriggerDetails)->get_ReminderState(&value)); + return value; +} + +template hstring impl_IAlarmNotificationTriggerDetails2::InstanceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAlarmNotificationTriggerDetails2)->get_InstanceId(put_abi(value))); + return value; +} + +template hstring impl_IEmailNotificationTriggerDetails::AccountName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailNotificationTriggerDetails)->get_AccountName(put_abi(value))); + return value; +} + +template hstring impl_IEmailNotificationTriggerDetails::ParentFolderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailNotificationTriggerDetails)->get_ParentFolderName(put_abi(value))); + return value; +} + +template hstring impl_IEmailNotificationTriggerDetails::SenderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailNotificationTriggerDetails)->get_SenderName(put_abi(value))); + return value; +} + +template hstring impl_IEmailNotificationTriggerDetails::SenderAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailNotificationTriggerDetails)->get_SenderAddress(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Email::EmailMessage impl_IEmailNotificationTriggerDetails::EmailMessage() const +{ + Windows::ApplicationModel::Email::EmailMessage value { nullptr }; + check_hresult(WINRT_SHIM(IEmailNotificationTriggerDetails)->get_EmailMessage(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IEmailNotificationTriggerDetails::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IEmailNotificationTriggerDetails)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::BinaryId impl_IEmailNotificationTriggerDetails2::MessageEntryId() const +{ + Windows::Phone::Notification::Management::BinaryId value { nullptr }; + check_hresult(WINRT_SHIM(IEmailNotificationTriggerDetails2)->get_MessageEntryId(put_abi(value))); + return value; +} + +template hstring impl_IEmailReadNotificationTriggerDetails::AccountName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailReadNotificationTriggerDetails)->get_AccountName(put_abi(value))); + return value; +} + +template hstring impl_IEmailReadNotificationTriggerDetails::ParentFolderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEmailReadNotificationTriggerDetails)->get_ParentFolderName(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::BinaryId impl_IEmailReadNotificationTriggerDetails::MessageEntryId() const +{ + Windows::Phone::Notification::Management::BinaryId value { nullptr }; + check_hresult(WINRT_SHIM(IEmailReadNotificationTriggerDetails)->get_MessageEntryId(put_abi(value))); + return value; +} + +template bool impl_IEmailReadNotificationTriggerDetails::IsRead() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEmailReadNotificationTriggerDetails)->get_IsRead(&value)); + return value; +} + +template GUID impl_IPhoneLineDetails::LineId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPhoneLineDetails)->get_LineId(&value)); + return value; +} + +template hstring impl_IPhoneLineDetails::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneLineDetails)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IPhoneLineDetails::LineNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneLineDetails)->get_LineNumber(put_abi(value))); + return value; +} + +template bool impl_IPhoneLineDetails::DefaultOutgoingLine() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPhoneLineDetails)->get_DefaultOutgoingLine(&value)); + return value; +} + +template uint32_t impl_IPhoneLineDetails::VoicemailCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhoneLineDetails)->get_VoicemailCount(&value)); + return value; +} + +template Windows::Phone::Notification::Management::PhoneLineRegistrationState impl_IPhoneLineDetails::RegistrationState() const +{ + Windows::Phone::Notification::Management::PhoneLineRegistrationState value {}; + check_hresult(WINRT_SHIM(IPhoneLineDetails)->get_RegistrationState(&value)); + return value; +} + +template uint32_t impl_IPhoneLineDetails2::MissedCallCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhoneLineDetails2)->get_MissedCallCount(&value)); + return value; +} + +template GUID impl_IPhoneCallDetails::PhoneLine() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_PhoneLine(&value)); + return value; +} + +template uint32_t impl_IPhoneCallDetails::CallId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_CallId(&value)); + return value; +} + +template Windows::Phone::Notification::Management::PhoneCallTransport impl_IPhoneCallDetails::CallTransport() const +{ + Windows::Phone::Notification::Management::PhoneCallTransport value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_CallTransport(&value)); + return value; +} + +template Windows::Phone::Notification::Management::PhoneMediaType impl_IPhoneCallDetails::CallMediaType() const +{ + Windows::Phone::Notification::Management::PhoneMediaType value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_CallMediaType(&value)); + return value; +} + +template Windows::Phone::Notification::Management::PhoneCallDirection impl_IPhoneCallDetails::CallDirection() const +{ + Windows::Phone::Notification::Management::PhoneCallDirection value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_CallDirection(&value)); + return value; +} + +template Windows::Phone::Notification::Management::PhoneCallState impl_IPhoneCallDetails::State() const +{ + Windows::Phone::Notification::Management::PhoneCallState value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_State(&value)); + return value; +} + +template uint32_t impl_IPhoneCallDetails::ConferenceCallId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_ConferenceCallId(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IPhoneCallDetails::StartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_StartTime(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IPhoneCallDetails::EndTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_EndTime(put_abi(value))); + return value; +} + +template hstring impl_IPhoneCallDetails::PhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_PhoneNumber(put_abi(value))); + return value; +} + +template hstring impl_IPhoneCallDetails::ContactName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_ContactName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IPhoneCallDetails::PresetTextResponses() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IPhoneCallDetails)->get_PresetTextResponses(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::PhoneNotificationType impl_IPhoneNotificationTriggerDetails::PhoneNotificationType() const +{ + Windows::Phone::Notification::Management::PhoneNotificationType value {}; + check_hresult(WINRT_SHIM(IPhoneNotificationTriggerDetails)->get_PhoneNotificationType(&value)); + return value; +} + +template Windows::Phone::Notification::Management::PhoneCallDetails impl_IPhoneNotificationTriggerDetails::CallDetails() const +{ + Windows::Phone::Notification::Management::PhoneCallDetails value { nullptr }; + check_hresult(WINRT_SHIM(IPhoneNotificationTriggerDetails)->get_CallDetails(put_abi(value))); + return value; +} + +template GUID impl_IPhoneNotificationTriggerDetails::PhoneLineChangedId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPhoneNotificationTriggerDetails)->get_PhoneLineChangedId(&value)); + return value; +} + +template hstring impl_ISpeedDialEntry::PhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeedDialEntry)->get_PhoneNumber(put_abi(value))); + return value; +} + +template hstring impl_ISpeedDialEntry::NumberType() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeedDialEntry)->get_NumberType(put_abi(value))); + return value; +} + +template hstring impl_ISpeedDialEntry::ContactName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpeedDialEntry)->get_ContactName(put_abi(value))); + return value; +} + +template GUID impl_IReminderNotificationTriggerDetails::ReminderId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails)->get_ReminderId(&value)); + return value; +} + +template hstring impl_IReminderNotificationTriggerDetails::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IReminderNotificationTriggerDetails::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_IReminderNotificationTriggerDetails::Details() const +{ + hstring value; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails)->get_Details(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IReminderNotificationTriggerDetails::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Appointments::Appointment impl_IReminderNotificationTriggerDetails::Appointment() const +{ + Windows::ApplicationModel::Appointments::Appointment value { nullptr }; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails)->get_Appointment(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::ReminderState impl_IReminderNotificationTriggerDetails::ReminderState() const +{ + Windows::Phone::Notification::Management::ReminderState value {}; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails)->get_ReminderState(&value)); + return value; +} + +template hstring impl_IReminderNotificationTriggerDetails2::InstanceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IReminderNotificationTriggerDetails2)->get_InstanceId(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::CalendarChangedEvent impl_ICalendarChangedNotificationTriggerDetails::EventType() const +{ + Windows::Phone::Notification::Management::CalendarChangedEvent value {}; + check_hresult(WINRT_SHIM(ICalendarChangedNotificationTriggerDetails)->get_EventType(&value)); + return value; +} + +template hstring impl_ICalendarChangedNotificationTriggerDetails::ItemId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarChangedNotificationTriggerDetails)->get_ItemId(put_abi(value))); + return value; +} + +template hstring impl_IToastNotificationTriggerDetails::Text1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotificationTriggerDetails)->get_Text1(put_abi(value))); + return value; +} + +template hstring impl_IToastNotificationTriggerDetails::Text2() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotificationTriggerDetails)->get_Text2(put_abi(value))); + return value; +} + +template hstring impl_IToastNotificationTriggerDetails::Text3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotificationTriggerDetails)->get_Text3(put_abi(value))); + return value; +} + +template hstring impl_IToastNotificationTriggerDetails::Text4() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotificationTriggerDetails)->get_Text4(put_abi(value))); + return value; +} + +template bool impl_IToastNotificationTriggerDetails::SuppressPopup() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IToastNotificationTriggerDetails)->get_SuppressPopup(&value)); + return value; +} + +template hstring impl_IToastNotificationTriggerDetails2::InstanceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotificationTriggerDetails2)->get_InstanceId(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::TileId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_TileId(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::Content() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_Content(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::LargeContent1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_LargeContent1(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::LargeContent2() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_LargeContent2(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::EmphasizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_EmphasizedText(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent1(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent2() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent2(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent3() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent3(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::NonWrappedSmallContent4() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_NonWrappedSmallContent4(put_abi(value))); + return value; +} + +template hstring impl_ICortanaTileNotificationTriggerDetails::Source() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICortanaTileNotificationTriggerDetails)->get_Source(put_abi(value))); + return value; +} + +template hstring impl_IMediaMetadata::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaMetadata)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IMediaMetadata::Subtitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaMetadata)->get_Subtitle(put_abi(value))); + return value; +} + +template hstring impl_IMediaMetadata::Artist() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaMetadata)->get_Artist(put_abi(value))); + return value; +} + +template hstring impl_IMediaMetadata::Album() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMediaMetadata)->get_Album(put_abi(value))); + return value; +} + +template uint32_t impl_IMediaMetadata::Track() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMediaMetadata)->get_Track(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaMetadata::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaMetadata)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IMediaMetadata::Thumbnail() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IMediaMetadata)->get_Thumbnail(put_abi(value))); + return value; +} + +template Windows::Phone::Notification::Management::PlaybackStatus impl_IMediaControlsTriggerDetails::PlaybackStatus() const +{ + Windows::Phone::Notification::Management::PlaybackStatus value {}; + check_hresult(WINRT_SHIM(IMediaControlsTriggerDetails)->get_PlaybackStatus(&value)); + return value; +} + +template Windows::Phone::Notification::Management::MediaMetadata impl_IMediaControlsTriggerDetails::MediaMetadata() const +{ + Windows::Phone::Notification::Management::MediaMetadata value { nullptr }; + check_hresult(WINRT_SHIM(IMediaControlsTriggerDetails)->get_MediaMetadata(put_abi(value))); + return value; +} + +template uint32_t impl_IVolumeInfo::SystemVolume() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVolumeInfo)->get_SystemVolume(&value)); + return value; +} + +template uint32_t impl_IVolumeInfo::CallVolume() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVolumeInfo)->get_CallVolume(&value)); + return value; +} + +template uint32_t impl_IVolumeInfo::MediaVolume() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVolumeInfo)->get_MediaVolume(&value)); + return value; +} + +template bool impl_IVolumeInfo::IsMuted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVolumeInfo)->get_IsMuted(&value)); + return value; +} + +template Windows::Phone::Notification::Management::VibrateState impl_IVolumeInfo::IsVibrateEnabled() const +{ + Windows::Phone::Notification::Management::VibrateState value {}; + check_hresult(WINRT_SHIM(IVolumeInfo)->get_IsVibrateEnabled(&value)); + return value; +} + +template hstring impl_IAccessoryManager::RegisterAccessoryApp() const +{ + hstring triggerId; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_RegisterAccessoryApp(put_abi(triggerId))); + return triggerId; +} + +template Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails impl_IAccessoryManager::GetNextTriggerDetails() const +{ + Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails pDetails; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_GetNextTriggerDetails(put_abi(pDetails))); + return pDetails; +} + +template void impl_IAccessoryManager::ProcessTriggerDetails(const Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails & pDetails) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_ProcessTriggerDetails(get_abi(pDetails))); +} + +template Windows::Foundation::Collections::IVectorView impl_IAccessoryManager::PhoneLineDetails() const +{ + Windows::Foundation::Collections::IVectorView ppvalue; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_PhoneLineDetails(put_abi(ppvalue))); + return ppvalue; +} + +template Windows::Phone::Notification::Management::PhoneLineDetails impl_IAccessoryManager::GetPhoneLineDetails(GUID phoneLine) const +{ + Windows::Phone::Notification::Management::PhoneLineDetails ppdetails { nullptr }; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_GetPhoneLineDetails(phoneLine, put_abi(ppdetails))); + return ppdetails; +} + +template void impl_IAccessoryManager::AcceptPhoneCall(uint32_t phoneCallId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_AcceptPhoneCall(phoneCallId)); +} + +template void impl_IAccessoryManager::AcceptPhoneCall(uint32_t phoneCallId, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_AcceptPhoneCallOnEndpoint(phoneCallId, endPoint)); +} + +template void impl_IAccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_AcceptPhoneCallWithVideo(phoneCallId)); +} + +template void impl_IAccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_AcceptPhoneCallWithVideoOnAudioEndpoint(phoneCallId, endPoint)); +} + +template void impl_IAccessoryManager::RejectPhoneCall(uint32_t phoneCallId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_RejectPhoneCall(phoneCallId)); +} + +template void impl_IAccessoryManager::RejectPhoneCall(uint32_t phoneCallId, uint32_t textResponseID) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_RejectPhoneCallWithText(phoneCallId, textResponseID)); +} + +template void impl_IAccessoryManager::MakePhoneCall(GUID phoneLine, hstring_view phoneNumber) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_MakePhoneCall(phoneLine, get_abi(phoneNumber))); +} + +template void impl_IAccessoryManager::MakePhoneCall(GUID phoneLine, hstring_view phoneNumber, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_MakePhoneCallOnAudioEndpoint(phoneLine, get_abi(phoneNumber), endPoint)); +} + +template void impl_IAccessoryManager::MakePhoneCallWithVideo(GUID phoneLine, hstring_view phoneNumber) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_MakePhoneCallWithVideo(phoneLine, get_abi(phoneNumber))); +} + +template void impl_IAccessoryManager::MakePhoneCallWithVideo(GUID phoneLine, hstring_view phoneNumber, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_MakePhoneCallWithVideoOnAudioEndpoint(phoneLine, get_abi(phoneNumber), endPoint)); +} + +template void impl_IAccessoryManager::SwapPhoneCalls(uint32_t phoneCallIdToHold, uint32_t phoneCallIdOnHold) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_SwapPhoneCalls(phoneCallIdToHold, phoneCallIdOnHold)); +} + +template void impl_IAccessoryManager::HoldPhoneCall(uint32_t phoneCallId, bool holdCall) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_HoldPhoneCall(phoneCallId, holdCall)); +} + +template void impl_IAccessoryManager::EndPhoneCall(uint32_t phoneCallId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_EndPhoneCall(phoneCallId)); +} + +template void impl_IAccessoryManager::PhoneMute(bool value) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->put_PhoneMute(value)); +} + +template bool impl_IAccessoryManager::PhoneMute() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_PhoneMute(&value)); + return value; +} + +template void impl_IAccessoryManager::PhoneCallAudioEndpoint(Windows::Phone::Notification::Management::PhoneCallAudioEndpoint value) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->put_PhoneCallAudioEndpoint(value)); +} + +template Windows::Phone::Notification::Management::PhoneCallAudioEndpoint impl_IAccessoryManager::PhoneCallAudioEndpoint() const +{ + Windows::Phone::Notification::Management::PhoneCallAudioEndpoint value {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_PhoneCallAudioEndpoint(&value)); + return value; +} + +template void impl_IAccessoryManager::SnoozeAlarm(GUID alarmId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_SnoozeAlarm(alarmId)); +} + +template void impl_IAccessoryManager::SnoozeAlarm(GUID alarmId, const Windows::Foundation::TimeSpan & timeSpan) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_SnoozeAlarmForSpecifiedTime(alarmId, get_abi(timeSpan))); +} + +template void impl_IAccessoryManager::DismissAlarm(GUID alarmId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_DismissAlarm(alarmId)); +} + +template void impl_IAccessoryManager::SnoozeReminder(GUID reminderId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_SnoozeReminder(reminderId)); +} + +template void impl_IAccessoryManager::SnoozeReminder(GUID reminderId, const Windows::Foundation::TimeSpan & timeSpan) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_SnoozeReminderForSpecifiedTime(reminderId, get_abi(timeSpan))); +} + +template void impl_IAccessoryManager::DismissReminder(GUID reminderId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_DismissReminder(reminderId)); +} + +template Windows::Phone::Notification::Management::MediaMetadata impl_IAccessoryManager::GetMediaMetadata() const +{ + Windows::Phone::Notification::Management::MediaMetadata ppMetadata { nullptr }; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_GetMediaMetadata(put_abi(ppMetadata))); + return ppMetadata; +} + +template Windows::Phone::Notification::Management::PlaybackCapability impl_IAccessoryManager::MediaPlaybackCapabilities() const +{ + Windows::Phone::Notification::Management::PlaybackCapability value {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_MediaPlaybackCapabilities(&value)); + return value; +} + +template Windows::Phone::Notification::Management::PlaybackStatus impl_IAccessoryManager::MediaPlaybackStatus() const +{ + Windows::Phone::Notification::Management::PlaybackStatus value {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_MediaPlaybackStatus(&value)); + return value; +} + +template void impl_IAccessoryManager::PerformMediaPlaybackCommand(Windows::Phone::Notification::Management::PlaybackCommand command) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_PerformMediaPlaybackCommand(command)); +} + +template bool impl_IAccessoryManager::DoNotDisturbEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_DoNotDisturbEnabled(&value)); + return value; +} + +template bool impl_IAccessoryManager::DrivingModeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_DrivingModeEnabled(&value)); + return value; +} + +template bool impl_IAccessoryManager::BatterySaverState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->get_BatterySaverState(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IAccessoryManager::GetApps() const +{ + Windows::Foundation::Collections::IMapView returnValue; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_GetApps(put_abi(returnValue))); + return returnValue; +} + +template void impl_IAccessoryManager::EnableNotificationsForApplication(hstring_view appId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_EnableNotificationsForApplication(get_abi(appId))); +} + +template void impl_IAccessoryManager::DisableNotificationsForApplication(hstring_view appId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_DisableNotificationsForApplication(get_abi(appId))); +} + +template bool impl_IAccessoryManager::IsNotificationEnabledForApplication(hstring_view appId) const +{ + bool enabled {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_IsNotificationEnabledForApplication(get_abi(appId), &enabled)); + return enabled; +} + +template int32_t impl_IAccessoryManager::GetEnabledAccessoryNotificationTypes() const +{ + int32_t enabledAccessoryNotificationTypes {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_GetEnabledAccessoryNotificationTypes(&enabledAccessoryNotificationTypes)); + return enabledAccessoryNotificationTypes; +} + +template void impl_IAccessoryManager::EnableAccessoryNotificationTypes(int32_t accessoryNotificationTypes) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_EnableAccessoryNotificationTypes(accessoryNotificationTypes)); +} + +template void impl_IAccessoryManager::DisableAllAccessoryNotificationTypes() const +{ + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_DisableAllAccessoryNotificationTypes()); +} + +template bool impl_IAccessoryManager::GetUserConsent() const +{ + bool enabled {}; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_GetUserConsent(&enabled)); + return enabled; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IAccessoryManager::GetAppIcon(hstring_view appId) const +{ + Windows::Storage::Streams::IRandomAccessStreamReference returnValue; + check_hresult(WINRT_SHIM(IAccessoryManager)->abi_GetAppIcon(get_abi(appId), put_abi(returnValue))); + return returnValue; +} + +template void impl_IAccessoryManager2::RingDevice() const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_RingDevice()); +} + +template Windows::Foundation::Collections::IVectorView impl_IAccessoryManager2::SpeedDialList() const +{ + Windows::Foundation::Collections::IVectorView ppvalue; + check_hresult(WINRT_SHIM(IAccessoryManager2)->get_SpeedDialList(put_abi(ppvalue))); + return ppvalue; +} + +template void impl_IAccessoryManager2::ClearToast(hstring_view instanceId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_ClearToast(get_abi(instanceId))); +} + +template bool impl_IAccessoryManager2::IsPhonePinLocked() const +{ + bool pinLocked {}; + check_hresult(WINRT_SHIM(IAccessoryManager2)->get_IsPhonePinLocked(&pinLocked)); + return pinLocked; +} + +template void impl_IAccessoryManager2::IncreaseVolume(int32_t step) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_IncreaseVolume(step)); +} + +template void impl_IAccessoryManager2::DecreaseVolume(int32_t step) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_DecreaseVolume(step)); +} + +template void impl_IAccessoryManager2::SetMute(bool mute) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_SetMute(mute)); +} + +template void impl_IAccessoryManager2::SetRingerVibrate(bool ringer, bool vibrate) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_SetRingerVibrate(ringer, vibrate)); +} + +template Windows::Phone::Notification::Management::VolumeInfo impl_IAccessoryManager2::VolumeInfo() const +{ + Windows::Phone::Notification::Management::VolumeInfo ppVolume { nullptr }; + check_hresult(WINRT_SHIM(IAccessoryManager2)->get_VolumeInfo(put_abi(ppVolume))); + return ppVolume; +} + +template Windows::Foundation::Collections::IVectorView impl_IAccessoryManager2::GetAllEmailAccounts() const +{ + Windows::Foundation::Collections::IVectorView emailAccounts; + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_GetAllEmailAccounts(put_abi(emailAccounts))); + return emailAccounts; +} + +template Windows::Foundation::Collections::IVectorView impl_IAccessoryManager2::GetFolders(hstring_view emailAccount) const +{ + Windows::Foundation::Collections::IVectorView folders; + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_GetFolders(get_abi(emailAccount), put_abi(folders))); + return folders; +} + +template void impl_IAccessoryManager2::EnableEmailNotificationEmailAccount(hstring_view emailAccount) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_EnableEmailNotificationEmailAccount(get_abi(emailAccount))); +} + +template void impl_IAccessoryManager2::DisableEmailNotificationEmailAccount(hstring_view emailAccount) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_DisableEmailNotificationEmailAccount(get_abi(emailAccount))); +} + +template void impl_IAccessoryManager2::EnableEmailNotificationFolderFilter(hstring_view emailAccount, vector_view folders) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_EnableEmailNotificationFolderFilter(get_abi(emailAccount), get_abi(folders))); +} + +template void impl_IAccessoryManager2::UpdateEmailReadStatus(const Windows::Phone::Notification::Management::BinaryId & messageEntryId, bool isRead) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager2)->abi_UpdateEmailReadStatus(get_abi(messageEntryId), isRead)); +} + +template void impl_IAccessoryManager3::SnoozeAlarmByInstanceId(hstring_view instanceId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager3)->abi_SnoozeAlarmByInstanceId(get_abi(instanceId))); +} + +template void impl_IAccessoryManager3::DismissAlarmByInstanceId(hstring_view instanceId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager3)->abi_DismissAlarmByInstanceId(get_abi(instanceId))); +} + +template void impl_IAccessoryManager3::SnoozeReminderByInstanceId(hstring_view instanceId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager3)->abi_SnoozeReminderByInstanceId(get_abi(instanceId))); +} + +template void impl_IAccessoryManager3::DismissReminderByInstanceId(hstring_view instanceId) const +{ + check_hresult(WINRT_SHIM(IAccessoryManager3)->abi_DismissReminderByInstanceId(get_abi(instanceId))); +} + +inline hstring AccessoryManager::RegisterAccessoryApp() +{ + return get_activation_factory().RegisterAccessoryApp(); +} + +inline Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails AccessoryManager::GetNextTriggerDetails() +{ + return get_activation_factory().GetNextTriggerDetails(); +} + +inline void AccessoryManager::ProcessTriggerDetails(const Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails & pDetails) +{ + get_activation_factory().ProcessTriggerDetails(pDetails); +} + +inline Windows::Foundation::Collections::IVectorView AccessoryManager::PhoneLineDetails() +{ + return get_activation_factory().PhoneLineDetails(); +} + +inline Windows::Phone::Notification::Management::PhoneLineDetails AccessoryManager::GetPhoneLineDetails(GUID phoneLine) +{ + return get_activation_factory().GetPhoneLineDetails(phoneLine); +} + +inline void AccessoryManager::AcceptPhoneCall(uint32_t phoneCallId) +{ + get_activation_factory().AcceptPhoneCall(phoneCallId); +} + +inline void AccessoryManager::AcceptPhoneCall(uint32_t phoneCallId, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) +{ + get_activation_factory().AcceptPhoneCall(phoneCallId, endPoint); +} + +inline void AccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId) +{ + get_activation_factory().AcceptPhoneCallWithVideo(phoneCallId); +} + +inline void AccessoryManager::AcceptPhoneCallWithVideo(uint32_t phoneCallId, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) +{ + get_activation_factory().AcceptPhoneCallWithVideo(phoneCallId, endPoint); +} + +inline void AccessoryManager::RejectPhoneCall(uint32_t phoneCallId) +{ + get_activation_factory().RejectPhoneCall(phoneCallId); +} + +inline void AccessoryManager::RejectPhoneCall(uint32_t phoneCallId, uint32_t textResponseID) +{ + get_activation_factory().RejectPhoneCall(phoneCallId, textResponseID); +} + +inline void AccessoryManager::MakePhoneCall(GUID phoneLine, hstring_view phoneNumber) +{ + get_activation_factory().MakePhoneCall(phoneLine, phoneNumber); +} + +inline void AccessoryManager::MakePhoneCall(GUID phoneLine, hstring_view phoneNumber, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) +{ + get_activation_factory().MakePhoneCall(phoneLine, phoneNumber, endPoint); +} + +inline void AccessoryManager::MakePhoneCallWithVideo(GUID phoneLine, hstring_view phoneNumber) +{ + get_activation_factory().MakePhoneCallWithVideo(phoneLine, phoneNumber); +} + +inline void AccessoryManager::MakePhoneCallWithVideo(GUID phoneLine, hstring_view phoneNumber, Windows::Phone::Notification::Management::PhoneCallAudioEndpoint endPoint) +{ + get_activation_factory().MakePhoneCallWithVideo(phoneLine, phoneNumber, endPoint); +} + +inline void AccessoryManager::SwapPhoneCalls(uint32_t phoneCallIdToHold, uint32_t phoneCallIdOnHold) +{ + get_activation_factory().SwapPhoneCalls(phoneCallIdToHold, phoneCallIdOnHold); +} + +inline void AccessoryManager::HoldPhoneCall(uint32_t phoneCallId, bool holdCall) +{ + get_activation_factory().HoldPhoneCall(phoneCallId, holdCall); +} + +inline void AccessoryManager::EndPhoneCall(uint32_t phoneCallId) +{ + get_activation_factory().EndPhoneCall(phoneCallId); +} + +inline void AccessoryManager::PhoneMute(bool value) +{ + get_activation_factory().PhoneMute(value); +} + +inline bool AccessoryManager::PhoneMute() +{ + return get_activation_factory().PhoneMute(); +} + +inline void AccessoryManager::PhoneCallAudioEndpoint(Windows::Phone::Notification::Management::PhoneCallAudioEndpoint value) +{ + get_activation_factory().PhoneCallAudioEndpoint(value); +} + +inline Windows::Phone::Notification::Management::PhoneCallAudioEndpoint AccessoryManager::PhoneCallAudioEndpoint() +{ + return get_activation_factory().PhoneCallAudioEndpoint(); +} + +inline void AccessoryManager::SnoozeAlarm(GUID alarmId) +{ + get_activation_factory().SnoozeAlarm(alarmId); +} + +inline void AccessoryManager::SnoozeAlarm(GUID alarmId, const Windows::Foundation::TimeSpan & timeSpan) +{ + get_activation_factory().SnoozeAlarm(alarmId, timeSpan); +} + +inline void AccessoryManager::DismissAlarm(GUID alarmId) +{ + get_activation_factory().DismissAlarm(alarmId); +} + +inline void AccessoryManager::SnoozeReminder(GUID reminderId) +{ + get_activation_factory().SnoozeReminder(reminderId); +} + +inline void AccessoryManager::SnoozeReminder(GUID reminderId, const Windows::Foundation::TimeSpan & timeSpan) +{ + get_activation_factory().SnoozeReminder(reminderId, timeSpan); +} + +inline void AccessoryManager::DismissReminder(GUID reminderId) +{ + get_activation_factory().DismissReminder(reminderId); +} + +inline Windows::Phone::Notification::Management::MediaMetadata AccessoryManager::GetMediaMetadata() +{ + return get_activation_factory().GetMediaMetadata(); +} + +inline Windows::Phone::Notification::Management::PlaybackCapability AccessoryManager::MediaPlaybackCapabilities() +{ + return get_activation_factory().MediaPlaybackCapabilities(); +} + +inline Windows::Phone::Notification::Management::PlaybackStatus AccessoryManager::MediaPlaybackStatus() +{ + return get_activation_factory().MediaPlaybackStatus(); +} + +inline void AccessoryManager::PerformMediaPlaybackCommand(Windows::Phone::Notification::Management::PlaybackCommand command) +{ + get_activation_factory().PerformMediaPlaybackCommand(command); +} + +inline bool AccessoryManager::DoNotDisturbEnabled() +{ + return get_activation_factory().DoNotDisturbEnabled(); +} + +inline bool AccessoryManager::DrivingModeEnabled() +{ + return get_activation_factory().DrivingModeEnabled(); +} + +inline bool AccessoryManager::BatterySaverState() +{ + return get_activation_factory().BatterySaverState(); +} + +inline Windows::Foundation::Collections::IMapView AccessoryManager::GetApps() +{ + return get_activation_factory().GetApps(); +} + +inline void AccessoryManager::EnableNotificationsForApplication(hstring_view appId) +{ + get_activation_factory().EnableNotificationsForApplication(appId); +} + +inline void AccessoryManager::DisableNotificationsForApplication(hstring_view appId) +{ + get_activation_factory().DisableNotificationsForApplication(appId); +} + +inline bool AccessoryManager::IsNotificationEnabledForApplication(hstring_view appId) +{ + return get_activation_factory().IsNotificationEnabledForApplication(appId); +} + +inline int32_t AccessoryManager::GetEnabledAccessoryNotificationTypes() +{ + return get_activation_factory().GetEnabledAccessoryNotificationTypes(); +} + +inline void AccessoryManager::EnableAccessoryNotificationTypes(int32_t accessoryNotificationTypes) +{ + get_activation_factory().EnableAccessoryNotificationTypes(accessoryNotificationTypes); +} + +inline void AccessoryManager::DisableAllAccessoryNotificationTypes() +{ + get_activation_factory().DisableAllAccessoryNotificationTypes(); +} + +inline bool AccessoryManager::GetUserConsent() +{ + return get_activation_factory().GetUserConsent(); +} + +inline Windows::Storage::Streams::IRandomAccessStreamReference AccessoryManager::GetAppIcon(hstring_view appId) +{ + return get_activation_factory().GetAppIcon(appId); +} + +inline void AccessoryManager::RingDevice() +{ + get_activation_factory().RingDevice(); +} + +inline Windows::Foundation::Collections::IVectorView AccessoryManager::SpeedDialList() +{ + return get_activation_factory().SpeedDialList(); +} + +inline void AccessoryManager::ClearToast(hstring_view instanceId) +{ + get_activation_factory().ClearToast(instanceId); +} + +inline bool AccessoryManager::IsPhonePinLocked() +{ + return get_activation_factory().IsPhonePinLocked(); +} + +inline void AccessoryManager::IncreaseVolume(int32_t step) +{ + get_activation_factory().IncreaseVolume(step); +} + +inline void AccessoryManager::DecreaseVolume(int32_t step) +{ + get_activation_factory().DecreaseVolume(step); +} + +inline void AccessoryManager::SetMute(bool mute) +{ + get_activation_factory().SetMute(mute); +} + +inline void AccessoryManager::SetRingerVibrate(bool ringer, bool vibrate) +{ + get_activation_factory().SetRingerVibrate(ringer, vibrate); +} + +inline Windows::Phone::Notification::Management::VolumeInfo AccessoryManager::VolumeInfo() +{ + return get_activation_factory().VolumeInfo(); +} + +inline Windows::Foundation::Collections::IVectorView AccessoryManager::GetAllEmailAccounts() +{ + return get_activation_factory().GetAllEmailAccounts(); +} + +inline Windows::Foundation::Collections::IVectorView AccessoryManager::GetFolders(hstring_view emailAccount) +{ + return get_activation_factory().GetFolders(emailAccount); +} + +inline void AccessoryManager::EnableEmailNotificationEmailAccount(hstring_view emailAccount) +{ + get_activation_factory().EnableEmailNotificationEmailAccount(emailAccount); +} + +inline void AccessoryManager::DisableEmailNotificationEmailAccount(hstring_view emailAccount) +{ + get_activation_factory().DisableEmailNotificationEmailAccount(emailAccount); +} + +inline void AccessoryManager::EnableEmailNotificationFolderFilter(hstring_view emailAccount, vector_view folders) +{ + get_activation_factory().EnableEmailNotificationFolderFilter(emailAccount, folders); +} + +inline void AccessoryManager::UpdateEmailReadStatus(const Windows::Phone::Notification::Management::BinaryId & messageEntryId, bool isRead) +{ + get_activation_factory().UpdateEmailReadStatus(messageEntryId, isRead); +} + +inline void AccessoryManager::SnoozeAlarmByInstanceId(hstring_view instanceId) +{ + get_activation_factory().SnoozeAlarmByInstanceId(instanceId); +} + +inline void AccessoryManager::DismissAlarmByInstanceId(hstring_view instanceId) +{ + get_activation_factory().DismissAlarmByInstanceId(instanceId); +} + +inline void AccessoryManager::SnoozeReminderByInstanceId(hstring_view instanceId) +{ + get_activation_factory().SnoozeReminderByInstanceId(instanceId); +} + +inline void AccessoryManager::DismissReminderByInstanceId(hstring_view instanceId) +{ + get_activation_factory().DismissReminderByInstanceId(instanceId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IAccessoryManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IAccessoryManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IAccessoryManager3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IAccessoryNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IAlarmNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IAlarmNotificationTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IAppNotificationInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IBinaryId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::ICalendarChangedNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::ICortanaTileNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IEmailAccountInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IEmailFolderInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IEmailNotificationTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IEmailReadNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IMediaControlsTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IMediaMetadata & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IPhoneCallDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IPhoneLineDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IPhoneLineDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IPhoneNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IReminderNotificationTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::ISpeedDialEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::ITextResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IToastNotificationTriggerDetails2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::IVolumeInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::AlarmNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::AppNotificationInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::BinaryId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::CalendarChangedNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::CortanaTileNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::EmailAccountInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::EmailFolderInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::EmailNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::EmailReadNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::MediaControlsTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::MediaMetadata & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::PhoneCallDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::PhoneLineDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::PhoneNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::ReminderNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::SpeedDialEntry & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::TextResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::ToastNotificationTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::Notification::Management::VolumeInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.PersonalInformation.Provisioning.h b/10.0.15042.0/winrt/Windows.Phone.PersonalInformation.Provisioning.h new file mode 100644 index 000000000..3917e3128 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.PersonalInformation.Provisioning.h @@ -0,0 +1,202 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Phone.PersonalInformation.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Phone.PersonalInformation.Provisioning.3.h" +#include "Windows.Phone.PersonalInformation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AssociateNetworkAccountAsync(impl::abi_arg_in store, impl::abi_arg_in networkName, impl::abi_arg_in networkAccountId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AssociateNetworkAccountAsync(*reinterpret_cast(&store), *reinterpret_cast(&networkName), *reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportVcardToSystemAsync(impl::abi_arg_in stream, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ImportVcardToSystemAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AssociateSocialNetworkAccountAsync(impl::abi_arg_in store, impl::abi_arg_in networkName, impl::abi_arg_in networkAccountId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AssociateSocialNetworkAccountAsync(*reinterpret_cast(&store), *reinterpret_cast(&networkName), *reinterpret_cast(&networkAccountId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ImportSmsToSystemAsync(bool incoming, bool read, impl::abi_arg_in body, impl::abi_arg_in sender, impl::abi_arg_in> recipients, impl::abi_arg_in deliveryTime, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().ImportSmsToSystemAsync(incoming, read, *reinterpret_cast(&body), *reinterpret_cast(&sender), *reinterpret_cast *>(&recipients), *reinterpret_cast(&deliveryTime))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportMmsToSystemAsync(bool incoming, bool read, impl::abi_arg_in subject, impl::abi_arg_in sender, impl::abi_arg_in> recipients, impl::abi_arg_in deliveryTime, impl::abi_arg_in>> attachments, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().ImportMmsToSystemAsync(incoming, read, *reinterpret_cast(&subject), *reinterpret_cast(&sender), *reinterpret_cast *>(&recipients), *reinterpret_cast(&deliveryTime), *reinterpret_cast> *>(&attachments))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::PersonalInformation::Provisioning { + +template Windows::Foundation::IAsyncAction impl_IContactPartnerProvisioningManagerStatics::AssociateNetworkAccountAsync(const Windows::Phone::PersonalInformation::ContactStore & store, hstring_view networkName, hstring_view networkAccountId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactPartnerProvisioningManagerStatics)->abi_AssociateNetworkAccountAsync(get_abi(store), get_abi(networkName), get_abi(networkAccountId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IContactPartnerProvisioningManagerStatics::ImportVcardToSystemAsync(const Windows::Storage::Streams::IInputStream & stream) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactPartnerProvisioningManagerStatics)->abi_ImportVcardToSystemAsync(get_abi(stream), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IContactPartnerProvisioningManagerStatics2::AssociateSocialNetworkAccountAsync(const Windows::Phone::PersonalInformation::ContactStore & store, hstring_view networkName, hstring_view networkAccountId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactPartnerProvisioningManagerStatics2)->abi_AssociateSocialNetworkAccountAsync(get_abi(store), get_abi(networkName), get_abi(networkAccountId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IMessagePartnerProvisioningManagerStatics::ImportSmsToSystemAsync(bool incoming, bool read, hstring_view body, hstring_view sender, vector_view recipients, const Windows::Foundation::DateTime & deliveryTime) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IMessagePartnerProvisioningManagerStatics)->abi_ImportSmsToSystemAsync(incoming, read, get_abi(body), get_abi(sender), get_abi(recipients), get_abi(deliveryTime), put_abi(action))); + return action; +} + +template Windows::Foundation::IAsyncAction impl_IMessagePartnerProvisioningManagerStatics::ImportMmsToSystemAsync(bool incoming, bool read, hstring_view subject, hstring_view sender, vector_view recipients, const Windows::Foundation::DateTime & deliveryTime, vector_view> attachments) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IMessagePartnerProvisioningManagerStatics)->abi_ImportMmsToSystemAsync(incoming, read, get_abi(subject), get_abi(sender), get_abi(recipients), get_abi(deliveryTime), get_abi(attachments), put_abi(action))); + return action; +} + +inline Windows::Foundation::IAsyncAction ContactPartnerProvisioningManager::AssociateNetworkAccountAsync(const Windows::Phone::PersonalInformation::ContactStore & store, hstring_view networkName, hstring_view networkAccountId) +{ + return get_activation_factory().AssociateNetworkAccountAsync(store, networkName, networkAccountId); +} + +inline Windows::Foundation::IAsyncAction ContactPartnerProvisioningManager::ImportVcardToSystemAsync(const Windows::Storage::Streams::IInputStream & stream) +{ + return get_activation_factory().ImportVcardToSystemAsync(stream); +} + +inline Windows::Foundation::IAsyncAction ContactPartnerProvisioningManager::AssociateSocialNetworkAccountAsync(const Windows::Phone::PersonalInformation::ContactStore & store, hstring_view networkName, hstring_view networkAccountId) +{ + return get_activation_factory().AssociateSocialNetworkAccountAsync(store, networkName, networkAccountId); +} + +inline Windows::Foundation::IAsyncAction MessagePartnerProvisioningManager::ImportSmsToSystemAsync(bool incoming, bool read, hstring_view body, hstring_view sender, vector_view recipients, const Windows::Foundation::DateTime & deliveryTime) +{ + return get_activation_factory().ImportSmsToSystemAsync(incoming, read, body, sender, recipients, deliveryTime); +} + +inline Windows::Foundation::IAsyncAction MessagePartnerProvisioningManager::ImportMmsToSystemAsync(bool incoming, bool read, hstring_view subject, hstring_view sender, vector_view recipients, const Windows::Foundation::DateTime & deliveryTime, vector_view> attachments) +{ + return get_activation_factory().ImportMmsToSystemAsync(incoming, read, subject, sender, recipients, deliveryTime, attachments); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::Provisioning::IContactPartnerProvisioningManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::Provisioning::IContactPartnerProvisioningManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::Provisioning::IMessagePartnerProvisioningManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.PersonalInformation.h b/10.0.15042.0/winrt/Windows.Phone.PersonalInformation.h new file mode 100644 index 000000000..db5b5cddf --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.PersonalInformation.h @@ -0,0 +1,2558 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Phone.PersonalInformation.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Country(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Country()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Country(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Country(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Locality(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Locality()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Locality(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Locality(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Region(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Region()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Region(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Region(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostalCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostalCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PostalCode(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PostalCode(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreetAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreetAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StreetAddress(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreetAddress(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeType(Windows::Phone::PersonalInformation::ContactChangeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RevisionNumber(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RevisionNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FamilyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FamilyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GivenName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GivenName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GivenName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GivenName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HonorificPrefix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HonorificPrefix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HonorificPrefix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HonorificPrefix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HonorificSuffix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HonorificSuffix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HonorificSuffix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HonorificSuffix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDisplayPictureAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDisplayPictureAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDisplayPictureAsync(impl::abi_arg_in stream, impl::abi_arg_out action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().SetDisplayPictureAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *action = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayPicture(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayPicture()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPropertiesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ToVcardAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ToVcardAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ToVcardWithOptionsAsync(Windows::Phone::PersonalInformation::VCardFormat format, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ToVcardAsync(format)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayPictureDate(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().DisplayPictureDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayPictureDate(impl::abi_arg_in returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayPictureDate(*reinterpret_cast(&returnValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ParseVcardAsync(impl::abi_arg_in vcard, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ParseVcardAsync(*reinterpret_cast(&vcard))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredFields(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredFields()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrderBy(Windows::Phone::PersonalInformation::ContactQueryResultOrdering * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrderBy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OrderBy(Windows::Phone::PersonalInformation::ContactQueryResultOrdering value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OrderBy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetContactCountAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetContactCountAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetContactsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContactsAsyncInRange(uint32_t startIndex, uint32_t maxNumberOfItems, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetContactsAsync(startIndex, maxNumberOfItems)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentQueryOptions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentQueryOptions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindContactByRemoteIdAsync(impl::abi_arg_in id, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindContactByRemoteIdAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindContactByIdAsync(impl::abi_arg_in id, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindContactByIdAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteContactAsync(impl::abi_arg_in id, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteContactAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateContactQueryDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateContactQuery()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateContactQueryWithOptions(impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateContactQuery(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RevisionNumber(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RevisionNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChangesAsync(uint64_t baseRevisionNumber, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetChangesAsync(baseRevisionNumber)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadExtendedPropertiesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LoadExtendedPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveExtendedPropertiesAsync(impl::abi_arg_in> data, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveExtendedPropertiesAsync(*reinterpret_cast *>(&data))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMeContactAsync(impl::abi_arg_in id, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateMeContactAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateOrOpenAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateOrOpenAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateOrOpenWithOptionsAsync(Windows::Phone::PersonalInformation::ContactStoreSystemAccessMode access, Windows::Phone::PersonalInformation::ContactStoreApplicationAccessMode sharing, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateOrOpenAsync(access, sharing)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GivenName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GivenName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HonorificPrefix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HonorificPrefix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HonorificSuffix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HonorificSuffix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdditionalName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdditionalName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Email(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Email()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WorkAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorkAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WorkTelephone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorkTelephone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_JobTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JobTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Birthdate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Birthdate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Anniversary(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Anniversary()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Telephone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Telephone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MobileTelephone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MobileTelephone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Url(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Url()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Notes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Notes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WorkFax(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorkFax()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Children(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Children()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignificantOther(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignificantOther()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompanyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompanyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompanyTelephone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompanyTelephone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HomeFax(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HomeFax()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateTelephone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateTelephone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Manager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Manager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Nickname(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Nickname()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OfficeLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OfficeLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WorkEmail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorkEmail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YomiGivenName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YomiGivenName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YomiFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YomiFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YomiCompanyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YomiCompanyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherEmail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherEmail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateMobileTelephone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateMobileTelephone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateWorkTelephone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateWorkTelephone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Store(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Store()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetExtendedPropertiesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetExtendedPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReplaceExistingContactAsync(impl::abi_arg_in id, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ReplaceExistingContactAsync(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateStoredContact(impl::abi_arg_in store, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateStoredContact(*reinterpret_cast(&store))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStoredContactFromInformation(impl::abi_arg_in store, impl::abi_arg_in contact, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateStoredContactFromInformation(*reinterpret_cast(&store), *reinterpret_cast(&contact))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::PersonalInformation { + +template hstring impl_IContactAddress::Country() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_Country(put_abi(value))); + return value; +} + +template void impl_IContactAddress::Country(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Country(get_abi(value))); +} + +template hstring impl_IContactAddress::Locality() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_Locality(put_abi(value))); + return value; +} + +template void impl_IContactAddress::Locality(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Locality(get_abi(value))); +} + +template hstring impl_IContactAddress::Region() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_Region(put_abi(value))); + return value; +} + +template void impl_IContactAddress::Region(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_Region(get_abi(value))); +} + +template hstring impl_IContactAddress::PostalCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_PostalCode(put_abi(value))); + return value; +} + +template void impl_IContactAddress::PostalCode(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_PostalCode(get_abi(value))); +} + +template hstring impl_IContactAddress::StreetAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactAddress)->get_StreetAddress(put_abi(value))); + return value; +} + +template void impl_IContactAddress::StreetAddress(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactAddress)->put_StreetAddress(get_abi(value))); +} + +template hstring impl_IContactInformation::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInformation)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IContactInformation::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactInformation)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IContactInformation::FamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInformation)->get_FamilyName(put_abi(value))); + return value; +} + +template void impl_IContactInformation::FamilyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactInformation)->put_FamilyName(get_abi(value))); +} + +template hstring impl_IContactInformation::GivenName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInformation)->get_GivenName(put_abi(value))); + return value; +} + +template void impl_IContactInformation::GivenName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactInformation)->put_GivenName(get_abi(value))); +} + +template hstring impl_IContactInformation::HonorificPrefix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInformation)->get_HonorificPrefix(put_abi(value))); + return value; +} + +template void impl_IContactInformation::HonorificPrefix(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactInformation)->put_HonorificPrefix(get_abi(value))); +} + +template hstring impl_IContactInformation::HonorificSuffix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactInformation)->get_HonorificSuffix(put_abi(value))); + return value; +} + +template void impl_IContactInformation::HonorificSuffix(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContactInformation)->put_HonorificSuffix(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IContactInformation::GetDisplayPictureAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactInformation)->abi_GetDisplayPictureAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IContactInformation::SetDisplayPictureAsync(const Windows::Storage::Streams::IInputStream & stream) const +{ + Windows::Foundation::IAsyncAction action; + check_hresult(WINRT_SHIM(IContactInformation)->abi_SetDisplayPictureAsync(get_abi(stream), put_abi(action))); + return action; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IContactInformation::DisplayPicture() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IContactInformation)->get_DisplayPicture(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactInformation::GetPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContactInformation)->abi_GetPropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IContactInformation::ToVcardAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactInformation)->abi_ToVcardAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IContactInformation::ToVcardAsync(Windows::Phone::PersonalInformation::VCardFormat format) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactInformation)->abi_ToVcardWithOptionsAsync(format, put_abi(operation))); + return operation; +} + +template Windows::Foundation::DateTime impl_IContactInformation2::DisplayPictureDate() const +{ + Windows::Foundation::DateTime returnValue {}; + check_hresult(WINRT_SHIM(IContactInformation2)->get_DisplayPictureDate(put_abi(returnValue))); + return returnValue; +} + +template void impl_IContactInformation2::DisplayPictureDate(const Windows::Foundation::DateTime & returnValue) const +{ + check_hresult(WINRT_SHIM(IContactInformation2)->put_DisplayPictureDate(get_abi(returnValue))); +} + +template Windows::Foundation::IAsyncOperation impl_IContactInformationStatics::ParseVcardAsync(const Windows::Storage::Streams::IInputStream & vcard) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactInformationStatics)->abi_ParseVcardAsync(get_abi(vcard), put_abi(operation))); + return operation; +} + +template Windows::Phone::PersonalInformation::ContactStore impl_IStoredContact::Store() const +{ + Windows::Phone::PersonalInformation::ContactStore value { nullptr }; + check_hresult(WINRT_SHIM(IStoredContact)->get_Store(put_abi(value))); + return value; +} + +template hstring impl_IStoredContact::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoredContact)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IStoredContact::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoredContact)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IStoredContact::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IStoredContact)->put_RemoteId(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation> impl_IStoredContact::GetExtendedPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStoredContact)->abi_GetExtendedPropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStoredContact::SaveAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IStoredContact)->abi_SaveAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IStoredContact::ReplaceExistingContactAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IStoredContact)->abi_ReplaceExistingContactAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Phone::PersonalInformation::StoredContact impl_IStoredContactFactory::CreateStoredContact(const Windows::Phone::PersonalInformation::ContactStore & store) const +{ + Windows::Phone::PersonalInformation::StoredContact result { nullptr }; + check_hresult(WINRT_SHIM(IStoredContactFactory)->abi_CreateStoredContact(get_abi(store), put_abi(result))); + return result; +} + +template Windows::Phone::PersonalInformation::StoredContact impl_IStoredContactFactory::CreateStoredContactFromInformation(const Windows::Phone::PersonalInformation::ContactStore & store, const Windows::Phone::PersonalInformation::ContactInformation & contact) const +{ + Windows::Phone::PersonalInformation::StoredContact result { nullptr }; + check_hresult(WINRT_SHIM(IStoredContactFactory)->abi_CreateStoredContactFromInformation(get_abi(store), get_abi(contact), put_abi(result))); + return result; +} + +template hstring impl_IKnownContactPropertiesStatics::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::FamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_FamilyName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::GivenName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_GivenName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::HonorificPrefix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_HonorificPrefix(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::HonorificSuffix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_HonorificSuffix(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::AdditionalName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_AdditionalName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Address() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Address(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::OtherAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_OtherAddress(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Email() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Email(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::WorkAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_WorkAddress(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::WorkTelephone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_WorkTelephone(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::JobTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_JobTitle(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Birthdate() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Birthdate(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Anniversary() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Anniversary(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Telephone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Telephone(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::MobileTelephone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_MobileTelephone(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Url() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Url(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Notes() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Notes(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::WorkFax() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_WorkFax(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Children() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Children(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::SignificantOther() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_SignificantOther(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::CompanyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_CompanyName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::CompanyTelephone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_CompanyTelephone(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::HomeFax() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_HomeFax(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::AlternateTelephone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_AlternateTelephone(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Manager() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Manager(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::Nickname() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_Nickname(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::OfficeLocation() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_OfficeLocation(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::WorkEmail() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_WorkEmail(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::YomiGivenName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_YomiGivenName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::YomiFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_YomiFamilyName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::YomiCompanyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_YomiCompanyName(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::OtherEmail() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_OtherEmail(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::AlternateMobileTelephone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_AlternateMobileTelephone(put_abi(value))); + return value; +} + +template hstring impl_IKnownContactPropertiesStatics::AlternateWorkTelephone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownContactPropertiesStatics)->get_AlternateWorkTelephone(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IContactQueryResult::GetContactCountAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactQueryResult)->abi_GetContactCountAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactQueryResult::GetContactsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContactQueryResult)->abi_GetContactsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactQueryResult::GetContactsAsync(uint32_t startIndex, uint32_t maxNumberOfItems) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContactQueryResult)->abi_GetContactsAsyncInRange(startIndex, maxNumberOfItems, put_abi(operation))); + return operation; +} + +template Windows::Phone::PersonalInformation::ContactQueryOptions impl_IContactQueryResult::GetCurrentQueryOptions() const +{ + Windows::Phone::PersonalInformation::ContactQueryOptions value { nullptr }; + check_hresult(WINRT_SHIM(IContactQueryResult)->abi_GetCurrentQueryOptions(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IContactQueryOptions::DesiredFields() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_DesiredFields(put_abi(value))); + return value; +} + +template Windows::Phone::PersonalInformation::ContactQueryResultOrdering impl_IContactQueryOptions::OrderBy() const +{ + Windows::Phone::PersonalInformation::ContactQueryResultOrdering value {}; + check_hresult(WINRT_SHIM(IContactQueryOptions)->get_OrderBy(&value)); + return value; +} + +template void impl_IContactQueryOptions::OrderBy(Windows::Phone::PersonalInformation::ContactQueryResultOrdering value) const +{ + check_hresult(WINRT_SHIM(IContactQueryOptions)->put_OrderBy(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore::FindContactByRemoteIdAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactStore)->abi_FindContactByRemoteIdAsync(get_abi(id), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore::FindContactByIdAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactStore)->abi_FindContactByIdAsync(get_abi(id), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IContactStore::DeleteContactAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactStore)->abi_DeleteContactAsync(get_abi(id), put_abi(result))); + return result; +} + +template Windows::Phone::PersonalInformation::ContactQueryResult impl_IContactStore::CreateContactQuery() const +{ + Windows::Phone::PersonalInformation::ContactQueryResult result { nullptr }; + check_hresult(WINRT_SHIM(IContactStore)->abi_CreateContactQueryDefault(put_abi(result))); + return result; +} + +template Windows::Phone::PersonalInformation::ContactQueryResult impl_IContactStore::CreateContactQuery(const Windows::Phone::PersonalInformation::ContactQueryOptions & options) const +{ + Windows::Phone::PersonalInformation::ContactQueryResult result { nullptr }; + check_hresult(WINRT_SHIM(IContactStore)->abi_CreateContactQueryWithOptions(get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IContactStore::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactStore)->abi_DeleteAsync(put_abi(result))); + return result; +} + +template uint64_t impl_IContactStore::RevisionNumber() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IContactStore)->get_RevisionNumber(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactStore::GetChangesAsync(uint64_t baseRevisionNumber) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContactStore)->abi_GetChangesAsync(baseRevisionNumber, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IContactStore::LoadExtendedPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContactStore)->abi_LoadExtendedPropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IContactStore::SaveExtendedPropertiesAsync(map_view data) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IContactStore)->abi_SaveExtendedPropertiesAsync(get_abi(data), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStore2::CreateMeContactAsync(hstring_view id) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactStore2)->abi_CreateMeContactAsync(get_abi(id), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStoreStatics::CreateOrOpenAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactStoreStatics)->abi_CreateOrOpenAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IContactStoreStatics::CreateOrOpenAsync(Windows::Phone::PersonalInformation::ContactStoreSystemAccessMode access, Windows::Phone::PersonalInformation::ContactStoreApplicationAccessMode sharing) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContactStoreStatics)->abi_CreateOrOpenWithOptionsAsync(access, sharing, put_abi(operation))); + return operation; +} + +template Windows::Phone::PersonalInformation::ContactChangeType impl_IContactChangeRecord::ChangeType() const +{ + Windows::Phone::PersonalInformation::ContactChangeType value {}; + check_hresult(WINRT_SHIM(IContactChangeRecord)->get_ChangeType(&value)); + return value; +} + +template uint64_t impl_IContactChangeRecord::RevisionNumber() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IContactChangeRecord)->get_RevisionNumber(&value)); + return value; +} + +template hstring impl_IContactChangeRecord::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactChangeRecord)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IContactChangeRecord::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContactChangeRecord)->get_RemoteId(put_abi(value))); + return value; +} + +inline ContactAddress::ContactAddress() : + ContactAddress(activate_instance()) +{} + +inline ContactInformation::ContactInformation() : + ContactInformation(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation ContactInformation::ParseVcardAsync(const Windows::Storage::Streams::IInputStream & vcard) +{ + return get_activation_factory().ParseVcardAsync(vcard); +} + +inline ContactQueryOptions::ContactQueryOptions() : + ContactQueryOptions(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation ContactStore::CreateOrOpenAsync() +{ + return get_activation_factory().CreateOrOpenAsync(); +} + +inline Windows::Foundation::IAsyncOperation ContactStore::CreateOrOpenAsync(Windows::Phone::PersonalInformation::ContactStoreSystemAccessMode access, Windows::Phone::PersonalInformation::ContactStoreApplicationAccessMode sharing) +{ + return get_activation_factory().CreateOrOpenAsync(access, sharing); +} + +inline hstring KnownContactProperties::DisplayName() +{ + return get_activation_factory().DisplayName(); +} + +inline hstring KnownContactProperties::FamilyName() +{ + return get_activation_factory().FamilyName(); +} + +inline hstring KnownContactProperties::GivenName() +{ + return get_activation_factory().GivenName(); +} + +inline hstring KnownContactProperties::HonorificPrefix() +{ + return get_activation_factory().HonorificPrefix(); +} + +inline hstring KnownContactProperties::HonorificSuffix() +{ + return get_activation_factory().HonorificSuffix(); +} + +inline hstring KnownContactProperties::AdditionalName() +{ + return get_activation_factory().AdditionalName(); +} + +inline hstring KnownContactProperties::Address() +{ + return get_activation_factory().Address(); +} + +inline hstring KnownContactProperties::OtherAddress() +{ + return get_activation_factory().OtherAddress(); +} + +inline hstring KnownContactProperties::Email() +{ + return get_activation_factory().Email(); +} + +inline hstring KnownContactProperties::WorkAddress() +{ + return get_activation_factory().WorkAddress(); +} + +inline hstring KnownContactProperties::WorkTelephone() +{ + return get_activation_factory().WorkTelephone(); +} + +inline hstring KnownContactProperties::JobTitle() +{ + return get_activation_factory().JobTitle(); +} + +inline hstring KnownContactProperties::Birthdate() +{ + return get_activation_factory().Birthdate(); +} + +inline hstring KnownContactProperties::Anniversary() +{ + return get_activation_factory().Anniversary(); +} + +inline hstring KnownContactProperties::Telephone() +{ + return get_activation_factory().Telephone(); +} + +inline hstring KnownContactProperties::MobileTelephone() +{ + return get_activation_factory().MobileTelephone(); +} + +inline hstring KnownContactProperties::Url() +{ + return get_activation_factory().Url(); +} + +inline hstring KnownContactProperties::Notes() +{ + return get_activation_factory().Notes(); +} + +inline hstring KnownContactProperties::WorkFax() +{ + return get_activation_factory().WorkFax(); +} + +inline hstring KnownContactProperties::Children() +{ + return get_activation_factory().Children(); +} + +inline hstring KnownContactProperties::SignificantOther() +{ + return get_activation_factory().SignificantOther(); +} + +inline hstring KnownContactProperties::CompanyName() +{ + return get_activation_factory().CompanyName(); +} + +inline hstring KnownContactProperties::CompanyTelephone() +{ + return get_activation_factory().CompanyTelephone(); +} + +inline hstring KnownContactProperties::HomeFax() +{ + return get_activation_factory().HomeFax(); +} + +inline hstring KnownContactProperties::AlternateTelephone() +{ + return get_activation_factory().AlternateTelephone(); +} + +inline hstring KnownContactProperties::Manager() +{ + return get_activation_factory().Manager(); +} + +inline hstring KnownContactProperties::Nickname() +{ + return get_activation_factory().Nickname(); +} + +inline hstring KnownContactProperties::OfficeLocation() +{ + return get_activation_factory().OfficeLocation(); +} + +inline hstring KnownContactProperties::WorkEmail() +{ + return get_activation_factory().WorkEmail(); +} + +inline hstring KnownContactProperties::YomiGivenName() +{ + return get_activation_factory().YomiGivenName(); +} + +inline hstring KnownContactProperties::YomiFamilyName() +{ + return get_activation_factory().YomiFamilyName(); +} + +inline hstring KnownContactProperties::YomiCompanyName() +{ + return get_activation_factory().YomiCompanyName(); +} + +inline hstring KnownContactProperties::OtherEmail() +{ + return get_activation_factory().OtherEmail(); +} + +inline hstring KnownContactProperties::AlternateMobileTelephone() +{ + return get_activation_factory().AlternateMobileTelephone(); +} + +inline hstring KnownContactProperties::AlternateWorkTelephone() +{ + return get_activation_factory().AlternateWorkTelephone(); +} + +inline StoredContact::StoredContact(const Windows::Phone::PersonalInformation::ContactStore & store) : + StoredContact(get_activation_factory().CreateStoredContact(store)) +{} + +inline StoredContact::StoredContact(const Windows::Phone::PersonalInformation::ContactStore & store, const Windows::Phone::PersonalInformation::ContactInformation & contact) : + StoredContact(get_activation_factory().CreateStoredContactFromInformation(store, contact)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactChangeRecord & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IContactStoreStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IKnownContactPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IStoredContact & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::IStoredContactFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::ContactAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::ContactChangeRecord & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::ContactInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::ContactQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::ContactQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::ContactStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::PersonalInformation::StoredContact & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.Speech.Recognition.h b/10.0.15042.0/winrt/Windows.Phone.Speech.Recognition.h new file mode 100644 index 000000000..7bae9ee25 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.Speech.Recognition.h @@ -0,0 +1,19 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Phone.Speech.Recognition.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +} + +} + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.StartScreen.h b/10.0.15042.0/winrt/Windows.Phone.StartScreen.h new file mode 100644 index 000000000..1b530e812 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.StartScreen.h @@ -0,0 +1,443 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.Notifications.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Phone.StartScreen.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPinnedToStart(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPinnedToStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTileForSim2(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTileForSim2()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateDisplayNameForSim1Async(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateDisplayNameForSim1Async(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileUpdaterForSim1(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForSim1()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileUpdaterForSim2(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForSim2()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBadgeUpdaterForSim1(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateBadgeUpdaterForSim1()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBadgeUpdaterForSim2(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateBadgeUpdaterForSim2()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateToastNotifierForSim1(impl::abi_arg_out notifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notifier = detach_abi(this->shim().CreateToastNotifierForSim1()); + return S_OK; + } + catch (...) + { + *notifier = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateToastNotifierForSim2(impl::abi_arg_out notifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notifier = detach_abi(this->shim().CreateToastNotifierForSim2()); + return S_OK; + } + catch (...) + { + *notifier = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateToastNotifierForSecondaryTile(impl::abi_arg_in tileId, impl::abi_arg_out notifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notifier = detach_abi(this->shim().CreateToastNotifierForSecondaryTile(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *notifier = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::StartScreen { + +template Windows::UI::Notifications::ToastNotifier impl_IToastNotificationManagerStatics3::CreateToastNotifierForSecondaryTile(hstring_view tileId) const +{ + Windows::UI::Notifications::ToastNotifier notifier { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics3)->abi_CreateToastNotifierForSecondaryTile(get_abi(tileId), put_abi(notifier))); + return notifier; +} + +template void impl_IDualSimTile::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDualSimTile)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IDualSimTile::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDualSimTile)->get_DisplayName(put_abi(value))); + return value; +} + +template bool impl_IDualSimTile::IsPinnedToStart() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDualSimTile)->get_IsPinnedToStart(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDualSimTile::CreateAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDualSimTile)->abi_CreateAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDualSimTile::UpdateAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDualSimTile)->abi_UpdateAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDualSimTile::DeleteAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDualSimTile)->abi_DeleteAsync(put_abi(operation))); + return operation; +} + +template Windows::Phone::StartScreen::DualSimTile impl_IDualSimTileStatics::GetTileForSim2() const +{ + Windows::Phone::StartScreen::DualSimTile result { nullptr }; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_GetTileForSim2(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDualSimTileStatics::UpdateDisplayNameForSim1Async(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_UpdateDisplayNameForSim1Async(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::UI::Notifications::TileUpdater impl_IDualSimTileStatics::CreateTileUpdaterForSim1() const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_CreateTileUpdaterForSim1(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::TileUpdater impl_IDualSimTileStatics::CreateTileUpdaterForSim2() const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_CreateTileUpdaterForSim2(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IDualSimTileStatics::CreateBadgeUpdaterForSim1() const +{ + Windows::UI::Notifications::BadgeUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_CreateBadgeUpdaterForSim1(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IDualSimTileStatics::CreateBadgeUpdaterForSim2() const +{ + Windows::UI::Notifications::BadgeUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_CreateBadgeUpdaterForSim2(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::ToastNotifier impl_IDualSimTileStatics::CreateToastNotifierForSim1() const +{ + Windows::UI::Notifications::ToastNotifier notifier { nullptr }; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_CreateToastNotifierForSim1(put_abi(notifier))); + return notifier; +} + +template Windows::UI::Notifications::ToastNotifier impl_IDualSimTileStatics::CreateToastNotifierForSim2() const +{ + Windows::UI::Notifications::ToastNotifier notifier { nullptr }; + check_hresult(WINRT_SHIM(IDualSimTileStatics)->abi_CreateToastNotifierForSim2(put_abi(notifier))); + return notifier; +} + +inline DualSimTile::DualSimTile() : + DualSimTile(activate_instance()) +{} + +inline Windows::Phone::StartScreen::DualSimTile DualSimTile::GetTileForSim2() +{ + return get_activation_factory().GetTileForSim2(); +} + +inline Windows::Foundation::IAsyncOperation DualSimTile::UpdateDisplayNameForSim1Async(hstring_view name) +{ + return get_activation_factory().UpdateDisplayNameForSim1Async(name); +} + +inline Windows::UI::Notifications::TileUpdater DualSimTile::CreateTileUpdaterForSim1() +{ + return get_activation_factory().CreateTileUpdaterForSim1(); +} + +inline Windows::UI::Notifications::TileUpdater DualSimTile::CreateTileUpdaterForSim2() +{ + return get_activation_factory().CreateTileUpdaterForSim2(); +} + +inline Windows::UI::Notifications::BadgeUpdater DualSimTile::CreateBadgeUpdaterForSim1() +{ + return get_activation_factory().CreateBadgeUpdaterForSim1(); +} + +inline Windows::UI::Notifications::BadgeUpdater DualSimTile::CreateBadgeUpdaterForSim2() +{ + return get_activation_factory().CreateBadgeUpdaterForSim2(); +} + +inline Windows::UI::Notifications::ToastNotifier DualSimTile::CreateToastNotifierForSim1() +{ + return get_activation_factory().CreateToastNotifierForSim1(); +} + +inline Windows::UI::Notifications::ToastNotifier DualSimTile::CreateToastNotifierForSim2() +{ + return get_activation_factory().CreateToastNotifierForSim2(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::StartScreen::IDualSimTile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::StartScreen::IDualSimTileStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::StartScreen::IToastNotificationManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::StartScreen::DualSimTile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.System.Power.h b/10.0.15042.0/winrt/Windows.Phone.System.Power.h new file mode 100644 index 000000000..760788f99 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.System.Power.h @@ -0,0 +1,164 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Phone.System.Power.3.h" +#include "Windows.Phone.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PowerSavingMode(Windows::Phone::System::Power::PowerSavingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerSavingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PowerSavingModeChanged(impl::abi_arg_in> changeHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PowerSavingModeChanged(*reinterpret_cast *>(&changeHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PowerSavingModeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PowerSavingModeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PowerSavingModeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerSavingModeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::System::Power { + +template Windows::Phone::System::Power::PowerSavingMode impl_IPowerManagerStatics::PowerSavingMode() const +{ + Windows::Phone::System::Power::PowerSavingMode value {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->get_PowerSavingMode(&value)); + return value; +} + +template event_token impl_IPowerManagerStatics::PowerSavingModeChanged(const Windows::Foundation::EventHandler & changeHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->add_PowerSavingModeChanged(get_abi(changeHandler), &token)); + return token; +} + +template event_revoker impl_IPowerManagerStatics::PowerSavingModeChanged(auto_revoke_t, const Windows::Foundation::EventHandler & changeHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Phone::System::Power::IPowerManagerStatics::remove_PowerSavingModeChanged, PowerSavingModeChanged(changeHandler)); +} + +template void impl_IPowerManagerStatics::PowerSavingModeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPowerManagerStatics)->remove_PowerSavingModeChanged(token)); +} + +template bool impl_IPowerManagerStatics2::PowerSavingModeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics2)->get_PowerSavingModeEnabled(&value)); + return value; +} + +inline Windows::Phone::System::Power::PowerSavingMode PowerManager::PowerSavingMode() +{ + return get_activation_factory().PowerSavingMode(); +} + +inline event_token PowerManager::PowerSavingModeChanged(const Windows::Foundation::EventHandler & changeHandler) +{ + return get_activation_factory().PowerSavingModeChanged(changeHandler); +} + +inline factory_event_revoker PowerManager::PowerSavingModeChanged(auto_revoke_t, const Windows::Foundation::EventHandler & changeHandler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Phone::System::Power::IPowerManagerStatics::remove_PowerSavingModeChanged, factory.PowerSavingModeChanged(changeHandler) }; +} + +inline void PowerManager::PowerSavingModeChanged(event_token token) +{ + get_activation_factory().PowerSavingModeChanged(token); +} + +inline bool PowerManager::PowerSavingModeEnabled() +{ + return get_activation_factory().PowerSavingModeEnabled(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::Power::IPowerManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::Power::IPowerManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.System.Profile.h b/10.0.15042.0/winrt/Windows.Phone.System.Profile.h new file mode 100644 index 000000000..da6239cb8 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.System.Profile.h @@ -0,0 +1,63 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Phone.System.Profile.3.h" +#include "Windows.Phone.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RetailModeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RetailModeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::System::Profile { + +template bool impl_IRetailModeStatics::RetailModeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRetailModeStatics)->get_RetailModeEnabled(&value)); + return value; +} + +inline bool RetailMode::RetailModeEnabled() +{ + return get_activation_factory().RetailModeEnabled(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::Profile::IRetailModeStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.System.UserProfile.GameServices.Core.h b/10.0.15042.0/winrt/Windows.Phone.System.UserProfile.GameServices.Core.h new file mode 100644 index 000000000..4e8c4a3bd --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.System.UserProfile.GameServices.Core.h @@ -0,0 +1,353 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Phone.System.UserProfile.GameServices.Core.3.h" +#include "Windows.Phone.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGamerProfileAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetGamerProfileAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInstalledGameItemsAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetInstalledGameItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPartnerTokenAsync(impl::abi_arg_in audienceUri, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPartnerTokenAsync(*reinterpret_cast(&audienceUri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPrivilegesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPrivilegesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GrantAchievement(uint32_t achievementId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GrantAchievement(achievementId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GrantAvatarAward(uint32_t avatarAwardId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GrantAvatarAward(avatarAwardId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PostResult(uint32_t gameVariant, Windows::Phone::System::UserProfile::GameServices::Core::GameServiceScoreKind scoreKind, int64_t scoreValue, Windows::Phone::System::UserProfile::GameServices::Core::GameServiceGameOutcome gameOutcome, impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PostResult(gameVariant, scoreKind, scoreValue, gameOutcome, *reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_NotifyPartnerTokenExpired(impl::abi_arg_in audienceUri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyPartnerTokenExpired(*reinterpret_cast(&audienceUri)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAuthenticationStatus(uint32_t * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().GetAuthenticationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPropertyAsync(impl::abi_arg_in propertyName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPropertyAsync(*reinterpret_cast(&propertyName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::System::UserProfile::GameServices::Core { + +template Windows::Foundation::IAsyncOperation impl_IGameServicePropertyCollection::GetPropertyAsync(hstring_view propertyName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGameServicePropertyCollection)->abi_GetPropertyAsync(get_abi(propertyName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Uri impl_IGameService::ServiceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IGameService)->get_ServiceUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IGameService::GetGamerProfileAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGameService)->abi_GetGamerProfileAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGameService::GetInstalledGameItemsAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGameService)->abi_GetInstalledGameItemsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGameService::GetPartnerTokenAsync(const Windows::Foundation::Uri & audienceUri) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGameService)->abi_GetPartnerTokenAsync(get_abi(audienceUri), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IGameService::GetPrivilegesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGameService)->abi_GetPrivilegesAsync(put_abi(operation))); + return operation; +} + +template void impl_IGameService::GrantAchievement(uint32_t achievementId) const +{ + check_hresult(WINRT_SHIM(IGameService)->abi_GrantAchievement(achievementId)); +} + +template void impl_IGameService::GrantAvatarAward(uint32_t avatarAwardId) const +{ + check_hresult(WINRT_SHIM(IGameService)->abi_GrantAvatarAward(avatarAwardId)); +} + +template void impl_IGameService::PostResult(uint32_t gameVariant, Windows::Phone::System::UserProfile::GameServices::Core::GameServiceScoreKind scoreKind, int64_t scoreValue, Windows::Phone::System::UserProfile::GameServices::Core::GameServiceGameOutcome gameOutcome, const Windows::Storage::Streams::IBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(IGameService)->abi_PostResult(gameVariant, scoreKind, scoreValue, gameOutcome, get_abi(buffer))); +} + +template void impl_IGameService2::NotifyPartnerTokenExpired(const Windows::Foundation::Uri & audienceUri) const +{ + check_hresult(WINRT_SHIM(IGameService2)->abi_NotifyPartnerTokenExpired(get_abi(audienceUri))); +} + +template uint32_t impl_IGameService2::GetAuthenticationStatus() const +{ + uint32_t status {}; + check_hresult(WINRT_SHIM(IGameService2)->abi_GetAuthenticationStatus(&status)); + return status; +} + +inline Windows::Foundation::Uri GameService::ServiceUri() +{ + return get_activation_factory().ServiceUri(); +} + +inline Windows::Foundation::IAsyncOperation GameService::GetGamerProfileAsync() +{ + return get_activation_factory().GetGamerProfileAsync(); +} + +inline Windows::Foundation::IAsyncOperation GameService::GetInstalledGameItemsAsync() +{ + return get_activation_factory().GetInstalledGameItemsAsync(); +} + +inline Windows::Foundation::IAsyncOperation GameService::GetPartnerTokenAsync(const Windows::Foundation::Uri & audienceUri) +{ + return get_activation_factory().GetPartnerTokenAsync(audienceUri); +} + +inline Windows::Foundation::IAsyncOperation GameService::GetPrivilegesAsync() +{ + return get_activation_factory().GetPrivilegesAsync(); +} + +inline void GameService::GrantAchievement(uint32_t achievementId) +{ + get_activation_factory().GrantAchievement(achievementId); +} + +inline void GameService::GrantAvatarAward(uint32_t avatarAwardId) +{ + get_activation_factory().GrantAvatarAward(avatarAwardId); +} + +inline void GameService::PostResult(uint32_t gameVariant, Windows::Phone::System::UserProfile::GameServices::Core::GameServiceScoreKind scoreKind, int64_t scoreValue, Windows::Phone::System::UserProfile::GameServices::Core::GameServiceGameOutcome gameOutcome, const Windows::Storage::Streams::IBuffer & buffer) +{ + get_activation_factory().PostResult(gameVariant, scoreKind, scoreValue, gameOutcome, buffer); +} + +inline void GameService::NotifyPartnerTokenExpired(const Windows::Foundation::Uri & audienceUri) +{ + get_activation_factory().NotifyPartnerTokenExpired(audienceUri); +} + +inline uint32_t GameService::GetAuthenticationStatus() +{ + return get_activation_factory().GetAuthenticationStatus(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::UserProfile::GameServices::Core::IGameService & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::UserProfile::GameServices::Core::IGameService2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::UserProfile::GameServices::Core::IGameServicePropertyCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::UserProfile::GameServices::Core::GameServicePropertyCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.System.h b/10.0.15042.0/winrt/Windows.Phone.System.h new file mode 100644 index 000000000..e4d16c4e3 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.System.h @@ -0,0 +1,99 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Phone.System.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ScreenLocked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScreenLocked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestScreenUnlock() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestScreenUnlock(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::System { + +template bool impl_ISystemProtectionStatics::ScreenLocked() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemProtectionStatics)->get_ScreenLocked(&value)); + return value; +} + +template void impl_ISystemProtectionUnlockStatics::RequestScreenUnlock() const +{ + check_hresult(WINRT_SHIM(ISystemProtectionUnlockStatics)->abi_RequestScreenUnlock()); +} + +inline bool SystemProtection::ScreenLocked() +{ + return get_activation_factory().ScreenLocked(); +} + +inline void SystemProtection::RequestScreenUnlock() +{ + get_activation_factory().RequestScreenUnlock(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::ISystemProtectionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::System::ISystemProtectionUnlockStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Phone.UI.Input.h b/10.0.15042.0/winrt/Windows.Phone.UI.Input.h new file mode 100644 index 000000000..24502e5cc --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Phone.UI.Input.h @@ -0,0 +1,378 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Phone.UI.Input.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BackPressed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BackPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BackPressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackPressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CameraHalfPressed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraHalfPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraHalfPressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraHalfPressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraPressed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraPressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraPressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CameraReleased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CameraReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CameraReleased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraReleased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Phone::UI::Input { + +template event_token impl_IHardwareButtonsStatics::BackPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHardwareButtonsStatics)->add_BackPressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IHardwareButtonsStatics::BackPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics::remove_BackPressed, BackPressed(handler)); +} + +template void impl_IHardwareButtonsStatics::BackPressed(event_token token) const +{ + check_hresult(WINRT_SHIM(IHardwareButtonsStatics)->remove_BackPressed(token)); +} + +template event_token impl_IHardwareButtonsStatics2::CameraHalfPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHardwareButtonsStatics2)->add_CameraHalfPressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IHardwareButtonsStatics2::CameraHalfPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics2::remove_CameraHalfPressed, CameraHalfPressed(handler)); +} + +template void impl_IHardwareButtonsStatics2::CameraHalfPressed(event_token token) const +{ + check_hresult(WINRT_SHIM(IHardwareButtonsStatics2)->remove_CameraHalfPressed(token)); +} + +template event_token impl_IHardwareButtonsStatics2::CameraPressed(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHardwareButtonsStatics2)->add_CameraPressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IHardwareButtonsStatics2::CameraPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics2::remove_CameraPressed, CameraPressed(handler)); +} + +template void impl_IHardwareButtonsStatics2::CameraPressed(event_token token) const +{ + check_hresult(WINRT_SHIM(IHardwareButtonsStatics2)->remove_CameraPressed(token)); +} + +template event_token impl_IHardwareButtonsStatics2::CameraReleased(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHardwareButtonsStatics2)->add_CameraReleased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IHardwareButtonsStatics2::CameraReleased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics2::remove_CameraReleased, CameraReleased(handler)); +} + +template void impl_IHardwareButtonsStatics2::CameraReleased(event_token token) const +{ + check_hresult(WINRT_SHIM(IHardwareButtonsStatics2)->remove_CameraReleased(token)); +} + +template bool impl_IBackPressedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBackPressedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IBackPressedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IBackPressedEventArgs)->put_Handled(value)); +} + +inline event_token HardwareButtons::BackPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().BackPressed(handler); +} + +inline factory_event_revoker HardwareButtons::BackPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics::remove_BackPressed, factory.BackPressed(handler) }; +} + +inline void HardwareButtons::BackPressed(event_token token) +{ + get_activation_factory().BackPressed(token); +} + +inline event_token HardwareButtons::CameraHalfPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().CameraHalfPressed(handler); +} + +inline factory_event_revoker HardwareButtons::CameraHalfPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics2::remove_CameraHalfPressed, factory.CameraHalfPressed(handler) }; +} + +inline void HardwareButtons::CameraHalfPressed(event_token token) +{ + get_activation_factory().CameraHalfPressed(token); +} + +inline event_token HardwareButtons::CameraPressed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().CameraPressed(handler); +} + +inline factory_event_revoker HardwareButtons::CameraPressed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics2::remove_CameraPressed, factory.CameraPressed(handler) }; +} + +inline void HardwareButtons::CameraPressed(event_token token) +{ + get_activation_factory().CameraPressed(token); +} + +inline event_token HardwareButtons::CameraReleased(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().CameraReleased(handler); +} + +inline factory_event_revoker HardwareButtons::CameraReleased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Phone::UI::Input::IHardwareButtonsStatics2::remove_CameraReleased, factory.CameraReleased(handler) }; +} + +inline void HardwareButtons::CameraReleased(event_token token) +{ + get_activation_factory().CameraReleased(token); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::UI::Input::IBackPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::UI::Input::ICameraEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::UI::Input::IHardwareButtonsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::UI::Input::IHardwareButtonsStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::UI::Input::BackPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Phone::UI::Input::CameraEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.Core.h b/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.Core.h new file mode 100644 index 000000000..8210bfb47 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.Core.h @@ -0,0 +1,739 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Security.Authentication.Identity.Core.3.h" +#include "Windows.Security.Authentication.Identity.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetOneTimePassCodeAsync(impl::abi_arg_in userAccountId, uint32_t codeLength, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().GetOneTimePassCodeAsync(*reinterpret_cast(&userAccountId), codeLength)); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDeviceAsync(impl::abi_arg_in userAccountId, impl::abi_arg_in authenticationToken, impl::abi_arg_in wnsChannelId, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().AddDeviceAsync(*reinterpret_cast(&userAccountId), *reinterpret_cast(&authenticationToken), *reinterpret_cast(&wnsChannelId))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveDeviceAsync(impl::abi_arg_in userAccountId, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().RemoveDeviceAsync(*reinterpret_cast(&userAccountId))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateWnsChannelAsync(impl::abi_arg_in userAccountId, impl::abi_arg_in channelUri, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().UpdateWnsChannelAsync(*reinterpret_cast(&userAccountId), *reinterpret_cast(&channelUri))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSessionsAsync(impl::abi_arg_in> userAccountIdList, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().GetSessionsAsync(*reinterpret_cast *>(&userAccountIdList))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSessionsAndUnregisteredAccountsAsync(impl::abi_arg_in> userAccountIdList, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().GetSessionsAndUnregisteredAccountsAsync(*reinterpret_cast *>(&userAccountIdList))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApproveSessionUsingAuthSessionInfoAsync(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionAuthenticationStatus sessionAuthentictionStatus, impl::abi_arg_in authenticationSessionInfo, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().ApproveSessionAsync(sessionAuthentictionStatus, *reinterpret_cast(&authenticationSessionInfo))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApproveSessionAsync(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionAuthenticationStatus sessionAuthentictionStatus, impl::abi_arg_in userAccountId, impl::abi_arg_in sessionId, Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType sessionAuthenticationType, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().ApproveSessionAsync(sessionAuthentictionStatus, *reinterpret_cast(&userAccountId), *reinterpret_cast(&sessionId), sessionAuthenticationType)); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DenySessionUsingAuthSessionInfoAsync(impl::abi_arg_in authenticationSessionInfo, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().DenySessionAsync(*reinterpret_cast(&authenticationSessionInfo))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DenySessionAsync(impl::abi_arg_in userAccountId, impl::abi_arg_in sessionId, Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType sessionAuthenticationType, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().DenySessionAsync(*reinterpret_cast(&userAccountId), *reinterpret_cast(&sessionId), sessionAuthenticationType)); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Sessions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sessions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceResponse(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceResponse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Code(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Code()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeInterval(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeInterval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeToLive(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeToLive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceResponse(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceResponse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserAccountId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserAccountId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplaySessionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplaySessionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApprovalStatus(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionApprovalStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApprovalStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationType(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Sessions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sessions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnregisteredAccounts(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnregisteredAccounts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceResponse(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceResponse()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Authentication::Identity::Core { + +template hstring impl_IMicrosoftAccountMultiFactorSessionInfo::UserAccountId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorSessionInfo)->get_UserAccountId(put_abi(value))); + return value; +} + +template hstring impl_IMicrosoftAccountMultiFactorSessionInfo::SessionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorSessionInfo)->get_SessionId(put_abi(value))); + return value; +} + +template hstring impl_IMicrosoftAccountMultiFactorSessionInfo::DisplaySessionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorSessionInfo)->get_DisplaySessionId(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionApprovalStatus impl_IMicrosoftAccountMultiFactorSessionInfo::ApprovalStatus() const +{ + Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionApprovalStatus value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorSessionInfo)->get_ApprovalStatus(&value)); + return value; +} + +template Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType impl_IMicrosoftAccountMultiFactorSessionInfo::AuthenticationType() const +{ + Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorSessionInfo)->get_AuthenticationType(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IMicrosoftAccountMultiFactorSessionInfo::RequestTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorSessionInfo)->get_RequestTime(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IMicrosoftAccountMultiFactorSessionInfo::ExpirationTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorSessionInfo)->get_ExpirationTime(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMicrosoftAccountMultiFactorGetSessionsResult::Sessions() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorGetSessionsResult)->get_Sessions(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse impl_IMicrosoftAccountMultiFactorGetSessionsResult::ServiceResponse() const +{ + Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorGetSessionsResult)->get_ServiceResponse(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo::Sessions() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo)->get_Sessions(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo::UnregisteredAccounts() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo)->get_UnregisteredAccounts(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse impl_IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo::ServiceResponse() const +{ + Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo)->get_ServiceResponse(&value)); + return value; +} + +template hstring impl_IMicrosoftAccountMultiFactorOneTimeCodedInfo::Code() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_Code(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMicrosoftAccountMultiFactorOneTimeCodedInfo::TimeInterval() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_TimeInterval(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMicrosoftAccountMultiFactorOneTimeCodedInfo::TimeToLive() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_TimeToLive(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse impl_IMicrosoftAccountMultiFactorOneTimeCodedInfo::ServiceResponse() const +{ + Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorServiceResponse value {}; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorOneTimeCodedInfo)->get_ServiceResponse(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::GetOneTimePassCodeAsync(hstring_view userAccountId, uint32_t codeLength) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_GetOneTimePassCodeAsync(get_abi(userAccountId), codeLength, put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::AddDeviceAsync(hstring_view userAccountId, hstring_view authenticationToken, hstring_view wnsChannelId) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_AddDeviceAsync(get_abi(userAccountId), get_abi(authenticationToken), get_abi(wnsChannelId), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::RemoveDeviceAsync(hstring_view userAccountId) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_RemoveDeviceAsync(get_abi(userAccountId), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::UpdateWnsChannelAsync(hstring_view userAccountId, hstring_view channelUri) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_UpdateWnsChannelAsync(get_abi(userAccountId), get_abi(channelUri), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::GetSessionsAsync(iterable userAccountIdList) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_GetSessionsAsync(get_abi(userAccountIdList), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::GetSessionsAndUnregisteredAccountsAsync(iterable userAccountIdList) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_GetSessionsAndUnregisteredAccountsAsync(get_abi(userAccountIdList), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::ApproveSessionAsync(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionAuthenticationStatus sessionAuthentictionStatus, const Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionInfo & authenticationSessionInfo) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_ApproveSessionUsingAuthSessionInfoAsync(sessionAuthentictionStatus, get_abi(authenticationSessionInfo), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::ApproveSessionAsync(Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionAuthenticationStatus sessionAuthentictionStatus, hstring_view userAccountId, hstring_view sessionId, Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType sessionAuthenticationType) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_ApproveSessionAsync(sessionAuthentictionStatus, get_abi(userAccountId), get_abi(sessionId), sessionAuthenticationType, put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::DenySessionAsync(const Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionInfo & authenticationSessionInfo) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_DenySessionUsingAuthSessionInfoAsync(get_abi(authenticationSessionInfo), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IMicrosoftAccountMultiFactorAuthenticationManager::DenySessionAsync(hstring_view userAccountId, hstring_view sessionId, Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationType sessionAuthenticationType) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticationManager)->abi_DenySessionAsync(get_abi(userAccountId), get_abi(sessionId), sessionAuthenticationType, put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationManager impl_IMicrosoftAccountMultiFactorAuthenticatorStatics::Current() const +{ + Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationManager value { nullptr }; + check_hresult(WINRT_SHIM(IMicrosoftAccountMultiFactorAuthenticatorStatics)->get_Current(put_abi(value))); + return value; +} + +inline Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationManager MicrosoftAccountMultiFactorAuthenticationManager::Current() +{ + return get_activation_factory().Current(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticationManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorAuthenticatorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorGetSessionsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorOneTimeCodedInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorSessionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::IMicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorAuthenticationManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorGetSessionsResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorOneTimeCodedInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorSessionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Core::MicrosoftAccountMultiFactorUnregisteredAccountsAndSessionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.Provider.h b/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.Provider.h new file mode 100644 index 000000000..d7326b0f9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.Provider.h @@ -0,0 +1,1089 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Security.Authentication.Identity.Provider.3.h" +#include "Windows.Security.Authentication.Identity.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ServiceAuthenticationHmac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceAuthenticationHmac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionNonce(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionNonce()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceNonce(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceNonce()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceConfigurationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceConfigurationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FinishAuthenticationAsync(impl::abi_arg_in deviceHmac, impl::abi_arg_in sessionHmac, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FinishAuthenticationAsync(*reinterpret_cast(&deviceHmac), *reinterpret_cast(&sessionHmac))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AbortAuthenticationAsync(impl::abi_arg_in errorLogMessage, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AbortAuthenticationAsync(*reinterpret_cast(&errorLogMessage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Authentication(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Authentication()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StageInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StageInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Stage(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStage * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scenario(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationScenario * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scenario()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowNotificationMessageAsync(impl::abi_arg_in deviceName, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationMessage message, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ShowNotificationMessageAsync(*reinterpret_cast(&deviceName), message)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAuthenticationAsync(impl::abi_arg_in deviceId, impl::abi_arg_in serviceAuthenticationNonce, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartAuthenticationAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&serviceAuthenticationNonce))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AuthenticationStageChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AuthenticationStageChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AuthenticationStageChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationStageChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAuthenticationStageInfoAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetAuthenticationStageInfoAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RegisterDevicePresenceMonitoringAsync(impl::abi_arg_in deviceId, impl::abi_arg_in deviceInstancePath, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode monitoringMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RegisterDevicePresenceMonitoringAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&deviceInstancePath), monitoringMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterDevicePresenceMonitoringWithNewDeviceAsync(impl::abi_arg_in deviceId, impl::abi_arg_in deviceInstancePath, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode monitoringMode, impl::abi_arg_in deviceFriendlyName, impl::abi_arg_in deviceModelNumber, impl::abi_arg_in deviceConfigurationData, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RegisterDevicePresenceMonitoringAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&deviceInstancePath), monitoringMode, *reinterpret_cast(&deviceFriendlyName), *reinterpret_cast(&deviceModelNumber), *reinterpret_cast(&deviceConfigurationData))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterDevicePresenceMonitoringAsync(impl::abi_arg_in deviceId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnregisterDevicePresenceMonitoringAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsDevicePresenceMonitoringSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDevicePresenceMonitoringSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out deviceId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceId = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *deviceId = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceFriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceFriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceModelNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceModelNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceConfigurationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceConfigurationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PresenceMonitoringMode(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PresenceMonitoringMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateDevicePresenceAsync(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresence presenceState, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateDevicePresenceAsync(presenceState)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAuthenticationSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAuthenticationSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FinishRegisteringDeviceAsync(impl::abi_arg_in deviceConfigurationData, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FinishRegisteringDeviceAsync(*reinterpret_cast(&deviceConfigurationData))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AbortRegisteringDeviceAsync(impl::abi_arg_in errorLogMessage, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AbortRegisteringDeviceAsync(*reinterpret_cast(&errorLogMessage))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorRegistrationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Registration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Registration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestStartRegisteringDeviceAsync(impl::abi_arg_in deviceId, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDeviceCapabilities capabilities, impl::abi_arg_in deviceFriendlyName, impl::abi_arg_in deviceModelNumber, impl::abi_arg_in deviceKey, impl::abi_arg_in mutualAuthenticationKey, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStartRegisteringDeviceAsync(*reinterpret_cast(&deviceId), capabilities, *reinterpret_cast(&deviceFriendlyName), *reinterpret_cast(&deviceModelNumber), *reinterpret_cast(&deviceKey), *reinterpret_cast(&mutualAuthenticationKey))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllRegisteredDeviceInfoAsync(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDeviceFindScope queryType, impl::abi_arg_out>> deviceInfoList) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deviceInfoList = detach_abi(this->shim().FindAllRegisteredDeviceInfoAsync(queryType)); + return S_OK; + } + catch (...) + { + *deviceInfoList = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnregisterDeviceAsync(impl::abi_arg_in deviceId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnregisterDeviceAsync(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateDeviceConfigurationDataAsync(impl::abi_arg_in deviceId, impl::abi_arg_in deviceConfigurationData, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UpdateDeviceConfigurationDataAsync(*reinterpret_cast(&deviceId), *reinterpret_cast(&deviceConfigurationData))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Authentication::Identity::Provider { + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorRegistrationStatus impl_ISecondaryAuthenticationFactorRegistrationResult::Status() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorRegistrationStatus value {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistrationResult)->get_Status(&value)); + return value; +} + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorRegistration impl_ISecondaryAuthenticationFactorRegistrationResult::Registration() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorRegistration value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistrationResult)->get_Registration(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStatus impl_ISecondaryAuthenticationFactorAuthenticationResult::Status() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStatus value {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationResult)->get_Status(&value)); + return value; +} + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthentication impl_ISecondaryAuthenticationFactorAuthenticationResult::Authentication() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthentication value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationResult)->get_Authentication(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryAuthenticationFactorRegistrationStatics::RequestStartRegisteringDeviceAsync(hstring_view deviceId, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDeviceCapabilities capabilities, hstring_view deviceFriendlyName, hstring_view deviceModelNumber, const Windows::Storage::Streams::IBuffer & deviceKey, const Windows::Storage::Streams::IBuffer & mutualAuthenticationKey) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistrationStatics)->abi_RequestStartRegisteringDeviceAsync(get_abi(deviceId), capabilities, get_abi(deviceFriendlyName), get_abi(deviceModelNumber), get_abi(deviceKey), get_abi(mutualAuthenticationKey), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ISecondaryAuthenticationFactorRegistrationStatics::FindAllRegisteredDeviceInfoAsync(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDeviceFindScope queryType) const +{ + Windows::Foundation::IAsyncOperation> deviceInfoList; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistrationStatics)->abi_FindAllRegisteredDeviceInfoAsync(queryType, put_abi(deviceInfoList))); + return deviceInfoList; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorRegistrationStatics::UnregisterDeviceAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistrationStatics)->abi_UnregisterDeviceAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorRegistrationStatics::UpdateDeviceConfigurationDataAsync(hstring_view deviceId, const Windows::Storage::Streams::IBuffer & deviceConfigurationData) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistrationStatics)->abi_UpdateDeviceConfigurationDataAsync(get_abi(deviceId), get_abi(deviceConfigurationData), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics::RegisterDevicePresenceMonitoringAsync(hstring_view deviceId, hstring_view deviceInstancePath, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode monitoringMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics)->abi_RegisterDevicePresenceMonitoringAsync(get_abi(deviceId), get_abi(deviceInstancePath), monitoringMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics::RegisterDevicePresenceMonitoringAsync(hstring_view deviceId, hstring_view deviceInstancePath, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode monitoringMode, hstring_view deviceFriendlyName, hstring_view deviceModelNumber, const Windows::Storage::Streams::IBuffer & deviceConfigurationData) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics)->abi_RegisterDevicePresenceMonitoringWithNewDeviceAsync(get_abi(deviceId), get_abi(deviceInstancePath), monitoringMode, get_abi(deviceFriendlyName), get_abi(deviceModelNumber), get_abi(deviceConfigurationData), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics::UnregisterDevicePresenceMonitoringAsync(hstring_view deviceId) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics)->abi_UnregisterDevicePresenceMonitoringAsync(get_abi(deviceId), put_abi(result))); + return result; +} + +template bool impl_ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics::IsDevicePresenceMonitoringSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics)->abi_IsDevicePresenceMonitoringSupported(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorRegistration::FinishRegisteringDeviceAsync(const Windows::Storage::Streams::IBuffer & deviceConfigurationData) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistration)->abi_FinishRegisteringDeviceAsync(get_abi(deviceConfigurationData), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorRegistration::AbortRegisteringDeviceAsync(hstring_view errorLogMessage) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorRegistration)->abi_AbortRegisteringDeviceAsync(get_abi(errorLogMessage), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorAuthenticationStatics::ShowNotificationMessageAsync(hstring_view deviceName, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationMessage message) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStatics)->abi_ShowNotificationMessageAsync(get_abi(deviceName), message, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryAuthenticationFactorAuthenticationStatics::StartAuthenticationAsync(hstring_view deviceId, const Windows::Storage::Streams::IBuffer & serviceAuthenticationNonce) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStatics)->abi_StartAuthenticationAsync(get_abi(deviceId), get_abi(serviceAuthenticationNonce), put_abi(operation))); + return operation; +} + +template event_token impl_ISecondaryAuthenticationFactorAuthenticationStatics::AuthenticationStageChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStatics)->add_AuthenticationStageChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISecondaryAuthenticationFactorAuthenticationStatics::AuthenticationStageChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorAuthenticationStatics::remove_AuthenticationStageChanged, AuthenticationStageChanged(handler)); +} + +template void impl_ISecondaryAuthenticationFactorAuthenticationStatics::AuthenticationStageChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStatics)->remove_AuthenticationStageChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryAuthenticationFactorAuthenticationStatics::GetAuthenticationStageInfoAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStatics)->abi_GetAuthenticationStageInfoAsync(put_abi(result))); + return result; +} + +template Windows::Storage::Streams::IBuffer impl_ISecondaryAuthenticationFactorAuthentication::ServiceAuthenticationHmac() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthentication)->get_ServiceAuthenticationHmac(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISecondaryAuthenticationFactorAuthentication::SessionNonce() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthentication)->get_SessionNonce(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISecondaryAuthenticationFactorAuthentication::DeviceNonce() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthentication)->get_DeviceNonce(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISecondaryAuthenticationFactorAuthentication::DeviceConfigurationData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthentication)->get_DeviceConfigurationData(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryAuthenticationFactorAuthentication::FinishAuthenticationAsync(const Windows::Storage::Streams::IBuffer & deviceHmac, const Windows::Storage::Streams::IBuffer & sessionHmac) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthentication)->abi_FinishAuthenticationAsync(get_abi(deviceHmac), get_abi(sessionHmac), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorAuthentication::AbortAuthenticationAsync(hstring_view errorLogMessage) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthentication)->abi_AbortAuthenticationAsync(get_abi(errorLogMessage), put_abi(result))); + return result; +} + +template hstring impl_ISecondaryAuthenticationFactorInfo::DeviceId() const +{ + hstring deviceId; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorInfo)->get_DeviceId(put_abi(deviceId))); + return deviceId; +} + +template hstring impl_ISecondaryAuthenticationFactorInfo::DeviceFriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorInfo)->get_DeviceFriendlyName(put_abi(value))); + return value; +} + +template hstring impl_ISecondaryAuthenticationFactorInfo::DeviceModelNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorInfo)->get_DeviceModelNumber(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ISecondaryAuthenticationFactorInfo::DeviceConfigurationData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorInfo)->get_DeviceConfigurationData(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode impl_ISecondaryAuthenticationFactorInfo2::PresenceMonitoringMode() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode value {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorInfo2)->get_PresenceMonitoringMode(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ISecondaryAuthenticationFactorInfo2::UpdateDevicePresenceAsync(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresence presenceState) const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorInfo2)->abi_UpdateDevicePresenceAsync(presenceState, put_abi(result))); + return result; +} + +template bool impl_ISecondaryAuthenticationFactorInfo2::IsAuthenticationSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorInfo2)->get_IsAuthenticationSupported(&value)); + return value; +} + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStage impl_ISecondaryAuthenticationFactorAuthenticationStageInfo::Stage() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStage value {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStageInfo)->get_Stage(&value)); + return value; +} + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationScenario impl_ISecondaryAuthenticationFactorAuthenticationStageInfo::Scenario() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationScenario value {}; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStageInfo)->get_Scenario(&value)); + return value; +} + +template hstring impl_ISecondaryAuthenticationFactorAuthenticationStageInfo::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStageInfo)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStageInfo impl_ISecondaryAuthenticationFactorAuthenticationStageChangedEventArgs::StageInfo() const +{ + Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStageInfo value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryAuthenticationFactorAuthenticationStageChangedEventArgs)->get_StageInfo(put_abi(value))); + return value; +} + +inline Windows::Foundation::IAsyncAction SecondaryAuthenticationFactorAuthentication::ShowNotificationMessageAsync(hstring_view deviceName, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationMessage message) +{ + return get_activation_factory().ShowNotificationMessageAsync(deviceName, message); +} + +inline Windows::Foundation::IAsyncOperation SecondaryAuthenticationFactorAuthentication::StartAuthenticationAsync(hstring_view deviceId, const Windows::Storage::Streams::IBuffer & serviceAuthenticationNonce) +{ + return get_activation_factory().StartAuthenticationAsync(deviceId, serviceAuthenticationNonce); +} + +inline event_token SecondaryAuthenticationFactorAuthentication::AuthenticationStageChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().AuthenticationStageChanged(handler); +} + +inline factory_event_revoker SecondaryAuthenticationFactorAuthentication::AuthenticationStageChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorAuthenticationStatics::remove_AuthenticationStageChanged, factory.AuthenticationStageChanged(handler) }; +} + +inline void SecondaryAuthenticationFactorAuthentication::AuthenticationStageChanged(event_token token) +{ + get_activation_factory().AuthenticationStageChanged(token); +} + +inline Windows::Foundation::IAsyncOperation SecondaryAuthenticationFactorAuthentication::GetAuthenticationStageInfoAsync() +{ + return get_activation_factory().GetAuthenticationStageInfoAsync(); +} + +inline Windows::Foundation::IAsyncOperation SecondaryAuthenticationFactorRegistration::RegisterDevicePresenceMonitoringAsync(hstring_view deviceId, hstring_view deviceInstancePath, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode monitoringMode) +{ + return get_activation_factory().RegisterDevicePresenceMonitoringAsync(deviceId, deviceInstancePath, monitoringMode); +} + +inline Windows::Foundation::IAsyncOperation SecondaryAuthenticationFactorRegistration::RegisterDevicePresenceMonitoringAsync(hstring_view deviceId, hstring_view deviceInstancePath, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDevicePresenceMonitoringMode monitoringMode, hstring_view deviceFriendlyName, hstring_view deviceModelNumber, const Windows::Storage::Streams::IBuffer & deviceConfigurationData) +{ + return get_activation_factory().RegisterDevicePresenceMonitoringAsync(deviceId, deviceInstancePath, monitoringMode, deviceFriendlyName, deviceModelNumber, deviceConfigurationData); +} + +inline Windows::Foundation::IAsyncAction SecondaryAuthenticationFactorRegistration::UnregisterDevicePresenceMonitoringAsync(hstring_view deviceId) +{ + return get_activation_factory().UnregisterDevicePresenceMonitoringAsync(deviceId); +} + +inline bool SecondaryAuthenticationFactorRegistration::IsDevicePresenceMonitoringSupported() +{ + return get_activation_factory().IsDevicePresenceMonitoringSupported(); +} + +inline Windows::Foundation::IAsyncOperation SecondaryAuthenticationFactorRegistration::RequestStartRegisteringDeviceAsync(hstring_view deviceId, Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDeviceCapabilities capabilities, hstring_view deviceFriendlyName, hstring_view deviceModelNumber, const Windows::Storage::Streams::IBuffer & deviceKey, const Windows::Storage::Streams::IBuffer & mutualAuthenticationKey) +{ + return get_activation_factory().RequestStartRegisteringDeviceAsync(deviceId, capabilities, deviceFriendlyName, deviceModelNumber, deviceKey, mutualAuthenticationKey); +} + +inline Windows::Foundation::IAsyncOperation> SecondaryAuthenticationFactorRegistration::FindAllRegisteredDeviceInfoAsync(Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorDeviceFindScope queryType) +{ + return get_activation_factory().FindAllRegisteredDeviceInfoAsync(queryType); +} + +inline Windows::Foundation::IAsyncAction SecondaryAuthenticationFactorRegistration::UnregisterDeviceAsync(hstring_view deviceId) +{ + return get_activation_factory().UnregisterDeviceAsync(deviceId); +} + +inline Windows::Foundation::IAsyncAction SecondaryAuthenticationFactorRegistration::UpdateDeviceConfigurationDataAsync(hstring_view deviceId, const Windows::Storage::Streams::IBuffer & deviceConfigurationData) +{ + return get_activation_factory().UpdateDeviceConfigurationDataAsync(deviceId, deviceConfigurationData); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorAuthentication & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorAuthenticationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorAuthenticationStageChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorAuthenticationStageInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorAuthenticationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorDevicePresenceMonitoringRegistrationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorInfo2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorRegistrationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::ISecondaryAuthenticationFactorRegistrationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthentication & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStageChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorAuthenticationStageInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorRegistration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::Provider::SecondaryAuthenticationFactorRegistrationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.h b/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.h new file mode 100644 index 000000000..f70617c23 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Authentication.Identity.h @@ -0,0 +1,240 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Security.Authentication.Identity.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TenantId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TenantId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TenantName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TenantName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetRegistrationsAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRegistrationsAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Authentication::Identity { + +template hstring impl_IEnterpriseKeyCredentialRegistrationInfo::TenantId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEnterpriseKeyCredentialRegistrationInfo)->get_TenantId(put_abi(value))); + return value; +} + +template hstring impl_IEnterpriseKeyCredentialRegistrationInfo::TenantName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEnterpriseKeyCredentialRegistrationInfo)->get_TenantName(put_abi(value))); + return value; +} + +template hstring impl_IEnterpriseKeyCredentialRegistrationInfo::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEnterpriseKeyCredentialRegistrationInfo)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_IEnterpriseKeyCredentialRegistrationInfo::KeyId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEnterpriseKeyCredentialRegistrationInfo)->get_KeyId(put_abi(value))); + return value; +} + +template hstring impl_IEnterpriseKeyCredentialRegistrationInfo::KeyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEnterpriseKeyCredentialRegistrationInfo)->get_KeyName(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Identity::EnterpriseKeyCredentialRegistrationManager impl_IEnterpriseKeyCredentialRegistrationManagerStatics::Current() const +{ + Windows::Security::Authentication::Identity::EnterpriseKeyCredentialRegistrationManager value { nullptr }; + check_hresult(WINRT_SHIM(IEnterpriseKeyCredentialRegistrationManagerStatics)->get_Current(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IEnterpriseKeyCredentialRegistrationManager::GetRegistrationsAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(IEnterpriseKeyCredentialRegistrationManager)->abi_GetRegistrationsAsync(put_abi(value))); + return value; +} + +inline Windows::Security::Authentication::Identity::EnterpriseKeyCredentialRegistrationManager EnterpriseKeyCredentialRegistrationManager::Current() +{ + return get_activation_factory().Current(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::IEnterpriseKeyCredentialRegistrationInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::IEnterpriseKeyCredentialRegistrationManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::IEnterpriseKeyCredentialRegistrationManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::EnterpriseKeyCredentialRegistrationInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Identity::EnterpriseKeyCredentialRegistrationManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Authentication.OnlineId.h b/10.0.15042.0/winrt/Windows.Security.Authentication.OnlineId.h new file mode 100644 index 000000000..5fba697f6 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Authentication.OnlineId.h @@ -0,0 +1,959 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Security.Authentication.OnlineId.3.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AuthenticateUserAsync(impl::abi_arg_in request, impl::abi_arg_out> authenticationOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *authenticationOperation = detach_abi(this->shim().AuthenticateUserAsync(*reinterpret_cast(&request))); + return S_OK; + } + catch (...) + { + *authenticationOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AuthenticateUserAsyncAdvanced(impl::abi_arg_in> requests, Windows::Security::Authentication::OnlineId::CredentialPromptType credentialPromptType, impl::abi_arg_out> authenticationOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *authenticationOperation = detach_abi(this->shim().AuthenticateUserAsync(*reinterpret_cast *>(&requests), credentialPromptType)); + return S_OK; + } + catch (...) + { + *authenticationOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SignOutUserAsync(impl::abi_arg_out signOutUserOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *signOutUserOperation = detach_abi(this->shim().SignOutUserAsync()); + return S_OK; + } + catch (...) + { + *signOutUserOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ApplicationId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplicationId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSignOut(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSignOut()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticatedSafeCustomerId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticatedSafeCustomerId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Service(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Service()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Policy(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Policy()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateOnlineIdServiceTicketRequest(impl::abi_arg_in service, impl::abi_arg_in policy, impl::abi_arg_out onlineIdServiceTicketRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *onlineIdServiceTicketRequest = detach_abi(this->shim().CreateOnlineIdServiceTicketRequest(*reinterpret_cast(&service), *reinterpret_cast(&policy))); + return S_OK; + } + catch (...) + { + *onlineIdServiceTicketRequest = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateOnlineIdServiceTicketRequestAdvanced(impl::abi_arg_in service, impl::abi_arg_out onlineIdServiceTicketRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *onlineIdServiceTicketRequest = detach_abi(this->shim().CreateOnlineIdServiceTicketRequestAdvanced(*reinterpret_cast(&service))); + return S_OK; + } + catch (...) + { + *onlineIdServiceTicketRequest = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTicketAsync(impl::abi_arg_in request, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetTicketAsync(*reinterpret_cast(&request))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ApplicationId(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplicationId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out user) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *user = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *user = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Default(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Default()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Ticket(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ticket()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Identity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Security::Authentication::OnlineId::OnlineIdSystemTicketStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Tickets(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tickets()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SafeCustomerId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SafeCustomerId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignInName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignInName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBetaAccount(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBetaAccount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsConfirmedPC(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsConfirmedPC()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Authentication::OnlineId { + +template hstring impl_IOnlineIdServiceTicketRequest::Service() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOnlineIdServiceTicketRequest)->get_Service(put_abi(value))); + return value; +} + +template hstring impl_IOnlineIdServiceTicketRequest::Policy() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOnlineIdServiceTicketRequest)->get_Policy(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest impl_IOnlineIdServiceTicketRequestFactory::CreateOnlineIdServiceTicketRequest(hstring_view service, hstring_view policy) const +{ + Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest onlineIdServiceTicketRequest { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdServiceTicketRequestFactory)->abi_CreateOnlineIdServiceTicketRequest(get_abi(service), get_abi(policy), put_abi(onlineIdServiceTicketRequest))); + return onlineIdServiceTicketRequest; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest impl_IOnlineIdServiceTicketRequestFactory::CreateOnlineIdServiceTicketRequestAdvanced(hstring_view service) const +{ + Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest onlineIdServiceTicketRequest { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdServiceTicketRequestFactory)->abi_CreateOnlineIdServiceTicketRequestAdvanced(get_abi(service), put_abi(onlineIdServiceTicketRequest))); + return onlineIdServiceTicketRequest; +} + +template hstring impl_IOnlineIdServiceTicket::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOnlineIdServiceTicket)->get_Value(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest impl_IOnlineIdServiceTicket::Request() const +{ + Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest value { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdServiceTicket)->get_Request(put_abi(value))); + return value; +} + +template int32_t impl_IOnlineIdServiceTicket::ErrorCode() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IOnlineIdServiceTicket)->get_ErrorCode(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IUserIdentity::Tickets() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IUserIdentity)->get_Tickets(put_abi(value))); + return value; +} + +template hstring impl_IUserIdentity::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserIdentity)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IUserIdentity::SafeCustomerId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserIdentity)->get_SafeCustomerId(put_abi(value))); + return value; +} + +template hstring impl_IUserIdentity::SignInName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserIdentity)->get_SignInName(put_abi(value))); + return value; +} + +template hstring impl_IUserIdentity::FirstName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserIdentity)->get_FirstName(put_abi(value))); + return value; +} + +template hstring impl_IUserIdentity::LastName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserIdentity)->get_LastName(put_abi(value))); + return value; +} + +template bool impl_IUserIdentity::IsBetaAccount() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserIdentity)->get_IsBetaAccount(&value)); + return value; +} + +template bool impl_IUserIdentity::IsConfirmedPC() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserIdentity)->get_IsConfirmedPC(&value)); + return value; +} + +template Windows::Security::Authentication::OnlineId::UserAuthenticationOperation impl_IOnlineIdAuthenticator::AuthenticateUserAsync(const Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest & request) const +{ + Windows::Security::Authentication::OnlineId::UserAuthenticationOperation authenticationOperation { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdAuthenticator)->abi_AuthenticateUserAsync(get_abi(request), put_abi(authenticationOperation))); + return authenticationOperation; +} + +template Windows::Security::Authentication::OnlineId::UserAuthenticationOperation impl_IOnlineIdAuthenticator::AuthenticateUserAsync(iterable requests, Windows::Security::Authentication::OnlineId::CredentialPromptType credentialPromptType) const +{ + Windows::Security::Authentication::OnlineId::UserAuthenticationOperation authenticationOperation { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdAuthenticator)->abi_AuthenticateUserAsyncAdvanced(get_abi(requests), credentialPromptType, put_abi(authenticationOperation))); + return authenticationOperation; +} + +template Windows::Security::Authentication::OnlineId::SignOutUserOperation impl_IOnlineIdAuthenticator::SignOutUserAsync() const +{ + Windows::Security::Authentication::OnlineId::SignOutUserOperation signOutUserOperation { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdAuthenticator)->abi_SignOutUserAsync(put_abi(signOutUserOperation))); + return signOutUserOperation; +} + +template void impl_IOnlineIdAuthenticator::ApplicationId(GUID value) const +{ + check_hresult(WINRT_SHIM(IOnlineIdAuthenticator)->put_ApplicationId(value)); +} + +template GUID impl_IOnlineIdAuthenticator::ApplicationId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IOnlineIdAuthenticator)->get_ApplicationId(&value)); + return value; +} + +template bool impl_IOnlineIdAuthenticator::CanSignOut() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IOnlineIdAuthenticator)->get_CanSignOut(&value)); + return value; +} + +template hstring impl_IOnlineIdAuthenticator::AuthenticatedSafeCustomerId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOnlineIdAuthenticator)->get_AuthenticatedSafeCustomerId(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdServiceTicket impl_IOnlineIdSystemIdentity::Ticket() const +{ + Windows::Security::Authentication::OnlineId::OnlineIdServiceTicket value { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdSystemIdentity)->get_Ticket(put_abi(value))); + return value; +} + +template hstring impl_IOnlineIdSystemIdentity::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOnlineIdSystemIdentity)->get_Id(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdSystemIdentity impl_IOnlineIdSystemTicketResult::Identity() const +{ + Windows::Security::Authentication::OnlineId::OnlineIdSystemIdentity value { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdSystemTicketResult)->get_Identity(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdSystemTicketStatus impl_IOnlineIdSystemTicketResult::Status() const +{ + Windows::Security::Authentication::OnlineId::OnlineIdSystemTicketStatus value {}; + check_hresult(WINRT_SHIM(IOnlineIdSystemTicketResult)->get_Status(&value)); + return value; +} + +template HRESULT impl_IOnlineIdSystemTicketResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IOnlineIdSystemTicketResult)->get_ExtendedError(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IOnlineIdSystemAuthenticatorForUser::GetTicketAsync(const Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest & request) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IOnlineIdSystemAuthenticatorForUser)->abi_GetTicketAsync(get_abi(request), put_abi(operation))); + return operation; +} + +template void impl_IOnlineIdSystemAuthenticatorForUser::ApplicationId(GUID value) const +{ + check_hresult(WINRT_SHIM(IOnlineIdSystemAuthenticatorForUser)->put_ApplicationId(value)); +} + +template GUID impl_IOnlineIdSystemAuthenticatorForUser::ApplicationId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IOnlineIdSystemAuthenticatorForUser)->get_ApplicationId(&value)); + return value; +} + +template Windows::System::User impl_IOnlineIdSystemAuthenticatorForUser::User() const +{ + Windows::System::User user { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdSystemAuthenticatorForUser)->get_User(put_abi(user))); + return user; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdSystemAuthenticatorForUser impl_IOnlineIdSystemAuthenticatorStatics::Default() const +{ + Windows::Security::Authentication::OnlineId::OnlineIdSystemAuthenticatorForUser value { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdSystemAuthenticatorStatics)->get_Default(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::OnlineId::OnlineIdSystemAuthenticatorForUser impl_IOnlineIdSystemAuthenticatorStatics::GetForUser(const Windows::System::User & user) const +{ + Windows::Security::Authentication::OnlineId::OnlineIdSystemAuthenticatorForUser value { nullptr }; + check_hresult(WINRT_SHIM(IOnlineIdSystemAuthenticatorStatics)->abi_GetForUser(get_abi(user), put_abi(value))); + return value; +} + +inline OnlineIdAuthenticator::OnlineIdAuthenticator() : + OnlineIdAuthenticator(activate_instance()) +{} + +inline OnlineIdServiceTicketRequest::OnlineIdServiceTicketRequest(hstring_view service, hstring_view policy) : + OnlineIdServiceTicketRequest(get_activation_factory().CreateOnlineIdServiceTicketRequest(service, policy)) +{} + +inline OnlineIdServiceTicketRequest::OnlineIdServiceTicketRequest(hstring_view service) : + OnlineIdServiceTicketRequest(get_activation_factory().CreateOnlineIdServiceTicketRequestAdvanced(service)) +{} + +inline Windows::Security::Authentication::OnlineId::OnlineIdSystemAuthenticatorForUser OnlineIdSystemAuthenticator::Default() +{ + return get_activation_factory().Default(); +} + +inline Windows::Security::Authentication::OnlineId::OnlineIdSystemAuthenticatorForUser OnlineIdSystemAuthenticator::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdAuthenticator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdServiceTicket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdServiceTicketRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdServiceTicketRequestFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdSystemAuthenticatorForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdSystemAuthenticatorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdSystemIdentity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IOnlineIdSystemTicketResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::IUserIdentity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::OnlineIdAuthenticator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::OnlineIdServiceTicket & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::OnlineIdServiceTicketRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::OnlineIdSystemAuthenticatorForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::OnlineIdSystemIdentity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::OnlineIdSystemTicketResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::SignOutUserOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::UserAuthenticationOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::OnlineId::UserIdentity & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Authentication.Web.Core.h b/10.0.15042.0/winrt/Windows.Security.Authentication.Web.Core.h new file mode 100644 index 000000000..4ded9e691 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Authentication.Web.Core.h @@ -0,0 +1,1288 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Security.Authentication.Web.Core.3.h" +#include "Windows.Security.Authentication.Web.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Account(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Account()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DefaultSignInAccountChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DefaultSignInAccountChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DefaultSignInAccountChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultSignInAccountChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetTokenSilentlyAsync(impl::abi_arg_in request, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetTokenSilentlyAsync(*reinterpret_cast(&request))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTokenSilentlyWithWebAccountAsync(impl::abi_arg_in request, impl::abi_arg_in webAccount, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetTokenSilentlyAsync(*reinterpret_cast(&request), *reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestTokenAsync(impl::abi_arg_in request, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RequestTokenAsync(*reinterpret_cast(&request))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestTokenWithWebAccountAsync(impl::abi_arg_in request, impl::abi_arg_in webAccount, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().RequestTokenAsync(*reinterpret_cast(&request), *reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAccountAsync(impl::abi_arg_in provider, impl::abi_arg_in webAccountId, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FindAccountAsync(*reinterpret_cast(&provider), *reinterpret_cast(&webAccountId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAccountProviderAsync(impl::abi_arg_in webAccountProviderId, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FindAccountProviderAsync(*reinterpret_cast(&webAccountProviderId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAccountProviderWithAuthorityAsync(impl::abi_arg_in webAccountProviderId, impl::abi_arg_in authority, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FindAccountProviderAsync(*reinterpret_cast(&webAccountProviderId), *reinterpret_cast(&authority))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAccountProviderWithAuthorityForUserAsync(impl::abi_arg_in webAccountProviderId, impl::abi_arg_in authority, impl::abi_arg_in user, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FindAccountProviderAsync(*reinterpret_cast(&webAccountProviderId), *reinterpret_cast(&authority), *reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWebAccountMonitor(impl::abi_arg_in> webAccounts, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWebAccountMonitor(*reinterpret_cast *>(&webAccounts))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t errorCode, impl::abi_arg_in errorMessage, impl::abi_arg_out webProviderError) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webProviderError = detach_abi(this->shim().Create(errorCode, *reinterpret_cast(&errorMessage))); + return S_OK; + } + catch (...) + { + *webProviderError = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccountProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccountProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scope(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scope()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClientId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PromptType(Windows::Security::Authentication::Web::Core::WebTokenRequestPromptType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PromptType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> requestProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProperties = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *requestProperties = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppProperties(impl::abi_arg_out> requestProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestProperties = detach_abi(this->shim().AppProperties()); + return S_OK; + } + catch (...) + { + *requestProperties = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CorrelationId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CorrelationId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CorrelationId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CorrelationId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in provider, impl::abi_arg_in scope, impl::abi_arg_in clientId, impl::abi_arg_out webTokenRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenRequest = detach_abi(this->shim().Create(*reinterpret_cast(&provider), *reinterpret_cast(&scope), *reinterpret_cast(&clientId))); + return S_OK; + } + catch (...) + { + *webTokenRequest = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithPromptType(impl::abi_arg_in provider, impl::abi_arg_in scope, impl::abi_arg_in clientId, Windows::Security::Authentication::Web::Core::WebTokenRequestPromptType promptType, impl::abi_arg_out webTokenRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenRequest = detach_abi(this->shim().CreateWithPromptType(*reinterpret_cast(&provider), *reinterpret_cast(&scope), *reinterpret_cast(&clientId), promptType)); + return S_OK; + } + catch (...) + { + *webTokenRequest = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithProvider(impl::abi_arg_in provider, impl::abi_arg_out webTokenRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenRequest = detach_abi(this->shim().CreateWithProvider(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *webTokenRequest = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithScope(impl::abi_arg_in provider, impl::abi_arg_in scope, impl::abi_arg_out webTokenRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenRequest = detach_abi(this->shim().CreateWithScope(*reinterpret_cast(&provider), *reinterpret_cast(&scope))); + return S_OK; + } + catch (...) + { + *webTokenRequest = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResponseData(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseStatus(Windows::Security::Authentication::Web::Core::WebTokenRequestStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseError(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InvalidateCacheAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().InvalidateCacheAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Token(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Token()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderError(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebAccount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithToken(impl::abi_arg_in token, impl::abi_arg_out webTokenResponse) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenResponse = detach_abi(this->shim().CreateWithToken(*reinterpret_cast(&token))); + return S_OK; + } + catch (...) + { + *webTokenResponse = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTokenAndAccount(impl::abi_arg_in token, impl::abi_arg_in webAccount, impl::abi_arg_out webTokenResponse) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenResponse = detach_abi(this->shim().CreateWithTokenAndAccount(*reinterpret_cast(&token), *reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + *webTokenResponse = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTokenAccountAndError(impl::abi_arg_in token, impl::abi_arg_in webAccount, impl::abi_arg_in error, impl::abi_arg_out webTokenResponse) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenResponse = detach_abi(this->shim().CreateWithTokenAccountAndError(*reinterpret_cast(&token), *reinterpret_cast(&webAccount), *reinterpret_cast(&error))); + return S_OK; + } + catch (...) + { + *webTokenResponse = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Authentication::Web::Core { + +template Windows::Security::Credentials::WebAccountProvider impl_IWebTokenRequest::WebAccountProvider() const +{ + Windows::Security::Credentials::WebAccountProvider value { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenRequest)->get_WebAccountProvider(put_abi(value))); + return value; +} + +template hstring impl_IWebTokenRequest::Scope() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebTokenRequest)->get_Scope(put_abi(value))); + return value; +} + +template hstring impl_IWebTokenRequest::ClientId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebTokenRequest)->get_ClientId(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Core::WebTokenRequestPromptType impl_IWebTokenRequest::PromptType() const +{ + Windows::Security::Authentication::Web::Core::WebTokenRequestPromptType value {}; + check_hresult(WINRT_SHIM(IWebTokenRequest)->get_PromptType(&value)); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IWebTokenRequest::Properties() const +{ + Windows::Foundation::Collections::IMap requestProperties; + check_hresult(WINRT_SHIM(IWebTokenRequest)->get_Properties(put_abi(requestProperties))); + return requestProperties; +} + +template Windows::Foundation::Collections::IMap impl_IWebTokenRequest2::AppProperties() const +{ + Windows::Foundation::Collections::IMap requestProperties; + check_hresult(WINRT_SHIM(IWebTokenRequest2)->get_AppProperties(put_abi(requestProperties))); + return requestProperties; +} + +template hstring impl_IWebTokenRequest3::CorrelationId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebTokenRequest3)->get_CorrelationId(put_abi(value))); + return value; +} + +template void impl_IWebTokenRequest3::CorrelationId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWebTokenRequest3)->put_CorrelationId(get_abi(value))); +} + +template Windows::Security::Authentication::Web::Core::WebTokenRequest impl_IWebTokenRequestFactory::Create(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view scope, hstring_view clientId) const +{ + Windows::Security::Authentication::Web::Core::WebTokenRequest webTokenRequest { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenRequestFactory)->abi_Create(get_abi(provider), get_abi(scope), get_abi(clientId), put_abi(webTokenRequest))); + return webTokenRequest; +} + +template Windows::Security::Authentication::Web::Core::WebTokenRequest impl_IWebTokenRequestFactory::CreateWithPromptType(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view scope, hstring_view clientId, Windows::Security::Authentication::Web::Core::WebTokenRequestPromptType promptType) const +{ + Windows::Security::Authentication::Web::Core::WebTokenRequest webTokenRequest { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenRequestFactory)->abi_CreateWithPromptType(get_abi(provider), get_abi(scope), get_abi(clientId), promptType, put_abi(webTokenRequest))); + return webTokenRequest; +} + +template Windows::Security::Authentication::Web::Core::WebTokenRequest impl_IWebTokenRequestFactory::CreateWithProvider(const Windows::Security::Credentials::WebAccountProvider & provider) const +{ + Windows::Security::Authentication::Web::Core::WebTokenRequest webTokenRequest { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenRequestFactory)->abi_CreateWithProvider(get_abi(provider), put_abi(webTokenRequest))); + return webTokenRequest; +} + +template Windows::Security::Authentication::Web::Core::WebTokenRequest impl_IWebTokenRequestFactory::CreateWithScope(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view scope) const +{ + Windows::Security::Authentication::Web::Core::WebTokenRequest webTokenRequest { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenRequestFactory)->abi_CreateWithScope(get_abi(provider), get_abi(scope), put_abi(webTokenRequest))); + return webTokenRequest; +} + +template Windows::Security::Credentials::WebAccount impl_IWebAccountEventArgs::Account() const +{ + Windows::Security::Credentials::WebAccount value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountEventArgs)->get_Account(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics::GetTokenSilentlyAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics)->abi_GetTokenSilentlyAsync(get_abi(request), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics::GetTokenSilentlyAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics)->abi_GetTokenSilentlyWithWebAccountAsync(get_abi(request), get_abi(webAccount), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics::RequestTokenAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics)->abi_RequestTokenAsync(get_abi(request), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics::RequestTokenAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics)->abi_RequestTokenWithWebAccountAsync(get_abi(request), get_abi(webAccount), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics::FindAccountAsync(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view webAccountId) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics)->abi_FindAccountAsync(get_abi(provider), get_abi(webAccountId), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics::FindAccountProviderAsync(hstring_view webAccountProviderId) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics)->abi_FindAccountProviderAsync(get_abi(webAccountProviderId), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics::FindAccountProviderAsync(hstring_view webAccountProviderId, hstring_view authority) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics)->abi_FindAccountProviderWithAuthorityAsync(get_abi(webAccountProviderId), get_abi(authority), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationCoreManagerStatics2::FindAccountProviderAsync(hstring_view webAccountProviderId, hstring_view authority, const Windows::System::User & user) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics2)->abi_FindAccountProviderWithAuthorityForUserAsync(get_abi(webAccountProviderId), get_abi(authority), get_abi(user), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Security::Authentication::Web::Core::WebAccountMonitor impl_IWebAuthenticationCoreManagerStatics3::CreateWebAccountMonitor(iterable webAccounts) const +{ + Windows::Security::Authentication::Web::Core::WebAccountMonitor result { nullptr }; + check_hresult(WINRT_SHIM(IWebAuthenticationCoreManagerStatics3)->abi_CreateWebAccountMonitor(get_abi(webAccounts), put_abi(result))); + return result; +} + +template event_token impl_IWebAccountMonitor::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebAccountMonitor)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebAccountMonitor::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::Authentication::Web::Core::IWebAccountMonitor::remove_Updated, Updated(handler)); +} + +template void impl_IWebAccountMonitor::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebAccountMonitor)->remove_Updated(token)); +} + +template event_token impl_IWebAccountMonitor::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebAccountMonitor)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebAccountMonitor::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::Authentication::Web::Core::IWebAccountMonitor::remove_Removed, Removed(handler)); +} + +template void impl_IWebAccountMonitor::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebAccountMonitor)->remove_Removed(token)); +} + +template event_token impl_IWebAccountMonitor::DefaultSignInAccountChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebAccountMonitor)->add_DefaultSignInAccountChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebAccountMonitor::DefaultSignInAccountChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::Authentication::Web::Core::IWebAccountMonitor::remove_DefaultSignInAccountChanged, DefaultSignInAccountChanged(handler)); +} + +template void impl_IWebAccountMonitor::DefaultSignInAccountChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebAccountMonitor)->remove_DefaultSignInAccountChanged(token)); +} + +template uint32_t impl_IWebProviderError::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWebProviderError)->get_ErrorCode(&value)); + return value; +} + +template hstring impl_IWebProviderError::ErrorMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebProviderError)->get_ErrorMessage(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IWebProviderError::Properties() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IWebProviderError)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Core::WebProviderError impl_IWebProviderErrorFactory::Create(uint32_t errorCode, hstring_view errorMessage) const +{ + Windows::Security::Authentication::Web::Core::WebProviderError webProviderError { nullptr }; + check_hresult(WINRT_SHIM(IWebProviderErrorFactory)->abi_Create(errorCode, get_abi(errorMessage), put_abi(webProviderError))); + return webProviderError; +} + +template Windows::Foundation::Collections::IVectorView impl_IWebTokenRequestResult::ResponseData() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWebTokenRequestResult)->get_ResponseData(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Core::WebTokenRequestStatus impl_IWebTokenRequestResult::ResponseStatus() const +{ + Windows::Security::Authentication::Web::Core::WebTokenRequestStatus value {}; + check_hresult(WINRT_SHIM(IWebTokenRequestResult)->get_ResponseStatus(&value)); + return value; +} + +template Windows::Security::Authentication::Web::Core::WebProviderError impl_IWebTokenRequestResult::ResponseError() const +{ + Windows::Security::Authentication::Web::Core::WebProviderError value { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenRequestResult)->get_ResponseError(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IWebTokenRequestResult::InvalidateCacheAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebTokenRequestResult)->abi_InvalidateCacheAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template hstring impl_IWebTokenResponse::Token() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebTokenResponse)->get_Token(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Core::WebProviderError impl_IWebTokenResponse::ProviderError() const +{ + Windows::Security::Authentication::Web::Core::WebProviderError value { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenResponse)->get_ProviderError(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::WebAccount impl_IWebTokenResponse::WebAccount() const +{ + Windows::Security::Credentials::WebAccount value { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenResponse)->get_WebAccount(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IWebTokenResponse::Properties() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IWebTokenResponse)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Core::WebTokenResponse impl_IWebTokenResponseFactory::CreateWithToken(hstring_view token) const +{ + Windows::Security::Authentication::Web::Core::WebTokenResponse webTokenResponse { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenResponseFactory)->abi_CreateWithToken(get_abi(token), put_abi(webTokenResponse))); + return webTokenResponse; +} + +template Windows::Security::Authentication::Web::Core::WebTokenResponse impl_IWebTokenResponseFactory::CreateWithTokenAndAccount(hstring_view token, const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Security::Authentication::Web::Core::WebTokenResponse webTokenResponse { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenResponseFactory)->abi_CreateWithTokenAndAccount(get_abi(token), get_abi(webAccount), put_abi(webTokenResponse))); + return webTokenResponse; +} + +template Windows::Security::Authentication::Web::Core::WebTokenResponse impl_IWebTokenResponseFactory::CreateWithTokenAccountAndError(hstring_view token, const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Security::Authentication::Web::Core::WebProviderError & error) const +{ + Windows::Security::Authentication::Web::Core::WebTokenResponse webTokenResponse { nullptr }; + check_hresult(WINRT_SHIM(IWebTokenResponseFactory)->abi_CreateWithTokenAccountAndError(get_abi(token), get_abi(webAccount), get_abi(error), put_abi(webTokenResponse))); + return webTokenResponse; +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::GetTokenSilentlyAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request) +{ + return get_activation_factory().GetTokenSilentlyAsync(request); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::GetTokenSilentlyAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::Security::Credentials::WebAccount & webAccount) +{ + return get_activation_factory().GetTokenSilentlyAsync(request, webAccount); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::RequestTokenAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request) +{ + return get_activation_factory().RequestTokenAsync(request); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::RequestTokenAsync(const Windows::Security::Authentication::Web::Core::WebTokenRequest & request, const Windows::Security::Credentials::WebAccount & webAccount) +{ + return get_activation_factory().RequestTokenAsync(request, webAccount); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::FindAccountAsync(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view webAccountId) +{ + return get_activation_factory().FindAccountAsync(provider, webAccountId); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::FindAccountProviderAsync(hstring_view webAccountProviderId) +{ + return get_activation_factory().FindAccountProviderAsync(webAccountProviderId); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::FindAccountProviderAsync(hstring_view webAccountProviderId, hstring_view authority) +{ + return get_activation_factory().FindAccountProviderAsync(webAccountProviderId, authority); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationCoreManager::FindAccountProviderAsync(hstring_view webAccountProviderId, hstring_view authority, const Windows::System::User & user) +{ + return get_activation_factory().FindAccountProviderAsync(webAccountProviderId, authority, user); +} + +inline Windows::Security::Authentication::Web::Core::WebAccountMonitor WebAuthenticationCoreManager::CreateWebAccountMonitor(iterable webAccounts) +{ + return get_activation_factory().CreateWebAccountMonitor(webAccounts); +} + +inline WebProviderError::WebProviderError(uint32_t errorCode, hstring_view errorMessage) : + WebProviderError(get_activation_factory().Create(errorCode, errorMessage)) +{} + +inline WebTokenRequest::WebTokenRequest(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view scope, hstring_view clientId) : + WebTokenRequest(get_activation_factory().Create(provider, scope, clientId)) +{} + +inline WebTokenRequest::WebTokenRequest(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view scope, hstring_view clientId, Windows::Security::Authentication::Web::Core::WebTokenRequestPromptType promptType) : + WebTokenRequest(get_activation_factory().CreateWithPromptType(provider, scope, clientId, promptType)) +{} + +inline WebTokenRequest::WebTokenRequest(const Windows::Security::Credentials::WebAccountProvider & provider) : + WebTokenRequest(get_activation_factory().CreateWithProvider(provider)) +{} + +inline WebTokenRequest::WebTokenRequest(const Windows::Security::Credentials::WebAccountProvider & provider, hstring_view scope) : + WebTokenRequest(get_activation_factory().CreateWithScope(provider, scope)) +{} + +inline WebTokenResponse::WebTokenResponse() : + WebTokenResponse(activate_instance()) +{} + +inline WebTokenResponse::WebTokenResponse(hstring_view token) : + WebTokenResponse(get_activation_factory().CreateWithToken(token)) +{} + +inline WebTokenResponse::WebTokenResponse(hstring_view token, const Windows::Security::Credentials::WebAccount & webAccount) : + WebTokenResponse(get_activation_factory().CreateWithTokenAndAccount(token, webAccount)) +{} + +inline WebTokenResponse::WebTokenResponse(hstring_view token, const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Security::Authentication::Web::Core::WebProviderError & error) : + WebTokenResponse(get_activation_factory().CreateWithTokenAccountAndError(token, webAccount, error)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebAccountEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebAccountMonitor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebAuthenticationCoreManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebAuthenticationCoreManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebAuthenticationCoreManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebProviderError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebProviderErrorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebTokenRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebTokenRequest2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebTokenRequest3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebTokenRequestFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebTokenRequestResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebTokenResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::IWebTokenResponseFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::WebAccountEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::WebAccountMonitor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::WebProviderError & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::WebTokenRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::WebTokenRequestResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Core::WebTokenResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Authentication.Web.Provider.h b/10.0.15042.0/winrt/Windows.Security.Authentication.Web.Provider.h new file mode 100644 index 000000000..6a8bddfb8 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Authentication.Web.Provider.h @@ -0,0 +1,1817 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Security.Authentication.Web.Core.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Security.Authentication.Web.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Security.Authentication.Web.Provider.3.h" +#include "Windows.Security.Authentication.Web.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ApplicationCallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationCallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Security::Authentication::Web::Provider::WebAccountClientViewType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccountPairwiseId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountPairwiseId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Security::Authentication::Web::Provider::WebAccountClientViewType viewType, impl::abi_arg_in applicationCallbackUri, impl::abi_arg_out view) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *view = detach_abi(this->shim().Create(viewType, *reinterpret_cast(&applicationCallbackUri))); + return S_OK; + } + catch (...) + { + *view = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithPairwiseId(Windows::Security::Authentication::Web::Provider::WebAccountClientViewType viewType, impl::abi_arg_in applicationCallbackUri, impl::abi_arg_in accountPairwiseId, impl::abi_arg_out view) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *view = detach_abi(this->shim().CreateWithPairwiseId(viewType, *reinterpret_cast(&applicationCallbackUri), *reinterpret_cast(&accountPairwiseId))); + return S_OK; + } + catch (...) + { + *view = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UpdateWebAccountPropertiesAsync(impl::abi_arg_in webAccount, impl::abi_arg_in webAccountUserName, impl::abi_arg_in> additionalProperties, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().UpdateWebAccountPropertiesAsync(*reinterpret_cast(&webAccount), *reinterpret_cast(&webAccountUserName), *reinterpret_cast *>(&additionalProperties))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddWebAccountAsync(impl::abi_arg_in webAccountId, impl::abi_arg_in webAccountUserName, impl::abi_arg_in> props, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AddWebAccountAsync(*reinterpret_cast(&webAccountId), *reinterpret_cast(&webAccountUserName), *reinterpret_cast *>(&props))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteWebAccountAsync(impl::abi_arg_in webAccount, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().DeleteWebAccountAsync(*reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllProviderWebAccountsAsync(impl::abi_arg_out>> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().FindAllProviderWebAccountsAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PushCookiesAsync(impl::abi_arg_in uri, impl::abi_arg_in> cookies, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().PushCookiesAsync(*reinterpret_cast(&uri), *reinterpret_cast *>(&cookies))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetViewAsync(impl::abi_arg_in webAccount, impl::abi_arg_in view, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetViewAsync(*reinterpret_cast(&webAccount), *reinterpret_cast(&view))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearViewAsync(impl::abi_arg_in webAccount, impl::abi_arg_in applicationCallbackUri, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ClearViewAsync(*reinterpret_cast(&webAccount), *reinterpret_cast(&applicationCallbackUri))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetViewsAsync(impl::abi_arg_in webAccount, impl::abi_arg_out>> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetViewsAsync(*reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetWebAccountPictureAsync(impl::abi_arg_in webAccount, impl::abi_arg_in webAccountPicture, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetWebAccountPictureAsync(*reinterpret_cast(&webAccount), *reinterpret_cast(&webAccountPicture))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearWebAccountPictureAsync(impl::abi_arg_in webAccount, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ClearWebAccountPictureAsync(*reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PullCookiesAsync(impl::abi_arg_in uriString, impl::abi_arg_in callerPFN, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().PullCookiesAsync(*reinterpret_cast(&uriString), *reinterpret_cast(&callerPFN))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAllProviderWebAccountsForUserAsync(impl::abi_arg_in user, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllProviderWebAccountsForUserAsync(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddWebAccountForUserAsync(impl::abi_arg_in user, impl::abi_arg_in webAccountId, impl::abi_arg_in webAccountUserName, impl::abi_arg_in> props, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddWebAccountForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&webAccountId), *reinterpret_cast(&webAccountUserName), *reinterpret_cast *>(&props))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddWebAccountWithScopeForUserAsync(impl::abi_arg_in user, impl::abi_arg_in webAccountId, impl::abi_arg_in webAccountUserName, impl::abi_arg_in> props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddWebAccountForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&webAccountId), *reinterpret_cast(&webAccountUserName), *reinterpret_cast *>(&props), scope)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddWebAccountWithScopeAndMapForUserAsync(impl::abi_arg_in user, impl::abi_arg_in webAccountId, impl::abi_arg_in webAccountUserName, impl::abi_arg_in> props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, impl::abi_arg_in perUserWebAccountId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddWebAccountForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&webAccountId), *reinterpret_cast(&webAccountUserName), *reinterpret_cast *>(&props), scope, *reinterpret_cast(&perUserWebAccountId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddWebAccountWithScopeAndMapAsync(impl::abi_arg_in webAccountId, impl::abi_arg_in webAccountUserName, impl::abi_arg_in> props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, impl::abi_arg_in perUserWebAccountId, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AddWebAccountAsync(*reinterpret_cast(&webAccountId), *reinterpret_cast(&webAccountUserName), *reinterpret_cast *>(&props), scope, *reinterpret_cast(&perUserWebAccountId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPerAppToPerUserAccountAsync(impl::abi_arg_in perAppAccount, impl::abi_arg_in perUserWebAccountId, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetPerAppToPerUserAccountAsync(*reinterpret_cast(&perAppAccount), *reinterpret_cast(&perUserWebAccountId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPerUserFromPerAppAccountAsync(impl::abi_arg_in perAppAccount, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetPerUserFromPerAppAccountAsync(*reinterpret_cast(&perAppAccount))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearPerUserFromPerAppAccountAsync(impl::abi_arg_in perAppAccount, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ClearPerUserFromPerAppAccountAsync(*reinterpret_cast(&perAppAccount))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportError(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportError(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Security::Authentication::Web::Provider::WebAccountProviderOperationKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Context(impl::abi_arg_out webCookieRequestContext) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webCookieRequestContext = detach_abi(this->shim().Context()); + return S_OK; + } + catch (...) + { + *webCookieRequestContext = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cookies(impl::abi_arg_out> cookies) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookies = detach_abi(this->shim().Cookies()); + return S_OK; + } + catch (...) + { + *cookies = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Uri(impl::abi_arg_in uri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Uri(*reinterpret_cast(&uri)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out uri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *uri = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *uri = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationCallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationCallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationCallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationCallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClientId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReportUserInteractionRequired() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportUserInteractionRequired(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportUserInteractionRequiredWithError(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportUserInteractionRequired(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Operation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Operation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProviderRequest(impl::abi_arg_out webTokenRequest) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webTokenRequest = detach_abi(this->shim().ProviderRequest()); + return S_OK; + } + catch (...) + { + *webTokenRequest = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderResponses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderResponses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CacheExpirationTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CacheExpirationTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CacheExpirationTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CacheExpirationTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReportUserCanceled() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportUserCanceled(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddWebAccountWithScopeAsync(impl::abi_arg_in webAccountId, impl::abi_arg_in webAccountUserName, impl::abi_arg_in> props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AddWebAccountAsync(*reinterpret_cast(&webAccountId), *reinterpret_cast(&webAccountUserName), *reinterpret_cast *>(&props), scope)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetScopeAsync(impl::abi_arg_in webAccount, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SetScopeAsync(*reinterpret_cast(&webAccount), scope)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetScope(impl::abi_arg_in webAccount, Windows::Security::Authentication::Web::Provider::WebAccountScope * scope) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *scope = detach_abi(this->shim().GetScope(*reinterpret_cast(&webAccount))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClientRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebAccounts(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccounts()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebAccountSelectionOptions(Windows::Security::Authentication::Web::Provider::WebAccountSelectionOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccountSelectionOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationCallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationCallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetApplicationTokenBindingKeyAsync(Windows::Security::Authentication::Web::TokenBindingKeyType keyType, impl::abi_arg_in target, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetApplicationTokenBindingKeyAsync(keyType, *reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetApplicationTokenBindingKeyIdAsync(Windows::Security::Authentication::Web::TokenBindingKeyType keyType, impl::abi_arg_in target, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetApplicationTokenBindingKeyIdAsync(keyType, *reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClientResponse(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClientResponse()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in webTokenResponse, impl::abi_arg_out webProviderTokenResponse) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *webProviderTokenResponse = detach_abi(this->shim().Create(*reinterpret_cast(&webTokenResponse))); + return S_OK; + } + catch (...) + { + *webProviderTokenResponse = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Authentication::Web::Provider { + +template Windows::Security::Authentication::Web::Provider::WebAccountProviderOperationKind impl_IWebAccountProviderOperation::Kind() const +{ + Windows::Security::Authentication::Web::Provider::WebAccountProviderOperationKind value {}; + check_hresult(WINRT_SHIM(IWebAccountProviderOperation)->get_Kind(&value)); + return value; +} + +template Windows::Security::Authentication::Web::Core::WebTokenRequest impl_IWebProviderTokenRequest::ClientRequest() const +{ + Windows::Security::Authentication::Web::Core::WebTokenRequest value { nullptr }; + check_hresult(WINRT_SHIM(IWebProviderTokenRequest)->get_ClientRequest(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IWebProviderTokenRequest::WebAccounts() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IWebProviderTokenRequest)->get_WebAccounts(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Provider::WebAccountSelectionOptions impl_IWebProviderTokenRequest::WebAccountSelectionOptions() const +{ + Windows::Security::Authentication::Web::Provider::WebAccountSelectionOptions value {}; + check_hresult(WINRT_SHIM(IWebProviderTokenRequest)->get_WebAccountSelectionOptions(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IWebProviderTokenRequest::ApplicationCallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebProviderTokenRequest)->get_ApplicationCallbackUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IWebProviderTokenRequest::GetApplicationTokenBindingKeyAsync(Windows::Security::Authentication::Web::TokenBindingKeyType keyType, const Windows::Foundation::Uri & target) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebProviderTokenRequest)->abi_GetApplicationTokenBindingKeyAsync(keyType, get_abi(target), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebProviderTokenRequest2::GetApplicationTokenBindingKeyIdAsync(Windows::Security::Authentication::Web::TokenBindingKeyType keyType, const Windows::Foundation::Uri & target) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebProviderTokenRequest2)->abi_GetApplicationTokenBindingKeyIdAsync(keyType, get_abi(target), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Security::Authentication::Web::Core::WebTokenResponse impl_IWebProviderTokenResponse::ClientResponse() const +{ + Windows::Security::Authentication::Web::Core::WebTokenResponse value { nullptr }; + check_hresult(WINRT_SHIM(IWebProviderTokenResponse)->get_ClientResponse(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Provider::WebProviderTokenResponse impl_IWebProviderTokenResponseFactory::Create(const Windows::Security::Authentication::Web::Core::WebTokenResponse & webTokenResponse) const +{ + Windows::Security::Authentication::Web::Provider::WebProviderTokenResponse webProviderTokenResponse { nullptr }; + check_hresult(WINRT_SHIM(IWebProviderTokenResponseFactory)->abi_Create(get_abi(webTokenResponse), put_abi(webProviderTokenResponse))); + return webProviderTokenResponse; +} + +template Windows::Foundation::Uri impl_IWebAccountClientView::ApplicationCallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountClientView)->get_ApplicationCallbackUri(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Provider::WebAccountClientViewType impl_IWebAccountClientView::Type() const +{ + Windows::Security::Authentication::Web::Provider::WebAccountClientViewType value {}; + check_hresult(WINRT_SHIM(IWebAccountClientView)->get_Type(&value)); + return value; +} + +template hstring impl_IWebAccountClientView::AccountPairwiseId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccountClientView)->get_AccountPairwiseId(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Provider::WebAccountClientView impl_IWebAccountClientViewFactory::Create(Windows::Security::Authentication::Web::Provider::WebAccountClientViewType viewType, const Windows::Foundation::Uri & applicationCallbackUri) const +{ + Windows::Security::Authentication::Web::Provider::WebAccountClientView view { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountClientViewFactory)->abi_Create(viewType, get_abi(applicationCallbackUri), put_abi(view))); + return view; +} + +template Windows::Security::Authentication::Web::Provider::WebAccountClientView impl_IWebAccountClientViewFactory::CreateWithPairwiseId(Windows::Security::Authentication::Web::Provider::WebAccountClientViewType viewType, const Windows::Foundation::Uri & applicationCallbackUri, hstring_view accountPairwiseId) const +{ + Windows::Security::Authentication::Web::Provider::WebAccountClientView view { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountClientViewFactory)->abi_CreateWithPairwiseId(viewType, get_abi(applicationCallbackUri), get_abi(accountPairwiseId), put_abi(view))); + return view; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics::UpdateWebAccountPropertiesAsync(const Windows::Security::Credentials::WebAccount & webAccount, hstring_view webAccountUserName, map_view additionalProperties) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_UpdateWebAccountPropertiesAsync(get_abi(webAccount), get_abi(webAccountUserName), get_abi(additionalProperties), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccountManagerStatics::AddWebAccountAsync(hstring_view webAccountId, hstring_view webAccountUserName, map_view props) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_AddWebAccountAsync(get_abi(webAccountId), get_abi(webAccountUserName), get_abi(props), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics::DeleteWebAccountAsync(const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_DeleteWebAccountAsync(get_abi(webAccount), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation> impl_IWebAccountManagerStatics::FindAllProviderWebAccountsAsync() const +{ + Windows::Foundation::IAsyncOperation> asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_FindAllProviderWebAccountsAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics::PushCookiesAsync(const Windows::Foundation::Uri & uri, vector_view cookies) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_PushCookiesAsync(get_abi(uri), get_abi(cookies), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics::SetViewAsync(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Security::Authentication::Web::Provider::WebAccountClientView & view) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_SetViewAsync(get_abi(webAccount), get_abi(view), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics::ClearViewAsync(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Foundation::Uri & applicationCallbackUri) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_ClearViewAsync(get_abi(webAccount), get_abi(applicationCallbackUri), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation> impl_IWebAccountManagerStatics::GetViewsAsync(const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Foundation::IAsyncOperation> asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_GetViewsAsync(get_abi(webAccount), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics::SetWebAccountPictureAsync(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Storage::Streams::IRandomAccessStream & webAccountPicture) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_SetWebAccountPictureAsync(get_abi(webAccount), get_abi(webAccountPicture), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics::ClearWebAccountPictureAsync(const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics)->abi_ClearWebAccountPictureAsync(get_abi(webAccount), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountManagerStatics2::PullCookiesAsync(hstring_view uriString, hstring_view callerPFN) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics2)->abi_PullCookiesAsync(get_abi(uriString), get_abi(callerPFN), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccountScopeManagerStatics::AddWebAccountAsync(hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountScopeManagerStatics)->abi_AddWebAccountWithScopeAsync(get_abi(webAccountId), get_abi(webAccountUserName), get_abi(props), scope, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountScopeManagerStatics::SetScopeAsync(const Windows::Security::Credentials::WebAccount & webAccount, Windows::Security::Authentication::Web::Provider::WebAccountScope scope) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountScopeManagerStatics)->abi_SetScopeAsync(get_abi(webAccount), scope, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Security::Authentication::Web::Provider::WebAccountScope impl_IWebAccountScopeManagerStatics::GetScope(const Windows::Security::Credentials::WebAccount & webAccount) const +{ + Windows::Security::Authentication::Web::Provider::WebAccountScope scope {}; + check_hresult(WINRT_SHIM(IWebAccountScopeManagerStatics)->abi_GetScope(get_abi(webAccount), &scope)); + return scope; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccountMapManagerStatics::AddWebAccountAsync(hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, hstring_view perUserWebAccountId) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountMapManagerStatics)->abi_AddWebAccountWithScopeAndMapAsync(get_abi(webAccountId), get_abi(webAccountUserName), get_abi(props), scope, get_abi(perUserWebAccountId), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountMapManagerStatics::SetPerAppToPerUserAccountAsync(const Windows::Security::Credentials::WebAccount & perAppAccount, hstring_view perUserWebAccountId) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountMapManagerStatics)->abi_SetPerAppToPerUserAccountAsync(get_abi(perAppAccount), get_abi(perUserWebAccountId), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccountMapManagerStatics::GetPerUserFromPerAppAccountAsync(const Windows::Security::Credentials::WebAccount & perAppAccount) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountMapManagerStatics)->abi_GetPerUserFromPerAppAccountAsync(get_abi(perAppAccount), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccountMapManagerStatics::ClearPerUserFromPerAppAccountAsync(const Windows::Security::Credentials::WebAccount & perAppAccount) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccountMapManagerStatics)->abi_ClearPerUserFromPerAppAccountAsync(get_abi(perAppAccount), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation> impl_IWebAccountManagerStatics3::FindAllProviderWebAccountsForUserAsync(const Windows::System::User & user) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics3)->abi_FindAllProviderWebAccountsForUserAsync(get_abi(user), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccountManagerStatics3::AddWebAccountForUserAsync(const Windows::System::User & user, hstring_view webAccountId, hstring_view webAccountUserName, map_view props) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics3)->abi_AddWebAccountForUserAsync(get_abi(user), get_abi(webAccountId), get_abi(webAccountUserName), get_abi(props), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccountManagerStatics3::AddWebAccountForUserAsync(const Windows::System::User & user, hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics3)->abi_AddWebAccountWithScopeForUserAsync(get_abi(user), get_abi(webAccountId), get_abi(webAccountUserName), get_abi(props), scope, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccountManagerStatics3::AddWebAccountForUserAsync(const Windows::System::User & user, hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, hstring_view perUserWebAccountId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IWebAccountManagerStatics3)->abi_AddWebAccountWithScopeAndMapForUserAsync(get_abi(user), get_abi(webAccountId), get_abi(webAccountUserName), get_abi(props), scope, get_abi(perUserWebAccountId), put_abi(operation))); + return operation; +} + +template void impl_IWebAccountProviderBaseReportOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderBaseReportOperation)->abi_ReportCompleted()); +} + +template void impl_IWebAccountProviderBaseReportOperation::ReportError(const Windows::Security::Authentication::Web::Core::WebProviderError & value) const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderBaseReportOperation)->abi_ReportError(get_abi(value))); +} + +template void impl_IWebAccountProviderUIReportOperation::ReportUserCanceled() const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderUIReportOperation)->abi_ReportUserCanceled()); +} + +template void impl_IWebAccountProviderSilentReportOperation::ReportUserInteractionRequired() const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderSilentReportOperation)->abi_ReportUserInteractionRequired()); +} + +template void impl_IWebAccountProviderSilentReportOperation::ReportUserInteractionRequired(const Windows::Security::Authentication::Web::Core::WebProviderError & value) const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderSilentReportOperation)->abi_ReportUserInteractionRequiredWithError(get_abi(value))); +} + +template Windows::Security::Authentication::Web::Provider::WebProviderTokenRequest impl_IWebAccountProviderTokenOperation::ProviderRequest() const +{ + Windows::Security::Authentication::Web::Provider::WebProviderTokenRequest webTokenRequest { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderTokenOperation)->get_ProviderRequest(put_abi(webTokenRequest))); + return webTokenRequest; +} + +template Windows::Foundation::Collections::IVector impl_IWebAccountProviderTokenOperation::ProviderResponses() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWebAccountProviderTokenOperation)->get_ProviderResponses(put_abi(value))); + return value; +} + +template void impl_IWebAccountProviderTokenOperation::CacheExpirationTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderTokenOperation)->put_CacheExpirationTime(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_IWebAccountProviderTokenOperation::CacheExpirationTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IWebAccountProviderTokenOperation)->get_CacheExpirationTime(put_abi(value))); + return value; +} + +template void impl_IWebAccountProviderAddAccountOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderAddAccountOperation)->abi_ReportCompleted()); +} + +template Windows::Security::Credentials::WebAccount impl_IWebAccountProviderManageAccountOperation::WebAccount() const +{ + Windows::Security::Credentials::WebAccount value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderManageAccountOperation)->get_WebAccount(put_abi(value))); + return value; +} + +template void impl_IWebAccountProviderManageAccountOperation::ReportCompleted() const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderManageAccountOperation)->abi_ReportCompleted()); +} + +template Windows::Security::Credentials::WebAccount impl_IWebAccountProviderDeleteAccountOperation::WebAccount() const +{ + Windows::Security::Credentials::WebAccount value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderDeleteAccountOperation)->get_WebAccount(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::WebAccount impl_IWebAccountProviderSignOutAccountOperation::WebAccount() const +{ + Windows::Security::Credentials::WebAccount value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderSignOutAccountOperation)->get_WebAccount(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IWebAccountProviderSignOutAccountOperation::ApplicationCallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderSignOutAccountOperation)->get_ApplicationCallbackUri(put_abi(value))); + return value; +} + +template hstring impl_IWebAccountProviderSignOutAccountOperation::ClientId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccountProviderSignOutAccountOperation)->get_ClientId(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IWebAccountProviderRetrieveCookiesOperation::Context() const +{ + Windows::Foundation::Uri webCookieRequestContext { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderRetrieveCookiesOperation)->get_Context(put_abi(webCookieRequestContext))); + return webCookieRequestContext; +} + +template Windows::Foundation::Collections::IVector impl_IWebAccountProviderRetrieveCookiesOperation::Cookies() const +{ + Windows::Foundation::Collections::IVector cookies; + check_hresult(WINRT_SHIM(IWebAccountProviderRetrieveCookiesOperation)->get_Cookies(put_abi(cookies))); + return cookies; +} + +template void impl_IWebAccountProviderRetrieveCookiesOperation::Uri(const Windows::Foundation::Uri & uri) const +{ + check_hresult(WINRT_SHIM(IWebAccountProviderRetrieveCookiesOperation)->put_Uri(get_abi(uri))); +} + +template Windows::Foundation::Uri impl_IWebAccountProviderRetrieveCookiesOperation::Uri() const +{ + Windows::Foundation::Uri uri { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderRetrieveCookiesOperation)->get_Uri(put_abi(uri))); + return uri; +} + +template Windows::Foundation::Uri impl_IWebAccountProviderRetrieveCookiesOperation::ApplicationCallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderRetrieveCookiesOperation)->get_ApplicationCallbackUri(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::Provider::IWebAccountProviderOperation impl_IWebAccountProviderTokenObjects::Operation() const +{ + Windows::Security::Authentication::Web::Provider::IWebAccountProviderOperation value; + check_hresult(WINRT_SHIM(IWebAccountProviderTokenObjects)->get_Operation(put_abi(value))); + return value; +} + +template Windows::System::User impl_IWebAccountProviderTokenObjects2::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderTokenObjects2)->get_User(put_abi(value))); + return value; +} + +inline WebAccountClientView::WebAccountClientView(Windows::Security::Authentication::Web::Provider::WebAccountClientViewType viewType, const Windows::Foundation::Uri & applicationCallbackUri) : + WebAccountClientView(get_activation_factory().Create(viewType, applicationCallbackUri)) +{} + +inline WebAccountClientView::WebAccountClientView(Windows::Security::Authentication::Web::Provider::WebAccountClientViewType viewType, const Windows::Foundation::Uri & applicationCallbackUri, hstring_view accountPairwiseId) : + WebAccountClientView(get_activation_factory().CreateWithPairwiseId(viewType, applicationCallbackUri, accountPairwiseId)) +{} + +inline Windows::Foundation::IAsyncAction WebAccountManager::UpdateWebAccountPropertiesAsync(const Windows::Security::Credentials::WebAccount & webAccount, hstring_view webAccountUserName, map_view additionalProperties) +{ + return get_activation_factory().UpdateWebAccountPropertiesAsync(webAccount, webAccountUserName, additionalProperties); +} + +inline Windows::Foundation::IAsyncOperation WebAccountManager::AddWebAccountAsync(hstring_view webAccountId, hstring_view webAccountUserName, map_view props) +{ + return get_activation_factory().AddWebAccountAsync(webAccountId, webAccountUserName, props); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::DeleteWebAccountAsync(const Windows::Security::Credentials::WebAccount & webAccount) +{ + return get_activation_factory().DeleteWebAccountAsync(webAccount); +} + +inline Windows::Foundation::IAsyncOperation> WebAccountManager::FindAllProviderWebAccountsAsync() +{ + return get_activation_factory().FindAllProviderWebAccountsAsync(); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::PushCookiesAsync(const Windows::Foundation::Uri & uri, vector_view cookies) +{ + return get_activation_factory().PushCookiesAsync(uri, cookies); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::SetViewAsync(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Security::Authentication::Web::Provider::WebAccountClientView & view) +{ + return get_activation_factory().SetViewAsync(webAccount, view); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::ClearViewAsync(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Foundation::Uri & applicationCallbackUri) +{ + return get_activation_factory().ClearViewAsync(webAccount, applicationCallbackUri); +} + +inline Windows::Foundation::IAsyncOperation> WebAccountManager::GetViewsAsync(const Windows::Security::Credentials::WebAccount & webAccount) +{ + return get_activation_factory().GetViewsAsync(webAccount); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::SetWebAccountPictureAsync(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::Storage::Streams::IRandomAccessStream & webAccountPicture) +{ + return get_activation_factory().SetWebAccountPictureAsync(webAccount, webAccountPicture); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::ClearWebAccountPictureAsync(const Windows::Security::Credentials::WebAccount & webAccount) +{ + return get_activation_factory().ClearWebAccountPictureAsync(webAccount); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::PullCookiesAsync(hstring_view uriString, hstring_view callerPFN) +{ + return get_activation_factory().PullCookiesAsync(uriString, callerPFN); +} + +inline Windows::Foundation::IAsyncOperation> WebAccountManager::FindAllProviderWebAccountsForUserAsync(const Windows::System::User & user) +{ + return get_activation_factory().FindAllProviderWebAccountsForUserAsync(user); +} + +inline Windows::Foundation::IAsyncOperation WebAccountManager::AddWebAccountForUserAsync(const Windows::System::User & user, hstring_view webAccountId, hstring_view webAccountUserName, map_view props) +{ + return get_activation_factory().AddWebAccountForUserAsync(user, webAccountId, webAccountUserName, props); +} + +inline Windows::Foundation::IAsyncOperation WebAccountManager::AddWebAccountForUserAsync(const Windows::System::User & user, hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope) +{ + return get_activation_factory().AddWebAccountForUserAsync(user, webAccountId, webAccountUserName, props, scope); +} + +inline Windows::Foundation::IAsyncOperation WebAccountManager::AddWebAccountForUserAsync(const Windows::System::User & user, hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, hstring_view perUserWebAccountId) +{ + return get_activation_factory().AddWebAccountForUserAsync(user, webAccountId, webAccountUserName, props, scope, perUserWebAccountId); +} + +inline Windows::Foundation::IAsyncOperation WebAccountManager::AddWebAccountAsync(hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope, hstring_view perUserWebAccountId) +{ + return get_activation_factory().AddWebAccountAsync(webAccountId, webAccountUserName, props, scope, perUserWebAccountId); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::SetPerAppToPerUserAccountAsync(const Windows::Security::Credentials::WebAccount & perAppAccount, hstring_view perUserWebAccountId) +{ + return get_activation_factory().SetPerAppToPerUserAccountAsync(perAppAccount, perUserWebAccountId); +} + +inline Windows::Foundation::IAsyncOperation WebAccountManager::GetPerUserFromPerAppAccountAsync(const Windows::Security::Credentials::WebAccount & perAppAccount) +{ + return get_activation_factory().GetPerUserFromPerAppAccountAsync(perAppAccount); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::ClearPerUserFromPerAppAccountAsync(const Windows::Security::Credentials::WebAccount & perAppAccount) +{ + return get_activation_factory().ClearPerUserFromPerAppAccountAsync(perAppAccount); +} + +inline Windows::Foundation::IAsyncOperation WebAccountManager::AddWebAccountAsync(hstring_view webAccountId, hstring_view webAccountUserName, map_view props, Windows::Security::Authentication::Web::Provider::WebAccountScope scope) +{ + return get_activation_factory().AddWebAccountAsync(webAccountId, webAccountUserName, props, scope); +} + +inline Windows::Foundation::IAsyncAction WebAccountManager::SetScopeAsync(const Windows::Security::Credentials::WebAccount & webAccount, Windows::Security::Authentication::Web::Provider::WebAccountScope scope) +{ + return get_activation_factory().SetScopeAsync(webAccount, scope); +} + +inline Windows::Security::Authentication::Web::Provider::WebAccountScope WebAccountManager::GetScope(const Windows::Security::Credentials::WebAccount & webAccount) +{ + return get_activation_factory().GetScope(webAccount); +} + +inline WebProviderTokenResponse::WebProviderTokenResponse(const Windows::Security::Authentication::Web::Core::WebTokenResponse & webTokenResponse) : + WebProviderTokenResponse(get_activation_factory().Create(webTokenResponse)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountClientView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountClientViewFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountMapManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderAddAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderBaseReportOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderDeleteAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderManageAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderRetrieveCookiesOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderSignOutAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderSilentReportOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenObjects & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenObjects2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderTokenOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountProviderUIReportOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebAccountScopeManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenRequest2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::IWebProviderTokenResponseFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountClientView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderAddAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderDeleteAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderGetTokenSilentOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderManageAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderRequestTokenOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderRetrieveCookiesOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderSignOutAccountOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebAccountProviderTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebProviderTokenRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::Provider::WebProviderTokenResponse & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Authentication.Web.h b/10.0.15042.0/winrt/Windows.Security.Authentication.Web.h new file mode 100644 index 000000000..7def2b77e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Authentication.Web.h @@ -0,0 +1,344 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Security.Authentication.Web.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AuthenticateWithCallbackUriAsync(Windows::Security::Authentication::Web::WebAuthenticationOptions options, impl::abi_arg_in requestUri, impl::abi_arg_in callbackUri, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AuthenticateAsync(options, *reinterpret_cast(&requestUri), *reinterpret_cast(&callbackUri))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AuthenticateWithoutCallbackUriAsync(Windows::Security::Authentication::Web::WebAuthenticationOptions options, impl::abi_arg_in requestUri, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AuthenticateAsync(options, *reinterpret_cast(&requestUri))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentApplicationCallbackUri(impl::abi_arg_out callbackUri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *callbackUri = detach_abi(this->shim().GetCurrentApplicationCallbackUri()); + return S_OK; + } + catch (...) + { + *callbackUri = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AuthenticateAndContinue(impl::abi_arg_in requestUri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticateAndContinue(*reinterpret_cast(&requestUri)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AuthenticateWithCallbackUriAndContinue(impl::abi_arg_in requestUri, impl::abi_arg_in callbackUri) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticateAndContinue(*reinterpret_cast(&requestUri), *reinterpret_cast(&callbackUri)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AuthenticateWithCallbackUriContinuationDataAndOptionsAndContinue(impl::abi_arg_in requestUri, impl::abi_arg_in callbackUri, impl::abi_arg_in continuationData, Windows::Security::Authentication::Web::WebAuthenticationOptions options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticateAndContinue(*reinterpret_cast(&requestUri), *reinterpret_cast(&callbackUri), *reinterpret_cast(&continuationData), options); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AuthenticateSilentlyAsync(impl::abi_arg_in requestUri, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AuthenticateSilentlyAsync(*reinterpret_cast(&requestUri))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AuthenticateSilentlyWithOptionsAsync(impl::abi_arg_in requestUri, Windows::Security::Authentication::Web::WebAuthenticationOptions options, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().AuthenticateSilentlyAsync(*reinterpret_cast(&requestUri), options)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ResponseData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseStatus(Windows::Security::Authentication::Web::WebAuthenticationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseErrorDetail(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseErrorDetail()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Authentication::Web { + +template hstring impl_IWebAuthenticationResult::ResponseData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAuthenticationResult)->get_ResponseData(put_abi(value))); + return value; +} + +template Windows::Security::Authentication::Web::WebAuthenticationStatus impl_IWebAuthenticationResult::ResponseStatus() const +{ + Windows::Security::Authentication::Web::WebAuthenticationStatus value {}; + check_hresult(WINRT_SHIM(IWebAuthenticationResult)->get_ResponseStatus(&value)); + return value; +} + +template uint32_t impl_IWebAuthenticationResult::ResponseErrorDetail() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWebAuthenticationResult)->get_ResponseErrorDetail(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationBrokerStatics::AuthenticateAsync(Windows::Security::Authentication::Web::WebAuthenticationOptions options, const Windows::Foundation::Uri & requestUri, const Windows::Foundation::Uri & callbackUri) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics)->abi_AuthenticateWithCallbackUriAsync(options, get_abi(requestUri), get_abi(callbackUri), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationBrokerStatics::AuthenticateAsync(Windows::Security::Authentication::Web::WebAuthenticationOptions options, const Windows::Foundation::Uri & requestUri) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics)->abi_AuthenticateWithoutCallbackUriAsync(options, get_abi(requestUri), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::Uri impl_IWebAuthenticationBrokerStatics::GetCurrentApplicationCallbackUri() const +{ + Windows::Foundation::Uri callbackUri { nullptr }; + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics)->abi_GetCurrentApplicationCallbackUri(put_abi(callbackUri))); + return callbackUri; +} + +template void impl_IWebAuthenticationBrokerStatics2::AuthenticateAndContinue(const Windows::Foundation::Uri & requestUri) const +{ + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics2)->abi_AuthenticateAndContinue(get_abi(requestUri))); +} + +template void impl_IWebAuthenticationBrokerStatics2::AuthenticateAndContinue(const Windows::Foundation::Uri & requestUri, const Windows::Foundation::Uri & callbackUri) const +{ + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics2)->abi_AuthenticateWithCallbackUriAndContinue(get_abi(requestUri), get_abi(callbackUri))); +} + +template void impl_IWebAuthenticationBrokerStatics2::AuthenticateAndContinue(const Windows::Foundation::Uri & requestUri, const Windows::Foundation::Uri & callbackUri, const Windows::Foundation::Collections::ValueSet & continuationData, Windows::Security::Authentication::Web::WebAuthenticationOptions options) const +{ + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics2)->abi_AuthenticateWithCallbackUriContinuationDataAndOptionsAndContinue(get_abi(requestUri), get_abi(callbackUri), get_abi(continuationData), options)); +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationBrokerStatics2::AuthenticateSilentlyAsync(const Windows::Foundation::Uri & requestUri) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics2)->abi_AuthenticateSilentlyAsync(get_abi(requestUri), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAuthenticationBrokerStatics2::AuthenticateSilentlyAsync(const Windows::Foundation::Uri & requestUri, Windows::Security::Authentication::Web::WebAuthenticationOptions options) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAuthenticationBrokerStatics2)->abi_AuthenticateSilentlyWithOptionsAsync(get_abi(requestUri), options, put_abi(asyncInfo))); + return asyncInfo; +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationBroker::AuthenticateAsync(Windows::Security::Authentication::Web::WebAuthenticationOptions options, const Windows::Foundation::Uri & requestUri, const Windows::Foundation::Uri & callbackUri) +{ + return get_activation_factory().AuthenticateAsync(options, requestUri, callbackUri); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationBroker::AuthenticateAsync(Windows::Security::Authentication::Web::WebAuthenticationOptions options, const Windows::Foundation::Uri & requestUri) +{ + return get_activation_factory().AuthenticateAsync(options, requestUri); +} + +inline Windows::Foundation::Uri WebAuthenticationBroker::GetCurrentApplicationCallbackUri() +{ + return get_activation_factory().GetCurrentApplicationCallbackUri(); +} + +inline void WebAuthenticationBroker::AuthenticateAndContinue(const Windows::Foundation::Uri & requestUri) +{ + get_activation_factory().AuthenticateAndContinue(requestUri); +} + +inline void WebAuthenticationBroker::AuthenticateAndContinue(const Windows::Foundation::Uri & requestUri, const Windows::Foundation::Uri & callbackUri) +{ + get_activation_factory().AuthenticateAndContinue(requestUri, callbackUri); +} + +inline void WebAuthenticationBroker::AuthenticateAndContinue(const Windows::Foundation::Uri & requestUri, const Windows::Foundation::Uri & callbackUri, const Windows::Foundation::Collections::ValueSet & continuationData, Windows::Security::Authentication::Web::WebAuthenticationOptions options) +{ + get_activation_factory().AuthenticateAndContinue(requestUri, callbackUri, continuationData, options); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationBroker::AuthenticateSilentlyAsync(const Windows::Foundation::Uri & requestUri) +{ + return get_activation_factory().AuthenticateSilentlyAsync(requestUri); +} + +inline Windows::Foundation::IAsyncOperation WebAuthenticationBroker::AuthenticateSilentlyAsync(const Windows::Foundation::Uri & requestUri, Windows::Security::Authentication::Web::WebAuthenticationOptions options) +{ + return get_activation_factory().AuthenticateSilentlyAsync(requestUri, options); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::IWebAuthenticationBrokerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::IWebAuthenticationBrokerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::IWebAuthenticationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Authentication::Web::WebAuthenticationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Credentials.UI.h b/10.0.15042.0/winrt/Windows.Security.Credentials.UI.h new file mode 100644 index 000000000..a7794c52d --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Credentials.UI.h @@ -0,0 +1,791 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Security.Credentials.UI.3.h" +#include "Windows.Security.Credentials.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Caption(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Caption(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Caption(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Caption()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Message(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Message(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ErrorCode(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ErrorCode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AuthenticationProtocol(Windows::Security::Credentials::UI::AuthenticationProtocol value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationProtocol(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationProtocol(Windows::Security::Credentials::UI::AuthenticationProtocol * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationProtocol()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomAuthenticationProtocol(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomAuthenticationProtocol(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomAuthenticationProtocol(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomAuthenticationProtocol()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreviousCredential(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreviousCredential(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviousCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviousCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlwaysDisplayDialog(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlwaysDisplayDialog(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlwaysDisplayDialog(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlwaysDisplayDialog()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CallerSavesCredential(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CallerSavesCredential(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CallerSavesCredential(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallerSavesCredential()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CredentialSaveOption(Windows::Security::Credentials::UI::CredentialSaveOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CredentialSaveOption(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialSaveOption(Windows::Security::Credentials::UI::CredentialSaveOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialSaveOption()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialSaveOption(Windows::Security::Credentials::UI::CredentialSaveOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialSaveOption()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialSaved(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialSaved()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Credential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Credential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialDomainName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialDomainName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialUserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialUserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialPassword(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialPassword()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PickWithOptionsAsync(impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PickAsync(*reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickWithMessageAsync(impl::abi_arg_in targetName, impl::abi_arg_in message, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PickAsync(*reinterpret_cast(&targetName), *reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickWithCaptionAsync(impl::abi_arg_in targetName, impl::abi_arg_in message, impl::abi_arg_in caption, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PickAsync(*reinterpret_cast(&targetName), *reinterpret_cast(&message), *reinterpret_cast(&caption))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CheckAvailabilityAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CheckAvailabilityAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestVerificationAsync(impl::abi_arg_in message, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestVerificationAsync(*reinterpret_cast(&message))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Credentials::UI { + +template void impl_ICredentialPickerOptions::Caption(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_Caption(get_abi(value))); +} + +template hstring impl_ICredentialPickerOptions::Caption() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_Caption(put_abi(value))); + return value; +} + +template void impl_ICredentialPickerOptions::Message(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_Message(get_abi(value))); +} + +template hstring impl_ICredentialPickerOptions::Message() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_Message(put_abi(value))); + return value; +} + +template void impl_ICredentialPickerOptions::ErrorCode(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_ErrorCode(value)); +} + +template uint32_t impl_ICredentialPickerOptions::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_ErrorCode(&value)); + return value; +} + +template void impl_ICredentialPickerOptions::TargetName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_TargetName(get_abi(value))); +} + +template hstring impl_ICredentialPickerOptions::TargetName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_TargetName(put_abi(value))); + return value; +} + +template void impl_ICredentialPickerOptions::AuthenticationProtocol(Windows::Security::Credentials::UI::AuthenticationProtocol value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_AuthenticationProtocol(value)); +} + +template Windows::Security::Credentials::UI::AuthenticationProtocol impl_ICredentialPickerOptions::AuthenticationProtocol() const +{ + Windows::Security::Credentials::UI::AuthenticationProtocol value {}; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_AuthenticationProtocol(&value)); + return value; +} + +template void impl_ICredentialPickerOptions::CustomAuthenticationProtocol(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_CustomAuthenticationProtocol(get_abi(value))); +} + +template hstring impl_ICredentialPickerOptions::CustomAuthenticationProtocol() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_CustomAuthenticationProtocol(put_abi(value))); + return value; +} + +template void impl_ICredentialPickerOptions::PreviousCredential(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_PreviousCredential(get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_ICredentialPickerOptions::PreviousCredential() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_PreviousCredential(put_abi(value))); + return value; +} + +template void impl_ICredentialPickerOptions::AlwaysDisplayDialog(bool value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_AlwaysDisplayDialog(value)); +} + +template bool impl_ICredentialPickerOptions::AlwaysDisplayDialog() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_AlwaysDisplayDialog(&value)); + return value; +} + +template void impl_ICredentialPickerOptions::CallerSavesCredential(bool value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_CallerSavesCredential(value)); +} + +template bool impl_ICredentialPickerOptions::CallerSavesCredential() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_CallerSavesCredential(&value)); + return value; +} + +template void impl_ICredentialPickerOptions::CredentialSaveOption(Windows::Security::Credentials::UI::CredentialSaveOption value) const +{ + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->put_CredentialSaveOption(value)); +} + +template Windows::Security::Credentials::UI::CredentialSaveOption impl_ICredentialPickerOptions::CredentialSaveOption() const +{ + Windows::Security::Credentials::UI::CredentialSaveOption value {}; + check_hresult(WINRT_SHIM(ICredentialPickerOptions)->get_CredentialSaveOption(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICredentialPickerStatics::PickAsync(const Windows::Security::Credentials::UI::CredentialPickerOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICredentialPickerStatics)->abi_PickWithOptionsAsync(get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICredentialPickerStatics::PickAsync(hstring_view targetName, hstring_view message) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICredentialPickerStatics)->abi_PickWithMessageAsync(get_abi(targetName), get_abi(message), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ICredentialPickerStatics::PickAsync(hstring_view targetName, hstring_view message, hstring_view caption) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICredentialPickerStatics)->abi_PickWithCaptionAsync(get_abi(targetName), get_abi(message), get_abi(caption), put_abi(operation))); + return operation; +} + +template uint32_t impl_ICredentialPickerResults::ErrorCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICredentialPickerResults)->get_ErrorCode(&value)); + return value; +} + +template Windows::Security::Credentials::UI::CredentialSaveOption impl_ICredentialPickerResults::CredentialSaveOption() const +{ + Windows::Security::Credentials::UI::CredentialSaveOption value {}; + check_hresult(WINRT_SHIM(ICredentialPickerResults)->get_CredentialSaveOption(&value)); + return value; +} + +template bool impl_ICredentialPickerResults::CredentialSaved() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICredentialPickerResults)->get_CredentialSaved(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICredentialPickerResults::Credential() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICredentialPickerResults)->get_Credential(put_abi(value))); + return value; +} + +template hstring impl_ICredentialPickerResults::CredentialDomainName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICredentialPickerResults)->get_CredentialDomainName(put_abi(value))); + return value; +} + +template hstring impl_ICredentialPickerResults::CredentialUserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICredentialPickerResults)->get_CredentialUserName(put_abi(value))); + return value; +} + +template hstring impl_ICredentialPickerResults::CredentialPassword() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICredentialPickerResults)->get_CredentialPassword(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUserConsentVerifierStatics::CheckAvailabilityAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserConsentVerifierStatics)->abi_CheckAvailabilityAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserConsentVerifierStatics::RequestVerificationAsync(hstring_view message) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserConsentVerifierStatics)->abi_RequestVerificationAsync(get_abi(message), put_abi(result))); + return result; +} + +inline Windows::Foundation::IAsyncOperation CredentialPicker::PickAsync(const Windows::Security::Credentials::UI::CredentialPickerOptions & options) +{ + return get_activation_factory().PickAsync(options); +} + +inline Windows::Foundation::IAsyncOperation CredentialPicker::PickAsync(hstring_view targetName, hstring_view message) +{ + return get_activation_factory().PickAsync(targetName, message); +} + +inline Windows::Foundation::IAsyncOperation CredentialPicker::PickAsync(hstring_view targetName, hstring_view message, hstring_view caption) +{ + return get_activation_factory().PickAsync(targetName, message, caption); +} + +inline CredentialPickerOptions::CredentialPickerOptions() : + CredentialPickerOptions(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation UserConsentVerifier::CheckAvailabilityAsync() +{ + return get_activation_factory().CheckAvailabilityAsync(); +} + +inline Windows::Foundation::IAsyncOperation UserConsentVerifier::RequestVerificationAsync(hstring_view message) +{ + return get_activation_factory().RequestVerificationAsync(message); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::UI::ICredentialPickerOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::UI::ICredentialPickerResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::UI::ICredentialPickerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::UI::IUserConsentVerifierStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::UI::CredentialPickerOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::UI::CredentialPickerResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Credentials.h b/10.0.15042.0/winrt/Windows.Security.Credentials.h new file mode 100644 index 000000000..d43fe0448 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Credentials.h @@ -0,0 +1,1388 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Security.Cryptography.Core.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePasswordCredential(impl::abi_arg_in resource, impl::abi_arg_in userName, impl::abi_arg_in password, impl::abi_arg_out credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().CreatePasswordCredential(*reinterpret_cast(&resource), *reinterpret_cast(&userName), *reinterpret_cast(&password))); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrievePublicKeyWithDefaultBlobType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RetrievePublicKey()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrievePublicKeyWithBlobType(Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType blobType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RetrievePublicKey(blobType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestSignAsync(impl::abi_arg_in data, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestSignAsync(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAttestationAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAttestationAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CertificateChainBuffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CertificateChainBuffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttestationBuffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttestationBuffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Security::Credentials::KeyCredentialAttestationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupportedAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupportedAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RenewAttestationAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RenewAttestationAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCreateAsync(impl::abi_arg_in name, Windows::Security::Credentials::KeyCredentialCreationOption option, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestCreateAsync(*reinterpret_cast(&name), option)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenAsync(impl::abi_arg_in name, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_in name, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Result(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Security::Credentials::KeyCredentialStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Credential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Credential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Security::Credentials::KeyCredentialStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Resource(impl::abi_arg_out resource) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *resource = detach_abi(this->shim().Resource()); + return S_OK; + } + catch (...) + { + *resource = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Resource(impl::abi_arg_in resource) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resource(*reinterpret_cast(&resource)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserName(impl::abi_arg_out userName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *userName = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *userName = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserName(impl::abi_arg_in userName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserName(*reinterpret_cast(&userName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Password(impl::abi_arg_out password) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *password = detach_abi(this->shim().Password()); + return S_OK; + } + catch (...) + { + *password = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Password(impl::abi_arg_in password) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Password(*reinterpret_cast(&password)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrievePassword() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RetrievePassword(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out props) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *props = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *props = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Add(impl::abi_arg_in credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Add(*reinterpret_cast(&credential)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&credential)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Retrieve(impl::abi_arg_in resource, impl::abi_arg_in userName, impl::abi_arg_out credential) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credential = detach_abi(this->shim().Retrieve(*reinterpret_cast(&resource), *reinterpret_cast(&userName))); + return S_OK; + } + catch (...) + { + *credential = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllByResource(impl::abi_arg_in resource, impl::abi_arg_out> credentials) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credentials = detach_abi(this->shim().FindAllByResource(*reinterpret_cast(&resource))); + return S_OK; + } + catch (...) + { + *credentials = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllByUserName(impl::abi_arg_in userName, impl::abi_arg_out> credentials) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credentials = detach_abi(this->shim().FindAllByUserName(*reinterpret_cast(&userName))); + return S_OK; + } + catch (...) + { + *credentials = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrieveAll(impl::abi_arg_out> credentials) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *credentials = detach_abi(this->shim().RetrieveAll()); + return S_OK; + } + catch (...) + { + *credentials = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccountProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccountProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::Security::Credentials::WebAccountState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPictureAsync(Windows::Security::Credentials::WebAccountPictureSize desizedSize, impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().GetPictureAsync(desizedSize)); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SignOutAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SignOutAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SignOutWithClientIdAsync(impl::abi_arg_in clientId, impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().SignOutAsync(*reinterpret_cast(&clientId))); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWebAccount(impl::abi_arg_in webAccountProvider, impl::abi_arg_in userName, Windows::Security::Credentials::WebAccountState state, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWebAccount(*reinterpret_cast(&webAccountProvider), *reinterpret_cast(&userName), state)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IconUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayPurpose(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayPurpose()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Authority(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Authority()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out user) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *user = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *user = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWebAccountProvider(impl::abi_arg_in id, impl::abi_arg_in displayName, impl::abi_arg_in iconUri, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWebAccountProvider(*reinterpret_cast(&id), *reinterpret_cast(&displayName), *reinterpret_cast(&iconUri))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Credentials { + +template Windows::Foundation::IAsyncOperation impl_IKeyCredentialManagerStatics::IsSupportedAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IKeyCredentialManagerStatics)->abi_IsSupportedAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IKeyCredentialManagerStatics::RenewAttestationAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IKeyCredentialManagerStatics)->abi_RenewAttestationAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IKeyCredentialManagerStatics::RequestCreateAsync(hstring_view name, Windows::Security::Credentials::KeyCredentialCreationOption option) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IKeyCredentialManagerStatics)->abi_RequestCreateAsync(get_abi(name), option, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IKeyCredentialManagerStatics::OpenAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IKeyCredentialManagerStatics)->abi_OpenAsync(get_abi(name), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IKeyCredentialManagerStatics::DeleteAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IKeyCredentialManagerStatics)->abi_DeleteAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template hstring impl_IKeyCredential::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyCredential)->get_Name(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IKeyCredential::RetrievePublicKey() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IKeyCredential)->abi_RetrievePublicKeyWithDefaultBlobType(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IKeyCredential::RetrievePublicKey(Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType blobType) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IKeyCredential)->abi_RetrievePublicKeyWithBlobType(blobType, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IKeyCredential::RequestSignAsync(const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IKeyCredential)->abi_RequestSignAsync(get_abi(data), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IKeyCredential::GetAttestationAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IKeyCredential)->abi_GetAttestationAsync(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::KeyCredential impl_IKeyCredentialRetrievalResult::Credential() const +{ + Windows::Security::Credentials::KeyCredential value { nullptr }; + check_hresult(WINRT_SHIM(IKeyCredentialRetrievalResult)->get_Credential(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::KeyCredentialStatus impl_IKeyCredentialRetrievalResult::Status() const +{ + Windows::Security::Credentials::KeyCredentialStatus value {}; + check_hresult(WINRT_SHIM(IKeyCredentialRetrievalResult)->get_Status(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IKeyCredentialOperationResult::Result() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IKeyCredentialOperationResult)->get_Result(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::KeyCredentialStatus impl_IKeyCredentialOperationResult::Status() const +{ + Windows::Security::Credentials::KeyCredentialStatus value {}; + check_hresult(WINRT_SHIM(IKeyCredentialOperationResult)->get_Status(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IKeyCredentialAttestationResult::CertificateChainBuffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IKeyCredentialAttestationResult)->get_CertificateChainBuffer(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IKeyCredentialAttestationResult::AttestationBuffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IKeyCredentialAttestationResult)->get_AttestationBuffer(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::KeyCredentialAttestationStatus impl_IKeyCredentialAttestationResult::Status() const +{ + Windows::Security::Credentials::KeyCredentialAttestationStatus value {}; + check_hresult(WINRT_SHIM(IKeyCredentialAttestationResult)->get_Status(&value)); + return value; +} + +template Windows::Security::Credentials::WebAccount impl_IWebAccountFactory::CreateWebAccount(const Windows::Security::Credentials::WebAccountProvider & webAccountProvider, hstring_view userName, Windows::Security::Credentials::WebAccountState state) const +{ + Windows::Security::Credentials::WebAccount instance { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountFactory)->abi_CreateWebAccount(get_abi(webAccountProvider), get_abi(userName), state, put_abi(instance))); + return instance; +} + +template Windows::Security::Credentials::WebAccountProvider impl_IWebAccount::WebAccountProvider() const +{ + Windows::Security::Credentials::WebAccountProvider value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccount)->get_WebAccountProvider(put_abi(value))); + return value; +} + +template hstring impl_IWebAccount::UserName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccount)->get_UserName(put_abi(value))); + return value; +} + +template Windows::Security::Credentials::WebAccountState impl_IWebAccount::State() const +{ + Windows::Security::Credentials::WebAccountState value {}; + check_hresult(WINRT_SHIM(IWebAccount)->get_State(&value)); + return value; +} + +template hstring impl_IWebAccount2::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccount2)->get_Id(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IWebAccount2::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IWebAccount2)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IWebAccount2::GetPictureAsync(Windows::Security::Credentials::WebAccountPictureSize desizedSize) const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(IWebAccount2)->abi_GetPictureAsync(desizedSize, put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccount2::SignOutAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccount2)->abi_SignOutAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IWebAccount2::SignOutAsync(hstring_view clientId) const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IWebAccount2)->abi_SignOutWithClientIdAsync(get_abi(clientId), put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Security::Credentials::WebAccountProvider impl_IWebAccountProviderFactory::CreateWebAccountProvider(hstring_view id, hstring_view displayName, const Windows::Foundation::Uri & iconUri) const +{ + Windows::Security::Credentials::WebAccountProvider instance { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderFactory)->abi_CreateWebAccountProvider(get_abi(id), get_abi(displayName), get_abi(iconUri), put_abi(instance))); + return instance; +} + +template hstring impl_IWebAccountProvider::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccountProvider)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IWebAccountProvider::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccountProvider)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IWebAccountProvider::IconUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProvider)->get_IconUri(put_abi(value))); + return value; +} + +template hstring impl_IWebAccountProvider2::DisplayPurpose() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccountProvider2)->get_DisplayPurpose(put_abi(value))); + return value; +} + +template hstring impl_IWebAccountProvider2::Authority() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebAccountProvider2)->get_Authority(put_abi(value))); + return value; +} + +template Windows::System::User impl_IWebAccountProvider3::User() const +{ + Windows::System::User user { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProvider3)->get_User(put_abi(user))); + return user; +} + +template hstring impl_IPasswordCredential::Resource() const +{ + hstring resource; + check_hresult(WINRT_SHIM(IPasswordCredential)->get_Resource(put_abi(resource))); + return resource; +} + +template void impl_IPasswordCredential::Resource(hstring_view resource) const +{ + check_hresult(WINRT_SHIM(IPasswordCredential)->put_Resource(get_abi(resource))); +} + +template hstring impl_IPasswordCredential::UserName() const +{ + hstring userName; + check_hresult(WINRT_SHIM(IPasswordCredential)->get_UserName(put_abi(userName))); + return userName; +} + +template void impl_IPasswordCredential::UserName(hstring_view userName) const +{ + check_hresult(WINRT_SHIM(IPasswordCredential)->put_UserName(get_abi(userName))); +} + +template hstring impl_IPasswordCredential::Password() const +{ + hstring password; + check_hresult(WINRT_SHIM(IPasswordCredential)->get_Password(put_abi(password))); + return password; +} + +template void impl_IPasswordCredential::Password(hstring_view password) const +{ + check_hresult(WINRT_SHIM(IPasswordCredential)->put_Password(get_abi(password))); +} + +template void impl_IPasswordCredential::RetrievePassword() const +{ + check_hresult(WINRT_SHIM(IPasswordCredential)->abi_RetrievePassword()); +} + +template Windows::Foundation::Collections::IPropertySet impl_IPasswordCredential::Properties() const +{ + Windows::Foundation::Collections::IPropertySet props; + check_hresult(WINRT_SHIM(IPasswordCredential)->get_Properties(put_abi(props))); + return props; +} + +template Windows::Security::Credentials::PasswordCredential impl_ICredentialFactory::CreatePasswordCredential(hstring_view resource, hstring_view userName, hstring_view password) const +{ + Windows::Security::Credentials::PasswordCredential credential { nullptr }; + check_hresult(WINRT_SHIM(ICredentialFactory)->abi_CreatePasswordCredential(get_abi(resource), get_abi(userName), get_abi(password), put_abi(credential))); + return credential; +} + +template void impl_IPasswordVault::Add(const Windows::Security::Credentials::PasswordCredential & credential) const +{ + check_hresult(WINRT_SHIM(IPasswordVault)->abi_Add(get_abi(credential))); +} + +template void impl_IPasswordVault::Remove(const Windows::Security::Credentials::PasswordCredential & credential) const +{ + check_hresult(WINRT_SHIM(IPasswordVault)->abi_Remove(get_abi(credential))); +} + +template Windows::Security::Credentials::PasswordCredential impl_IPasswordVault::Retrieve(hstring_view resource, hstring_view userName) const +{ + Windows::Security::Credentials::PasswordCredential credential { nullptr }; + check_hresult(WINRT_SHIM(IPasswordVault)->abi_Retrieve(get_abi(resource), get_abi(userName), put_abi(credential))); + return credential; +} + +template Windows::Foundation::Collections::IVectorView impl_IPasswordVault::FindAllByResource(hstring_view resource) const +{ + Windows::Foundation::Collections::IVectorView credentials; + check_hresult(WINRT_SHIM(IPasswordVault)->abi_FindAllByResource(get_abi(resource), put_abi(credentials))); + return credentials; +} + +template Windows::Foundation::Collections::IVectorView impl_IPasswordVault::FindAllByUserName(hstring_view userName) const +{ + Windows::Foundation::Collections::IVectorView credentials; + check_hresult(WINRT_SHIM(IPasswordVault)->abi_FindAllByUserName(get_abi(userName), put_abi(credentials))); + return credentials; +} + +template Windows::Foundation::Collections::IVectorView impl_IPasswordVault::RetrieveAll() const +{ + Windows::Foundation::Collections::IVectorView credentials; + check_hresult(WINRT_SHIM(IPasswordVault)->abi_RetrieveAll(put_abi(credentials))); + return credentials; +} + +inline Windows::Foundation::IAsyncOperation KeyCredentialManager::IsSupportedAsync() +{ + return get_activation_factory().IsSupportedAsync(); +} + +inline Windows::Foundation::IAsyncAction KeyCredentialManager::RenewAttestationAsync() +{ + return get_activation_factory().RenewAttestationAsync(); +} + +inline Windows::Foundation::IAsyncOperation KeyCredentialManager::RequestCreateAsync(hstring_view name, Windows::Security::Credentials::KeyCredentialCreationOption option) +{ + return get_activation_factory().RequestCreateAsync(name, option); +} + +inline Windows::Foundation::IAsyncOperation KeyCredentialManager::OpenAsync(hstring_view name) +{ + return get_activation_factory().OpenAsync(name); +} + +inline Windows::Foundation::IAsyncAction KeyCredentialManager::DeleteAsync(hstring_view name) +{ + return get_activation_factory().DeleteAsync(name); +} + +inline PasswordCredential::PasswordCredential() : + PasswordCredential(activate_instance()) +{} + +inline PasswordCredential::PasswordCredential(hstring_view resource, hstring_view userName, hstring_view password) : + PasswordCredential(get_activation_factory().CreatePasswordCredential(resource, userName, password)) +{} + +inline PasswordCredentialPropertyStore::PasswordCredentialPropertyStore() : + PasswordCredentialPropertyStore(activate_instance()) +{} + +inline PasswordVault::PasswordVault() : + PasswordVault(activate_instance()) +{} + +inline WebAccount::WebAccount(const Windows::Security::Credentials::WebAccountProvider & webAccountProvider, hstring_view userName, Windows::Security::Credentials::WebAccountState state) : + WebAccount(get_activation_factory().CreateWebAccount(webAccountProvider, userName, state)) +{} + +inline WebAccountProvider::WebAccountProvider(hstring_view id, hstring_view displayName, const Windows::Foundation::Uri & iconUri) : + WebAccountProvider(get_activation_factory().CreateWebAccountProvider(id, displayName, iconUri)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::ICredentialFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IKeyCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IKeyCredentialAttestationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IKeyCredentialManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IKeyCredentialOperationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IKeyCredentialRetrievalResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IPasswordCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IPasswordVault & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IWebAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IWebAccount2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IWebAccountFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IWebAccountProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IWebAccountProvider2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IWebAccountProvider3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::IWebAccountProviderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::KeyCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::KeyCredentialAttestationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::KeyCredentialOperationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::KeyCredentialRetrievalResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::PasswordCredential & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::PasswordCredentialPropertyStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::PasswordVault & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::WebAccount & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Credentials::WebAccountProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Cryptography.Certificates.h b/10.0.15042.0/winrt/Windows.Security.Cryptography.Certificates.h new file mode 100644 index 000000000..a7768a572 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Cryptography.Certificates.h @@ -0,0 +1,5340 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Security.Cryptography.Certificates.3.h" +#include "Windows.Security.Cryptography.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BuildChainAsync(impl::abi_arg_in> certificates, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildChainAsync(*reinterpret_cast *>(&certificates))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BuildChainWithParametersAsync(impl::abi_arg_in> certificates, impl::abi_arg_in parameters, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildChainAsync(*reinterpret_cast *>(&certificates), *reinterpret_cast(¶meters))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SerialNumber(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().SerialNumber()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHashValue(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().GetHashValue()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHashValueWithAlgorithm(impl::abi_arg_in hashAlgorithmName, uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().GetHashValue(*reinterpret_cast(&hashAlgorithmName))); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCertificateBlob(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCertificateBlob()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Issuer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Issuer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasPrivateKey(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasPrivateKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStronglyProtected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStronglyProtected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValidFrom(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValidFrom()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValidTo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValidTo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnhancedKeyUsages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnhancedKeyUsages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FriendlyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FriendlyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSecurityDeviceBound(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSecurityDeviceBound()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyUsages(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyUsages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyAlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyAlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignatureAlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignatureAlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SignatureHashAlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignatureHashAlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubjectAlternativeName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubjectAlternativeName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPerUser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPerUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StoreName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StoreName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyStorageProviderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyStorageProviderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Validate(Windows::Security::Cryptography::Certificates::ChainValidationResult * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Validate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ValidateWithParameters(impl::abi_arg_in parameter, Windows::Security::Cryptography::Certificates::ChainValidationResult * status) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *status = detach_abi(this->shim().Validate(*reinterpret_cast(¶meter))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCertificates(bool includeRoot, impl::abi_arg_out> certificates) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *certificates = detach_abi(this->shim().GetCertificates(includeRoot)); + return S_OK; + } + catch (...) + { + *certificates = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateRequestAsync(impl::abi_arg_in request, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateRequestAsync(*reinterpret_cast(&request))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InstallCertificateAsync(impl::abi_arg_in certificate, Windows::Security::Cryptography::Certificates::InstallOptions installOption, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallCertificateAsync(*reinterpret_cast(&certificate), installOption)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportPfxDataAsync(impl::abi_arg_in pfxData, impl::abi_arg_in password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, impl::abi_arg_in friendlyName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportPfxDataAsync(*reinterpret_cast(&pfxData), *reinterpret_cast(&password), exportable, keyProtectionLevel, installOption, *reinterpret_cast(&friendlyName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserCertificateEnrollmentManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserCertificateEnrollmentManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportPfxDataToKspAsync(impl::abi_arg_in pfxData, impl::abi_arg_in password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, impl::abi_arg_in friendlyName, impl::abi_arg_in keyStorageProvider, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportPfxDataAsync(*reinterpret_cast(&pfxData), *reinterpret_cast(&password), exportable, keyProtectionLevel, installOption, *reinterpret_cast(&friendlyName), *reinterpret_cast(&keyStorageProvider))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ImportPfxDataToKspWithParametersAsync(impl::abi_arg_in pfxData, impl::abi_arg_in password, impl::abi_arg_in pfxImportParameters, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportPfxDataAsync(*reinterpret_cast(&pfxData), *reinterpret_cast(&password), *reinterpret_cast(&pfxImportParameters))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ObjectId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ObjectId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ObjectId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ObjectId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCritical(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCritical()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCritical(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCritical(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EncodeValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EncodeValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCertificate(impl::abi_arg_in certBlob, impl::abi_arg_out certificate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *certificate = detach_abi(this->shim().CreateCertificate(*reinterpret_cast(&certBlob))); + return S_OK; + } + catch (...) + { + *certificate = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncipherOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncipherOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EncipherOnly(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EncipherOnly(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CrlSign(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CrlSign()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CrlSign(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CrlSign(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyCertificateSign(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyCertificateSign()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyCertificateSign(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyCertificateSign(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyAgreement(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyAgreement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyAgreement(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyAgreement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataEncipherment(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataEncipherment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataEncipherment(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataEncipherment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyEncipherment(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyEncipherment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyEncipherment(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyEncipherment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NonRepudiation(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonRepudiation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NonRepudiation(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NonRepudiation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DigitalSignature(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DigitalSignature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DigitalSignature(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DigitalSignature(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnhancedKeyUsages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnhancedKeyUsages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IssuerName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IssuerName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IssuerName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IssuerName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FriendlyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FriendlyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbprint(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().Thumbprint()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Thumbprint(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Thumbprint(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HardwareOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HardwareOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HardwareOnly(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HardwareOnly(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IncludeDuplicates(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeDuplicates()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeDuplicates(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeDuplicates(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncludeExpiredCertificates(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncludeExpiredCertificates()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncludeExpiredCertificates(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncludeExpiredCertificates(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StoreName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StoreName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StoreName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StoreName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Subject(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subject()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subject(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subject(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyAlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyAlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyAlgorithmName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyAlgorithmName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeySize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeySize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeySize(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeySize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FriendlyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FriendlyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HashAlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HashAlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HashAlgorithmName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HashAlgorithmName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Exportable(Windows::Security::Cryptography::Certificates::ExportOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exportable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Exportable(Windows::Security::Cryptography::Certificates::ExportOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Exportable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyUsages(Windows::Security::Cryptography::Certificates::EnrollKeyUsages * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyUsages()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyUsages(Windows::Security::Cryptography::Certificates::EnrollKeyUsages value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyUsages(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyProtectionLevel(Windows::Security::Cryptography::Certificates::KeyProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyProtectionLevel(Windows::Security::Cryptography::Certificates::KeyProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyStorageProviderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyStorageProviderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyStorageProviderName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyStorageProviderName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SmartcardReaderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartcardReaderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmartcardReaderName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmartcardReaderName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SigningCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SigningCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SigningCertificate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SigningCertificate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttestationCredentialCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttestationCredentialCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AttestationCredentialCertificate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AttestationCredentialCertificate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurveName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurveName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CurveName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurveName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurveParameters(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().CurveParameters()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CurveParameters(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurveParameters(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainerNamePrefix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainerNamePrefix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContainerNamePrefix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContainerNamePrefix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainerName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainerName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContainerName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContainerName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UseExistingKey(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseExistingKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UseExistingKey(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UseExistingKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SuppressedDefaults(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuppressedDefaults()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubjectAlternativeName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubjectAlternativeName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extensions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Extensions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Add(impl::abi_arg_in certificate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Add(*reinterpret_cast(&certificate)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Delete(impl::abi_arg_in certificate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Delete(*reinterpret_cast(&certificate)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllWithQueryAsync(impl::abi_arg_in query, impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FindAllAsync(*reinterpret_cast(&query))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrustedRootCertificationAuthorities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrustedRootCertificationAuthorities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IntermediateCertificationAuthorities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntermediateCertificationAuthorities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStoreByName(impl::abi_arg_in storeName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetStoreByName(*reinterpret_cast(&storeName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetUserStoreByName(impl::abi_arg_in storeName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetUserStoreByName(*reinterpret_cast(&storeName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnhancedKeyUsages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnhancedKeyUsages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValidationTimestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValidationTimestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ValidationTimestamp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValidationTimestamp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RevocationCheckEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RevocationCheckEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RevocationCheckEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RevocationCheckEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NetworkRetrievalEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NetworkRetrievalEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NetworkRetrievalEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NetworkRetrievalEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthorityInformationAccessEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthorityInformationAccessEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AuthorityInformationAccessEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthorityInformationAccessEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentTimeValidationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentTimeValidationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CurrentTimeValidationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrentTimeValidationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExclusiveTrustRoots(impl::abi_arg_out> certificates) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *certificates = detach_abi(this->shim().ExclusiveTrustRoots()); + return S_OK; + } + catch (...) + { + *certificates = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CertificateChainPolicy(Windows::Security::Cryptography::Certificates::CertificateChainPolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CertificateChainPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CertificateChainPolicy(Windows::Security::Cryptography::Certificates::CertificateChainPolicy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CertificateChainPolicy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServerDnsName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServerDnsName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ServerDnsName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServerDnsName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Certificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Content(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Signers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Signers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_VerifySignature(Windows::Security::Cryptography::Certificates::SignatureValidationResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerifySignature()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCmsAttachedSignature(impl::abi_arg_in inputBlob, impl::abi_arg_out cmsSignedData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cmsSignedData = detach_abi(this->shim().CreateCmsAttachedSignature(*reinterpret_cast(&inputBlob))); + return S_OK; + } + catch (...) + { + *cmsSignedData = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GenerateSignatureAsync(impl::abi_arg_in data, impl::abi_arg_in> signers, impl::abi_arg_in> certificates, impl::abi_arg_out> outputBlob) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outputBlob = detach_abi(this->shim().GenerateSignatureAsync(*reinterpret_cast(&data), *reinterpret_cast *>(&signers), *reinterpret_cast *>(&certificates))); + return S_OK; + } + catch (...) + { + *outputBlob = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Certificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Signers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Signers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_VerifySignatureAsync(impl::abi_arg_in data, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerifySignatureAsync(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCmsDetachedSignature(impl::abi_arg_in inputBlob, impl::abi_arg_out cmsSignedData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cmsSignedData = detach_abi(this->shim().CreateCmsDetachedSignature(*reinterpret_cast(&inputBlob))); + return S_OK; + } + catch (...) + { + *cmsSignedData = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GenerateSignatureAsync(impl::abi_arg_in data, impl::abi_arg_in> signers, impl::abi_arg_in> certificates, impl::abi_arg_out> outputBlob) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outputBlob = detach_abi(this->shim().GenerateSignatureAsync(*reinterpret_cast(&data), *reinterpret_cast *>(&signers), *reinterpret_cast *>(&certificates))); + return S_OK; + } + catch (...) + { + *outputBlob = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Certificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Certificate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Certificate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HashAlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HashAlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HashAlgorithmName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HashAlgorithmName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimestampInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimestampInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SigningCertificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SigningCertificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Certificates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certificates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Rsa(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rsa()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Dsa(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dsa()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ecdh256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdh256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ecdh384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdh384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ecdh521(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdh521()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ecdsa256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdsa256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ecdsa384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdsa384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ecdsa521(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdsa521()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Ecdsa(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdsa()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ecdh(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ecdh()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DecryptTpmAttestationCredentialAsync(impl::abi_arg_in credential, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecryptTpmAttestationCredentialAsync(*reinterpret_cast(&credential))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTpmAttestationCredentialId(impl::abi_arg_in credential, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTpmAttestationCredentialId(*reinterpret_cast(&credential))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DecryptTpmAttestationCredentialWithContainerNameAsync(impl::abi_arg_in credential, impl::abi_arg_in containerName, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecryptTpmAttestationCredentialAsync(*reinterpret_cast(&credential), *reinterpret_cast(&containerName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SoftwareKeyStorageProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SoftwareKeyStorageProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmartcardKeyStorageProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmartcardKeyStorageProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlatformKeyStorageProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlatformKeyStorageProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PassportKeyStorageProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PassportKeyStorageProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Exportable(Windows::Security::Cryptography::Certificates::ExportOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exportable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Exportable(Windows::Security::Cryptography::Certificates::ExportOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Exportable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyProtectionLevel(Windows::Security::Cryptography::Certificates::KeyProtectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyProtectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyProtectionLevel(Windows::Security::Cryptography::Certificates::KeyProtectionLevel value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyProtectionLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstallOptions(Windows::Security::Cryptography::Certificates::InstallOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InstallOptions(Windows::Security::Cryptography::Certificates::InstallOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InstallOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FriendlyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FriendlyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyStorageProviderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyStorageProviderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyStorageProviderName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyStorageProviderName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainerNamePrefix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainerNamePrefix()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContainerNamePrefix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContainerNamePrefix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReaderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReaderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReaderName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReaderName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Personal(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Personal()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrustedRootCertificationAuthorities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrustedRootCertificationAuthorities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IntermediateCertificationAuthorities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntermediateCertificationAuthorities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailName(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IPAddress(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IPAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Url(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Url()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DnsName(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DnsName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DistinguishedName(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DistinguishedName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrincipalName(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrincipalName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EmailNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EmailNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IPAddresses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IPAddresses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Urls(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Urls()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DnsNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DnsNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DistinguishedNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DistinguishedNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrincipalNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrincipalNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Extension(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Extension()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateRequestAsync(impl::abi_arg_in request, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateRequestAsync(*reinterpret_cast(&request))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InstallCertificateAsync(impl::abi_arg_in certificate, Windows::Security::Cryptography::Certificates::InstallOptions installOption, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstallCertificateAsync(*reinterpret_cast(&certificate), installOption)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportPfxDataAsync(impl::abi_arg_in pfxData, impl::abi_arg_in password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, impl::abi_arg_in friendlyName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportPfxDataAsync(*reinterpret_cast(&pfxData), *reinterpret_cast(&password), exportable, keyProtectionLevel, installOption, *reinterpret_cast(&friendlyName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportPfxDataToKspAsync(impl::abi_arg_in pfxData, impl::abi_arg_in password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, impl::abi_arg_in friendlyName, impl::abi_arg_in keyStorageProvider, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportPfxDataAsync(*reinterpret_cast(&pfxData), *reinterpret_cast(&password), exportable, keyProtectionLevel, installOption, *reinterpret_cast(&friendlyName), *reinterpret_cast(&keyStorageProvider))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ImportPfxDataToKspWithParametersAsync(impl::abi_arg_in pfxData, impl::abi_arg_in password, impl::abi_arg_in pfxImportParameters, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImportPfxDataAsync(*reinterpret_cast(&pfxData), *reinterpret_cast(&password), *reinterpret_cast(&pfxImportParameters))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAddAsync(impl::abi_arg_in certificate, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAddAsync(*reinterpret_cast(&certificate))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDeleteAsync(impl::abi_arg_in certificate, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestDeleteAsync(*reinterpret_cast(&certificate))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Cryptography::Certificates { + +template hstring impl_ICertificateExtension::ObjectId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateExtension)->get_ObjectId(put_abi(value))); + return value; +} + +template void impl_ICertificateExtension::ObjectId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateExtension)->put_ObjectId(get_abi(value))); +} + +template bool impl_ICertificateExtension::IsCritical() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateExtension)->get_IsCritical(&value)); + return value; +} + +template void impl_ICertificateExtension::IsCritical(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateExtension)->put_IsCritical(value)); +} + +template void impl_ICertificateExtension::EncodeValue(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateExtension)->abi_EncodeValue(get_abi(value))); +} + +template com_array impl_ICertificateExtension::Value() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ICertificateExtension)->get_Value(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template void impl_ICertificateExtension::Value(array_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateExtension)->put_Value(value.size(), get_abi(value))); +} + +template hstring impl_ICertificateRequestProperties::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_Subject(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties::Subject(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_Subject(get_abi(value))); +} + +template hstring impl_ICertificateRequestProperties::KeyAlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_KeyAlgorithmName(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties::KeyAlgorithmName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_KeyAlgorithmName(get_abi(value))); +} + +template uint32_t impl_ICertificateRequestProperties::KeySize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_KeySize(&value)); + return value; +} + +template void impl_ICertificateRequestProperties::KeySize(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_KeySize(value)); +} + +template hstring impl_ICertificateRequestProperties::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_FriendlyName(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties::FriendlyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_FriendlyName(get_abi(value))); +} + +template hstring impl_ICertificateRequestProperties::HashAlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_HashAlgorithmName(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties::HashAlgorithmName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_HashAlgorithmName(get_abi(value))); +} + +template Windows::Security::Cryptography::Certificates::ExportOption impl_ICertificateRequestProperties::Exportable() const +{ + Windows::Security::Cryptography::Certificates::ExportOption value {}; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_Exportable(&value)); + return value; +} + +template void impl_ICertificateRequestProperties::Exportable(Windows::Security::Cryptography::Certificates::ExportOption value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_Exportable(value)); +} + +template Windows::Security::Cryptography::Certificates::EnrollKeyUsages impl_ICertificateRequestProperties::KeyUsages() const +{ + Windows::Security::Cryptography::Certificates::EnrollKeyUsages value {}; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_KeyUsages(&value)); + return value; +} + +template void impl_ICertificateRequestProperties::KeyUsages(Windows::Security::Cryptography::Certificates::EnrollKeyUsages value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_KeyUsages(value)); +} + +template Windows::Security::Cryptography::Certificates::KeyProtectionLevel impl_ICertificateRequestProperties::KeyProtectionLevel() const +{ + Windows::Security::Cryptography::Certificates::KeyProtectionLevel value {}; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_KeyProtectionLevel(&value)); + return value; +} + +template void impl_ICertificateRequestProperties::KeyProtectionLevel(Windows::Security::Cryptography::Certificates::KeyProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_KeyProtectionLevel(value)); +} + +template hstring impl_ICertificateRequestProperties::KeyStorageProviderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->get_KeyStorageProviderName(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties::KeyStorageProviderName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties)->put_KeyStorageProviderName(get_abi(value))); +} + +template hstring impl_ICertificateRequestProperties2::SmartcardReaderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties2)->get_SmartcardReaderName(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties2::SmartcardReaderName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties2)->put_SmartcardReaderName(get_abi(value))); +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_ICertificateRequestProperties2::SigningCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(ICertificateRequestProperties2)->get_SigningCertificate(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties2::SigningCertificate(const Windows::Security::Cryptography::Certificates::Certificate & value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties2)->put_SigningCertificate(get_abi(value))); +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_ICertificateRequestProperties2::AttestationCredentialCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(ICertificateRequestProperties2)->get_AttestationCredentialCertificate(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties2::AttestationCredentialCertificate(const Windows::Security::Cryptography::Certificates::Certificate & value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties2)->put_AttestationCredentialCertificate(get_abi(value))); +} + +template hstring impl_ICertificateRequestProperties3::CurveName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->get_CurveName(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties3::CurveName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->put_CurveName(get_abi(value))); +} + +template com_array impl_ICertificateRequestProperties3::CurveParameters() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->get_CurveParameters(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties3::CurveParameters(array_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->put_CurveParameters(value.size(), get_abi(value))); +} + +template hstring impl_ICertificateRequestProperties3::ContainerNamePrefix() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->get_ContainerNamePrefix(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties3::ContainerNamePrefix(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->put_ContainerNamePrefix(get_abi(value))); +} + +template hstring impl_ICertificateRequestProperties3::ContainerName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->get_ContainerName(put_abi(value))); + return value; +} + +template void impl_ICertificateRequestProperties3::ContainerName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->put_ContainerName(get_abi(value))); +} + +template bool impl_ICertificateRequestProperties3::UseExistingKey() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->get_UseExistingKey(&value)); + return value; +} + +template void impl_ICertificateRequestProperties3::UseExistingKey(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateRequestProperties3)->put_UseExistingKey(value)); +} + +template Windows::Foundation::Collections::IVector impl_ICertificateRequestProperties4::SuppressedDefaults() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties4)->get_SuppressedDefaults(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::SubjectAlternativeNameInfo impl_ICertificateRequestProperties4::SubjectAlternativeName() const +{ + Windows::Security::Cryptography::Certificates::SubjectAlternativeNameInfo value { nullptr }; + check_hresult(WINRT_SHIM(ICertificateRequestProperties4)->get_SubjectAlternativeName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ICertificateRequestProperties4::Extensions() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICertificateRequestProperties4)->get_Extensions(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICertificateEnrollmentManagerStatics::CreateRequestAsync(const Windows::Security::Cryptography::Certificates::CertificateRequestProperties & request) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICertificateEnrollmentManagerStatics)->abi_CreateRequestAsync(get_abi(request), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ICertificateEnrollmentManagerStatics::InstallCertificateAsync(hstring_view certificate, Windows::Security::Cryptography::Certificates::InstallOptions installOption) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ICertificateEnrollmentManagerStatics)->abi_InstallCertificateAsync(get_abi(certificate), installOption, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ICertificateEnrollmentManagerStatics::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, hstring_view friendlyName) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ICertificateEnrollmentManagerStatics)->abi_ImportPfxDataAsync(get_abi(pfxData), get_abi(password), exportable, keyProtectionLevel, installOption, get_abi(friendlyName), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::UserCertificateEnrollmentManager impl_ICertificateEnrollmentManagerStatics2::UserCertificateEnrollmentManager() const +{ + Windows::Security::Cryptography::Certificates::UserCertificateEnrollmentManager value { nullptr }; + check_hresult(WINRT_SHIM(ICertificateEnrollmentManagerStatics2)->get_UserCertificateEnrollmentManager(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ICertificateEnrollmentManagerStatics2::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, hstring_view friendlyName, hstring_view keyStorageProvider) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ICertificateEnrollmentManagerStatics2)->abi_ImportPfxDataToKspAsync(get_abi(pfxData), get_abi(password), exportable, keyProtectionLevel, installOption, get_abi(friendlyName), get_abi(keyStorageProvider), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ICertificateEnrollmentManagerStatics3::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, const Windows::Security::Cryptography::Certificates::PfxImportParameters & pfxImportParameters) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(ICertificateEnrollmentManagerStatics3)->abi_ImportPfxDataToKspWithParametersAsync(get_abi(pfxData), get_abi(password), get_abi(pfxImportParameters), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IKeyAttestationHelperStatics::DecryptTpmAttestationCredentialAsync(hstring_view credential) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IKeyAttestationHelperStatics)->abi_DecryptTpmAttestationCredentialAsync(get_abi(credential), put_abi(value))); + return value; +} + +template hstring impl_IKeyAttestationHelperStatics::GetTpmAttestationCredentialId(hstring_view credential) const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAttestationHelperStatics)->abi_GetTpmAttestationCredentialId(get_abi(credential), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IKeyAttestationHelperStatics2::DecryptTpmAttestationCredentialAsync(hstring_view credential, hstring_view containerName) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IKeyAttestationHelperStatics2)->abi_DecryptTpmAttestationCredentialWithContainerNameAsync(get_abi(credential), get_abi(containerName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ICertificateStoresStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(ICertificateStoresStatics)->abi_FindAllAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ICertificateStoresStatics::FindAllAsync(const Windows::Security::Cryptography::Certificates::CertificateQuery & query) const +{ + Windows::Foundation::IAsyncOperation> value; + check_hresult(WINRT_SHIM(ICertificateStoresStatics)->abi_FindAllWithQueryAsync(get_abi(query), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::CertificateStore impl_ICertificateStoresStatics::TrustedRootCertificationAuthorities() const +{ + Windows::Security::Cryptography::Certificates::CertificateStore value { nullptr }; + check_hresult(WINRT_SHIM(ICertificateStoresStatics)->get_TrustedRootCertificationAuthorities(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::CertificateStore impl_ICertificateStoresStatics::IntermediateCertificationAuthorities() const +{ + Windows::Security::Cryptography::Certificates::CertificateStore value { nullptr }; + check_hresult(WINRT_SHIM(ICertificateStoresStatics)->get_IntermediateCertificationAuthorities(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::CertificateStore impl_ICertificateStoresStatics::GetStoreByName(hstring_view storeName) const +{ + Windows::Security::Cryptography::Certificates::CertificateStore value { nullptr }; + check_hresult(WINRT_SHIM(ICertificateStoresStatics)->abi_GetStoreByName(get_abi(storeName), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::UserCertificateStore impl_ICertificateStoresStatics2::GetUserStoreByName(hstring_view storeName) const +{ + Windows::Security::Cryptography::Certificates::UserCertificateStore result { nullptr }; + check_hresult(WINRT_SHIM(ICertificateStoresStatics2)->abi_GetUserStoreByName(get_abi(storeName), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserCertificateEnrollmentManager::CreateRequestAsync(const Windows::Security::Cryptography::Certificates::CertificateRequestProperties & request) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IUserCertificateEnrollmentManager)->abi_CreateRequestAsync(get_abi(request), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserCertificateEnrollmentManager::InstallCertificateAsync(hstring_view certificate, Windows::Security::Cryptography::Certificates::InstallOptions installOption) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IUserCertificateEnrollmentManager)->abi_InstallCertificateAsync(get_abi(certificate), installOption, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserCertificateEnrollmentManager::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, hstring_view friendlyName) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IUserCertificateEnrollmentManager)->abi_ImportPfxDataAsync(get_abi(pfxData), get_abi(password), exportable, keyProtectionLevel, installOption, get_abi(friendlyName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserCertificateEnrollmentManager::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, hstring_view friendlyName, hstring_view keyStorageProvider) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IUserCertificateEnrollmentManager)->abi_ImportPfxDataToKspAsync(get_abi(pfxData), get_abi(password), exportable, keyProtectionLevel, installOption, get_abi(friendlyName), get_abi(keyStorageProvider), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IUserCertificateEnrollmentManager2::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, const Windows::Security::Cryptography::Certificates::PfxImportParameters & pfxImportParameters) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IUserCertificateEnrollmentManager2)->abi_ImportPfxDataToKspWithParametersAsync(get_abi(pfxData), get_abi(password), get_abi(pfxImportParameters), put_abi(value))); + return value; +} + +template void impl_ICertificateStore::Add(const Windows::Security::Cryptography::Certificates::Certificate & certificate) const +{ + check_hresult(WINRT_SHIM(ICertificateStore)->abi_Add(get_abi(certificate))); +} + +template void impl_ICertificateStore::Delete(const Windows::Security::Cryptography::Certificates::Certificate & certificate) const +{ + check_hresult(WINRT_SHIM(ICertificateStore)->abi_Delete(get_abi(certificate))); +} + +template hstring impl_ICertificateStore2::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateStore2)->get_Name(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUserCertificateStore::RequestAddAsync(const Windows::Security::Cryptography::Certificates::Certificate & certificate) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserCertificateStore)->abi_RequestAddAsync(get_abi(certificate), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserCertificateStore::RequestDeleteAsync(const Windows::Security::Cryptography::Certificates::Certificate & certificate) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserCertificateStore)->abi_RequestDeleteAsync(get_abi(certificate), put_abi(result))); + return result; +} + +template hstring impl_IUserCertificateStore::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserCertificateStore)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IStandardCertificateStoreNamesStatics::Personal() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardCertificateStoreNamesStatics)->get_Personal(put_abi(value))); + return value; +} + +template hstring impl_IStandardCertificateStoreNamesStatics::TrustedRootCertificationAuthorities() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardCertificateStoreNamesStatics)->get_TrustedRootCertificationAuthorities(put_abi(value))); + return value; +} + +template hstring impl_IStandardCertificateStoreNamesStatics::IntermediateCertificationAuthorities() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStandardCertificateStoreNamesStatics)->get_IntermediateCertificationAuthorities(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Rsa() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Rsa(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Dsa() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Dsa(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Ecdh256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Ecdh256(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Ecdh384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Ecdh384(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Ecdh521() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Ecdh521(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Ecdsa256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Ecdsa256(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Ecdsa384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Ecdsa384(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics::Ecdsa521() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics)->get_Ecdsa521(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics2::Ecdsa() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics2)->get_Ecdsa(put_abi(value))); + return value; +} + +template hstring impl_IKeyAlgorithmNamesStatics2::Ecdh() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyAlgorithmNamesStatics2)->get_Ecdh(put_abi(value))); + return value; +} + +template hstring impl_IKeyStorageProviderNamesStatics::SoftwareKeyStorageProvider() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyStorageProviderNamesStatics)->get_SoftwareKeyStorageProvider(put_abi(value))); + return value; +} + +template hstring impl_IKeyStorageProviderNamesStatics::SmartcardKeyStorageProvider() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyStorageProviderNamesStatics)->get_SmartcardKeyStorageProvider(put_abi(value))); + return value; +} + +template hstring impl_IKeyStorageProviderNamesStatics::PlatformKeyStorageProvider() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyStorageProviderNamesStatics)->get_PlatformKeyStorageProvider(put_abi(value))); + return value; +} + +template hstring impl_IKeyStorageProviderNamesStatics2::PassportKeyStorageProvider() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyStorageProviderNamesStatics2)->get_PassportKeyStorageProvider(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IChainBuildingParameters::EnhancedKeyUsages() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IChainBuildingParameters)->get_EnhancedKeyUsages(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IChainBuildingParameters::ValidationTimestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IChainBuildingParameters)->get_ValidationTimestamp(put_abi(value))); + return value; +} + +template void impl_IChainBuildingParameters::ValidationTimestamp(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IChainBuildingParameters)->put_ValidationTimestamp(get_abi(value))); +} + +template bool impl_IChainBuildingParameters::RevocationCheckEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChainBuildingParameters)->get_RevocationCheckEnabled(&value)); + return value; +} + +template void impl_IChainBuildingParameters::RevocationCheckEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IChainBuildingParameters)->put_RevocationCheckEnabled(value)); +} + +template bool impl_IChainBuildingParameters::NetworkRetrievalEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChainBuildingParameters)->get_NetworkRetrievalEnabled(&value)); + return value; +} + +template void impl_IChainBuildingParameters::NetworkRetrievalEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IChainBuildingParameters)->put_NetworkRetrievalEnabled(value)); +} + +template bool impl_IChainBuildingParameters::AuthorityInformationAccessEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChainBuildingParameters)->get_AuthorityInformationAccessEnabled(&value)); + return value; +} + +template void impl_IChainBuildingParameters::AuthorityInformationAccessEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IChainBuildingParameters)->put_AuthorityInformationAccessEnabled(value)); +} + +template bool impl_IChainBuildingParameters::CurrentTimeValidationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChainBuildingParameters)->get_CurrentTimeValidationEnabled(&value)); + return value; +} + +template void impl_IChainBuildingParameters::CurrentTimeValidationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IChainBuildingParameters)->put_CurrentTimeValidationEnabled(value)); +} + +template Windows::Foundation::Collections::IVector impl_IChainBuildingParameters::ExclusiveTrustRoots() const +{ + Windows::Foundation::Collections::IVector certificates; + check_hresult(WINRT_SHIM(IChainBuildingParameters)->get_ExclusiveTrustRoots(put_abi(certificates))); + return certificates; +} + +template Windows::Security::Cryptography::Certificates::CertificateChainPolicy impl_IChainValidationParameters::CertificateChainPolicy() const +{ + Windows::Security::Cryptography::Certificates::CertificateChainPolicy value {}; + check_hresult(WINRT_SHIM(IChainValidationParameters)->get_CertificateChainPolicy(&value)); + return value; +} + +template void impl_IChainValidationParameters::CertificateChainPolicy(Windows::Security::Cryptography::Certificates::CertificateChainPolicy value) const +{ + check_hresult(WINRT_SHIM(IChainValidationParameters)->put_CertificateChainPolicy(value)); +} + +template Windows::Networking::HostName impl_IChainValidationParameters::ServerDnsName() const +{ + Windows::Networking::HostName value { nullptr }; + check_hresult(WINRT_SHIM(IChainValidationParameters)->get_ServerDnsName(put_abi(value))); + return value; +} + +template void impl_IChainValidationParameters::ServerDnsName(const Windows::Networking::HostName & value) const +{ + check_hresult(WINRT_SHIM(IChainValidationParameters)->put_ServerDnsName(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_ICertificateQuery::EnhancedKeyUsages() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICertificateQuery)->get_EnhancedKeyUsages(put_abi(value))); + return value; +} + +template hstring impl_ICertificateQuery::IssuerName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateQuery)->get_IssuerName(put_abi(value))); + return value; +} + +template void impl_ICertificateQuery::IssuerName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateQuery)->put_IssuerName(get_abi(value))); +} + +template hstring impl_ICertificateQuery::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateQuery)->get_FriendlyName(put_abi(value))); + return value; +} + +template void impl_ICertificateQuery::FriendlyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateQuery)->put_FriendlyName(get_abi(value))); +} + +template com_array impl_ICertificateQuery::Thumbprint() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ICertificateQuery)->get_Thumbprint(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template void impl_ICertificateQuery::Thumbprint(array_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateQuery)->put_Thumbprint(value.size(), get_abi(value))); +} + +template bool impl_ICertificateQuery::HardwareOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateQuery)->get_HardwareOnly(&value)); + return value; +} + +template void impl_ICertificateQuery::HardwareOnly(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateQuery)->put_HardwareOnly(value)); +} + +template bool impl_ICertificateQuery2::IncludeDuplicates() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateQuery2)->get_IncludeDuplicates(&value)); + return value; +} + +template void impl_ICertificateQuery2::IncludeDuplicates(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateQuery2)->put_IncludeDuplicates(value)); +} + +template bool impl_ICertificateQuery2::IncludeExpiredCertificates() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateQuery2)->get_IncludeExpiredCertificates(&value)); + return value; +} + +template void impl_ICertificateQuery2::IncludeExpiredCertificates(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateQuery2)->put_IncludeExpiredCertificates(value)); +} + +template hstring impl_ICertificateQuery2::StoreName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificateQuery2)->get_StoreName(put_abi(value))); + return value; +} + +template void impl_ICertificateQuery2::StoreName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificateQuery2)->put_StoreName(get_abi(value))); +} + +template Windows::Security::Cryptography::Certificates::ChainValidationResult impl_ICertificateChain::Validate() const +{ + Windows::Security::Cryptography::Certificates::ChainValidationResult status {}; + check_hresult(WINRT_SHIM(ICertificateChain)->abi_Validate(&status)); + return status; +} + +template Windows::Security::Cryptography::Certificates::ChainValidationResult impl_ICertificateChain::Validate(const Windows::Security::Cryptography::Certificates::ChainValidationParameters & parameter) const +{ + Windows::Security::Cryptography::Certificates::ChainValidationResult status {}; + check_hresult(WINRT_SHIM(ICertificateChain)->abi_ValidateWithParameters(get_abi(parameter), &status)); + return status; +} + +template Windows::Foundation::Collections::IVectorView impl_ICertificateChain::GetCertificates(bool includeRoot) const +{ + Windows::Foundation::Collections::IVectorView certificates; + check_hresult(WINRT_SHIM(ICertificateChain)->abi_GetCertificates(includeRoot, put_abi(certificates))); + return certificates; +} + +template Windows::Foundation::IAsyncOperation impl_ICertificate::BuildChainAsync(iterable certificates) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICertificate)->abi_BuildChainAsync(get_abi(certificates), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICertificate::BuildChainAsync(iterable certificates, const Windows::Security::Cryptography::Certificates::ChainBuildingParameters & parameters) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICertificate)->abi_BuildChainWithParametersAsync(get_abi(certificates), get_abi(parameters), put_abi(value))); + return value; +} + +template com_array impl_ICertificate::SerialNumber() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ICertificate)->get_SerialNumber(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template com_array impl_ICertificate::GetHashValue() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ICertificate)->abi_GetHashValue(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template com_array impl_ICertificate::GetHashValue(hstring_view hashAlgorithmName) const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ICertificate)->abi_GetHashValueWithAlgorithm(get_abi(hashAlgorithmName), impl::put_size_abi(value), put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICertificate::GetCertificateBlob() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICertificate)->abi_GetCertificateBlob(put_abi(value))); + return value; +} + +template hstring impl_ICertificate::Subject() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate)->get_Subject(put_abi(value))); + return value; +} + +template hstring impl_ICertificate::Issuer() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate)->get_Issuer(put_abi(value))); + return value; +} + +template bool impl_ICertificate::HasPrivateKey() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificate)->get_HasPrivateKey(&value)); + return value; +} + +template bool impl_ICertificate::IsStronglyProtected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificate)->get_IsStronglyProtected(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_ICertificate::ValidFrom() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICertificate)->get_ValidFrom(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ICertificate::ValidTo() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICertificate)->get_ValidTo(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICertificate::EnhancedKeyUsages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICertificate)->get_EnhancedKeyUsages(put_abi(value))); + return value; +} + +template void impl_ICertificate::FriendlyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICertificate)->put_FriendlyName(get_abi(value))); +} + +template hstring impl_ICertificate::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate)->get_FriendlyName(put_abi(value))); + return value; +} + +template bool impl_ICertificate2::IsSecurityDeviceBound() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificate2)->get_IsSecurityDeviceBound(&value)); + return value; +} + +template Windows::Security::Cryptography::Certificates::CertificateKeyUsages impl_ICertificate2::KeyUsages() const +{ + Windows::Security::Cryptography::Certificates::CertificateKeyUsages value { nullptr }; + check_hresult(WINRT_SHIM(ICertificate2)->get_KeyUsages(put_abi(value))); + return value; +} + +template hstring impl_ICertificate2::KeyAlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate2)->get_KeyAlgorithmName(put_abi(value))); + return value; +} + +template hstring impl_ICertificate2::SignatureAlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate2)->get_SignatureAlgorithmName(put_abi(value))); + return value; +} + +template hstring impl_ICertificate2::SignatureHashAlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate2)->get_SignatureHashAlgorithmName(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::SubjectAlternativeNameInfo impl_ICertificate2::SubjectAlternativeName() const +{ + Windows::Security::Cryptography::Certificates::SubjectAlternativeNameInfo value { nullptr }; + check_hresult(WINRT_SHIM(ICertificate2)->get_SubjectAlternativeName(put_abi(value))); + return value; +} + +template bool impl_ICertificate3::IsPerUser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificate3)->get_IsPerUser(&value)); + return value; +} + +template hstring impl_ICertificate3::StoreName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate3)->get_StoreName(put_abi(value))); + return value; +} + +template hstring impl_ICertificate3::KeyStorageProviderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICertificate3)->get_KeyStorageProviderName(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_ICertificateFactory::CreateCertificate(const Windows::Storage::Streams::IBuffer & certBlob) const +{ + Windows::Security::Cryptography::Certificates::Certificate certificate { nullptr }; + check_hresult(WINRT_SHIM(ICertificateFactory)->abi_CreateCertificate(get_abi(certBlob), put_abi(certificate))); + return certificate; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_ICmsTimestampInfo::SigningCertificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(ICmsTimestampInfo)->get_SigningCertificate(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICmsTimestampInfo::Certificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICmsTimestampInfo)->get_Certificates(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ICmsTimestampInfo::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICmsTimestampInfo)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::Certificate impl_ICmsSignerInfo::Certificate() const +{ + Windows::Security::Cryptography::Certificates::Certificate value { nullptr }; + check_hresult(WINRT_SHIM(ICmsSignerInfo)->get_Certificate(put_abi(value))); + return value; +} + +template void impl_ICmsSignerInfo::Certificate(const Windows::Security::Cryptography::Certificates::Certificate & value) const +{ + check_hresult(WINRT_SHIM(ICmsSignerInfo)->put_Certificate(get_abi(value))); +} + +template hstring impl_ICmsSignerInfo::HashAlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICmsSignerInfo)->get_HashAlgorithmName(put_abi(value))); + return value; +} + +template void impl_ICmsSignerInfo::HashAlgorithmName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICmsSignerInfo)->put_HashAlgorithmName(get_abi(value))); +} + +template Windows::Security::Cryptography::Certificates::CmsTimestampInfo impl_ICmsSignerInfo::TimestampInfo() const +{ + Windows::Security::Cryptography::Certificates::CmsTimestampInfo value { nullptr }; + check_hresult(WINRT_SHIM(ICmsSignerInfo)->get_TimestampInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISubjectAlternativeNameInfo::EmailName() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo)->get_EmailName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISubjectAlternativeNameInfo::IPAddress() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo)->get_IPAddress(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISubjectAlternativeNameInfo::Url() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo)->get_Url(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISubjectAlternativeNameInfo::DnsName() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo)->get_DnsName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISubjectAlternativeNameInfo::DistinguishedName() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo)->get_DistinguishedName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ISubjectAlternativeNameInfo::PrincipalName() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo)->get_PrincipalName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISubjectAlternativeNameInfo2::EmailNames() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo2)->get_EmailNames(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISubjectAlternativeNameInfo2::IPAddresses() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo2)->get_IPAddresses(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISubjectAlternativeNameInfo2::Urls() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo2)->get_Urls(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISubjectAlternativeNameInfo2::DnsNames() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo2)->get_DnsNames(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISubjectAlternativeNameInfo2::DistinguishedNames() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo2)->get_DistinguishedNames(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISubjectAlternativeNameInfo2::PrincipalNames() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo2)->get_PrincipalNames(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::CertificateExtension impl_ISubjectAlternativeNameInfo2::Extension() const +{ + Windows::Security::Cryptography::Certificates::CertificateExtension value { nullptr }; + check_hresult(WINRT_SHIM(ISubjectAlternativeNameInfo2)->get_Extension(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::ExportOption impl_IPfxImportParameters::Exportable() const +{ + Windows::Security::Cryptography::Certificates::ExportOption value {}; + check_hresult(WINRT_SHIM(IPfxImportParameters)->get_Exportable(&value)); + return value; +} + +template void impl_IPfxImportParameters::Exportable(Windows::Security::Cryptography::Certificates::ExportOption value) const +{ + check_hresult(WINRT_SHIM(IPfxImportParameters)->put_Exportable(value)); +} + +template Windows::Security::Cryptography::Certificates::KeyProtectionLevel impl_IPfxImportParameters::KeyProtectionLevel() const +{ + Windows::Security::Cryptography::Certificates::KeyProtectionLevel value {}; + check_hresult(WINRT_SHIM(IPfxImportParameters)->get_KeyProtectionLevel(&value)); + return value; +} + +template void impl_IPfxImportParameters::KeyProtectionLevel(Windows::Security::Cryptography::Certificates::KeyProtectionLevel value) const +{ + check_hresult(WINRT_SHIM(IPfxImportParameters)->put_KeyProtectionLevel(value)); +} + +template Windows::Security::Cryptography::Certificates::InstallOptions impl_IPfxImportParameters::InstallOptions() const +{ + Windows::Security::Cryptography::Certificates::InstallOptions value {}; + check_hresult(WINRT_SHIM(IPfxImportParameters)->get_InstallOptions(&value)); + return value; +} + +template void impl_IPfxImportParameters::InstallOptions(Windows::Security::Cryptography::Certificates::InstallOptions value) const +{ + check_hresult(WINRT_SHIM(IPfxImportParameters)->put_InstallOptions(value)); +} + +template hstring impl_IPfxImportParameters::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPfxImportParameters)->get_FriendlyName(put_abi(value))); + return value; +} + +template void impl_IPfxImportParameters::FriendlyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPfxImportParameters)->put_FriendlyName(get_abi(value))); +} + +template hstring impl_IPfxImportParameters::KeyStorageProviderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPfxImportParameters)->get_KeyStorageProviderName(put_abi(value))); + return value; +} + +template void impl_IPfxImportParameters::KeyStorageProviderName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPfxImportParameters)->put_KeyStorageProviderName(get_abi(value))); +} + +template hstring impl_IPfxImportParameters::ContainerNamePrefix() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPfxImportParameters)->get_ContainerNamePrefix(put_abi(value))); + return value; +} + +template void impl_IPfxImportParameters::ContainerNamePrefix(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPfxImportParameters)->put_ContainerNamePrefix(get_abi(value))); +} + +template hstring impl_IPfxImportParameters::ReaderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPfxImportParameters)->get_ReaderName(put_abi(value))); + return value; +} + +template void impl_IPfxImportParameters::ReaderName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPfxImportParameters)->put_ReaderName(get_abi(value))); +} + +template bool impl_ICertificateKeyUsages::EncipherOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_EncipherOnly(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::EncipherOnly(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_EncipherOnly(value)); +} + +template bool impl_ICertificateKeyUsages::CrlSign() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_CrlSign(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::CrlSign(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_CrlSign(value)); +} + +template bool impl_ICertificateKeyUsages::KeyCertificateSign() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_KeyCertificateSign(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::KeyCertificateSign(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_KeyCertificateSign(value)); +} + +template bool impl_ICertificateKeyUsages::KeyAgreement() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_KeyAgreement(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::KeyAgreement(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_KeyAgreement(value)); +} + +template bool impl_ICertificateKeyUsages::DataEncipherment() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_DataEncipherment(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::DataEncipherment(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_DataEncipherment(value)); +} + +template bool impl_ICertificateKeyUsages::KeyEncipherment() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_KeyEncipherment(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::KeyEncipherment(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_KeyEncipherment(value)); +} + +template bool impl_ICertificateKeyUsages::NonRepudiation() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_NonRepudiation(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::NonRepudiation(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_NonRepudiation(value)); +} + +template bool impl_ICertificateKeyUsages::DigitalSignature() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->get_DigitalSignature(&value)); + return value; +} + +template void impl_ICertificateKeyUsages::DigitalSignature(bool value) const +{ + check_hresult(WINRT_SHIM(ICertificateKeyUsages)->put_DigitalSignature(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_ICmsAttachedSignature::Certificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICmsAttachedSignature)->get_Certificates(put_abi(value))); + return value; +} + +template com_array impl_ICmsAttachedSignature::Content() const +{ + com_array value {}; + check_hresult(WINRT_SHIM(ICmsAttachedSignature)->get_Content(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICmsAttachedSignature::Signers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICmsAttachedSignature)->get_Signers(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::SignatureValidationResult impl_ICmsAttachedSignature::VerifySignature() const +{ + Windows::Security::Cryptography::Certificates::SignatureValidationResult value {}; + check_hresult(WINRT_SHIM(ICmsAttachedSignature)->abi_VerifySignature(&value)); + return value; +} + +template Windows::Security::Cryptography::Certificates::CmsAttachedSignature impl_ICmsAttachedSignatureFactory::CreateCmsAttachedSignature(const Windows::Storage::Streams::IBuffer & inputBlob) const +{ + Windows::Security::Cryptography::Certificates::CmsAttachedSignature cmsSignedData { nullptr }; + check_hresult(WINRT_SHIM(ICmsAttachedSignatureFactory)->abi_CreateCmsAttachedSignature(get_abi(inputBlob), put_abi(cmsSignedData))); + return cmsSignedData; +} + +template Windows::Foundation::IAsyncOperation impl_ICmsAttachedSignatureStatics::GenerateSignatureAsync(const Windows::Storage::Streams::IBuffer & data, iterable signers, iterable certificates) const +{ + Windows::Foundation::IAsyncOperation outputBlob; + check_hresult(WINRT_SHIM(ICmsAttachedSignatureStatics)->abi_GenerateSignatureAsync(get_abi(data), get_abi(signers), get_abi(certificates), put_abi(outputBlob))); + return outputBlob; +} + +template Windows::Foundation::Collections::IVectorView impl_ICmsDetachedSignature::Certificates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICmsDetachedSignature)->get_Certificates(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICmsDetachedSignature::Signers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICmsDetachedSignature)->get_Signers(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICmsDetachedSignature::VerifySignatureAsync(const Windows::Storage::Streams::IInputStream & data) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICmsDetachedSignature)->abi_VerifySignatureAsync(get_abi(data), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Certificates::CmsDetachedSignature impl_ICmsDetachedSignatureFactory::CreateCmsDetachedSignature(const Windows::Storage::Streams::IBuffer & inputBlob) const +{ + Windows::Security::Cryptography::Certificates::CmsDetachedSignature cmsSignedData { nullptr }; + check_hresult(WINRT_SHIM(ICmsDetachedSignatureFactory)->abi_CreateCmsDetachedSignature(get_abi(inputBlob), put_abi(cmsSignedData))); + return cmsSignedData; +} + +template Windows::Foundation::IAsyncOperation impl_ICmsDetachedSignatureStatics::GenerateSignatureAsync(const Windows::Storage::Streams::IInputStream & data, iterable signers, iterable certificates) const +{ + Windows::Foundation::IAsyncOperation outputBlob; + check_hresult(WINRT_SHIM(ICmsDetachedSignatureStatics)->abi_GenerateSignatureAsync(get_abi(data), get_abi(signers), get_abi(certificates), put_abi(outputBlob))); + return outputBlob; +} + +inline Certificate::Certificate(const Windows::Storage::Streams::IBuffer & certBlob) : + Certificate(get_activation_factory().CreateCertificate(certBlob)) +{} + +inline Windows::Foundation::IAsyncOperation CertificateEnrollmentManager::CreateRequestAsync(const Windows::Security::Cryptography::Certificates::CertificateRequestProperties & request) +{ + return get_activation_factory().CreateRequestAsync(request); +} + +inline Windows::Foundation::IAsyncAction CertificateEnrollmentManager::InstallCertificateAsync(hstring_view certificate, Windows::Security::Cryptography::Certificates::InstallOptions installOption) +{ + return get_activation_factory().InstallCertificateAsync(certificate, installOption); +} + +inline Windows::Foundation::IAsyncAction CertificateEnrollmentManager::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, hstring_view friendlyName) +{ + return get_activation_factory().ImportPfxDataAsync(pfxData, password, exportable, keyProtectionLevel, installOption, friendlyName); +} + +inline Windows::Security::Cryptography::Certificates::UserCertificateEnrollmentManager CertificateEnrollmentManager::UserCertificateEnrollmentManager() +{ + return get_activation_factory().UserCertificateEnrollmentManager(); +} + +inline Windows::Foundation::IAsyncAction CertificateEnrollmentManager::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, Windows::Security::Cryptography::Certificates::ExportOption exportable, Windows::Security::Cryptography::Certificates::KeyProtectionLevel keyProtectionLevel, Windows::Security::Cryptography::Certificates::InstallOptions installOption, hstring_view friendlyName, hstring_view keyStorageProvider) +{ + return get_activation_factory().ImportPfxDataAsync(pfxData, password, exportable, keyProtectionLevel, installOption, friendlyName, keyStorageProvider); +} + +inline Windows::Foundation::IAsyncAction CertificateEnrollmentManager::ImportPfxDataAsync(hstring_view pfxData, hstring_view password, const Windows::Security::Cryptography::Certificates::PfxImportParameters & pfxImportParameters) +{ + return get_activation_factory().ImportPfxDataAsync(pfxData, password, pfxImportParameters); +} + +inline CertificateExtension::CertificateExtension() : + CertificateExtension(activate_instance()) +{} + +inline CertificateKeyUsages::CertificateKeyUsages() : + CertificateKeyUsages(activate_instance()) +{} + +inline CertificateQuery::CertificateQuery() : + CertificateQuery(activate_instance()) +{} + +inline CertificateRequestProperties::CertificateRequestProperties() : + CertificateRequestProperties(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation> CertificateStores::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation> CertificateStores::FindAllAsync(const Windows::Security::Cryptography::Certificates::CertificateQuery & query) +{ + return get_activation_factory().FindAllAsync(query); +} + +inline Windows::Security::Cryptography::Certificates::CertificateStore CertificateStores::TrustedRootCertificationAuthorities() +{ + return get_activation_factory().TrustedRootCertificationAuthorities(); +} + +inline Windows::Security::Cryptography::Certificates::CertificateStore CertificateStores::IntermediateCertificationAuthorities() +{ + return get_activation_factory().IntermediateCertificationAuthorities(); +} + +inline Windows::Security::Cryptography::Certificates::CertificateStore CertificateStores::GetStoreByName(hstring_view storeName) +{ + return get_activation_factory().GetStoreByName(storeName); +} + +inline Windows::Security::Cryptography::Certificates::UserCertificateStore CertificateStores::GetUserStoreByName(hstring_view storeName) +{ + return get_activation_factory().GetUserStoreByName(storeName); +} + +inline ChainBuildingParameters::ChainBuildingParameters() : + ChainBuildingParameters(activate_instance()) +{} + +inline ChainValidationParameters::ChainValidationParameters() : + ChainValidationParameters(activate_instance()) +{} + +inline CmsAttachedSignature::CmsAttachedSignature(const Windows::Storage::Streams::IBuffer & inputBlob) : + CmsAttachedSignature(get_activation_factory().CreateCmsAttachedSignature(inputBlob)) +{} + +inline Windows::Foundation::IAsyncOperation CmsAttachedSignature::GenerateSignatureAsync(const Windows::Storage::Streams::IBuffer & data, iterable signers, iterable certificates) +{ + return get_activation_factory().GenerateSignatureAsync(data, signers, certificates); +} + +inline CmsDetachedSignature::CmsDetachedSignature(const Windows::Storage::Streams::IBuffer & inputBlob) : + CmsDetachedSignature(get_activation_factory().CreateCmsDetachedSignature(inputBlob)) +{} + +inline Windows::Foundation::IAsyncOperation CmsDetachedSignature::GenerateSignatureAsync(const Windows::Storage::Streams::IInputStream & data, iterable signers, iterable certificates) +{ + return get_activation_factory().GenerateSignatureAsync(data, signers, certificates); +} + +inline CmsSignerInfo::CmsSignerInfo() : + CmsSignerInfo(activate_instance()) +{} + +inline hstring KeyAlgorithmNames::Rsa() +{ + return get_activation_factory().Rsa(); +} + +inline hstring KeyAlgorithmNames::Dsa() +{ + return get_activation_factory().Dsa(); +} + +inline hstring KeyAlgorithmNames::Ecdh256() +{ + return get_activation_factory().Ecdh256(); +} + +inline hstring KeyAlgorithmNames::Ecdh384() +{ + return get_activation_factory().Ecdh384(); +} + +inline hstring KeyAlgorithmNames::Ecdh521() +{ + return get_activation_factory().Ecdh521(); +} + +inline hstring KeyAlgorithmNames::Ecdsa256() +{ + return get_activation_factory().Ecdsa256(); +} + +inline hstring KeyAlgorithmNames::Ecdsa384() +{ + return get_activation_factory().Ecdsa384(); +} + +inline hstring KeyAlgorithmNames::Ecdsa521() +{ + return get_activation_factory().Ecdsa521(); +} + +inline hstring KeyAlgorithmNames::Ecdsa() +{ + return get_activation_factory().Ecdsa(); +} + +inline hstring KeyAlgorithmNames::Ecdh() +{ + return get_activation_factory().Ecdh(); +} + +inline Windows::Foundation::IAsyncOperation KeyAttestationHelper::DecryptTpmAttestationCredentialAsync(hstring_view credential) +{ + return get_activation_factory().DecryptTpmAttestationCredentialAsync(credential); +} + +inline hstring KeyAttestationHelper::GetTpmAttestationCredentialId(hstring_view credential) +{ + return get_activation_factory().GetTpmAttestationCredentialId(credential); +} + +inline Windows::Foundation::IAsyncOperation KeyAttestationHelper::DecryptTpmAttestationCredentialAsync(hstring_view credential, hstring_view containerName) +{ + return get_activation_factory().DecryptTpmAttestationCredentialAsync(credential, containerName); +} + +inline hstring KeyStorageProviderNames::SoftwareKeyStorageProvider() +{ + return get_activation_factory().SoftwareKeyStorageProvider(); +} + +inline hstring KeyStorageProviderNames::SmartcardKeyStorageProvider() +{ + return get_activation_factory().SmartcardKeyStorageProvider(); +} + +inline hstring KeyStorageProviderNames::PlatformKeyStorageProvider() +{ + return get_activation_factory().PlatformKeyStorageProvider(); +} + +inline hstring KeyStorageProviderNames::PassportKeyStorageProvider() +{ + return get_activation_factory().PassportKeyStorageProvider(); +} + +inline PfxImportParameters::PfxImportParameters() : + PfxImportParameters(activate_instance()) +{} + +inline hstring StandardCertificateStoreNames::Personal() +{ + return get_activation_factory().Personal(); +} + +inline hstring StandardCertificateStoreNames::TrustedRootCertificationAuthorities() +{ + return get_activation_factory().TrustedRootCertificationAuthorities(); +} + +inline hstring StandardCertificateStoreNames::IntermediateCertificationAuthorities() +{ + return get_activation_factory().IntermediateCertificationAuthorities(); +} + +inline SubjectAlternativeNameInfo::SubjectAlternativeNameInfo() : + SubjectAlternativeNameInfo(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificate2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificate3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateChain & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateEnrollmentManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateEnrollmentManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateEnrollmentManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateExtension & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateKeyUsages & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateQuery2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateRequestProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateRequestProperties2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateRequestProperties3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateRequestProperties4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateStore2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateStoresStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICertificateStoresStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IChainBuildingParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IChainValidationParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsAttachedSignature & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsAttachedSignatureFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsAttachedSignatureStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsDetachedSignature & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsDetachedSignatureFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsDetachedSignatureStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsSignerInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ICmsTimestampInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IKeyAlgorithmNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IKeyAlgorithmNamesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IKeyAttestationHelperStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IKeyAttestationHelperStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IKeyStorageProviderNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IKeyStorageProviderNamesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IPfxImportParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IStandardCertificateStoreNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ISubjectAlternativeNameInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ISubjectAlternativeNameInfo2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IUserCertificateEnrollmentManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IUserCertificateEnrollmentManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::IUserCertificateStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::Certificate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CertificateChain & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CertificateExtension & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CertificateKeyUsages & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CertificateQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CertificateRequestProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CertificateStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ChainBuildingParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::ChainValidationParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CmsAttachedSignature & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CmsDetachedSignature & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CmsSignerInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::CmsTimestampInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::PfxImportParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::SubjectAlternativeNameInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::UserCertificateEnrollmentManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Certificates::UserCertificateStore & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Cryptography.Core.h b/10.0.15042.0/winrt/Windows.Security.Cryptography.Core.h new file mode 100644 index 000000000..16670aa06 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Cryptography.Core.h @@ -0,0 +1,5032 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Security.Cryptography.Certificates.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Security.Cryptography.Core.3.h" +#include "Windows.Security.Cryptography.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RsaPkcs1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaPkcs1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaOaepSha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaOaepSha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaOaepSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaOaepSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaOaepSha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaOaepSha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaOaepSha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaOaepSha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EcdsaP256Sha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EcdsaP256Sha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EcdsaP384Sha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EcdsaP384Sha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EcdsaP521Sha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EcdsaP521Sha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DsaSha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DsaSha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DsaSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DsaSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPkcs1Sha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPkcs1Sha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPkcs1Sha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPkcs1Sha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPkcs1Sha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPkcs1Sha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPkcs1Sha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPkcs1Sha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPssSha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPssSha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPssSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPssSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPssSha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPssSha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RsaSignPssSha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RsaSignPssSha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EcdsaSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EcdsaSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EcdsaSha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EcdsaSha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EcdsaSha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EcdsaSha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateKeyPair(uint32_t keySize, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().CreateKeyPair(keySize)); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportDefaultPrivateKeyBlob(impl::abi_arg_in keyBlob, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().ImportKeyPair(*reinterpret_cast(&keyBlob))); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportKeyPairWithBlobType(impl::abi_arg_in keyBlob, Windows::Security::Cryptography::Core::CryptographicPrivateKeyBlobType BlobType, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().ImportKeyPair(*reinterpret_cast(&keyBlob), BlobType)); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportDefaultPublicKeyBlob(impl::abi_arg_in keyBlob, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().ImportPublicKey(*reinterpret_cast(&keyBlob))); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ImportPublicKeyWithBlobType(impl::abi_arg_in keyBlob, Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType BlobType, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().ImportPublicKey(*reinterpret_cast(&keyBlob), BlobType)); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateKeyPairWithCurveName(impl::abi_arg_in curveName, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().CreateKeyPairWithCurveName(*reinterpret_cast(&curveName))); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateKeyPairWithCurveParameters(uint32_t __parametersSize, impl::abi_arg_in * parameters, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().CreateKeyPairWithCurveParameters(array_view(parameters, parameters + __parametersSize))); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenAlgorithm(impl::abi_arg_in algorithm, impl::abi_arg_out provider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *provider = detach_abi(this->shim().OpenAlgorithm(*reinterpret_cast(&algorithm))); + return S_OK; + } + catch (...) + { + *provider = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Encrypt(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_in iv, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Encrypt(*reinterpret_cast(&key), *reinterpret_cast(&data), *reinterpret_cast(&iv))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Decrypt(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_in iv, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Decrypt(*reinterpret_cast(&key), *reinterpret_cast(&data), *reinterpret_cast(&iv))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EncryptAndAuthenticate(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_in nonce, impl::abi_arg_in authenticatedData, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncryptAndAuthenticate(*reinterpret_cast(&key), *reinterpret_cast(&data), *reinterpret_cast(&nonce), *reinterpret_cast(&authenticatedData))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DecryptAndAuthenticate(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_in nonce, impl::abi_arg_in authenticationTag, impl::abi_arg_in authenticatedData, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecryptAndAuthenticate(*reinterpret_cast(&key), *reinterpret_cast(&data), *reinterpret_cast(&nonce), *reinterpret_cast(&authenticationTag), *reinterpret_cast(&authenticatedData))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Sign(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sign(*reinterpret_cast(&key), *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_VerifySignature(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_in signature, bool * isAuthenticated) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isAuthenticated = detach_abi(this->shim().VerifySignature(*reinterpret_cast(&key), *reinterpret_cast(&data), *reinterpret_cast(&signature))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeriveKeyMaterial(impl::abi_arg_in key, impl::abi_arg_in parameters, uint32_t desiredKeySize, impl::abi_arg_out keyMaterial) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *keyMaterial = detach_abi(this->shim().DeriveKeyMaterial(*reinterpret_cast(&key), *reinterpret_cast(¶meters), desiredKeySize)); + return S_OK; + } + catch (...) + { + *keyMaterial = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SignHashedData(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignHashedData(*reinterpret_cast(&key), *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_VerifySignatureWithHashInput(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_in signature, bool * isAuthenticated) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isAuthenticated = detach_abi(this->shim().VerifySignatureWithHashInput(*reinterpret_cast(&key), *reinterpret_cast(&data), *reinterpret_cast(&signature))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DecryptAsync(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_in iv, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DecryptAsync(*reinterpret_cast(&key), *reinterpret_cast(&data), *reinterpret_cast(&iv))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SignAsync(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignAsync(*reinterpret_cast(&key), *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SignHashedDataAsync(impl::abi_arg_in key, impl::abi_arg_in data, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SignHashedDataAsync(*reinterpret_cast(&key), *reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KeySize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeySize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExportDefaultPrivateKeyBlobType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Export()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExportPrivateKeyWithBlobType(Windows::Security::Cryptography::Core::CryptographicPrivateKeyBlobType BlobType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Export(BlobType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExportDefaultPublicKeyBlobType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExportPublicKey()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExportPublicKeyWithBlobType(Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType BlobType, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExportPublicKey(BlobType)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BrainpoolP160r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP160r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP160t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP160t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP192r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP192r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP192t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP192t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP224r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP224r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP224t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP224t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP256r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP256r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP256t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP256t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP320r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP320r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP320t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP320t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP384r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP384r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP384t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP384t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP512r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP512r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BrainpoolP512t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BrainpoolP512t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Curve25519(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Curve25519()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Ec192wapi(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ec192wapi()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NistP192(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NistP192()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NistP224(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NistP224()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NistP256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NistP256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NistP384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NistP384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NistP521(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NistP521()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumsP256t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumsP256t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumsP384t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumsP384t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumsP512t1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumsP512t1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP160k1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP160k1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP160r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP160r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP160r2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP160r2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP192k1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP192k1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP192r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP192r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP224k1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP224k1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP224r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP224r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP256k1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP256k1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP256r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP256r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP384r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP384r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecP521r1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecP521r1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wtls7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wtls7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wtls9(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wtls9()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wtls12(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wtls12()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X962P192v1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X962P192v1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X962P192v2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X962P192v2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X962P192v3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X962P192v3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X962P239v1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X962P239v1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X962P239v2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X962P239v2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X962P239v3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X962P239v3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_X962P256v1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X962P256v1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllEccCurveNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllEccCurveNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncryptedData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncryptedData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationTag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationTag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Md5(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Md5()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HashLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HashLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HashData(impl::abi_arg_in data, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HashData(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateHash(impl::abi_arg_out Value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *Value = detach_abi(this->shim().CreateHash()); + return S_OK; + } + catch (...) + { + *Value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenAlgorithm(impl::abi_arg_in algorithm, impl::abi_arg_out provider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *provider = detach_abi(this->shim().OpenAlgorithm(*reinterpret_cast(&algorithm))); + return S_OK; + } + catch (...) + { + *provider = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Append(impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Append(*reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetValueAndReset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetValueAndReset()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Pbkdf2Md5(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pbkdf2Md5()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pbkdf2Sha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pbkdf2Sha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pbkdf2Sha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pbkdf2Sha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pbkdf2Sha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pbkdf2Sha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pbkdf2Sha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pbkdf2Sha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp800108CtrHmacMd5(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp800108CtrHmacMd5()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp800108CtrHmacSha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp800108CtrHmacSha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp800108CtrHmacSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp800108CtrHmacSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp800108CtrHmacSha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp800108CtrHmacSha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp800108CtrHmacSha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp800108CtrHmacSha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp80056aConcatMd5(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp80056aConcatMd5()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp80056aConcatSha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp80056aConcatSha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp80056aConcatSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp80056aConcatSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp80056aConcatSha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp80056aConcatSha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sp80056aConcatSha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sp80056aConcatSha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CapiKdfMd5(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CapiKdfMd5()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CapiKdfSha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CapiKdfSha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CapiKdfSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CapiKdfSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CapiKdfSha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CapiKdfSha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CapiKdfSha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CapiKdfSha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateKey(impl::abi_arg_in keyMaterial, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().CreateKey(*reinterpret_cast(&keyMaterial))); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenAlgorithm(impl::abi_arg_in algorithm, impl::abi_arg_out provider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *provider = detach_abi(this->shim().OpenAlgorithm(*reinterpret_cast(&algorithm))); + return S_OK; + } + catch (...) + { + *provider = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KdfGenericBinary(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KdfGenericBinary()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KdfGenericBinary(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KdfGenericBinary(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IterationCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IterationCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Capi1KdfTargetAlgorithm(Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capi1KdfTargetAlgorithm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Capi1KdfTargetAlgorithm(Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Capi1KdfTargetAlgorithm(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BuildForPbkdf2(impl::abi_arg_in pbkdf2Salt, uint32_t iterationCount, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildForPbkdf2(*reinterpret_cast(&pbkdf2Salt), iterationCount)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BuildForSP800108(impl::abi_arg_in label, impl::abi_arg_in context, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildForSP800108(*reinterpret_cast(&label), *reinterpret_cast(&context))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BuildForSP80056a(impl::abi_arg_in algorithmId, impl::abi_arg_in partyUInfo, impl::abi_arg_in partyVInfo, impl::abi_arg_in suppPubInfo, impl::abi_arg_in suppPrivInfo, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildForSP80056a(*reinterpret_cast(&algorithmId), *reinterpret_cast(&partyUInfo), *reinterpret_cast(&partyVInfo), *reinterpret_cast(&suppPubInfo), *reinterpret_cast(&suppPrivInfo))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BuildForCapi1Kdf(Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm capi1KdfTargetAlgorithm, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildForCapi1Kdf(capi1KdfTargetAlgorithm)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HmacMd5(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HmacMd5()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HmacSha1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HmacSha1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HmacSha256(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HmacSha256()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HmacSha384(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HmacSha384()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HmacSha512(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HmacSha512()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AesCmac(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AesCmac()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MacLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MacLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateKey(impl::abi_arg_in keyMaterial, impl::abi_arg_out macKey) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *macKey = detach_abi(this->shim().CreateKey(*reinterpret_cast(&keyMaterial))); + return S_OK; + } + catch (...) + { + *macKey = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateHash(impl::abi_arg_in keyMaterial, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateHash(*reinterpret_cast(&keyMaterial))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenAlgorithm(impl::abi_arg_in algorithm, impl::abi_arg_out provider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *provider = detach_abi(this->shim().OpenAlgorithm(*reinterpret_cast(&algorithm))); + return S_OK; + } + catch (...) + { + *provider = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenKeyPairFromCertificateAsync(impl::abi_arg_in certificate, impl::abi_arg_in hashAlgorithmName, Windows::Security::Cryptography::Core::CryptographicPadding padding, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenKeyPairFromCertificateAsync(*reinterpret_cast(&certificate), *reinterpret_cast(&hashAlgorithmName), padding)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenPublicKeyFromCertificate(impl::abi_arg_in certificate, impl::abi_arg_in hashAlgorithmName, Windows::Security::Cryptography::Core::CryptographicPadding padding, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().OpenPublicKeyFromCertificate(*reinterpret_cast(&certificate), *reinterpret_cast(&hashAlgorithmName), padding)); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesCbc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesCbc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesEcb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesEcb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TripleDesCbc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TripleDesCbc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TripleDesEcb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TripleDesEcb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rc2Cbc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rc2Cbc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rc2Ecb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rc2Ecb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AesCbc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AesCbc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AesEcb(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AesEcb()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AesGcm(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AesGcm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AesCcm(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AesCcm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AesCbcPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AesCbcPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AesEcbPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AesEcbPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesCbcPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesCbcPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesEcbPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesEcbPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TripleDesCbcPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TripleDesCbcPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TripleDesEcbPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TripleDesEcbPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rc2CbcPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rc2CbcPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rc2EcbPkcs7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rc2EcbPkcs7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rc4(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rc4()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlgorithmName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlgorithmName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BlockLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BlockLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSymmetricKey(impl::abi_arg_in keyMaterial, impl::abi_arg_out key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *key = detach_abi(this->shim().CreateSymmetricKey(*reinterpret_cast(&keyMaterial))); + return S_OK; + } + catch (...) + { + *key = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenAlgorithm(impl::abi_arg_in algorithm, impl::abi_arg_out provider) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *provider = detach_abi(this->shim().OpenAlgorithm(*reinterpret_cast(&algorithm))); + return S_OK; + } + catch (...) + { + *provider = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Cryptography::Core { + +template Windows::Storage::Streams::IBuffer impl_IKeyDerivationParameters::KdfGenericBinary() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IKeyDerivationParameters)->get_KdfGenericBinary(put_abi(value))); + return value; +} + +template void impl_IKeyDerivationParameters::KdfGenericBinary(const Windows::Storage::Streams::IBuffer & value) const +{ + check_hresult(WINRT_SHIM(IKeyDerivationParameters)->put_KdfGenericBinary(get_abi(value))); +} + +template uint32_t impl_IKeyDerivationParameters::IterationCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IKeyDerivationParameters)->get_IterationCount(&value)); + return value; +} + +template Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm impl_IKeyDerivationParameters2::Capi1KdfTargetAlgorithm() const +{ + Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm value {}; + check_hresult(WINRT_SHIM(IKeyDerivationParameters2)->get_Capi1KdfTargetAlgorithm(&value)); + return value; +} + +template void impl_IKeyDerivationParameters2::Capi1KdfTargetAlgorithm(Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm value) const +{ + check_hresult(WINRT_SHIM(IKeyDerivationParameters2)->put_Capi1KdfTargetAlgorithm(value)); +} + +template Windows::Security::Cryptography::Core::KeyDerivationParameters impl_IKeyDerivationParametersStatics::BuildForPbkdf2(const Windows::Storage::Streams::IBuffer & pbkdf2Salt, uint32_t iterationCount) const +{ + Windows::Security::Cryptography::Core::KeyDerivationParameters value { nullptr }; + check_hresult(WINRT_SHIM(IKeyDerivationParametersStatics)->abi_BuildForPbkdf2(get_abi(pbkdf2Salt), iterationCount, put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::KeyDerivationParameters impl_IKeyDerivationParametersStatics::BuildForSP800108(const Windows::Storage::Streams::IBuffer & label, const Windows::Storage::Streams::IBuffer & context) const +{ + Windows::Security::Cryptography::Core::KeyDerivationParameters value { nullptr }; + check_hresult(WINRT_SHIM(IKeyDerivationParametersStatics)->abi_BuildForSP800108(get_abi(label), get_abi(context), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::KeyDerivationParameters impl_IKeyDerivationParametersStatics::BuildForSP80056a(const Windows::Storage::Streams::IBuffer & algorithmId, const Windows::Storage::Streams::IBuffer & partyUInfo, const Windows::Storage::Streams::IBuffer & partyVInfo, const Windows::Storage::Streams::IBuffer & suppPubInfo, const Windows::Storage::Streams::IBuffer & suppPrivInfo) const +{ + Windows::Security::Cryptography::Core::KeyDerivationParameters value { nullptr }; + check_hresult(WINRT_SHIM(IKeyDerivationParametersStatics)->abi_BuildForSP80056a(get_abi(algorithmId), get_abi(partyUInfo), get_abi(partyVInfo), get_abi(suppPubInfo), get_abi(suppPrivInfo), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::KeyDerivationParameters impl_IKeyDerivationParametersStatics2::BuildForCapi1Kdf(Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm capi1KdfTargetAlgorithm) const +{ + Windows::Security::Cryptography::Core::KeyDerivationParameters value { nullptr }; + check_hresult(WINRT_SHIM(IKeyDerivationParametersStatics2)->abi_BuildForCapi1Kdf(capi1KdfTargetAlgorithm, put_abi(value))); + return value; +} + +template uint32_t impl_ICryptographicKey::KeySize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICryptographicKey)->get_KeySize(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicKey::Export() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicKey)->abi_ExportDefaultPrivateKeyBlobType(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicKey::Export(Windows::Security::Cryptography::Core::CryptographicPrivateKeyBlobType BlobType) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicKey)->abi_ExportPrivateKeyWithBlobType(BlobType, put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicKey::ExportPublicKey() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicKey)->abi_ExportDefaultPublicKeyBlobType(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicKey::ExportPublicKey(Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType BlobType) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicKey)->abi_ExportPublicKeyWithBlobType(BlobType, put_abi(value))); + return value; +} + +template void impl_IHashComputation::Append(const Windows::Storage::Streams::IBuffer & data) const +{ + check_hresult(WINRT_SHIM(IHashComputation)->abi_Append(get_abi(data))); +} + +template Windows::Storage::Streams::IBuffer impl_IHashComputation::GetValueAndReset() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHashComputation)->abi_GetValueAndReset(put_abi(value))); + return value; +} + +template hstring impl_IHashAlgorithmProvider::AlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHashAlgorithmProvider)->get_AlgorithmName(put_abi(value))); + return value; +} + +template uint32_t impl_IHashAlgorithmProvider::HashLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IHashAlgorithmProvider)->get_HashLength(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IHashAlgorithmProvider::HashData(const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHashAlgorithmProvider)->abi_HashData(get_abi(data), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::CryptographicHash impl_IHashAlgorithmProvider::CreateHash() const +{ + Windows::Security::Cryptography::Core::CryptographicHash Value { nullptr }; + check_hresult(WINRT_SHIM(IHashAlgorithmProvider)->abi_CreateHash(put_abi(Value))); + return Value; +} + +template hstring impl_IMacAlgorithmProvider::AlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMacAlgorithmProvider)->get_AlgorithmName(put_abi(value))); + return value; +} + +template uint32_t impl_IMacAlgorithmProvider::MacLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMacAlgorithmProvider)->get_MacLength(&value)); + return value; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IMacAlgorithmProvider::CreateKey(const Windows::Storage::Streams::IBuffer & keyMaterial) const +{ + Windows::Security::Cryptography::Core::CryptographicKey macKey { nullptr }; + check_hresult(WINRT_SHIM(IMacAlgorithmProvider)->abi_CreateKey(get_abi(keyMaterial), put_abi(macKey))); + return macKey; +} + +template Windows::Security::Cryptography::Core::CryptographicHash impl_IMacAlgorithmProvider2::CreateHash(const Windows::Storage::Streams::IBuffer & keyMaterial) const +{ + Windows::Security::Cryptography::Core::CryptographicHash value { nullptr }; + check_hresult(WINRT_SHIM(IMacAlgorithmProvider2)->abi_CreateHash(get_abi(keyMaterial), put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmProvider::AlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmProvider)->get_AlgorithmName(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IKeyDerivationAlgorithmProvider::CreateKey(const Windows::Storage::Streams::IBuffer & keyMaterial) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmProvider)->abi_CreateKey(get_abi(keyMaterial), put_abi(key))); + return key; +} + +template hstring impl_ISymmetricKeyAlgorithmProvider::AlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricKeyAlgorithmProvider)->get_AlgorithmName(put_abi(value))); + return value; +} + +template uint32_t impl_ISymmetricKeyAlgorithmProvider::BlockLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISymmetricKeyAlgorithmProvider)->get_BlockLength(&value)); + return value; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_ISymmetricKeyAlgorithmProvider::CreateSymmetricKey(const Windows::Storage::Streams::IBuffer & keyMaterial) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(ISymmetricKeyAlgorithmProvider)->abi_CreateSymmetricKey(get_abi(keyMaterial), put_abi(key))); + return key; +} + +template hstring impl_IAsymmetricKeyAlgorithmProvider::AlgorithmName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider)->get_AlgorithmName(put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IAsymmetricKeyAlgorithmProvider::CreateKeyPair(uint32_t keySize) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider)->abi_CreateKeyPair(keySize, put_abi(key))); + return key; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IAsymmetricKeyAlgorithmProvider::ImportKeyPair(const Windows::Storage::Streams::IBuffer & keyBlob) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider)->abi_ImportDefaultPrivateKeyBlob(get_abi(keyBlob), put_abi(key))); + return key; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IAsymmetricKeyAlgorithmProvider::ImportKeyPair(const Windows::Storage::Streams::IBuffer & keyBlob, Windows::Security::Cryptography::Core::CryptographicPrivateKeyBlobType BlobType) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider)->abi_ImportKeyPairWithBlobType(get_abi(keyBlob), BlobType, put_abi(key))); + return key; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IAsymmetricKeyAlgorithmProvider::ImportPublicKey(const Windows::Storage::Streams::IBuffer & keyBlob) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider)->abi_ImportDefaultPublicKeyBlob(get_abi(keyBlob), put_abi(key))); + return key; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IAsymmetricKeyAlgorithmProvider::ImportPublicKey(const Windows::Storage::Streams::IBuffer & keyBlob, Windows::Security::Cryptography::Core::CryptographicPublicKeyBlobType BlobType) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider)->abi_ImportPublicKeyWithBlobType(get_abi(keyBlob), BlobType, put_abi(key))); + return key; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IAsymmetricKeyAlgorithmProvider2::CreateKeyPairWithCurveName(hstring_view curveName) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider2)->abi_CreateKeyPairWithCurveName(get_abi(curveName), put_abi(key))); + return key; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IAsymmetricKeyAlgorithmProvider2::CreateKeyPairWithCurveParameters(array_view parameters) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProvider2)->abi_CreateKeyPairWithCurveParameters(parameters.size(), get_abi(parameters), put_abi(key))); + return key; +} + +template Windows::Foundation::IAsyncOperation impl_IPersistedKeyProviderStatics::OpenKeyPairFromCertificateAsync(const Windows::Security::Cryptography::Certificates::Certificate & certificate, hstring_view hashAlgorithmName, Windows::Security::Cryptography::Core::CryptographicPadding padding) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPersistedKeyProviderStatics)->abi_OpenKeyPairFromCertificateAsync(get_abi(certificate), get_abi(hashAlgorithmName), padding, put_abi(operation))); + return operation; +} + +template Windows::Security::Cryptography::Core::CryptographicKey impl_IPersistedKeyProviderStatics::OpenPublicKeyFromCertificate(const Windows::Security::Cryptography::Certificates::Certificate & certificate, hstring_view hashAlgorithmName, Windows::Security::Cryptography::Core::CryptographicPadding padding) const +{ + Windows::Security::Cryptography::Core::CryptographicKey key { nullptr }; + check_hresult(WINRT_SHIM(IPersistedKeyProviderStatics)->abi_OpenPublicKeyFromCertificate(get_abi(certificate), get_abi(hashAlgorithmName), padding, put_abi(key))); + return key; +} + +template Windows::Storage::Streams::IBuffer impl_IEncryptedAndAuthenticatedData::EncryptedData() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IEncryptedAndAuthenticatedData)->get_EncryptedData(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IEncryptedAndAuthenticatedData::AuthenticationTag() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IEncryptedAndAuthenticatedData)->get_AuthenticationTag(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicEngineStatics::Encrypt(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & iv) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics)->abi_Encrypt(get_abi(key), get_abi(data), get_abi(iv), put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicEngineStatics::Decrypt(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & iv) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics)->abi_Decrypt(get_abi(key), get_abi(data), get_abi(iv), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::EncryptedAndAuthenticatedData impl_ICryptographicEngineStatics::EncryptAndAuthenticate(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & nonce, const Windows::Storage::Streams::IBuffer & authenticatedData) const +{ + Windows::Security::Cryptography::Core::EncryptedAndAuthenticatedData value { nullptr }; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics)->abi_EncryptAndAuthenticate(get_abi(key), get_abi(data), get_abi(nonce), get_abi(authenticatedData), put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicEngineStatics::DecryptAndAuthenticate(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & nonce, const Windows::Storage::Streams::IBuffer & authenticationTag, const Windows::Storage::Streams::IBuffer & authenticatedData) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics)->abi_DecryptAndAuthenticate(get_abi(key), get_abi(data), get_abi(nonce), get_abi(authenticationTag), get_abi(authenticatedData), put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicEngineStatics::Sign(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics)->abi_Sign(get_abi(key), get_abi(data), put_abi(value))); + return value; +} + +template bool impl_ICryptographicEngineStatics::VerifySignature(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & signature) const +{ + bool isAuthenticated {}; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics)->abi_VerifySignature(get_abi(key), get_abi(data), get_abi(signature), &isAuthenticated)); + return isAuthenticated; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicEngineStatics::DeriveKeyMaterial(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Security::Cryptography::Core::KeyDerivationParameters & parameters, uint32_t desiredKeySize) const +{ + Windows::Storage::Streams::IBuffer keyMaterial; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics)->abi_DeriveKeyMaterial(get_abi(key), get_abi(parameters), desiredKeySize, put_abi(keyMaterial))); + return keyMaterial; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicEngineStatics2::SignHashedData(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics2)->abi_SignHashedData(get_abi(key), get_abi(data), put_abi(value))); + return value; +} + +template bool impl_ICryptographicEngineStatics2::VerifySignatureWithHashInput(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & signature) const +{ + bool isAuthenticated {}; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics2)->abi_VerifySignatureWithHashInput(get_abi(key), get_abi(data), get_abi(signature), &isAuthenticated)); + return isAuthenticated; +} + +template Windows::Foundation::IAsyncOperation impl_ICryptographicEngineStatics2::DecryptAsync(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & iv) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics2)->abi_DecryptAsync(get_abi(key), get_abi(data), get_abi(iv), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICryptographicEngineStatics2::SignAsync(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics2)->abi_SignAsync(get_abi(key), get_abi(data), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ICryptographicEngineStatics2::SignHashedDataAsync(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ICryptographicEngineStatics2)->abi_SignHashedDataAsync(get_abi(key), get_abi(data), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::Core::HashAlgorithmProvider impl_IHashAlgorithmProviderStatics::OpenAlgorithm(hstring_view algorithm) const +{ + Windows::Security::Cryptography::Core::HashAlgorithmProvider provider { nullptr }; + check_hresult(WINRT_SHIM(IHashAlgorithmProviderStatics)->abi_OpenAlgorithm(get_abi(algorithm), put_abi(provider))); + return provider; +} + +template Windows::Security::Cryptography::Core::MacAlgorithmProvider impl_IMacAlgorithmProviderStatics::OpenAlgorithm(hstring_view algorithm) const +{ + Windows::Security::Cryptography::Core::MacAlgorithmProvider provider { nullptr }; + check_hresult(WINRT_SHIM(IMacAlgorithmProviderStatics)->abi_OpenAlgorithm(get_abi(algorithm), put_abi(provider))); + return provider; +} + +template Windows::Security::Cryptography::Core::KeyDerivationAlgorithmProvider impl_IKeyDerivationAlgorithmProviderStatics::OpenAlgorithm(hstring_view algorithm) const +{ + Windows::Security::Cryptography::Core::KeyDerivationAlgorithmProvider provider { nullptr }; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmProviderStatics)->abi_OpenAlgorithm(get_abi(algorithm), put_abi(provider))); + return provider; +} + +template Windows::Security::Cryptography::Core::SymmetricKeyAlgorithmProvider impl_ISymmetricKeyAlgorithmProviderStatics::OpenAlgorithm(hstring_view algorithm) const +{ + Windows::Security::Cryptography::Core::SymmetricKeyAlgorithmProvider provider { nullptr }; + check_hresult(WINRT_SHIM(ISymmetricKeyAlgorithmProviderStatics)->abi_OpenAlgorithm(get_abi(algorithm), put_abi(provider))); + return provider; +} + +template Windows::Security::Cryptography::Core::AsymmetricKeyAlgorithmProvider impl_IAsymmetricKeyAlgorithmProviderStatics::OpenAlgorithm(hstring_view algorithm) const +{ + Windows::Security::Cryptography::Core::AsymmetricKeyAlgorithmProvider provider { nullptr }; + check_hresult(WINRT_SHIM(IAsymmetricKeyAlgorithmProviderStatics)->abi_OpenAlgorithm(get_abi(algorithm), put_abi(provider))); + return provider; +} + +template hstring impl_IHashAlgorithmNamesStatics::Md5() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHashAlgorithmNamesStatics)->get_Md5(put_abi(value))); + return value; +} + +template hstring impl_IHashAlgorithmNamesStatics::Sha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHashAlgorithmNamesStatics)->get_Sha1(put_abi(value))); + return value; +} + +template hstring impl_IHashAlgorithmNamesStatics::Sha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHashAlgorithmNamesStatics)->get_Sha256(put_abi(value))); + return value; +} + +template hstring impl_IHashAlgorithmNamesStatics::Sha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHashAlgorithmNamesStatics)->get_Sha384(put_abi(value))); + return value; +} + +template hstring impl_IHashAlgorithmNamesStatics::Sha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHashAlgorithmNamesStatics)->get_Sha512(put_abi(value))); + return value; +} + +template hstring impl_IMacAlgorithmNamesStatics::HmacMd5() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMacAlgorithmNamesStatics)->get_HmacMd5(put_abi(value))); + return value; +} + +template hstring impl_IMacAlgorithmNamesStatics::HmacSha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMacAlgorithmNamesStatics)->get_HmacSha1(put_abi(value))); + return value; +} + +template hstring impl_IMacAlgorithmNamesStatics::HmacSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMacAlgorithmNamesStatics)->get_HmacSha256(put_abi(value))); + return value; +} + +template hstring impl_IMacAlgorithmNamesStatics::HmacSha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMacAlgorithmNamesStatics)->get_HmacSha384(put_abi(value))); + return value; +} + +template hstring impl_IMacAlgorithmNamesStatics::HmacSha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMacAlgorithmNamesStatics)->get_HmacSha512(put_abi(value))); + return value; +} + +template hstring impl_IMacAlgorithmNamesStatics::AesCmac() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMacAlgorithmNamesStatics)->get_AesCmac(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::DesCbc() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_DesCbc(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::DesEcb() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_DesEcb(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::TripleDesCbc() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_TripleDesCbc(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::TripleDesEcb() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_TripleDesEcb(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::Rc2Cbc() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_Rc2Cbc(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::Rc2Ecb() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_Rc2Ecb(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::AesCbc() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_AesCbc(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::AesEcb() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_AesEcb(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::AesGcm() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_AesGcm(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::AesCcm() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_AesCcm(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::AesCbcPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_AesCbcPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::AesEcbPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_AesEcbPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::DesCbcPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_DesCbcPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::DesEcbPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_DesEcbPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::TripleDesCbcPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_TripleDesCbcPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::TripleDesEcbPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_TripleDesEcbPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::Rc2CbcPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_Rc2CbcPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::Rc2EcbPkcs7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_Rc2EcbPkcs7(put_abi(value))); + return value; +} + +template hstring impl_ISymmetricAlgorithmNamesStatics::Rc4() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISymmetricAlgorithmNamesStatics)->get_Rc4(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaPkcs1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaPkcs1(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaOaepSha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaOaepSha1(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaOaepSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaOaepSha256(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaOaepSha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaOaepSha384(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaOaepSha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaOaepSha512(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::EcdsaP256Sha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_EcdsaP256Sha256(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::EcdsaP384Sha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_EcdsaP384Sha384(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::EcdsaP521Sha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_EcdsaP521Sha512(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::DsaSha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_DsaSha1(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::DsaSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_DsaSha256(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPkcs1Sha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPkcs1Sha1(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPkcs1Sha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPkcs1Sha256(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPkcs1Sha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPkcs1Sha384(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPkcs1Sha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPkcs1Sha512(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPssSha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPssSha1(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPssSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPssSha256(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPssSha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPssSha384(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics::RsaSignPssSha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics)->get_RsaSignPssSha512(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics2::EcdsaSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics2)->get_EcdsaSha256(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics2::EcdsaSha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics2)->get_EcdsaSha384(put_abi(value))); + return value; +} + +template hstring impl_IAsymmetricAlgorithmNamesStatics2::EcdsaSha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAsymmetricAlgorithmNamesStatics2)->get_EcdsaSha512(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP160r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP160r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP160t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP160t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP192r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP192r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP192t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP192t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP224r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP224r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP224t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP224t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP256r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP256r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP256t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP256t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP320r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP320r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP320t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP320t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP384r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP384r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP384t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP384t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP512r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP512r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::BrainpoolP512t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_BrainpoolP512t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::Curve25519() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_Curve25519(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::Ec192wapi() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_Ec192wapi(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NistP192() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NistP192(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NistP224() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NistP224(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NistP256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NistP256(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NistP384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NistP384(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NistP521() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NistP521(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NumsP256t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NumsP256t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NumsP384t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NumsP384t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::NumsP512t1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_NumsP512t1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP160k1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP160k1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP160r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP160r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP160r2() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP160r2(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP192k1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP192k1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP192r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP192r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP224k1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP224k1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP224r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP224r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP256k1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP256k1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP256r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP256r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP384r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP384r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::SecP521r1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_SecP521r1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::Wtls7() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_Wtls7(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::Wtls9() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_Wtls9(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::Wtls12() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_Wtls12(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::X962P192v1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_X962P192v1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::X962P192v2() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_X962P192v2(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::X962P192v3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_X962P192v3(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::X962P239v1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_X962P239v1(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::X962P239v2() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_X962P239v2(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::X962P239v3() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_X962P239v3(put_abi(value))); + return value; +} + +template hstring impl_IEccCurveNamesStatics::X962P256v1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_X962P256v1(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IEccCurveNamesStatics::AllEccCurveNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IEccCurveNamesStatics)->get_AllEccCurveNames(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Pbkdf2Md5() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Pbkdf2Md5(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Pbkdf2Sha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Pbkdf2Sha1(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Pbkdf2Sha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Pbkdf2Sha256(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Pbkdf2Sha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Pbkdf2Sha384(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Pbkdf2Sha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Pbkdf2Sha512(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp800108CtrHmacMd5() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp800108CtrHmacMd5(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp800108CtrHmacSha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp800108CtrHmacSha1(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp800108CtrHmacSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp800108CtrHmacSha256(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp800108CtrHmacSha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp800108CtrHmacSha384(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp800108CtrHmacSha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp800108CtrHmacSha512(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp80056aConcatMd5() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp80056aConcatMd5(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp80056aConcatSha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp80056aConcatSha1(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp80056aConcatSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp80056aConcatSha256(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp80056aConcatSha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp80056aConcatSha384(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics::Sp80056aConcatSha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics)->get_Sp80056aConcatSha512(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics2::CapiKdfMd5() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics2)->get_CapiKdfMd5(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics2::CapiKdfSha1() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics2)->get_CapiKdfSha1(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics2::CapiKdfSha256() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics2)->get_CapiKdfSha256(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics2::CapiKdfSha384() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics2)->get_CapiKdfSha384(put_abi(value))); + return value; +} + +template hstring impl_IKeyDerivationAlgorithmNamesStatics2::CapiKdfSha512() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyDerivationAlgorithmNamesStatics2)->get_CapiKdfSha512(put_abi(value))); + return value; +} + +inline hstring AsymmetricAlgorithmNames::RsaPkcs1() +{ + return get_activation_factory().RsaPkcs1(); +} + +inline hstring AsymmetricAlgorithmNames::RsaOaepSha1() +{ + return get_activation_factory().RsaOaepSha1(); +} + +inline hstring AsymmetricAlgorithmNames::RsaOaepSha256() +{ + return get_activation_factory().RsaOaepSha256(); +} + +inline hstring AsymmetricAlgorithmNames::RsaOaepSha384() +{ + return get_activation_factory().RsaOaepSha384(); +} + +inline hstring AsymmetricAlgorithmNames::RsaOaepSha512() +{ + return get_activation_factory().RsaOaepSha512(); +} + +inline hstring AsymmetricAlgorithmNames::EcdsaP256Sha256() +{ + return get_activation_factory().EcdsaP256Sha256(); +} + +inline hstring AsymmetricAlgorithmNames::EcdsaP384Sha384() +{ + return get_activation_factory().EcdsaP384Sha384(); +} + +inline hstring AsymmetricAlgorithmNames::EcdsaP521Sha512() +{ + return get_activation_factory().EcdsaP521Sha512(); +} + +inline hstring AsymmetricAlgorithmNames::DsaSha1() +{ + return get_activation_factory().DsaSha1(); +} + +inline hstring AsymmetricAlgorithmNames::DsaSha256() +{ + return get_activation_factory().DsaSha256(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPkcs1Sha1() +{ + return get_activation_factory().RsaSignPkcs1Sha1(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPkcs1Sha256() +{ + return get_activation_factory().RsaSignPkcs1Sha256(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPkcs1Sha384() +{ + return get_activation_factory().RsaSignPkcs1Sha384(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPkcs1Sha512() +{ + return get_activation_factory().RsaSignPkcs1Sha512(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPssSha1() +{ + return get_activation_factory().RsaSignPssSha1(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPssSha256() +{ + return get_activation_factory().RsaSignPssSha256(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPssSha384() +{ + return get_activation_factory().RsaSignPssSha384(); +} + +inline hstring AsymmetricAlgorithmNames::RsaSignPssSha512() +{ + return get_activation_factory().RsaSignPssSha512(); +} + +inline hstring AsymmetricAlgorithmNames::EcdsaSha256() +{ + return get_activation_factory().EcdsaSha256(); +} + +inline hstring AsymmetricAlgorithmNames::EcdsaSha384() +{ + return get_activation_factory().EcdsaSha384(); +} + +inline hstring AsymmetricAlgorithmNames::EcdsaSha512() +{ + return get_activation_factory().EcdsaSha512(); +} + +inline Windows::Security::Cryptography::Core::AsymmetricKeyAlgorithmProvider AsymmetricKeyAlgorithmProvider::OpenAlgorithm(hstring_view algorithm) +{ + return get_activation_factory().OpenAlgorithm(algorithm); +} + +inline Windows::Storage::Streams::IBuffer CryptographicEngine::Encrypt(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & iv) +{ + return get_activation_factory().Encrypt(key, data, iv); +} + +inline Windows::Storage::Streams::IBuffer CryptographicEngine::Decrypt(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & iv) +{ + return get_activation_factory().Decrypt(key, data, iv); +} + +inline Windows::Security::Cryptography::Core::EncryptedAndAuthenticatedData CryptographicEngine::EncryptAndAuthenticate(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & nonce, const Windows::Storage::Streams::IBuffer & authenticatedData) +{ + return get_activation_factory().EncryptAndAuthenticate(key, data, nonce, authenticatedData); +} + +inline Windows::Storage::Streams::IBuffer CryptographicEngine::DecryptAndAuthenticate(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & nonce, const Windows::Storage::Streams::IBuffer & authenticationTag, const Windows::Storage::Streams::IBuffer & authenticatedData) +{ + return get_activation_factory().DecryptAndAuthenticate(key, data, nonce, authenticationTag, authenticatedData); +} + +inline Windows::Storage::Streams::IBuffer CryptographicEngine::Sign(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) +{ + return get_activation_factory().Sign(key, data); +} + +inline bool CryptographicEngine::VerifySignature(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & signature) +{ + return get_activation_factory().VerifySignature(key, data, signature); +} + +inline Windows::Storage::Streams::IBuffer CryptographicEngine::DeriveKeyMaterial(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Security::Cryptography::Core::KeyDerivationParameters & parameters, uint32_t desiredKeySize) +{ + return get_activation_factory().DeriveKeyMaterial(key, parameters, desiredKeySize); +} + +inline Windows::Storage::Streams::IBuffer CryptographicEngine::SignHashedData(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) +{ + return get_activation_factory().SignHashedData(key, data); +} + +inline bool CryptographicEngine::VerifySignatureWithHashInput(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & signature) +{ + return get_activation_factory().VerifySignatureWithHashInput(key, data, signature); +} + +inline Windows::Foundation::IAsyncOperation CryptographicEngine::DecryptAsync(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data, const Windows::Storage::Streams::IBuffer & iv) +{ + return get_activation_factory().DecryptAsync(key, data, iv); +} + +inline Windows::Foundation::IAsyncOperation CryptographicEngine::SignAsync(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) +{ + return get_activation_factory().SignAsync(key, data); +} + +inline Windows::Foundation::IAsyncOperation CryptographicEngine::SignHashedDataAsync(const Windows::Security::Cryptography::Core::CryptographicKey & key, const Windows::Storage::Streams::IBuffer & data) +{ + return get_activation_factory().SignHashedDataAsync(key, data); +} + +inline hstring EccCurveNames::BrainpoolP160r1() +{ + return get_activation_factory().BrainpoolP160r1(); +} + +inline hstring EccCurveNames::BrainpoolP160t1() +{ + return get_activation_factory().BrainpoolP160t1(); +} + +inline hstring EccCurveNames::BrainpoolP192r1() +{ + return get_activation_factory().BrainpoolP192r1(); +} + +inline hstring EccCurveNames::BrainpoolP192t1() +{ + return get_activation_factory().BrainpoolP192t1(); +} + +inline hstring EccCurveNames::BrainpoolP224r1() +{ + return get_activation_factory().BrainpoolP224r1(); +} + +inline hstring EccCurveNames::BrainpoolP224t1() +{ + return get_activation_factory().BrainpoolP224t1(); +} + +inline hstring EccCurveNames::BrainpoolP256r1() +{ + return get_activation_factory().BrainpoolP256r1(); +} + +inline hstring EccCurveNames::BrainpoolP256t1() +{ + return get_activation_factory().BrainpoolP256t1(); +} + +inline hstring EccCurveNames::BrainpoolP320r1() +{ + return get_activation_factory().BrainpoolP320r1(); +} + +inline hstring EccCurveNames::BrainpoolP320t1() +{ + return get_activation_factory().BrainpoolP320t1(); +} + +inline hstring EccCurveNames::BrainpoolP384r1() +{ + return get_activation_factory().BrainpoolP384r1(); +} + +inline hstring EccCurveNames::BrainpoolP384t1() +{ + return get_activation_factory().BrainpoolP384t1(); +} + +inline hstring EccCurveNames::BrainpoolP512r1() +{ + return get_activation_factory().BrainpoolP512r1(); +} + +inline hstring EccCurveNames::BrainpoolP512t1() +{ + return get_activation_factory().BrainpoolP512t1(); +} + +inline hstring EccCurveNames::Curve25519() +{ + return get_activation_factory().Curve25519(); +} + +inline hstring EccCurveNames::Ec192wapi() +{ + return get_activation_factory().Ec192wapi(); +} + +inline hstring EccCurveNames::NistP192() +{ + return get_activation_factory().NistP192(); +} + +inline hstring EccCurveNames::NistP224() +{ + return get_activation_factory().NistP224(); +} + +inline hstring EccCurveNames::NistP256() +{ + return get_activation_factory().NistP256(); +} + +inline hstring EccCurveNames::NistP384() +{ + return get_activation_factory().NistP384(); +} + +inline hstring EccCurveNames::NistP521() +{ + return get_activation_factory().NistP521(); +} + +inline hstring EccCurveNames::NumsP256t1() +{ + return get_activation_factory().NumsP256t1(); +} + +inline hstring EccCurveNames::NumsP384t1() +{ + return get_activation_factory().NumsP384t1(); +} + +inline hstring EccCurveNames::NumsP512t1() +{ + return get_activation_factory().NumsP512t1(); +} + +inline hstring EccCurveNames::SecP160k1() +{ + return get_activation_factory().SecP160k1(); +} + +inline hstring EccCurveNames::SecP160r1() +{ + return get_activation_factory().SecP160r1(); +} + +inline hstring EccCurveNames::SecP160r2() +{ + return get_activation_factory().SecP160r2(); +} + +inline hstring EccCurveNames::SecP192k1() +{ + return get_activation_factory().SecP192k1(); +} + +inline hstring EccCurveNames::SecP192r1() +{ + return get_activation_factory().SecP192r1(); +} + +inline hstring EccCurveNames::SecP224k1() +{ + return get_activation_factory().SecP224k1(); +} + +inline hstring EccCurveNames::SecP224r1() +{ + return get_activation_factory().SecP224r1(); +} + +inline hstring EccCurveNames::SecP256k1() +{ + return get_activation_factory().SecP256k1(); +} + +inline hstring EccCurveNames::SecP256r1() +{ + return get_activation_factory().SecP256r1(); +} + +inline hstring EccCurveNames::SecP384r1() +{ + return get_activation_factory().SecP384r1(); +} + +inline hstring EccCurveNames::SecP521r1() +{ + return get_activation_factory().SecP521r1(); +} + +inline hstring EccCurveNames::Wtls7() +{ + return get_activation_factory().Wtls7(); +} + +inline hstring EccCurveNames::Wtls9() +{ + return get_activation_factory().Wtls9(); +} + +inline hstring EccCurveNames::Wtls12() +{ + return get_activation_factory().Wtls12(); +} + +inline hstring EccCurveNames::X962P192v1() +{ + return get_activation_factory().X962P192v1(); +} + +inline hstring EccCurveNames::X962P192v2() +{ + return get_activation_factory().X962P192v2(); +} + +inline hstring EccCurveNames::X962P192v3() +{ + return get_activation_factory().X962P192v3(); +} + +inline hstring EccCurveNames::X962P239v1() +{ + return get_activation_factory().X962P239v1(); +} + +inline hstring EccCurveNames::X962P239v2() +{ + return get_activation_factory().X962P239v2(); +} + +inline hstring EccCurveNames::X962P239v3() +{ + return get_activation_factory().X962P239v3(); +} + +inline hstring EccCurveNames::X962P256v1() +{ + return get_activation_factory().X962P256v1(); +} + +inline Windows::Foundation::Collections::IVectorView EccCurveNames::AllEccCurveNames() +{ + return get_activation_factory().AllEccCurveNames(); +} + +inline hstring HashAlgorithmNames::Md5() +{ + return get_activation_factory().Md5(); +} + +inline hstring HashAlgorithmNames::Sha1() +{ + return get_activation_factory().Sha1(); +} + +inline hstring HashAlgorithmNames::Sha256() +{ + return get_activation_factory().Sha256(); +} + +inline hstring HashAlgorithmNames::Sha384() +{ + return get_activation_factory().Sha384(); +} + +inline hstring HashAlgorithmNames::Sha512() +{ + return get_activation_factory().Sha512(); +} + +inline Windows::Security::Cryptography::Core::HashAlgorithmProvider HashAlgorithmProvider::OpenAlgorithm(hstring_view algorithm) +{ + return get_activation_factory().OpenAlgorithm(algorithm); +} + +inline hstring KeyDerivationAlgorithmNames::Pbkdf2Md5() +{ + return get_activation_factory().Pbkdf2Md5(); +} + +inline hstring KeyDerivationAlgorithmNames::Pbkdf2Sha1() +{ + return get_activation_factory().Pbkdf2Sha1(); +} + +inline hstring KeyDerivationAlgorithmNames::Pbkdf2Sha256() +{ + return get_activation_factory().Pbkdf2Sha256(); +} + +inline hstring KeyDerivationAlgorithmNames::Pbkdf2Sha384() +{ + return get_activation_factory().Pbkdf2Sha384(); +} + +inline hstring KeyDerivationAlgorithmNames::Pbkdf2Sha512() +{ + return get_activation_factory().Pbkdf2Sha512(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp800108CtrHmacMd5() +{ + return get_activation_factory().Sp800108CtrHmacMd5(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp800108CtrHmacSha1() +{ + return get_activation_factory().Sp800108CtrHmacSha1(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp800108CtrHmacSha256() +{ + return get_activation_factory().Sp800108CtrHmacSha256(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp800108CtrHmacSha384() +{ + return get_activation_factory().Sp800108CtrHmacSha384(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp800108CtrHmacSha512() +{ + return get_activation_factory().Sp800108CtrHmacSha512(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp80056aConcatMd5() +{ + return get_activation_factory().Sp80056aConcatMd5(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp80056aConcatSha1() +{ + return get_activation_factory().Sp80056aConcatSha1(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp80056aConcatSha256() +{ + return get_activation_factory().Sp80056aConcatSha256(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp80056aConcatSha384() +{ + return get_activation_factory().Sp80056aConcatSha384(); +} + +inline hstring KeyDerivationAlgorithmNames::Sp80056aConcatSha512() +{ + return get_activation_factory().Sp80056aConcatSha512(); +} + +inline hstring KeyDerivationAlgorithmNames::CapiKdfMd5() +{ + return get_activation_factory().CapiKdfMd5(); +} + +inline hstring KeyDerivationAlgorithmNames::CapiKdfSha1() +{ + return get_activation_factory().CapiKdfSha1(); +} + +inline hstring KeyDerivationAlgorithmNames::CapiKdfSha256() +{ + return get_activation_factory().CapiKdfSha256(); +} + +inline hstring KeyDerivationAlgorithmNames::CapiKdfSha384() +{ + return get_activation_factory().CapiKdfSha384(); +} + +inline hstring KeyDerivationAlgorithmNames::CapiKdfSha512() +{ + return get_activation_factory().CapiKdfSha512(); +} + +inline Windows::Security::Cryptography::Core::KeyDerivationAlgorithmProvider KeyDerivationAlgorithmProvider::OpenAlgorithm(hstring_view algorithm) +{ + return get_activation_factory().OpenAlgorithm(algorithm); +} + +inline Windows::Security::Cryptography::Core::KeyDerivationParameters KeyDerivationParameters::BuildForPbkdf2(const Windows::Storage::Streams::IBuffer & pbkdf2Salt, uint32_t iterationCount) +{ + return get_activation_factory().BuildForPbkdf2(pbkdf2Salt, iterationCount); +} + +inline Windows::Security::Cryptography::Core::KeyDerivationParameters KeyDerivationParameters::BuildForSP800108(const Windows::Storage::Streams::IBuffer & label, const Windows::Storage::Streams::IBuffer & context) +{ + return get_activation_factory().BuildForSP800108(label, context); +} + +inline Windows::Security::Cryptography::Core::KeyDerivationParameters KeyDerivationParameters::BuildForSP80056a(const Windows::Storage::Streams::IBuffer & algorithmId, const Windows::Storage::Streams::IBuffer & partyUInfo, const Windows::Storage::Streams::IBuffer & partyVInfo, const Windows::Storage::Streams::IBuffer & suppPubInfo, const Windows::Storage::Streams::IBuffer & suppPrivInfo) +{ + return get_activation_factory().BuildForSP80056a(algorithmId, partyUInfo, partyVInfo, suppPubInfo, suppPrivInfo); +} + +inline Windows::Security::Cryptography::Core::KeyDerivationParameters KeyDerivationParameters::BuildForCapi1Kdf(Windows::Security::Cryptography::Core::Capi1KdfTargetAlgorithm capi1KdfTargetAlgorithm) +{ + return get_activation_factory().BuildForCapi1Kdf(capi1KdfTargetAlgorithm); +} + +inline hstring MacAlgorithmNames::HmacMd5() +{ + return get_activation_factory().HmacMd5(); +} + +inline hstring MacAlgorithmNames::HmacSha1() +{ + return get_activation_factory().HmacSha1(); +} + +inline hstring MacAlgorithmNames::HmacSha256() +{ + return get_activation_factory().HmacSha256(); +} + +inline hstring MacAlgorithmNames::HmacSha384() +{ + return get_activation_factory().HmacSha384(); +} + +inline hstring MacAlgorithmNames::HmacSha512() +{ + return get_activation_factory().HmacSha512(); +} + +inline hstring MacAlgorithmNames::AesCmac() +{ + return get_activation_factory().AesCmac(); +} + +inline Windows::Security::Cryptography::Core::MacAlgorithmProvider MacAlgorithmProvider::OpenAlgorithm(hstring_view algorithm) +{ + return get_activation_factory().OpenAlgorithm(algorithm); +} + +inline Windows::Foundation::IAsyncOperation PersistedKeyProvider::OpenKeyPairFromCertificateAsync(const Windows::Security::Cryptography::Certificates::Certificate & certificate, hstring_view hashAlgorithmName, Windows::Security::Cryptography::Core::CryptographicPadding padding) +{ + return get_activation_factory().OpenKeyPairFromCertificateAsync(certificate, hashAlgorithmName, padding); +} + +inline Windows::Security::Cryptography::Core::CryptographicKey PersistedKeyProvider::OpenPublicKeyFromCertificate(const Windows::Security::Cryptography::Certificates::Certificate & certificate, hstring_view hashAlgorithmName, Windows::Security::Cryptography::Core::CryptographicPadding padding) +{ + return get_activation_factory().OpenPublicKeyFromCertificate(certificate, hashAlgorithmName, padding); +} + +inline hstring SymmetricAlgorithmNames::DesCbc() +{ + return get_activation_factory().DesCbc(); +} + +inline hstring SymmetricAlgorithmNames::DesEcb() +{ + return get_activation_factory().DesEcb(); +} + +inline hstring SymmetricAlgorithmNames::TripleDesCbc() +{ + return get_activation_factory().TripleDesCbc(); +} + +inline hstring SymmetricAlgorithmNames::TripleDesEcb() +{ + return get_activation_factory().TripleDesEcb(); +} + +inline hstring SymmetricAlgorithmNames::Rc2Cbc() +{ + return get_activation_factory().Rc2Cbc(); +} + +inline hstring SymmetricAlgorithmNames::Rc2Ecb() +{ + return get_activation_factory().Rc2Ecb(); +} + +inline hstring SymmetricAlgorithmNames::AesCbc() +{ + return get_activation_factory().AesCbc(); +} + +inline hstring SymmetricAlgorithmNames::AesEcb() +{ + return get_activation_factory().AesEcb(); +} + +inline hstring SymmetricAlgorithmNames::AesGcm() +{ + return get_activation_factory().AesGcm(); +} + +inline hstring SymmetricAlgorithmNames::AesCcm() +{ + return get_activation_factory().AesCcm(); +} + +inline hstring SymmetricAlgorithmNames::AesCbcPkcs7() +{ + return get_activation_factory().AesCbcPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::AesEcbPkcs7() +{ + return get_activation_factory().AesEcbPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::DesCbcPkcs7() +{ + return get_activation_factory().DesCbcPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::DesEcbPkcs7() +{ + return get_activation_factory().DesEcbPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::TripleDesCbcPkcs7() +{ + return get_activation_factory().TripleDesCbcPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::TripleDesEcbPkcs7() +{ + return get_activation_factory().TripleDesEcbPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::Rc2CbcPkcs7() +{ + return get_activation_factory().Rc2CbcPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::Rc2EcbPkcs7() +{ + return get_activation_factory().Rc2EcbPkcs7(); +} + +inline hstring SymmetricAlgorithmNames::Rc4() +{ + return get_activation_factory().Rc4(); +} + +inline Windows::Security::Cryptography::Core::SymmetricKeyAlgorithmProvider SymmetricKeyAlgorithmProvider::OpenAlgorithm(hstring_view algorithm) +{ + return get_activation_factory().OpenAlgorithm(algorithm); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IAsymmetricAlgorithmNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IAsymmetricAlgorithmNamesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IAsymmetricKeyAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IAsymmetricKeyAlgorithmProvider2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IAsymmetricKeyAlgorithmProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::ICryptographicEngineStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::ICryptographicEngineStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::ICryptographicKey & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IEccCurveNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IEncryptedAndAuthenticatedData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IHashAlgorithmNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IHashAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IHashAlgorithmProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IHashComputation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationAlgorithmNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationAlgorithmNamesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationAlgorithmProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationParameters2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationParametersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IKeyDerivationParametersStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IMacAlgorithmNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IMacAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IMacAlgorithmProvider2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IMacAlgorithmProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::IPersistedKeyProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::ISymmetricAlgorithmNamesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::ISymmetricKeyAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::ISymmetricKeyAlgorithmProviderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::AsymmetricKeyAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::CryptographicHash & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::CryptographicKey & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::EncryptedAndAuthenticatedData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::HashAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::KeyDerivationAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::KeyDerivationParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::MacAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::Core::SymmetricKeyAlgorithmProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Cryptography.DataProtection.h b/10.0.15042.0/winrt/Windows.Security.Cryptography.DataProtection.h new file mode 100644 index 000000000..3452d4c6f --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Cryptography.DataProtection.h @@ -0,0 +1,179 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Security.Cryptography.DataProtection.3.h" +#include "Windows.Security.Cryptography.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ProtectAsync(impl::abi_arg_in data, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectAsync(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprotectAsync(impl::abi_arg_in data, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnprotectAsync(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProtectStreamAsync(impl::abi_arg_in src, impl::abi_arg_in dest, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectStreamAsync(*reinterpret_cast(&src), *reinterpret_cast(&dest))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprotectStreamAsync(impl::abi_arg_in src, impl::abi_arg_in dest, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnprotectStreamAsync(*reinterpret_cast(&src), *reinterpret_cast(&dest))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateOverloadExplicit(impl::abi_arg_in protectionDescriptor, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateOverloadExplicit(*reinterpret_cast(&protectionDescriptor))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Cryptography::DataProtection { + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionProvider::ProtectAsync(const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IDataProtectionProvider)->abi_ProtectAsync(get_abi(data), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionProvider::UnprotectAsync(const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IDataProtectionProvider)->abi_UnprotectAsync(get_abi(data), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IDataProtectionProvider::ProtectStreamAsync(const Windows::Storage::Streams::IInputStream & src, const Windows::Storage::Streams::IOutputStream & dest) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IDataProtectionProvider)->abi_ProtectStreamAsync(get_abi(src), get_abi(dest), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IDataProtectionProvider::UnprotectStreamAsync(const Windows::Storage::Streams::IInputStream & src, const Windows::Storage::Streams::IOutputStream & dest) const +{ + Windows::Foundation::IAsyncAction value; + check_hresult(WINRT_SHIM(IDataProtectionProvider)->abi_UnprotectStreamAsync(get_abi(src), get_abi(dest), put_abi(value))); + return value; +} + +template Windows::Security::Cryptography::DataProtection::DataProtectionProvider impl_IDataProtectionProviderFactory::CreateOverloadExplicit(hstring_view protectionDescriptor) const +{ + Windows::Security::Cryptography::DataProtection::DataProtectionProvider value { nullptr }; + check_hresult(WINRT_SHIM(IDataProtectionProviderFactory)->abi_CreateOverloadExplicit(get_abi(protectionDescriptor), put_abi(value))); + return value; +} + +inline DataProtectionProvider::DataProtectionProvider() : + DataProtectionProvider(activate_instance()) +{} + +inline DataProtectionProvider::DataProtectionProvider(hstring_view protectionDescriptor) : + DataProtectionProvider(get_activation_factory().CreateOverloadExplicit(protectionDescriptor)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::DataProtection::IDataProtectionProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::DataProtection::IDataProtectionProviderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::DataProtection::DataProtectionProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.Cryptography.h b/10.0.15042.0/winrt/Windows.Security.Cryptography.h new file mode 100644 index 000000000..3d7cbcd28 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.Cryptography.h @@ -0,0 +1,331 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Security.Cryptography.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Compare(impl::abi_arg_in object1, impl::abi_arg_in object2, bool * isEqual) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isEqual = detach_abi(this->shim().Compare(*reinterpret_cast(&object1), *reinterpret_cast(&object2))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GenerateRandom(uint32_t length, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().GenerateRandom(length)); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GenerateRandomNumber(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GenerateRandomNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromByteArray(uint32_t __valueSize, impl::abi_arg_in * value, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().CreateFromByteArray(array_view(value, value + __valueSize))); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyToByteArray(impl::abi_arg_in buffer, uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopyToByteArray(*reinterpret_cast(&buffer), detach_abi(__valueSize, value)); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DecodeFromHexString(impl::abi_arg_in value, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().DecodeFromHexString(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EncodeToHexString(impl::abi_arg_in buffer, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodeToHexString(*reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DecodeFromBase64String(impl::abi_arg_in value, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().DecodeFromBase64String(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EncodeToBase64String(impl::abi_arg_in buffer, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodeToBase64String(*reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertStringToBinary(impl::abi_arg_in value, Windows::Security::Cryptography::BinaryStringEncoding encoding, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().ConvertStringToBinary(*reinterpret_cast(&value), encoding)); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertBinaryToString(Windows::Security::Cryptography::BinaryStringEncoding encoding, impl::abi_arg_in buffer, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConvertBinaryToString(encoding, *reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::Cryptography { + +template bool impl_ICryptographicBufferStatics::Compare(const Windows::Storage::Streams::IBuffer & object1, const Windows::Storage::Streams::IBuffer & object2) const +{ + bool isEqual {}; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_Compare(get_abi(object1), get_abi(object2), &isEqual)); + return isEqual; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicBufferStatics::GenerateRandom(uint32_t length) const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_GenerateRandom(length, put_abi(buffer))); + return buffer; +} + +template uint32_t impl_ICryptographicBufferStatics::GenerateRandomNumber() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_GenerateRandomNumber(&value)); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicBufferStatics::CreateFromByteArray(array_view value) const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_CreateFromByteArray(value.size(), get_abi(value), put_abi(buffer))); + return buffer; +} + +template void impl_ICryptographicBufferStatics::CopyToByteArray(const Windows::Storage::Streams::IBuffer & buffer, com_array & value) const +{ + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_CopyToByteArray(get_abi(buffer), impl::put_size_abi(value), put_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicBufferStatics::DecodeFromHexString(hstring_view value) const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_DecodeFromHexString(get_abi(value), put_abi(buffer))); + return buffer; +} + +template hstring impl_ICryptographicBufferStatics::EncodeToHexString(const Windows::Storage::Streams::IBuffer & buffer) const +{ + hstring value; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_EncodeToHexString(get_abi(buffer), put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicBufferStatics::DecodeFromBase64String(hstring_view value) const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_DecodeFromBase64String(get_abi(value), put_abi(buffer))); + return buffer; +} + +template hstring impl_ICryptographicBufferStatics::EncodeToBase64String(const Windows::Storage::Streams::IBuffer & buffer) const +{ + hstring value; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_EncodeToBase64String(get_abi(buffer), put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_ICryptographicBufferStatics::ConvertStringToBinary(hstring_view value, Windows::Security::Cryptography::BinaryStringEncoding encoding) const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_ConvertStringToBinary(get_abi(value), encoding, put_abi(buffer))); + return buffer; +} + +template hstring impl_ICryptographicBufferStatics::ConvertBinaryToString(Windows::Security::Cryptography::BinaryStringEncoding encoding, const Windows::Storage::Streams::IBuffer & buffer) const +{ + hstring value; + check_hresult(WINRT_SHIM(ICryptographicBufferStatics)->abi_ConvertBinaryToString(encoding, get_abi(buffer), put_abi(value))); + return value; +} + +inline bool CryptographicBuffer::Compare(const Windows::Storage::Streams::IBuffer & object1, const Windows::Storage::Streams::IBuffer & object2) +{ + return get_activation_factory().Compare(object1, object2); +} + +inline Windows::Storage::Streams::IBuffer CryptographicBuffer::GenerateRandom(uint32_t length) +{ + return get_activation_factory().GenerateRandom(length); +} + +inline uint32_t CryptographicBuffer::GenerateRandomNumber() +{ + return get_activation_factory().GenerateRandomNumber(); +} + +inline Windows::Storage::Streams::IBuffer CryptographicBuffer::CreateFromByteArray(array_view value) +{ + return get_activation_factory().CreateFromByteArray(value); +} + +inline void CryptographicBuffer::CopyToByteArray(const Windows::Storage::Streams::IBuffer & buffer, com_array & value) +{ + get_activation_factory().CopyToByteArray(buffer, value); +} + +inline Windows::Storage::Streams::IBuffer CryptographicBuffer::DecodeFromHexString(hstring_view value) +{ + return get_activation_factory().DecodeFromHexString(value); +} + +inline hstring CryptographicBuffer::EncodeToHexString(const Windows::Storage::Streams::IBuffer & buffer) +{ + return get_activation_factory().EncodeToHexString(buffer); +} + +inline Windows::Storage::Streams::IBuffer CryptographicBuffer::DecodeFromBase64String(hstring_view value) +{ + return get_activation_factory().DecodeFromBase64String(value); +} + +inline hstring CryptographicBuffer::EncodeToBase64String(const Windows::Storage::Streams::IBuffer & buffer) +{ + return get_activation_factory().EncodeToBase64String(buffer); +} + +inline Windows::Storage::Streams::IBuffer CryptographicBuffer::ConvertStringToBinary(hstring_view value, Windows::Security::Cryptography::BinaryStringEncoding encoding) +{ + return get_activation_factory().ConvertStringToBinary(value, encoding); +} + +inline hstring CryptographicBuffer::ConvertBinaryToString(Windows::Security::Cryptography::BinaryStringEncoding encoding, const Windows::Storage::Streams::IBuffer & buffer) +{ + return get_activation_factory().ConvertBinaryToString(encoding, buffer); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::Cryptography::ICryptographicBufferStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.EnterpriseData.h b/10.0.15042.0/winrt/Windows.Security.EnterpriseData.h new file mode 100644 index 000000000..158e71266 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.EnterpriseData.h @@ -0,0 +1,2925 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Security.EnterpriseData.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Buffer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Buffer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Security::EnterpriseData::DataProtectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Identity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ProtectAsync(impl::abi_arg_in data, impl::abi_arg_in identity, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProtectAsync(*reinterpret_cast(&data), *reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprotectAsync(impl::abi_arg_in data, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprotectAsync(*reinterpret_cast(&data))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProtectStreamAsync(impl::abi_arg_in unprotectedStream, impl::abi_arg_in identity, impl::abi_arg_in protectedStream, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProtectStreamAsync(*reinterpret_cast(&unprotectedStream), *reinterpret_cast(&identity), *reinterpret_cast(&protectedStream))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprotectStreamAsync(impl::abi_arg_in protectedStream, impl::abi_arg_in unprotectedStream, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprotectStreamAsync(*reinterpret_cast(&protectedStream), *reinterpret_cast(&unprotectedStream))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProtectionInfoAsync(impl::abi_arg_in protectedData, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetProtectionInfoAsync(*reinterpret_cast(&protectedData))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStreamProtectionInfoAsync(impl::abi_arg_in protectedStream, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetStreamProtectionInfoAsync(*reinterpret_cast(&protectedStream))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Security::EnterpriseData::FileProtectionStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRoamable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRoamable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Identity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ProtectAsync(impl::abi_arg_in target, impl::abi_arg_in identity, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProtectAsync(*reinterpret_cast(&target), *reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyProtectionAsync(impl::abi_arg_in source, impl::abi_arg_in target, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CopyProtectionAsync(*reinterpret_cast(&source), *reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProtectionInfoAsync(impl::abi_arg_in source, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetProtectionInfoAsync(*reinterpret_cast(&source))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveFileAsContainerAsync(impl::abi_arg_in protectedFile, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveFileAsContainerAsync(*reinterpret_cast(&protectedFile))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFileFromContainerAsync(impl::abi_arg_in containerFile, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LoadFileFromContainerAsync(*reinterpret_cast(&containerFile))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFileFromContainerWithTargetAsync(impl::abi_arg_in containerFile, impl::abi_arg_in target, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LoadFileFromContainerAsync(*reinterpret_cast(&containerFile), *reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateProtectedAndOpenAsync(impl::abi_arg_in parentFolder, impl::abi_arg_in desiredName, impl::abi_arg_in identity, Windows::Storage::CreationCollisionOption collisionOption, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateProtectedAndOpenAsync(*reinterpret_cast(&parentFolder), *reinterpret_cast(&desiredName), *reinterpret_cast(&identity), collisionOption)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsContainerAsync(impl::abi_arg_in file, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsContainerAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFileFromContainerWithTargetAndNameCollisionOptionAsync(impl::abi_arg_in containerFile, impl::abi_arg_in target, Windows::Storage::NameCollisionOption collisionOption, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LoadFileFromContainerAsync(*reinterpret_cast(&containerFile), *reinterpret_cast(&target), collisionOption)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveFileAsContainerWithSharingAsync(impl::abi_arg_in protectedFile, impl::abi_arg_in> sharedWithIdentities, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveFileAsContainerAsync(*reinterpret_cast(&protectedFile), *reinterpret_cast *>(&sharedWithIdentities))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UnprotectAsync(impl::abi_arg_in target, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprotectAsync(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UnprotectWithOptionsAsync(impl::abi_arg_in target, impl::abi_arg_in options, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().UnprotectAsync(*reinterpret_cast(&target), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ProtectAsync(impl::abi_arg_in storageItem, impl::abi_arg_in enterpriseIdentity, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ProtectAsync(*reinterpret_cast(&storageItem), *reinterpret_cast(&enterpriseIdentity))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyProtectionAsync(impl::abi_arg_in sourceStorageItem, impl::abi_arg_in targetStorageItem, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CopyProtectionAsync(*reinterpret_cast(&sourceStorageItem), *reinterpret_cast(&targetStorageItem))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Revoke(impl::abi_arg_in enterpriseIdentity) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Revoke(*reinterpret_cast(&enterpriseIdentity)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStatusAsync(impl::abi_arg_in storageItem, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetStatusAsync(*reinterpret_cast(&storageItem))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Audit(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Audit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Audit(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Audit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(bool audit, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(audit)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Identities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Identities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Security::EnterpriseData::ProtectedImportExportStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Security::EnterpriseData::ProtectedImportExportStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Identities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Action(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Action(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Action(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Action()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetDescription(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetDescription(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction action, impl::abi_arg_in dataDescription, impl::abi_arg_in sourceDescription, impl::abi_arg_in targetDescription, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(action, *reinterpret_cast(&dataDescription), *reinterpret_cast(&sourceDescription), *reinterpret_cast(&targetDescription))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithActionAndDataDescription(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction action, impl::abi_arg_in dataDescription, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithActionAndDataDescription(action, *reinterpret_cast(&dataDescription))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Identity(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Identity(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Identity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ShowEnterpriseIndicator(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowEnterpriseIndicator(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowEnterpriseIndicator(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowEnterpriseIndicator()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsIdentityManaged(impl::abi_arg_in identity, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsIdentityManaged(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryApplyProcessUIPolicy(impl::abi_arg_in identity, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryApplyProcessUIPolicy(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearProcessUIPolicy() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearProcessUIPolicy(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCurrentThreadNetworkContext(impl::abi_arg_in identity, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCurrentThreadNetworkContext(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPrimaryManagedIdentityForNetworkEndpointAsync(impl::abi_arg_in endpointHost, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetPrimaryManagedIdentityForNetworkEndpointAsync(*reinterpret_cast(&endpointHost))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RevokeContent(impl::abi_arg_in identity) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RevokeContent(*reinterpret_cast(&identity)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProtectedAccessSuspending(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProtectedAccessSuspending(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProtectedAccessSuspending(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectedAccessSuspending(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProtectedAccessResumed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProtectedAccessResumed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProtectedAccessResumed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectedAccessResumed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProtectedContentRevoked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProtectedContentRevoked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProtectedContentRevoked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectedContentRevoked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckAccess(impl::abi_arg_in sourceIdentity, impl::abi_arg_in targetIdentity, Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CheckAccess(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&targetIdentity))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in targetIdentity, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&targetIdentity))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_HasContentBeenRevokedSince(impl::abi_arg_in identity, impl::abi_arg_in since, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().HasContentBeenRevokedSince(*reinterpret_cast(&identity), *reinterpret_cast(&since))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckAccessForApp(impl::abi_arg_in sourceIdentity, impl::abi_arg_in appPackageFamilyName, Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CheckAccessForApp(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&appPackageFamilyName))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessForAppAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in appPackageFamilyName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessForAppAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&appPackageFamilyName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEnforcementLevel(impl::abi_arg_in identity, Windows::Security::EnterpriseData::EnforcementLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetEnforcementLevel(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsUserDecryptionAllowed(impl::abi_arg_in identity, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUserDecryptionAllowed(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsProtectionUnderLockRequired(impl::abi_arg_in identity, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProtectionUnderLockRequired(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PolicyChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PolicyChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PolicyChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PolicyChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsProtectionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProtectionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessWithAuditingInfoAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in targetIdentity, impl::abi_arg_in auditInfo, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&targetIdentity), *reinterpret_cast(&auditInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessWithMessageAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in targetIdentity, impl::abi_arg_in auditInfo, impl::abi_arg_in messageFromApp, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&targetIdentity), *reinterpret_cast(&auditInfo), *reinterpret_cast(&messageFromApp))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessForAppWithAuditingInfoAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in appPackageFamilyName, impl::abi_arg_in auditInfo, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessForAppAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&appPackageFamilyName), *reinterpret_cast(&auditInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessForAppWithMessageAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in appPackageFamilyName, impl::abi_arg_in auditInfo, impl::abi_arg_in messageFromApp, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessForAppAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&appPackageFamilyName), *reinterpret_cast(&auditInfo), *reinterpret_cast(&messageFromApp))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LogAuditEvent(impl::abi_arg_in sourceIdentity, impl::abi_arg_in targetIdentity, impl::abi_arg_in auditInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LogAuditEvent(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&targetIdentity), *reinterpret_cast(&auditInfo)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsRoamableProtectionEnabled(impl::abi_arg_in identity, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRoamableProtectionEnabled(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessWithBehaviorAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in targetIdentity, impl::abi_arg_in auditInfo, impl::abi_arg_in messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&targetIdentity), *reinterpret_cast(&auditInfo), *reinterpret_cast(&messageFromApp), behavior)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessForAppWithBehaviorAsync(impl::abi_arg_in sourceIdentity, impl::abi_arg_in appPackageFamilyName, impl::abi_arg_in auditInfo, impl::abi_arg_in messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessForAppAsync(*reinterpret_cast(&sourceIdentity), *reinterpret_cast(&appPackageFamilyName), *reinterpret_cast(&auditInfo), *reinterpret_cast(&messageFromApp), behavior)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessToFilesForAppAsync(impl::abi_arg_in> sourceItemList, impl::abi_arg_in appPackageFamilyName, impl::abi_arg_in auditInfo, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessToFilesForAppAsync(*reinterpret_cast *>(&sourceItemList), *reinterpret_cast(&appPackageFamilyName), *reinterpret_cast(&auditInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessToFilesForAppWithMessageAndBehaviorAsync(impl::abi_arg_in> sourceItemList, impl::abi_arg_in appPackageFamilyName, impl::abi_arg_in auditInfo, impl::abi_arg_in messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessToFilesForAppAsync(*reinterpret_cast *>(&sourceItemList), *reinterpret_cast(&appPackageFamilyName), *reinterpret_cast(&auditInfo), *reinterpret_cast(&messageFromApp), behavior)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessToFilesForProcessAsync(impl::abi_arg_in> sourceItemList, uint32_t processId, impl::abi_arg_in auditInfo, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessToFilesForProcessAsync(*reinterpret_cast *>(&sourceItemList), processId, *reinterpret_cast(&auditInfo))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessToFilesForProcessWithMessageAndBehaviorAsync(impl::abi_arg_in> sourceItemList, uint32_t processId, impl::abi_arg_in auditInfo, impl::abi_arg_in messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessToFilesForProcessAsync(*reinterpret_cast *>(&sourceItemList), processId, *reinterpret_cast(&auditInfo), *reinterpret_cast(&messageFromApp), behavior)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsFileProtectionRequiredAsync(impl::abi_arg_in target, impl::abi_arg_in identity, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsFileProtectionRequiredAsync(*reinterpret_cast(&target), *reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsFileProtectionRequiredForNewFileAsync(impl::abi_arg_in parentFolder, impl::abi_arg_in identity, impl::abi_arg_in desiredName, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsFileProtectionRequiredForNewFileAsync(*reinterpret_cast(&parentFolder), *reinterpret_cast(&identity), *reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryManagedIdentity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryManagedIdentity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPrimaryManagedIdentityForIdentity(impl::abi_arg_in identity, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPrimaryManagedIdentityForIdentity(*reinterpret_cast(&identity))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +} + +namespace Windows::Security::EnterpriseData { + +template Windows::Foundation::IAsyncOperation impl_IFileRevocationManagerStatics::ProtectAsync(const Windows::Storage::IStorageItem & storageItem, hstring_view enterpriseIdentity) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileRevocationManagerStatics)->abi_ProtectAsync(get_abi(storageItem), get_abi(enterpriseIdentity), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileRevocationManagerStatics::CopyProtectionAsync(const Windows::Storage::IStorageItem & sourceStorageItem, const Windows::Storage::IStorageItem & targetStorageItem) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileRevocationManagerStatics)->abi_CopyProtectionAsync(get_abi(sourceStorageItem), get_abi(targetStorageItem), put_abi(result))); + return result; +} + +template void impl_IFileRevocationManagerStatics::Revoke(hstring_view enterpriseIdentity) const +{ + check_hresult(WINRT_SHIM(IFileRevocationManagerStatics)->abi_Revoke(get_abi(enterpriseIdentity))); +} + +template Windows::Foundation::IAsyncOperation impl_IFileRevocationManagerStatics::GetStatusAsync(const Windows::Storage::IStorageItem & storageItem) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileRevocationManagerStatics)->abi_GetStatusAsync(get_abi(storageItem), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics::ProtectAsync(const Windows::Storage::IStorageItem & target, hstring_view identity) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics)->abi_ProtectAsync(get_abi(target), get_abi(identity), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics::CopyProtectionAsync(const Windows::Storage::IStorageItem & source, const Windows::Storage::IStorageItem & target) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics)->abi_CopyProtectionAsync(get_abi(source), get_abi(target), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics::GetProtectionInfoAsync(const Windows::Storage::IStorageItem & source) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics)->abi_GetProtectionInfoAsync(get_abi(source), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics::SaveFileAsContainerAsync(const Windows::Storage::IStorageFile & protectedFile) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics)->abi_SaveFileAsContainerAsync(get_abi(protectedFile), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics::LoadFileFromContainerAsync(const Windows::Storage::IStorageFile & containerFile) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics)->abi_LoadFileFromContainerAsync(get_abi(containerFile), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics::LoadFileFromContainerAsync(const Windows::Storage::IStorageFile & containerFile, const Windows::Storage::IStorageItem & target) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics)->abi_LoadFileFromContainerWithTargetAsync(get_abi(containerFile), get_abi(target), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics::CreateProtectedAndOpenAsync(const Windows::Storage::IStorageFolder & parentFolder, hstring_view desiredName, hstring_view identity, Windows::Storage::CreationCollisionOption collisionOption) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics)->abi_CreateProtectedAndOpenAsync(get_abi(parentFolder), get_abi(desiredName), get_abi(identity), collisionOption, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics2::IsContainerAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics2)->abi_IsContainerAsync(get_abi(file), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics2::LoadFileFromContainerAsync(const Windows::Storage::IStorageFile & containerFile, const Windows::Storage::IStorageItem & target, Windows::Storage::NameCollisionOption collisionOption) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics2)->abi_LoadFileFromContainerWithTargetAndNameCollisionOptionAsync(get_abi(containerFile), get_abi(target), collisionOption, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics2::SaveFileAsContainerAsync(const Windows::Storage::IStorageFile & protectedFile, iterable sharedWithIdentities) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics2)->abi_SaveFileAsContainerWithSharingAsync(get_abi(protectedFile), get_abi(sharedWithIdentities), put_abi(result))); + return result; +} + +template Windows::Security::EnterpriseData::FileUnprotectOptions impl_IFileUnprotectOptionsFactory::Create(bool audit) const +{ + Windows::Security::EnterpriseData::FileUnprotectOptions result { nullptr }; + check_hresult(WINRT_SHIM(IFileUnprotectOptionsFactory)->abi_Create(audit, put_abi(result))); + return result; +} + +template void impl_IFileUnprotectOptions::Audit(bool value) const +{ + check_hresult(WINRT_SHIM(IFileUnprotectOptions)->put_Audit(value)); +} + +template bool impl_IFileUnprotectOptions::Audit() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFileUnprotectOptions)->get_Audit(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics3::UnprotectAsync(const Windows::Storage::IStorageItem & target) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics3)->abi_UnprotectAsync(get_abi(target), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IFileProtectionManagerStatics3::UnprotectAsync(const Windows::Storage::IStorageItem & target, const Windows::Security::EnterpriseData::FileUnprotectOptions & options) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IFileProtectionManagerStatics3)->abi_UnprotectWithOptionsAsync(get_abi(target), get_abi(options), put_abi(result))); + return result; +} + +template Windows::Storage::StorageFile impl_IProtectedFileCreateResult::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IProtectedFileCreateResult)->get_File(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStream impl_IProtectedFileCreateResult::Stream() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(IProtectedFileCreateResult)->get_Stream(put_abi(value))); + return value; +} + +template Windows::Security::EnterpriseData::FileProtectionInfo impl_IProtectedFileCreateResult::ProtectionInfo() const +{ + Windows::Security::EnterpriseData::FileProtectionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IProtectedFileCreateResult)->get_ProtectionInfo(put_abi(value))); + return value; +} + +template Windows::Security::EnterpriseData::FileProtectionStatus impl_IFileProtectionInfo::Status() const +{ + Windows::Security::EnterpriseData::FileProtectionStatus value {}; + check_hresult(WINRT_SHIM(IFileProtectionInfo)->get_Status(&value)); + return value; +} + +template bool impl_IFileProtectionInfo::IsRoamable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFileProtectionInfo)->get_IsRoamable(&value)); + return value; +} + +template hstring impl_IFileProtectionInfo::Identity() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileProtectionInfo)->get_Identity(put_abi(value))); + return value; +} + +template Windows::Security::EnterpriseData::ProtectedImportExportStatus impl_IProtectedContainerExportResult::Status() const +{ + Windows::Security::EnterpriseData::ProtectedImportExportStatus value {}; + check_hresult(WINRT_SHIM(IProtectedContainerExportResult)->get_Status(&value)); + return value; +} + +template Windows::Storage::StorageFile impl_IProtectedContainerExportResult::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IProtectedContainerExportResult)->get_File(put_abi(value))); + return value; +} + +template Windows::Security::EnterpriseData::ProtectedImportExportStatus impl_IProtectedContainerImportResult::Status() const +{ + Windows::Security::EnterpriseData::ProtectedImportExportStatus value {}; + check_hresult(WINRT_SHIM(IProtectedContainerImportResult)->get_Status(&value)); + return value; +} + +template Windows::Storage::StorageFile impl_IProtectedContainerImportResult::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IProtectedContainerImportResult)->get_File(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionManagerStatics::ProtectAsync(const Windows::Storage::Streams::IBuffer & data, hstring_view identity) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDataProtectionManagerStatics)->abi_ProtectAsync(get_abi(data), get_abi(identity), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionManagerStatics::UnprotectAsync(const Windows::Storage::Streams::IBuffer & data) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDataProtectionManagerStatics)->abi_UnprotectAsync(get_abi(data), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionManagerStatics::ProtectStreamAsync(const Windows::Storage::Streams::IInputStream & unprotectedStream, hstring_view identity, const Windows::Storage::Streams::IOutputStream & protectedStream) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDataProtectionManagerStatics)->abi_ProtectStreamAsync(get_abi(unprotectedStream), get_abi(identity), get_abi(protectedStream), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionManagerStatics::UnprotectStreamAsync(const Windows::Storage::Streams::IInputStream & protectedStream, const Windows::Storage::Streams::IOutputStream & unprotectedStream) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDataProtectionManagerStatics)->abi_UnprotectStreamAsync(get_abi(protectedStream), get_abi(unprotectedStream), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionManagerStatics::GetProtectionInfoAsync(const Windows::Storage::Streams::IBuffer & protectedData) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDataProtectionManagerStatics)->abi_GetProtectionInfoAsync(get_abi(protectedData), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IDataProtectionManagerStatics::GetStreamProtectionInfoAsync(const Windows::Storage::Streams::IInputStream & protectedStream) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IDataProtectionManagerStatics)->abi_GetStreamProtectionInfoAsync(get_abi(protectedStream), put_abi(result))); + return result; +} + +template Windows::Security::EnterpriseData::DataProtectionStatus impl_IDataProtectionInfo::Status() const +{ + Windows::Security::EnterpriseData::DataProtectionStatus value {}; + check_hresult(WINRT_SHIM(IDataProtectionInfo)->get_Status(&value)); + return value; +} + +template hstring impl_IDataProtectionInfo::Identity() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataProtectionInfo)->get_Identity(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IBufferProtectUnprotectResult::Buffer() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IBufferProtectUnprotectResult)->get_Buffer(put_abi(value))); + return value; +} + +template Windows::Security::EnterpriseData::DataProtectionInfo impl_IBufferProtectUnprotectResult::ProtectionInfo() const +{ + Windows::Security::EnterpriseData::DataProtectionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IBufferProtectUnprotectResult)->get_ProtectionInfo(put_abi(value))); + return value; +} + +template Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo impl_IProtectionPolicyAuditInfoFactory::Create(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction action, hstring_view dataDescription, hstring_view sourceDescription, hstring_view targetDescription) const +{ + Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo result { nullptr }; + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfoFactory)->abi_Create(action, get_abi(dataDescription), get_abi(sourceDescription), get_abi(targetDescription), put_abi(result))); + return result; +} + +template Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo impl_IProtectionPolicyAuditInfoFactory::CreateWithActionAndDataDescription(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction action, hstring_view dataDescription) const +{ + Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo result { nullptr }; + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfoFactory)->abi_CreateWithActionAndDataDescription(action, get_abi(dataDescription), put_abi(result))); + return result; +} + +template void impl_IProtectionPolicyAuditInfo::Action(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction value) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->put_Action(value)); +} + +template Windows::Security::EnterpriseData::ProtectionPolicyAuditAction impl_IProtectionPolicyAuditInfo::Action() const +{ + Windows::Security::EnterpriseData::ProtectionPolicyAuditAction value {}; + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->get_Action(&value)); + return value; +} + +template void impl_IProtectionPolicyAuditInfo::DataDescription(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->put_DataDescription(get_abi(value))); +} + +template hstring impl_IProtectionPolicyAuditInfo::DataDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->get_DataDescription(put_abi(value))); + return value; +} + +template void impl_IProtectionPolicyAuditInfo::SourceDescription(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->put_SourceDescription(get_abi(value))); +} + +template hstring impl_IProtectionPolicyAuditInfo::SourceDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->get_SourceDescription(put_abi(value))); + return value; +} + +template void impl_IProtectionPolicyAuditInfo::TargetDescription(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->put_TargetDescription(get_abi(value))); +} + +template hstring impl_IProtectionPolicyAuditInfo::TargetDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProtectionPolicyAuditInfo)->get_TargetDescription(put_abi(value))); + return value; +} + +template void impl_IProtectionPolicyManager::Identity(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManager)->put_Identity(get_abi(value))); +} + +template hstring impl_IProtectionPolicyManager::Identity() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProtectionPolicyManager)->get_Identity(put_abi(value))); + return value; +} + +template void impl_IProtectionPolicyManager2::ShowEnterpriseIndicator(bool value) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManager2)->put_ShowEnterpriseIndicator(value)); +} + +template bool impl_IProtectionPolicyManager2::ShowEnterpriseIndicator() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManager2)->get_ShowEnterpriseIndicator(&value)); + return value; +} + +template bool impl_IProtectionPolicyManagerStatics::IsIdentityManaged(hstring_view identity) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_IsIdentityManaged(get_abi(identity), &result)); + return result; +} + +template bool impl_IProtectionPolicyManagerStatics::TryApplyProcessUIPolicy(hstring_view identity) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_TryApplyProcessUIPolicy(get_abi(identity), &result)); + return result; +} + +template void impl_IProtectionPolicyManagerStatics::ClearProcessUIPolicy() const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_ClearProcessUIPolicy()); +} + +template Windows::Security::EnterpriseData::ThreadNetworkContext impl_IProtectionPolicyManagerStatics::CreateCurrentThreadNetworkContext(hstring_view identity) const +{ + Windows::Security::EnterpriseData::ThreadNetworkContext result { nullptr }; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_CreateCurrentThreadNetworkContext(get_abi(identity), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics::GetPrimaryManagedIdentityForNetworkEndpointAsync(const Windows::Networking::HostName & endpointHost) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_GetPrimaryManagedIdentityForNetworkEndpointAsync(get_abi(endpointHost), put_abi(result))); + return result; +} + +template void impl_IProtectionPolicyManagerStatics::RevokeContent(hstring_view identity) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_RevokeContent(get_abi(identity))); +} + +template Windows::Security::EnterpriseData::ProtectionPolicyManager impl_IProtectionPolicyManagerStatics::GetForCurrentView() const +{ + Windows::Security::EnterpriseData::ProtectionPolicyManager result { nullptr }; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_GetForCurrentView(put_abi(result))); + return result; +} + +template event_token impl_IProtectionPolicyManagerStatics::ProtectedAccessSuspending(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->add_ProtectedAccessSuspending(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IProtectionPolicyManagerStatics::ProtectedAccessSuspending(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics::remove_ProtectedAccessSuspending, ProtectedAccessSuspending(handler)); +} + +template void impl_IProtectionPolicyManagerStatics::ProtectedAccessSuspending(event_token token) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->remove_ProtectedAccessSuspending(token)); +} + +template event_token impl_IProtectionPolicyManagerStatics::ProtectedAccessResumed(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->add_ProtectedAccessResumed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IProtectionPolicyManagerStatics::ProtectedAccessResumed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics::remove_ProtectedAccessResumed, ProtectedAccessResumed(handler)); +} + +template void impl_IProtectionPolicyManagerStatics::ProtectedAccessResumed(event_token token) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->remove_ProtectedAccessResumed(token)); +} + +template event_token impl_IProtectionPolicyManagerStatics::ProtectedContentRevoked(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->add_ProtectedContentRevoked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IProtectionPolicyManagerStatics::ProtectedContentRevoked(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics::remove_ProtectedContentRevoked, ProtectedContentRevoked(handler)); +} + +template void impl_IProtectionPolicyManagerStatics::ProtectedContentRevoked(event_token token) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->remove_ProtectedContentRevoked(token)); +} + +template Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult impl_IProtectionPolicyManagerStatics::CheckAccess(hstring_view sourceIdentity, hstring_view targetIdentity) const +{ + Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult result {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_CheckAccess(get_abi(sourceIdentity), get_abi(targetIdentity), &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics)->abi_RequestAccessAsync(get_abi(sourceIdentity), get_abi(targetIdentity), put_abi(result))); + return result; +} + +template bool impl_IProtectionPolicyManagerStatics2::HasContentBeenRevokedSince(hstring_view identity, const Windows::Foundation::DateTime & since) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->abi_HasContentBeenRevokedSince(get_abi(identity), get_abi(since), &result)); + return result; +} + +template Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult impl_IProtectionPolicyManagerStatics2::CheckAccessForApp(hstring_view sourceIdentity, hstring_view appPackageFamilyName) const +{ + Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult result {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->abi_CheckAccessForApp(get_abi(sourceIdentity), get_abi(appPackageFamilyName), &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics2::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->abi_RequestAccessForAppAsync(get_abi(sourceIdentity), get_abi(appPackageFamilyName), put_abi(result))); + return result; +} + +template Windows::Security::EnterpriseData::EnforcementLevel impl_IProtectionPolicyManagerStatics2::GetEnforcementLevel(hstring_view identity) const +{ + Windows::Security::EnterpriseData::EnforcementLevel value {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->abi_GetEnforcementLevel(get_abi(identity), &value)); + return value; +} + +template bool impl_IProtectionPolicyManagerStatics2::IsUserDecryptionAllowed(hstring_view identity) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->abi_IsUserDecryptionAllowed(get_abi(identity), &value)); + return value; +} + +template bool impl_IProtectionPolicyManagerStatics2::IsProtectionUnderLockRequired(hstring_view identity) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->abi_IsProtectionUnderLockRequired(get_abi(identity), &value)); + return value; +} + +template event_token impl_IProtectionPolicyManagerStatics2::PolicyChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->add_PolicyChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IProtectionPolicyManagerStatics2::PolicyChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics2::remove_PolicyChanged, PolicyChanged(handler)); +} + +template void impl_IProtectionPolicyManagerStatics2::PolicyChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->remove_PolicyChanged(token)); +} + +template bool impl_IProtectionPolicyManagerStatics2::IsProtectionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics2)->get_IsProtectionEnabled(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics3::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics3)->abi_RequestAccessWithAuditingInfoAsync(get_abi(sourceIdentity), get_abi(targetIdentity), get_abi(auditInfo), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics3::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics3)->abi_RequestAccessWithMessageAsync(get_abi(sourceIdentity), get_abi(targetIdentity), get_abi(auditInfo), get_abi(messageFromApp), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics3::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics3)->abi_RequestAccessForAppWithAuditingInfoAsync(get_abi(sourceIdentity), get_abi(appPackageFamilyName), get_abi(auditInfo), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics3::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics3)->abi_RequestAccessForAppWithMessageAsync(get_abi(sourceIdentity), get_abi(appPackageFamilyName), get_abi(auditInfo), get_abi(messageFromApp), put_abi(result))); + return result; +} + +template void impl_IProtectionPolicyManagerStatics3::LogAuditEvent(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) const +{ + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics3)->abi_LogAuditEvent(get_abi(sourceIdentity), get_abi(targetIdentity), get_abi(auditInfo))); +} + +template bool impl_IProtectionPolicyManagerStatics4::IsRoamableProtectionEnabled(hstring_view identity) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_IsRoamableProtectionEnabled(get_abi(identity), &value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_RequestAccessWithBehaviorAsync(get_abi(sourceIdentity), get_abi(targetIdentity), get_abi(auditInfo), get_abi(messageFromApp), behavior, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_RequestAccessForAppWithBehaviorAsync(get_abi(sourceIdentity), get_abi(appPackageFamilyName), get_abi(auditInfo), get_abi(messageFromApp), behavior, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::RequestAccessToFilesForAppAsync(iterable sourceItemList, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_RequestAccessToFilesForAppAsync(get_abi(sourceItemList), get_abi(appPackageFamilyName), get_abi(auditInfo), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::RequestAccessToFilesForAppAsync(iterable sourceItemList, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_RequestAccessToFilesForAppWithMessageAndBehaviorAsync(get_abi(sourceItemList), get_abi(appPackageFamilyName), get_abi(auditInfo), get_abi(messageFromApp), behavior, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::RequestAccessToFilesForProcessAsync(iterable sourceItemList, uint32_t processId, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_RequestAccessToFilesForProcessAsync(get_abi(sourceItemList), processId, get_abi(auditInfo), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::RequestAccessToFilesForProcessAsync(iterable sourceItemList, uint32_t processId, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_RequestAccessToFilesForProcessWithMessageAndBehaviorAsync(get_abi(sourceItemList), processId, get_abi(auditInfo), get_abi(messageFromApp), behavior, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::IsFileProtectionRequiredAsync(const Windows::Storage::IStorageItem & target, hstring_view identity) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_IsFileProtectionRequiredAsync(get_abi(target), get_abi(identity), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IProtectionPolicyManagerStatics4::IsFileProtectionRequiredForNewFileAsync(const Windows::Storage::IStorageFolder & parentFolder, hstring_view identity, hstring_view desiredName) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_IsFileProtectionRequiredForNewFileAsync(get_abi(parentFolder), get_abi(identity), get_abi(desiredName), put_abi(result))); + return result; +} + +template hstring impl_IProtectionPolicyManagerStatics4::PrimaryManagedIdentity() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->get_PrimaryManagedIdentity(put_abi(value))); + return value; +} + +template hstring impl_IProtectionPolicyManagerStatics4::GetPrimaryManagedIdentityForIdentity(hstring_view identity) const +{ + hstring value; + check_hresult(WINRT_SHIM(IProtectionPolicyManagerStatics4)->abi_GetPrimaryManagedIdentityForIdentity(get_abi(identity), put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IProtectedAccessSuspendingEventArgs::Identities() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IProtectedAccessSuspendingEventArgs)->get_Identities(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IProtectedAccessSuspendingEventArgs::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IProtectedAccessSuspendingEventArgs)->get_Deadline(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IProtectedAccessSuspendingEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(IProtectedAccessSuspendingEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IProtectedAccessResumedEventArgs::Identities() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IProtectedAccessResumedEventArgs)->get_Identities(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IProtectedContentRevokedEventArgs::Identities() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IProtectedContentRevokedEventArgs)->get_Identities(put_abi(value))); + return value; +} + +inline Windows::Foundation::IAsyncOperation DataProtectionManager::ProtectAsync(const Windows::Storage::Streams::IBuffer & data, hstring_view identity) +{ + return get_activation_factory().ProtectAsync(data, identity); +} + +inline Windows::Foundation::IAsyncOperation DataProtectionManager::UnprotectAsync(const Windows::Storage::Streams::IBuffer & data) +{ + return get_activation_factory().UnprotectAsync(data); +} + +inline Windows::Foundation::IAsyncOperation DataProtectionManager::ProtectStreamAsync(const Windows::Storage::Streams::IInputStream & unprotectedStream, hstring_view identity, const Windows::Storage::Streams::IOutputStream & protectedStream) +{ + return get_activation_factory().ProtectStreamAsync(unprotectedStream, identity, protectedStream); +} + +inline Windows::Foundation::IAsyncOperation DataProtectionManager::UnprotectStreamAsync(const Windows::Storage::Streams::IInputStream & protectedStream, const Windows::Storage::Streams::IOutputStream & unprotectedStream) +{ + return get_activation_factory().UnprotectStreamAsync(protectedStream, unprotectedStream); +} + +inline Windows::Foundation::IAsyncOperation DataProtectionManager::GetProtectionInfoAsync(const Windows::Storage::Streams::IBuffer & protectedData) +{ + return get_activation_factory().GetProtectionInfoAsync(protectedData); +} + +inline Windows::Foundation::IAsyncOperation DataProtectionManager::GetStreamProtectionInfoAsync(const Windows::Storage::Streams::IInputStream & protectedStream) +{ + return get_activation_factory().GetStreamProtectionInfoAsync(protectedStream); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::ProtectAsync(const Windows::Storage::IStorageItem & target, hstring_view identity) +{ + return get_activation_factory().ProtectAsync(target, identity); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::CopyProtectionAsync(const Windows::Storage::IStorageItem & source, const Windows::Storage::IStorageItem & target) +{ + return get_activation_factory().CopyProtectionAsync(source, target); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::GetProtectionInfoAsync(const Windows::Storage::IStorageItem & source) +{ + return get_activation_factory().GetProtectionInfoAsync(source); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::SaveFileAsContainerAsync(const Windows::Storage::IStorageFile & protectedFile) +{ + return get_activation_factory().SaveFileAsContainerAsync(protectedFile); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::LoadFileFromContainerAsync(const Windows::Storage::IStorageFile & containerFile) +{ + return get_activation_factory().LoadFileFromContainerAsync(containerFile); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::LoadFileFromContainerAsync(const Windows::Storage::IStorageFile & containerFile, const Windows::Storage::IStorageItem & target) +{ + return get_activation_factory().LoadFileFromContainerAsync(containerFile, target); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::CreateProtectedAndOpenAsync(const Windows::Storage::IStorageFolder & parentFolder, hstring_view desiredName, hstring_view identity, Windows::Storage::CreationCollisionOption collisionOption) +{ + return get_activation_factory().CreateProtectedAndOpenAsync(parentFolder, desiredName, identity, collisionOption); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::IsContainerAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().IsContainerAsync(file); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::LoadFileFromContainerAsync(const Windows::Storage::IStorageFile & containerFile, const Windows::Storage::IStorageItem & target, Windows::Storage::NameCollisionOption collisionOption) +{ + return get_activation_factory().LoadFileFromContainerAsync(containerFile, target, collisionOption); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::SaveFileAsContainerAsync(const Windows::Storage::IStorageFile & protectedFile, iterable sharedWithIdentities) +{ + return get_activation_factory().SaveFileAsContainerAsync(protectedFile, sharedWithIdentities); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::UnprotectAsync(const Windows::Storage::IStorageItem & target) +{ + return get_activation_factory().UnprotectAsync(target); +} + +inline Windows::Foundation::IAsyncOperation FileProtectionManager::UnprotectAsync(const Windows::Storage::IStorageItem & target, const Windows::Security::EnterpriseData::FileUnprotectOptions & options) +{ + return get_activation_factory().UnprotectAsync(target, options); +} + +inline Windows::Foundation::IAsyncOperation FileRevocationManager::ProtectAsync(const Windows::Storage::IStorageItem & storageItem, hstring_view enterpriseIdentity) +{ + return get_activation_factory().ProtectAsync(storageItem, enterpriseIdentity); +} + +inline Windows::Foundation::IAsyncOperation FileRevocationManager::CopyProtectionAsync(const Windows::Storage::IStorageItem & sourceStorageItem, const Windows::Storage::IStorageItem & targetStorageItem) +{ + return get_activation_factory().CopyProtectionAsync(sourceStorageItem, targetStorageItem); +} + +inline void FileRevocationManager::Revoke(hstring_view enterpriseIdentity) +{ + get_activation_factory().Revoke(enterpriseIdentity); +} + +inline Windows::Foundation::IAsyncOperation FileRevocationManager::GetStatusAsync(const Windows::Storage::IStorageItem & storageItem) +{ + return get_activation_factory().GetStatusAsync(storageItem); +} + +inline FileUnprotectOptions::FileUnprotectOptions(bool audit) : + FileUnprotectOptions(get_activation_factory().Create(audit)) +{} + +inline ProtectionPolicyAuditInfo::ProtectionPolicyAuditInfo(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction action, hstring_view dataDescription, hstring_view sourceDescription, hstring_view targetDescription) : + ProtectionPolicyAuditInfo(get_activation_factory().Create(action, dataDescription, sourceDescription, targetDescription)) +{} + +inline ProtectionPolicyAuditInfo::ProtectionPolicyAuditInfo(Windows::Security::EnterpriseData::ProtectionPolicyAuditAction action, hstring_view dataDescription) : + ProtectionPolicyAuditInfo(get_activation_factory().CreateWithActionAndDataDescription(action, dataDescription)) +{} + +inline bool ProtectionPolicyManager::IsIdentityManaged(hstring_view identity) +{ + return get_activation_factory().IsIdentityManaged(identity); +} + +inline bool ProtectionPolicyManager::TryApplyProcessUIPolicy(hstring_view identity) +{ + return get_activation_factory().TryApplyProcessUIPolicy(identity); +} + +inline void ProtectionPolicyManager::ClearProcessUIPolicy() +{ + get_activation_factory().ClearProcessUIPolicy(); +} + +inline Windows::Security::EnterpriseData::ThreadNetworkContext ProtectionPolicyManager::CreateCurrentThreadNetworkContext(hstring_view identity) +{ + return get_activation_factory().CreateCurrentThreadNetworkContext(identity); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::GetPrimaryManagedIdentityForNetworkEndpointAsync(const Windows::Networking::HostName & endpointHost) +{ + return get_activation_factory().GetPrimaryManagedIdentityForNetworkEndpointAsync(endpointHost); +} + +inline void ProtectionPolicyManager::RevokeContent(hstring_view identity) +{ + get_activation_factory().RevokeContent(identity); +} + +inline Windows::Security::EnterpriseData::ProtectionPolicyManager ProtectionPolicyManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline event_token ProtectionPolicyManager::ProtectedAccessSuspending(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().ProtectedAccessSuspending(handler); +} + +inline factory_event_revoker ProtectionPolicyManager::ProtectedAccessSuspending(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics::remove_ProtectedAccessSuspending, factory.ProtectedAccessSuspending(handler) }; +} + +inline void ProtectionPolicyManager::ProtectedAccessSuspending(event_token token) +{ + get_activation_factory().ProtectedAccessSuspending(token); +} + +inline event_token ProtectionPolicyManager::ProtectedAccessResumed(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().ProtectedAccessResumed(handler); +} + +inline factory_event_revoker ProtectionPolicyManager::ProtectedAccessResumed(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics::remove_ProtectedAccessResumed, factory.ProtectedAccessResumed(handler) }; +} + +inline void ProtectionPolicyManager::ProtectedAccessResumed(event_token token) +{ + get_activation_factory().ProtectedAccessResumed(token); +} + +inline event_token ProtectionPolicyManager::ProtectedContentRevoked(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().ProtectedContentRevoked(handler); +} + +inline factory_event_revoker ProtectionPolicyManager::ProtectedContentRevoked(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics::remove_ProtectedContentRevoked, factory.ProtectedContentRevoked(handler) }; +} + +inline void ProtectionPolicyManager::ProtectedContentRevoked(event_token token) +{ + get_activation_factory().ProtectedContentRevoked(token); +} + +inline Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult ProtectionPolicyManager::CheckAccess(hstring_view sourceIdentity, hstring_view targetIdentity) +{ + return get_activation_factory().CheckAccess(sourceIdentity, targetIdentity); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity) +{ + return get_activation_factory().RequestAccessAsync(sourceIdentity, targetIdentity); +} + +inline bool ProtectionPolicyManager::HasContentBeenRevokedSince(hstring_view identity, const Windows::Foundation::DateTime & since) +{ + return get_activation_factory().HasContentBeenRevokedSince(identity, since); +} + +inline Windows::Security::EnterpriseData::ProtectionPolicyEvaluationResult ProtectionPolicyManager::CheckAccessForApp(hstring_view sourceIdentity, hstring_view appPackageFamilyName) +{ + return get_activation_factory().CheckAccessForApp(sourceIdentity, appPackageFamilyName); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName) +{ + return get_activation_factory().RequestAccessForAppAsync(sourceIdentity, appPackageFamilyName); +} + +inline Windows::Security::EnterpriseData::EnforcementLevel ProtectionPolicyManager::GetEnforcementLevel(hstring_view identity) +{ + return get_activation_factory().GetEnforcementLevel(identity); +} + +inline bool ProtectionPolicyManager::IsUserDecryptionAllowed(hstring_view identity) +{ + return get_activation_factory().IsUserDecryptionAllowed(identity); +} + +inline bool ProtectionPolicyManager::IsProtectionUnderLockRequired(hstring_view identity) +{ + return get_activation_factory().IsProtectionUnderLockRequired(identity); +} + +inline event_token ProtectionPolicyManager::PolicyChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().PolicyChanged(handler); +} + +inline factory_event_revoker ProtectionPolicyManager::PolicyChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics2::remove_PolicyChanged, factory.PolicyChanged(handler) }; +} + +inline void ProtectionPolicyManager::PolicyChanged(event_token token) +{ + get_activation_factory().PolicyChanged(token); +} + +inline bool ProtectionPolicyManager::IsProtectionEnabled() +{ + return get_activation_factory().IsProtectionEnabled(); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) +{ + return get_activation_factory().RequestAccessAsync(sourceIdentity, targetIdentity, auditInfo); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp) +{ + return get_activation_factory().RequestAccessAsync(sourceIdentity, targetIdentity, auditInfo, messageFromApp); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) +{ + return get_activation_factory().RequestAccessForAppAsync(sourceIdentity, appPackageFamilyName, auditInfo); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp) +{ + return get_activation_factory().RequestAccessForAppAsync(sourceIdentity, appPackageFamilyName, auditInfo, messageFromApp); +} + +inline void ProtectionPolicyManager::LogAuditEvent(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) +{ + get_activation_factory().LogAuditEvent(sourceIdentity, targetIdentity, auditInfo); +} + +inline bool ProtectionPolicyManager::IsRoamableProtectionEnabled(hstring_view identity) +{ + return get_activation_factory().IsRoamableProtectionEnabled(identity); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessAsync(hstring_view sourceIdentity, hstring_view targetIdentity, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) +{ + return get_activation_factory().RequestAccessAsync(sourceIdentity, targetIdentity, auditInfo, messageFromApp, behavior); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessForAppAsync(hstring_view sourceIdentity, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) +{ + return get_activation_factory().RequestAccessForAppAsync(sourceIdentity, appPackageFamilyName, auditInfo, messageFromApp, behavior); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessToFilesForAppAsync(iterable sourceItemList, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) +{ + return get_activation_factory().RequestAccessToFilesForAppAsync(sourceItemList, appPackageFamilyName, auditInfo); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessToFilesForAppAsync(iterable sourceItemList, hstring_view appPackageFamilyName, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) +{ + return get_activation_factory().RequestAccessToFilesForAppAsync(sourceItemList, appPackageFamilyName, auditInfo, messageFromApp, behavior); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessToFilesForProcessAsync(iterable sourceItemList, uint32_t processId, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo) +{ + return get_activation_factory().RequestAccessToFilesForProcessAsync(sourceItemList, processId, auditInfo); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::RequestAccessToFilesForProcessAsync(iterable sourceItemList, uint32_t processId, const Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & auditInfo, hstring_view messageFromApp, Windows::Security::EnterpriseData::ProtectionPolicyRequestAccessBehavior behavior) +{ + return get_activation_factory().RequestAccessToFilesForProcessAsync(sourceItemList, processId, auditInfo, messageFromApp, behavior); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::IsFileProtectionRequiredAsync(const Windows::Storage::IStorageItem & target, hstring_view identity) +{ + return get_activation_factory().IsFileProtectionRequiredAsync(target, identity); +} + +inline Windows::Foundation::IAsyncOperation ProtectionPolicyManager::IsFileProtectionRequiredForNewFileAsync(const Windows::Storage::IStorageFolder & parentFolder, hstring_view identity, hstring_view desiredName) +{ + return get_activation_factory().IsFileProtectionRequiredForNewFileAsync(parentFolder, identity, desiredName); +} + +inline hstring ProtectionPolicyManager::PrimaryManagedIdentity() +{ + return get_activation_factory().PrimaryManagedIdentity(); +} + +inline hstring ProtectionPolicyManager::GetPrimaryManagedIdentityForIdentity(hstring_view identity) +{ + return get_activation_factory().GetPrimaryManagedIdentityForIdentity(identity); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IBufferProtectUnprotectResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IDataProtectionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IDataProtectionManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IFileProtectionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IFileProtectionManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IFileProtectionManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IFileProtectionManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IFileRevocationManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IFileUnprotectOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IFileUnprotectOptionsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectedAccessResumedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectedAccessSuspendingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectedContainerExportResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectedContainerImportResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectedContentRevokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectedFileCreateResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyAuditInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyAuditInfoFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IProtectionPolicyManagerStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::IThreadNetworkContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::BufferProtectUnprotectResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::DataProtectionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::FileProtectionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::FileUnprotectOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectedAccessResumedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectedAccessSuspendingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectedContainerExportResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectedContainerImportResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectedContentRevokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectedFileCreateResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectionPolicyAuditInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ProtectionPolicyManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::EnterpriseData::ThreadNetworkContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Security.ExchangeActiveSyncProvisioning.h b/10.0.15042.0/winrt/Windows.Security.ExchangeActiveSyncProvisioning.h new file mode 100644 index 000000000..4ed684037 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Security.ExchangeActiveSyncProvisioning.h @@ -0,0 +1,873 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Security.ExchangeActiveSyncProvisioning.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OperatingSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OperatingSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FriendlyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FriendlyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemManufacturer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemManufacturer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemProductName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemProductName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemSku(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemSku()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SystemHardwareVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemHardwareVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemFirmwareVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemFirmwareVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequireEncryption(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequireEncryption()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequireEncryption(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequireEncryption(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinPasswordLength(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinPasswordLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinPasswordLength(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinPasswordLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisallowConvenienceLogon(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisallowConvenienceLogon()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisallowConvenienceLogon(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisallowConvenienceLogon(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinPasswordComplexCharacters(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinPasswordComplexCharacters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinPasswordComplexCharacters(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinPasswordComplexCharacters(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PasswordExpiration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordExpiration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PasswordExpiration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PasswordExpiration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PasswordHistory(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordHistory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PasswordHistory(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PasswordHistory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPasswordFailedAttempts(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPasswordFailedAttempts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxPasswordFailedAttempts(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPasswordFailedAttempts(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxInactivityTimeLock(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxInactivityTimeLock()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxInactivityTimeLock(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxInactivityTimeLock(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckCompliance(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CheckCompliance()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ApplyAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Compliant(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Compliant()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequireEncryptionResult(Windows::Security::ExchangeActiveSyncProvisioning::EasRequireEncryptionResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequireEncryptionResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinPasswordLengthResult(Windows::Security::ExchangeActiveSyncProvisioning::EasMinPasswordLengthResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinPasswordLengthResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisallowConvenienceLogonResult(Windows::Security::ExchangeActiveSyncProvisioning::EasDisallowConvenienceLogonResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisallowConvenienceLogonResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinPasswordComplexCharactersResult(Windows::Security::ExchangeActiveSyncProvisioning::EasMinPasswordComplexCharactersResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinPasswordComplexCharactersResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PasswordExpirationResult(Windows::Security::ExchangeActiveSyncProvisioning::EasPasswordExpirationResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordExpirationResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PasswordHistoryResult(Windows::Security::ExchangeActiveSyncProvisioning::EasPasswordHistoryResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordHistoryResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPasswordFailedAttemptsResult(Windows::Security::ExchangeActiveSyncProvisioning::EasMaxPasswordFailedAttemptsResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPasswordFailedAttemptsResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxInactivityTimeLockResult(Windows::Security::ExchangeActiveSyncProvisioning::EasMaxInactivityTimeLockResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxInactivityTimeLockResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncryptionProviderType(Windows::Security::ExchangeActiveSyncProvisioning::EasEncryptionProviderType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncryptionProviderType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Security::ExchangeActiveSyncProvisioning { + +template GUID impl_IEasClientDeviceInformation::Id() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation)->get_Id(&value)); + return value; +} + +template hstring impl_IEasClientDeviceInformation::OperatingSystem() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation)->get_OperatingSystem(put_abi(value))); + return value; +} + +template hstring impl_IEasClientDeviceInformation::FriendlyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation)->get_FriendlyName(put_abi(value))); + return value; +} + +template hstring impl_IEasClientDeviceInformation::SystemManufacturer() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation)->get_SystemManufacturer(put_abi(value))); + return value; +} + +template hstring impl_IEasClientDeviceInformation::SystemProductName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation)->get_SystemProductName(put_abi(value))); + return value; +} + +template hstring impl_IEasClientDeviceInformation::SystemSku() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation)->get_SystemSku(put_abi(value))); + return value; +} + +template hstring impl_IEasClientDeviceInformation2::SystemHardwareVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation2)->get_SystemHardwareVersion(put_abi(value))); + return value; +} + +template hstring impl_IEasClientDeviceInformation2::SystemFirmwareVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IEasClientDeviceInformation2)->get_SystemFirmwareVersion(put_abi(value))); + return value; +} + +template bool impl_IEasClientSecurityPolicy::RequireEncryption() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_RequireEncryption(&value)); + return value; +} + +template void impl_IEasClientSecurityPolicy::RequireEncryption(bool value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_RequireEncryption(value)); +} + +template uint8_t impl_IEasClientSecurityPolicy::MinPasswordLength() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_MinPasswordLength(&value)); + return value; +} + +template void impl_IEasClientSecurityPolicy::MinPasswordLength(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_MinPasswordLength(value)); +} + +template bool impl_IEasClientSecurityPolicy::DisallowConvenienceLogon() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_DisallowConvenienceLogon(&value)); + return value; +} + +template void impl_IEasClientSecurityPolicy::DisallowConvenienceLogon(bool value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_DisallowConvenienceLogon(value)); +} + +template uint8_t impl_IEasClientSecurityPolicy::MinPasswordComplexCharacters() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_MinPasswordComplexCharacters(&value)); + return value; +} + +template void impl_IEasClientSecurityPolicy::MinPasswordComplexCharacters(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_MinPasswordComplexCharacters(value)); +} + +template Windows::Foundation::TimeSpan impl_IEasClientSecurityPolicy::PasswordExpiration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_PasswordExpiration(put_abi(value))); + return value; +} + +template void impl_IEasClientSecurityPolicy::PasswordExpiration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_PasswordExpiration(get_abi(value))); +} + +template uint32_t impl_IEasClientSecurityPolicy::PasswordHistory() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_PasswordHistory(&value)); + return value; +} + +template void impl_IEasClientSecurityPolicy::PasswordHistory(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_PasswordHistory(value)); +} + +template uint8_t impl_IEasClientSecurityPolicy::MaxPasswordFailedAttempts() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_MaxPasswordFailedAttempts(&value)); + return value; +} + +template void impl_IEasClientSecurityPolicy::MaxPasswordFailedAttempts(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_MaxPasswordFailedAttempts(value)); +} + +template Windows::Foundation::TimeSpan impl_IEasClientSecurityPolicy::MaxInactivityTimeLock() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->get_MaxInactivityTimeLock(put_abi(value))); + return value; +} + +template void impl_IEasClientSecurityPolicy::MaxInactivityTimeLock(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->put_MaxInactivityTimeLock(get_abi(value))); +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasComplianceResults impl_IEasClientSecurityPolicy::CheckCompliance() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasComplianceResults result { nullptr }; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->abi_CheckCompliance(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IEasClientSecurityPolicy::ApplyAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IEasClientSecurityPolicy)->abi_ApplyAsync(put_abi(operation))); + return operation; +} + +template bool impl_IEasComplianceResults::Compliant() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_Compliant(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasRequireEncryptionResult impl_IEasComplianceResults::RequireEncryptionResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasRequireEncryptionResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_RequireEncryptionResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasMinPasswordLengthResult impl_IEasComplianceResults::MinPasswordLengthResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasMinPasswordLengthResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_MinPasswordLengthResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasDisallowConvenienceLogonResult impl_IEasComplianceResults::DisallowConvenienceLogonResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasDisallowConvenienceLogonResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_DisallowConvenienceLogonResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasMinPasswordComplexCharactersResult impl_IEasComplianceResults::MinPasswordComplexCharactersResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasMinPasswordComplexCharactersResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_MinPasswordComplexCharactersResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasPasswordExpirationResult impl_IEasComplianceResults::PasswordExpirationResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasPasswordExpirationResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_PasswordExpirationResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasPasswordHistoryResult impl_IEasComplianceResults::PasswordHistoryResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasPasswordHistoryResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_PasswordHistoryResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasMaxPasswordFailedAttemptsResult impl_IEasComplianceResults::MaxPasswordFailedAttemptsResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasMaxPasswordFailedAttemptsResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_MaxPasswordFailedAttemptsResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasMaxInactivityTimeLockResult impl_IEasComplianceResults::MaxInactivityTimeLockResult() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasMaxInactivityTimeLockResult value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults)->get_MaxInactivityTimeLockResult(&value)); + return value; +} + +template Windows::Security::ExchangeActiveSyncProvisioning::EasEncryptionProviderType impl_IEasComplianceResults2::EncryptionProviderType() const +{ + Windows::Security::ExchangeActiveSyncProvisioning::EasEncryptionProviderType value {}; + check_hresult(WINRT_SHIM(IEasComplianceResults2)->get_EncryptionProviderType(&value)); + return value; +} + +inline EasClientDeviceInformation::EasClientDeviceInformation() : + EasClientDeviceInformation(activate_instance()) +{} + +inline EasClientSecurityPolicy::EasClientSecurityPolicy() : + EasClientSecurityPolicy(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::IEasClientDeviceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::IEasClientDeviceInformation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::IEasClientSecurityPolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::IEasComplianceResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::IEasComplianceResults2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::EasClientDeviceInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::EasClientSecurityPolicy & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Security::ExchangeActiveSyncProvisioning::EasComplianceResults & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Services.Cortana.h b/10.0.15042.0/winrt/Windows.Services.Cortana.h new file mode 100644 index 000000000..49a5eaf20 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Services.Cortana.h @@ -0,0 +1,323 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Services.Cortana.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ArePermissionsGrantedAsync(impl::abi_arg_in> permissions, impl::abi_arg_out> getGrantedPermissionsOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *getGrantedPermissionsOperation = detach_abi(this->shim().ArePermissionsGrantedAsync(*reinterpret_cast *>(&permissions))); + return S_OK; + } + catch (...) + { + *getGrantedPermissionsOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GrantPermissionsAsync(impl::abi_arg_in> permissions, impl::abi_arg_out> grantOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *grantOperation = detach_abi(this->shim().GrantPermissionsAsync(*reinterpret_cast *>(&permissions))); + return S_OK; + } + catch (...) + { + *grantOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RevokePermissionsAsync(impl::abi_arg_in> permissions, impl::abi_arg_out> revokeOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *revokeOperation = detach_abi(this->shim().RevokePermissionsAsync(*reinterpret_cast *>(&permissions))); + return S_OK; + } + catch (...) + { + *revokeOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasUserConsentToVoiceActivation(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasUserConsentToVoiceActivation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVoiceActivationEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVoiceActivationEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVoiceActivationEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVoiceActivationEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Services::Cortana { + +template bool impl_ICortanaPermissionsManager::IsSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(ICortanaPermissionsManager)->abi_IsSupported(&result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_ICortanaPermissionsManager::ArePermissionsGrantedAsync(iterable permissions) const +{ + Windows::Foundation::IAsyncOperation getGrantedPermissionsOperation; + check_hresult(WINRT_SHIM(ICortanaPermissionsManager)->abi_ArePermissionsGrantedAsync(get_abi(permissions), put_abi(getGrantedPermissionsOperation))); + return getGrantedPermissionsOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICortanaPermissionsManager::GrantPermissionsAsync(iterable permissions) const +{ + Windows::Foundation::IAsyncOperation grantOperation; + check_hresult(WINRT_SHIM(ICortanaPermissionsManager)->abi_GrantPermissionsAsync(get_abi(permissions), put_abi(grantOperation))); + return grantOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICortanaPermissionsManager::RevokePermissionsAsync(iterable permissions) const +{ + Windows::Foundation::IAsyncOperation revokeOperation; + check_hresult(WINRT_SHIM(ICortanaPermissionsManager)->abi_RevokePermissionsAsync(get_abi(permissions), put_abi(revokeOperation))); + return revokeOperation; +} + +template Windows::Services::Cortana::CortanaPermissionsManager impl_ICortanaPermissionsManagerStatics::GetDefault() const +{ + Windows::Services::Cortana::CortanaPermissionsManager result { nullptr }; + check_hresult(WINRT_SHIM(ICortanaPermissionsManagerStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template bool impl_ICortanaSettings::HasUserConsentToVoiceActivation() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICortanaSettings)->get_HasUserConsentToVoiceActivation(&value)); + return value; +} + +template bool impl_ICortanaSettings::IsVoiceActivationEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICortanaSettings)->get_IsVoiceActivationEnabled(&value)); + return value; +} + +template void impl_ICortanaSettings::IsVoiceActivationEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ICortanaSettings)->put_IsVoiceActivationEnabled(value)); +} + +template bool impl_ICortanaSettingsStatics::IsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICortanaSettingsStatics)->abi_IsSupported(&value)); + return value; +} + +template Windows::Services::Cortana::CortanaSettings impl_ICortanaSettingsStatics::GetDefault() const +{ + Windows::Services::Cortana::CortanaSettings result { nullptr }; + check_hresult(WINRT_SHIM(ICortanaSettingsStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +inline Windows::Services::Cortana::CortanaPermissionsManager CortanaPermissionsManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline bool CortanaSettings::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline Windows::Services::Cortana::CortanaSettings CortanaSettings::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Cortana::ICortanaPermissionsManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Cortana::ICortanaPermissionsManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Cortana::ICortanaSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Cortana::ICortanaSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Cortana::CortanaPermissionsManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Cortana::CortanaSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Services.Maps.Guidance.h b/10.0.15042.0/winrt/Windows.Services.Maps.Guidance.h new file mode 100644 index 000000000..bca549009 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Services.Maps.Guidance.h @@ -0,0 +1,2526 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Services.Maps.3.h" +#include "internal/Windows.Services.Maps.Guidance.3.h" +#include "Windows.Services.Maps.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AudioNotification(Windows::Services::Maps::Guidance::GuidanceAudioNotificationKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioNotification()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioFilePaths(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioFilePaths()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LaneMarkers(Windows::Services::Maps::Guidance::GuidanceLaneMarkers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LaneMarkers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOnRoute(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOnRoute()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartLocation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartLocation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DistanceFromRouteStart(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DistanceFromRouteStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DistanceFromPreviousManeuver(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DistanceFromPreviousManeuver()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DepartureRoadName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DepartureRoadName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextRoadName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextRoadName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DepartureShortRoadName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DepartureShortRoadName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextShortRoadName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextShortRoadName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Services::Maps::Guidance::GuidanceManeuverKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartAngle(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndAngle(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoadSignpost(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoadSignpost()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstructionText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstructionText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentHeading(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentHeading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentSpeed(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentSpeed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOnStreet(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOnStreet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Road(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Road()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartNavigating(impl::abi_arg_in route) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartNavigating(*reinterpret_cast(&route)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartSimulating(impl::abi_arg_in route, int32_t speedInMetersPerSecond) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartSimulating(*reinterpret_cast(&route), speedInMetersPerSecond); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartTracking() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartTracking(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resume() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resume(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RepeatLastAudioNotification() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RepeatLastAudioNotification(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioMeasurementSystem(Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioMeasurementSystem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioMeasurementSystem(Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioMeasurementSystem(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioNotifications(Windows::Services::Maps::Guidance::GuidanceAudioNotifications * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioNotifications()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioNotifications(Windows::Services::Maps::Guidance::GuidanceAudioNotifications value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioNotifications(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GuidanceUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().GuidanceUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GuidanceUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GuidanceUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DestinationReached(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DestinationReached(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DestinationReached(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DestinationReached(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Rerouting(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Rerouting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Rerouting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rerouting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Rerouted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Rerouted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Rerouted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rerouted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RerouteFailed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RerouteFailed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RerouteFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RerouteFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UserLocationLost(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UserLocationLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UserLocationLost(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserLocationLost(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UserLocationRestored(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UserLocationRestored(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UserLocationRestored(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserLocationRestored(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetGuidanceVoice(int32_t voiceId, impl::abi_arg_in voiceFolder) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetGuidanceVoice(voiceId, *reinterpret_cast(&voiceFolder)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateUserLocation(impl::abi_arg_in userLocation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateUserLocation(*reinterpret_cast(&userLocation)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateUserLocationWithPositionOverride(impl::abi_arg_in userLocation, impl::abi_arg_in positionOverride) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateUserLocation(*reinterpret_cast(&userLocation), *reinterpret_cast(&positionOverride)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AudioNotificationRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AudioNotificationRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AudioNotificationRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioNotificationRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGuidanceAudioMuted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGuidanceAudioMuted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsGuidanceAudioMuted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsGuidanceAudioMuted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrent(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCurrent()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UseAppProvidedVoice(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseAppProvidedVoice()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Route(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Route()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RoadName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoadName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShortRoadName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShortRoadName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpeedLimit(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpeedLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TravelTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TravelTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHighway(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHighway()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTunnel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTunnel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTollRoad(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTollRoad()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExitNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExitNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Exit(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Exit()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExitDirections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExitDirections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Distance(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Distance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Maneuvers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Maneuvers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BoundingBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingBox()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoadSegments(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoadSegments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConvertToMapRoute(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ConvertToMapRoute()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CanCreateFromMapRoute(impl::abi_arg_in mapRoute, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CanCreateFromMapRoute(*reinterpret_cast(&mapRoute))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryCreateFromMapRoute(impl::abi_arg_in mapRoute, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryCreateFromMapRoute(*reinterpret_cast(&mapRoute))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearLocalData() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearLocalData(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpeedTrigger(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpeedTrigger()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpeedTrigger(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpeedTrigger(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UploadFrequency(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UploadFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UploadFrequency(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UploadFrequency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrent(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCurrent()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::Services::Maps::Guidance::GuidanceMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextManeuver(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextManeuver()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NextManeuverDistance(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextManeuverDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AfterNextManeuver(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AfterNextManeuver()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AfterNextManeuverDistance(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AfterNextManeuverDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DistanceToDestination(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DistanceToDestination()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElapsedDistance(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElapsedDistance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElapsedTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElapsedTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeToDestination(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeToDestination()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoadName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoadName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Route(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Route()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentLocation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CurrentLocation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNewManeuver(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNewManeuver()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LaneInfo(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LaneInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Services::Maps::Guidance { + +template hstring impl_IGuidanceRoadSignpost::ExitNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceRoadSignpost)->get_ExitNumber(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceRoadSignpost::Exit() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceRoadSignpost)->get_Exit(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IGuidanceRoadSignpost::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IGuidanceRoadSignpost)->get_BackgroundColor(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IGuidanceRoadSignpost::ForegroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IGuidanceRoadSignpost)->get_ForegroundColor(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGuidanceRoadSignpost::ExitDirections() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGuidanceRoadSignpost)->get_ExitDirections(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IGuidanceManeuver::StartLocation() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_StartLocation(put_abi(value))); + return value; +} + +template int32_t impl_IGuidanceManeuver::DistanceFromRouteStart() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_DistanceFromRouteStart(&value)); + return value; +} + +template int32_t impl_IGuidanceManeuver::DistanceFromPreviousManeuver() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_DistanceFromPreviousManeuver(&value)); + return value; +} + +template hstring impl_IGuidanceManeuver::DepartureRoadName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_DepartureRoadName(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceManeuver::NextRoadName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_NextRoadName(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceManeuver::DepartureShortRoadName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_DepartureShortRoadName(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceManeuver::NextShortRoadName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_NextShortRoadName(put_abi(value))); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceManeuverKind impl_IGuidanceManeuver::Kind() const +{ + Windows::Services::Maps::Guidance::GuidanceManeuverKind value {}; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_Kind(&value)); + return value; +} + +template int32_t impl_IGuidanceManeuver::StartAngle() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_StartAngle(&value)); + return value; +} + +template int32_t impl_IGuidanceManeuver::EndAngle() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_EndAngle(&value)); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceRoadSignpost impl_IGuidanceManeuver::RoadSignpost() const +{ + Windows::Services::Maps::Guidance::GuidanceRoadSignpost value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_RoadSignpost(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceManeuver::InstructionText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceManeuver)->get_InstructionText(put_abi(value))); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceMode impl_IGuidanceUpdatedEventArgs::Mode() const +{ + Windows::Services::Maps::Guidance::GuidanceMode value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_Mode(&value)); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceManeuver impl_IGuidanceUpdatedEventArgs::NextManeuver() const +{ + Windows::Services::Maps::Guidance::GuidanceManeuver value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_NextManeuver(put_abi(value))); + return value; +} + +template int32_t impl_IGuidanceUpdatedEventArgs::NextManeuverDistance() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_NextManeuverDistance(&value)); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceManeuver impl_IGuidanceUpdatedEventArgs::AfterNextManeuver() const +{ + Windows::Services::Maps::Guidance::GuidanceManeuver value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_AfterNextManeuver(put_abi(value))); + return value; +} + +template int32_t impl_IGuidanceUpdatedEventArgs::AfterNextManeuverDistance() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_AfterNextManeuverDistance(&value)); + return value; +} + +template int32_t impl_IGuidanceUpdatedEventArgs::DistanceToDestination() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_DistanceToDestination(&value)); + return value; +} + +template int32_t impl_IGuidanceUpdatedEventArgs::ElapsedDistance() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_ElapsedDistance(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IGuidanceUpdatedEventArgs::ElapsedTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_ElapsedTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IGuidanceUpdatedEventArgs::TimeToDestination() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_TimeToDestination(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceUpdatedEventArgs::RoadName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_RoadName(put_abi(value))); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceRoute impl_IGuidanceUpdatedEventArgs::Route() const +{ + Windows::Services::Maps::Guidance::GuidanceRoute result { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_Route(put_abi(result))); + return result; +} + +template Windows::Services::Maps::Guidance::GuidanceMapMatchedCoordinate impl_IGuidanceUpdatedEventArgs::CurrentLocation() const +{ + Windows::Services::Maps::Guidance::GuidanceMapMatchedCoordinate result { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_CurrentLocation(put_abi(result))); + return result; +} + +template bool impl_IGuidanceUpdatedEventArgs::IsNewManeuver() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_IsNewManeuver(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGuidanceUpdatedEventArgs::LaneInfo() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGuidanceUpdatedEventArgs)->get_LaneInfo(put_abi(value))); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceRoute impl_IGuidanceReroutedEventArgs::Route() const +{ + Windows::Services::Maps::Guidance::GuidanceRoute result { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceReroutedEventArgs)->get_Route(put_abi(result))); + return result; +} + +template Windows::Services::Maps::Guidance::GuidanceAudioNotificationKind impl_IGuidanceAudioNotificationRequestedEventArgs::AudioNotification() const +{ + Windows::Services::Maps::Guidance::GuidanceAudioNotificationKind value {}; + check_hresult(WINRT_SHIM(IGuidanceAudioNotificationRequestedEventArgs)->get_AudioNotification(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGuidanceAudioNotificationRequestedEventArgs::AudioFilePaths() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGuidanceAudioNotificationRequestedEventArgs)->get_AudioFilePaths(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceAudioNotificationRequestedEventArgs::AudioText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceAudioNotificationRequestedEventArgs)->get_AudioText(put_abi(value))); + return value; +} + +template void impl_IGuidanceNavigator::StartNavigating(const Windows::Services::Maps::Guidance::GuidanceRoute & route) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_StartNavigating(get_abi(route))); +} + +template void impl_IGuidanceNavigator::StartSimulating(const Windows::Services::Maps::Guidance::GuidanceRoute & route, int32_t speedInMetersPerSecond) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_StartSimulating(get_abi(route), speedInMetersPerSecond)); +} + +template void impl_IGuidanceNavigator::StartTracking() const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_StartTracking()); +} + +template void impl_IGuidanceNavigator::Pause() const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_Pause()); +} + +template void impl_IGuidanceNavigator::Resume() const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_Resume()); +} + +template void impl_IGuidanceNavigator::Stop() const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_Stop()); +} + +template void impl_IGuidanceNavigator::RepeatLastAudioNotification() const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_RepeatLastAudioNotification()); +} + +template Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem impl_IGuidanceNavigator::AudioMeasurementSystem() const +{ + Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem value {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->get_AudioMeasurementSystem(&value)); + return value; +} + +template void impl_IGuidanceNavigator::AudioMeasurementSystem(Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem value) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->put_AudioMeasurementSystem(value)); +} + +template Windows::Services::Maps::Guidance::GuidanceAudioNotifications impl_IGuidanceNavigator::AudioNotifications() const +{ + Windows::Services::Maps::Guidance::GuidanceAudioNotifications value {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->get_AudioNotifications(&value)); + return value; +} + +template void impl_IGuidanceNavigator::AudioNotifications(Windows::Services::Maps::Guidance::GuidanceAudioNotifications value) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->put_AudioNotifications(value)); +} + +template event_token impl_IGuidanceNavigator::GuidanceUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->add_GuidanceUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator::GuidanceUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator::remove_GuidanceUpdated, GuidanceUpdated(handler)); +} + +template void impl_IGuidanceNavigator::GuidanceUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->remove_GuidanceUpdated(token)); +} + +template event_token impl_IGuidanceNavigator::DestinationReached(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->add_DestinationReached(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator::DestinationReached(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator::remove_DestinationReached, DestinationReached(handler)); +} + +template void impl_IGuidanceNavigator::DestinationReached(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->remove_DestinationReached(token)); +} + +template event_token impl_IGuidanceNavigator::Rerouting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->add_Rerouting(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator::Rerouting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator::remove_Rerouting, Rerouting(handler)); +} + +template void impl_IGuidanceNavigator::Rerouting(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->remove_Rerouting(token)); +} + +template event_token impl_IGuidanceNavigator::Rerouted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->add_Rerouted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator::Rerouted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator::remove_Rerouted, Rerouted(handler)); +} + +template void impl_IGuidanceNavigator::Rerouted(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->remove_Rerouted(token)); +} + +template event_token impl_IGuidanceNavigator::RerouteFailed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->add_RerouteFailed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator::RerouteFailed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator::remove_RerouteFailed, RerouteFailed(handler)); +} + +template void impl_IGuidanceNavigator::RerouteFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->remove_RerouteFailed(token)); +} + +template event_token impl_IGuidanceNavigator::UserLocationLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->add_UserLocationLost(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator::UserLocationLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator::remove_UserLocationLost, UserLocationLost(handler)); +} + +template void impl_IGuidanceNavigator::UserLocationLost(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->remove_UserLocationLost(token)); +} + +template event_token impl_IGuidanceNavigator::UserLocationRestored(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator)->add_UserLocationRestored(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator::UserLocationRestored(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator::remove_UserLocationRestored, UserLocationRestored(handler)); +} + +template void impl_IGuidanceNavigator::UserLocationRestored(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->remove_UserLocationRestored(token)); +} + +template void impl_IGuidanceNavigator::SetGuidanceVoice(int32_t voiceId, hstring_view voiceFolder) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_SetGuidanceVoice(voiceId, get_abi(voiceFolder))); +} + +template void impl_IGuidanceNavigator::UpdateUserLocation(const Windows::Devices::Geolocation::Geocoordinate & userLocation) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_UpdateUserLocation(get_abi(userLocation))); +} + +template void impl_IGuidanceNavigator::UpdateUserLocation(const Windows::Devices::Geolocation::Geocoordinate & userLocation, const Windows::Devices::Geolocation::BasicGeoposition & positionOverride) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator)->abi_UpdateUserLocationWithPositionOverride(get_abi(userLocation), get_abi(positionOverride))); +} + +template event_token impl_IGuidanceNavigator2::AudioNotificationRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator2)->add_AudioNotificationRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IGuidanceNavigator2::AudioNotificationRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::Guidance::IGuidanceNavigator2::remove_AudioNotificationRequested, AudioNotificationRequested(value)); +} + +template void impl_IGuidanceNavigator2::AudioNotificationRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator2)->remove_AudioNotificationRequested(token)); +} + +template bool impl_IGuidanceNavigator2::IsGuidanceAudioMuted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceNavigator2)->get_IsGuidanceAudioMuted(&value)); + return value; +} + +template void impl_IGuidanceNavigator2::IsGuidanceAudioMuted(bool value) const +{ + check_hresult(WINRT_SHIM(IGuidanceNavigator2)->put_IsGuidanceAudioMuted(value)); +} + +template Windows::Services::Maps::Guidance::GuidanceNavigator impl_IGuidanceNavigatorStatics::GetCurrent() const +{ + Windows::Services::Maps::Guidance::GuidanceNavigator result { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceNavigatorStatics)->abi_GetCurrent(put_abi(result))); + return result; +} + +template bool impl_IGuidanceNavigatorStatics2::UseAppProvidedVoice() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceNavigatorStatics2)->get_UseAppProvidedVoice(&value)); + return value; +} + +template hstring impl_IGuidanceRoadSegment::RoadName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_RoadName(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceRoadSegment::ShortRoadName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_ShortRoadName(put_abi(value))); + return value; +} + +template double impl_IGuidanceRoadSegment::SpeedLimit() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_SpeedLimit(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IGuidanceRoadSegment::TravelTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_TravelTime(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IGuidanceRoadSegment::Path() const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_Path(put_abi(value))); + return value; +} + +template hstring impl_IGuidanceRoadSegment::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_Id(put_abi(value))); + return value; +} + +template bool impl_IGuidanceRoadSegment::IsHighway() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_IsHighway(&value)); + return value; +} + +template bool impl_IGuidanceRoadSegment::IsTunnel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_IsTunnel(&value)); + return value; +} + +template bool impl_IGuidanceRoadSegment::IsTollRoad() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceRoadSegment)->get_IsTollRoad(&value)); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IGuidanceMapMatchedCoordinate::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceMapMatchedCoordinate)->get_Location(put_abi(value))); + return value; +} + +template double impl_IGuidanceMapMatchedCoordinate::CurrentHeading() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGuidanceMapMatchedCoordinate)->get_CurrentHeading(&value)); + return value; +} + +template double impl_IGuidanceMapMatchedCoordinate::CurrentSpeed() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGuidanceMapMatchedCoordinate)->get_CurrentSpeed(&value)); + return value; +} + +template bool impl_IGuidanceMapMatchedCoordinate::IsOnStreet() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceMapMatchedCoordinate)->get_IsOnStreet(&value)); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceRoadSegment impl_IGuidanceMapMatchedCoordinate::Road() const +{ + Windows::Services::Maps::Guidance::GuidanceRoadSegment value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceMapMatchedCoordinate)->get_Road(put_abi(value))); + return value; +} + +template Windows::Services::Maps::Guidance::GuidanceTelemetryCollector impl_IGuidanceTelemetryCollectorStatics::GetCurrent() const +{ + Windows::Services::Maps::Guidance::GuidanceTelemetryCollector result { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollectorStatics)->abi_GetCurrent(put_abi(result))); + return result; +} + +template bool impl_IGuidanceTelemetryCollector::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollector)->get_Enabled(&value)); + return value; +} + +template void impl_IGuidanceTelemetryCollector::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollector)->put_Enabled(value)); +} + +template void impl_IGuidanceTelemetryCollector::ClearLocalData() const +{ + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollector)->abi_ClearLocalData()); +} + +template double impl_IGuidanceTelemetryCollector::SpeedTrigger() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollector)->get_SpeedTrigger(&value)); + return value; +} + +template void impl_IGuidanceTelemetryCollector::SpeedTrigger(double value) const +{ + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollector)->put_SpeedTrigger(value)); +} + +template int32_t impl_IGuidanceTelemetryCollector::UploadFrequency() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollector)->get_UploadFrequency(&value)); + return value; +} + +template void impl_IGuidanceTelemetryCollector::UploadFrequency(int32_t value) const +{ + check_hresult(WINRT_SHIM(IGuidanceTelemetryCollector)->put_UploadFrequency(value)); +} + +template bool impl_IGuidanceRouteStatics::CanCreateFromMapRoute(const Windows::Services::Maps::MapRoute & mapRoute) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IGuidanceRouteStatics)->abi_CanCreateFromMapRoute(get_abi(mapRoute), &result)); + return result; +} + +template Windows::Services::Maps::Guidance::GuidanceRoute impl_IGuidanceRouteStatics::TryCreateFromMapRoute(const Windows::Services::Maps::MapRoute & mapRoute) const +{ + Windows::Services::Maps::Guidance::GuidanceRoute result { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceRouteStatics)->abi_TryCreateFromMapRoute(get_abi(mapRoute), put_abi(result))); + return result; +} + +template Windows::Foundation::TimeSpan impl_IGuidanceRoute::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IGuidanceRoute)->get_Duration(put_abi(value))); + return value; +} + +template int32_t impl_IGuidanceRoute::Distance() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGuidanceRoute)->get_Distance(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGuidanceRoute::Maneuvers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGuidanceRoute)->get_Maneuvers(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IGuidanceRoute::BoundingBox() const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceRoute)->get_BoundingBox(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IGuidanceRoute::Path() const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceRoute)->get_Path(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGuidanceRoute::RoadSegments() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGuidanceRoute)->get_RoadSegments(put_abi(value))); + return value; +} + +template Windows::Services::Maps::MapRoute impl_IGuidanceRoute::ConvertToMapRoute() const +{ + Windows::Services::Maps::MapRoute result { nullptr }; + check_hresult(WINRT_SHIM(IGuidanceRoute)->abi_ConvertToMapRoute(put_abi(result))); + return result; +} + +template Windows::Services::Maps::Guidance::GuidanceLaneMarkers impl_IGuidanceLaneInfo::LaneMarkers() const +{ + Windows::Services::Maps::Guidance::GuidanceLaneMarkers value {}; + check_hresult(WINRT_SHIM(IGuidanceLaneInfo)->get_LaneMarkers(&value)); + return value; +} + +template bool impl_IGuidanceLaneInfo::IsOnRoute() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGuidanceLaneInfo)->get_IsOnRoute(&value)); + return value; +} + +inline Windows::Services::Maps::Guidance::GuidanceNavigator GuidanceNavigator::GetCurrent() +{ + return get_activation_factory().GetCurrent(); +} + +inline bool GuidanceNavigator::UseAppProvidedVoice() +{ + return get_activation_factory().UseAppProvidedVoice(); +} + +inline bool GuidanceRoute::CanCreateFromMapRoute(const Windows::Services::Maps::MapRoute & mapRoute) +{ + return get_activation_factory().CanCreateFromMapRoute(mapRoute); +} + +inline Windows::Services::Maps::Guidance::GuidanceRoute GuidanceRoute::TryCreateFromMapRoute(const Windows::Services::Maps::MapRoute & mapRoute) +{ + return get_activation_factory().TryCreateFromMapRoute(mapRoute); +} + +inline Windows::Services::Maps::Guidance::GuidanceTelemetryCollector GuidanceTelemetryCollector::GetCurrent() +{ + return get_activation_factory().GetCurrent(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceAudioNotificationRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceLaneInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceManeuver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceMapMatchedCoordinate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceNavigator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceNavigator2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceNavigatorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceNavigatorStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceReroutedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceRoadSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceRoadSignpost & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceRoute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceRouteStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceTelemetryCollector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceTelemetryCollectorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::IGuidanceUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotificationRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceLaneInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceManeuver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceMapMatchedCoordinate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceNavigator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceReroutedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceRoadSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceRoadSignpost & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceRoute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceTelemetryCollector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::Guidance::GuidanceUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Services.Maps.LocalSearch.h b/10.0.15042.0/winrt/Windows.Services.Maps.LocalSearch.h new file mode 100644 index 000000000..4042da94a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Services.Maps.LocalSearch.h @@ -0,0 +1,791 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Services.Maps.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.Services.Maps.LocalSearch.3.h" +#include "Windows.Services.Maps.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BankAndCreditUnions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BankAndCreditUnions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EatDrink(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EatDrink()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hospitals(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hospitals()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HotelsAndMotels(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HotelsAndMotels()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_All(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().All()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Parking(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Parking()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SeeDo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SeeDo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Shop(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Shop()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Identifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Identifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Point(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Point()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataAttribution(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataAttribution()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Category(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Category()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RatingInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RatingInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HoursOfOperation(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HoursOfOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalLocations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalLocations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Services::Maps::LocalSearch::LocalLocationFinderStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindLocalLocationsAsync(impl::abi_arg_in searchTerm, impl::abi_arg_in searchArea, impl::abi_arg_in localCategory, uint32_t maxResults, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindLocalLocationsAsync(*reinterpret_cast(&searchTerm), *reinterpret_cast(&searchArea), *reinterpret_cast(&localCategory), maxResults)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Day(Windows::Globalization::DayOfWeek * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Day()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Start(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Start()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Span(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Span()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AggregateRating(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AggregateRating()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RatingCount(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RatingCount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Services::Maps::LocalSearch { + +template Windows::Services::Maps::MapAddress impl_ILocalLocation::Address() const +{ + Windows::Services::Maps::MapAddress value { nullptr }; + check_hresult(WINRT_SHIM(ILocalLocation)->get_Address(put_abi(value))); + return value; +} + +template hstring impl_ILocalLocation::Identifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalLocation)->get_Identifier(put_abi(value))); + return value; +} + +template hstring impl_ILocalLocation::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalLocation)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_ILocalLocation::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalLocation)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_ILocalLocation::Point() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(ILocalLocation)->get_Point(put_abi(value))); + return value; +} + +template hstring impl_ILocalLocation::PhoneNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalLocation)->get_PhoneNumber(put_abi(value))); + return value; +} + +template hstring impl_ILocalLocation::DataAttribution() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalLocation)->get_DataAttribution(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ILocalLocationFinderResult::LocalLocations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ILocalLocationFinderResult)->get_LocalLocations(put_abi(value))); + return value; +} + +template Windows::Services::Maps::LocalSearch::LocalLocationFinderStatus impl_ILocalLocationFinderResult::Status() const +{ + Windows::Services::Maps::LocalSearch::LocalLocationFinderStatus value {}; + check_hresult(WINRT_SHIM(ILocalLocationFinderResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ILocalLocationFinderStatics::FindLocalLocationsAsync(hstring_view searchTerm, const Windows::Devices::Geolocation::Geocircle & searchArea, hstring_view localCategory, uint32_t maxResults) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(ILocalLocationFinderStatics)->abi_FindLocalLocationsAsync(get_abi(searchTerm), get_abi(searchArea), get_abi(localCategory), maxResults, put_abi(result))); + return result; +} + +template hstring impl_ILocalCategoriesStatics::BankAndCreditUnions() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_BankAndCreditUnions(put_abi(value))); + return value; +} + +template hstring impl_ILocalCategoriesStatics::EatDrink() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_EatDrink(put_abi(value))); + return value; +} + +template hstring impl_ILocalCategoriesStatics::Hospitals() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_Hospitals(put_abi(value))); + return value; +} + +template hstring impl_ILocalCategoriesStatics::HotelsAndMotels() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_HotelsAndMotels(put_abi(value))); + return value; +} + +template hstring impl_ILocalCategoriesStatics::All() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_All(put_abi(value))); + return value; +} + +template hstring impl_ILocalCategoriesStatics::Parking() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_Parking(put_abi(value))); + return value; +} + +template hstring impl_ILocalCategoriesStatics::SeeDo() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_SeeDo(put_abi(value))); + return value; +} + +template hstring impl_ILocalCategoriesStatics::Shop() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalCategoriesStatics)->get_Shop(put_abi(value))); + return value; +} + +template Windows::Globalization::DayOfWeek impl_ILocalLocationHoursOfOperationItem::Day() const +{ + Windows::Globalization::DayOfWeek value {}; + check_hresult(WINRT_SHIM(ILocalLocationHoursOfOperationItem)->get_Day(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_ILocalLocationHoursOfOperationItem::Start() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ILocalLocationHoursOfOperationItem)->get_Start(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ILocalLocationHoursOfOperationItem::Span() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ILocalLocationHoursOfOperationItem)->get_Span(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ILocalLocationRatingInfo::AggregateRating() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ILocalLocationRatingInfo)->get_AggregateRating(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ILocalLocationRatingInfo::RatingCount() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ILocalLocationRatingInfo)->get_RatingCount(put_abi(value))); + return value; +} + +template hstring impl_ILocalLocationRatingInfo::ProviderIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalLocationRatingInfo)->get_ProviderIdentifier(put_abi(value))); + return value; +} + +template hstring impl_ILocalLocation2::Category() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalLocation2)->get_Category(put_abi(value))); + return value; +} + +template Windows::Services::Maps::LocalSearch::LocalLocationRatingInfo impl_ILocalLocation2::RatingInfo() const +{ + Windows::Services::Maps::LocalSearch::LocalLocationRatingInfo value { nullptr }; + check_hresult(WINRT_SHIM(ILocalLocation2)->get_RatingInfo(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ILocalLocation2::HoursOfOperation() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ILocalLocation2)->get_HoursOfOperation(put_abi(value))); + return value; +} + +inline hstring LocalCategories::BankAndCreditUnions() +{ + return get_activation_factory().BankAndCreditUnions(); +} + +inline hstring LocalCategories::EatDrink() +{ + return get_activation_factory().EatDrink(); +} + +inline hstring LocalCategories::Hospitals() +{ + return get_activation_factory().Hospitals(); +} + +inline hstring LocalCategories::HotelsAndMotels() +{ + return get_activation_factory().HotelsAndMotels(); +} + +inline hstring LocalCategories::All() +{ + return get_activation_factory().All(); +} + +inline hstring LocalCategories::Parking() +{ + return get_activation_factory().Parking(); +} + +inline hstring LocalCategories::SeeDo() +{ + return get_activation_factory().SeeDo(); +} + +inline hstring LocalCategories::Shop() +{ + return get_activation_factory().Shop(); +} + +inline Windows::Foundation::IAsyncOperation LocalLocationFinder::FindLocalLocationsAsync(hstring_view searchTerm, const Windows::Devices::Geolocation::Geocircle & searchArea, hstring_view localCategory, uint32_t maxResults) +{ + return get_activation_factory().FindLocalLocationsAsync(searchTerm, searchArea, localCategory, maxResults); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::ILocalCategoriesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::ILocalLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::ILocalLocation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::ILocalLocationFinderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::ILocalLocationFinderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::ILocalLocationHoursOfOperationItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::ILocalLocationRatingInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::LocalLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::LocalLocationFinderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::LocalLocationHoursOfOperationItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::LocalSearch::LocalLocationRatingInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Services.Maps.OfflineMaps.h b/10.0.15042.0/winrt/Windows.Services.Maps.OfflineMaps.h new file mode 100644 index 000000000..e5ed992ae --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Services.Maps.OfflineMaps.h @@ -0,0 +1,404 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.Services.Maps.OfflineMaps.3.h" +#include "Windows.Services.Maps.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Services::Maps::OfflineMaps::OfflineMapPackageStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnclosingRegionName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnclosingRegionName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EstimatedSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EstimatedSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StatusChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().StatusChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStartDownloadAsync(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestStartDownloadAsync()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Services::Maps::OfflineMaps::OfflineMapPackageQueryStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Packages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Packages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Services::Maps::OfflineMaps::OfflineMapPackageStartDownloadStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindPackagesAsync(impl::abi_arg_in queryPoint, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindPackagesAsync(*reinterpret_cast(&queryPoint))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesInBoundingBoxAsync(impl::abi_arg_in queryBoundingBox, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindPackagesInBoundingBoxAsync(*reinterpret_cast(&queryBoundingBox))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindPackagesInGeocircleAsync(impl::abi_arg_in queryCircle, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindPackagesInGeocircleAsync(*reinterpret_cast(&queryCircle))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Services::Maps::OfflineMaps { + +template Windows::Services::Maps::OfflineMaps::OfflineMapPackageQueryStatus impl_IOfflineMapPackageQueryResult::Status() const +{ + Windows::Services::Maps::OfflineMaps::OfflineMapPackageQueryStatus value {}; + check_hresult(WINRT_SHIM(IOfflineMapPackageQueryResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IOfflineMapPackageQueryResult::Packages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IOfflineMapPackageQueryResult)->get_Packages(put_abi(value))); + return value; +} + +template Windows::Services::Maps::OfflineMaps::OfflineMapPackageStartDownloadStatus impl_IOfflineMapPackageStartDownloadResult::Status() const +{ + Windows::Services::Maps::OfflineMaps::OfflineMapPackageStartDownloadStatus value {}; + check_hresult(WINRT_SHIM(IOfflineMapPackageStartDownloadResult)->get_Status(&value)); + return value; +} + +template Windows::Services::Maps::OfflineMaps::OfflineMapPackageStatus impl_IOfflineMapPackage::Status() const +{ + Windows::Services::Maps::OfflineMaps::OfflineMapPackageStatus value {}; + check_hresult(WINRT_SHIM(IOfflineMapPackage)->get_Status(&value)); + return value; +} + +template hstring impl_IOfflineMapPackage::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOfflineMapPackage)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IOfflineMapPackage::EnclosingRegionName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IOfflineMapPackage)->get_EnclosingRegionName(put_abi(value))); + return value; +} + +template uint64_t impl_IOfflineMapPackage::EstimatedSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IOfflineMapPackage)->get_EstimatedSizeInBytes(&value)); + return value; +} + +template void impl_IOfflineMapPackage::StatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IOfflineMapPackage)->remove_StatusChanged(token)); +} + +template event_token impl_IOfflineMapPackage::StatusChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IOfflineMapPackage)->add_StatusChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IOfflineMapPackage::StatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Maps::OfflineMaps::IOfflineMapPackage::remove_StatusChanged, StatusChanged(value)); +} + +template Windows::Foundation::IAsyncOperation impl_IOfflineMapPackage::RequestStartDownloadAsync() const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(IOfflineMapPackage)->abi_RequestStartDownloadAsync(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IOfflineMapPackageStatics::FindPackagesAsync(const Windows::Devices::Geolocation::Geopoint & queryPoint) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IOfflineMapPackageStatics)->abi_FindPackagesAsync(get_abi(queryPoint), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IOfflineMapPackageStatics::FindPackagesInBoundingBoxAsync(const Windows::Devices::Geolocation::GeoboundingBox & queryBoundingBox) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IOfflineMapPackageStatics)->abi_FindPackagesInBoundingBoxAsync(get_abi(queryBoundingBox), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IOfflineMapPackageStatics::FindPackagesInGeocircleAsync(const Windows::Devices::Geolocation::Geocircle & queryCircle) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IOfflineMapPackageStatics)->abi_FindPackagesInGeocircleAsync(get_abi(queryCircle), put_abi(result))); + return result; +} + +inline Windows::Foundation::IAsyncOperation OfflineMapPackage::FindPackagesAsync(const Windows::Devices::Geolocation::Geopoint & queryPoint) +{ + return get_activation_factory().FindPackagesAsync(queryPoint); +} + +inline Windows::Foundation::IAsyncOperation OfflineMapPackage::FindPackagesInBoundingBoxAsync(const Windows::Devices::Geolocation::GeoboundingBox & queryBoundingBox) +{ + return get_activation_factory().FindPackagesInBoundingBoxAsync(queryBoundingBox); +} + +inline Windows::Foundation::IAsyncOperation OfflineMapPackage::FindPackagesInGeocircleAsync(const Windows::Devices::Geolocation::Geocircle & queryCircle) +{ + return get_activation_factory().FindPackagesInGeocircleAsync(queryCircle); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::OfflineMaps::IOfflineMapPackage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::OfflineMaps::IOfflineMapPackageQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::OfflineMaps::IOfflineMapPackageStartDownloadResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::OfflineMaps::IOfflineMapPackageStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::OfflineMaps::OfflineMapPackage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::OfflineMaps::OfflineMapPackageQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::OfflineMaps::OfflineMapPackageStartDownloadResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Services.Maps.h b/10.0.15042.0/winrt/Windows.Services.Maps.h new file mode 100644 index 000000000..9a408992e --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Services.Maps.h @@ -0,0 +1,2544 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Services.Maps.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Point(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Point()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Services::Maps::WaypointKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in point, Windows::Services::Maps::WaypointKind kind, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(*reinterpret_cast(&point), kind)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::Services::Maps::ManeuverWarningKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Severity(Windows::Services::Maps::ManeuverWarningSeverity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Severity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BuildingName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildingName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BuildingFloor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildingFloor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BuildingRoom(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildingRoom()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BuildingWing(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BuildingWing()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreetNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreetNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Street(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Street()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Neighborhood(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Neighborhood()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_District(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().District()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Town(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Town()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Region(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Region()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RegionCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RegionCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Country(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Country()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CountryCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CountryCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PostCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PostCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Continent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Continent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FormattedAddress(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedAddress()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Point(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Point()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Address(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Address()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Locations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Locations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Services::Maps::MapLocationFinderStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindLocationsAtAsync(impl::abi_arg_in queryPoint, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindLocationsAtAsync(*reinterpret_cast(&queryPoint))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindLocationsAsync(impl::abi_arg_in searchText, impl::abi_arg_in referencePoint, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindLocationsAsync(*reinterpret_cast(&searchText), *reinterpret_cast(&referencePoint))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindLocationsWithMaxCountAsync(impl::abi_arg_in searchText, impl::abi_arg_in referencePoint, uint32_t maxCount, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindLocationsAsync(*reinterpret_cast(&searchText), *reinterpret_cast(&referencePoint), maxCount)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindLocationsAtWithAccuracyAsync(impl::abi_arg_in queryPoint, Windows::Services::Maps::MapLocationDesiredAccuracy accuracy, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindLocationsAtAsync(*reinterpret_cast(&queryPoint), accuracy)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowDownloadedMapsUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowDownloadedMapsUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowMapsUpdateUI() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowMapsUpdateUI(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BoundingBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingBox()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LengthInMeters(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LengthInMeters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EstimatedDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EstimatedDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Legs(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Legs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTrafficBased(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrafficBased()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViolatedRestrictions(Windows::Services::Maps::MapRouteRestrictions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViolatedRestrictions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasBlockedRoads(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasBlockedRoads()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DurationWithoutTraffic(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DurationWithoutTraffic()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrafficCongestion(Windows::Services::Maps::TrafficCongestion * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrafficCongestion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxAlternateRouteCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAlternateRouteCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxAlternateRouteCount(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxAlternateRouteCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InitialHeading(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialHeading()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InitialHeading(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialHeading(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RouteOptimization(Windows::Services::Maps::MapRouteOptimization * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RouteOptimization()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RouteOptimization(Windows::Services::Maps::MapRouteOptimization value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RouteOptimization(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RouteRestrictions(Windows::Services::Maps::MapRouteRestrictions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RouteRestrictions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RouteRestrictions(Windows::Services::Maps::MapRouteRestrictions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RouteRestrictions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Route(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Route()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Services::Maps::MapRouteFinderStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlternateRoutes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateRoutes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDrivingRouteAsync(impl::abi_arg_in startPoint, impl::abi_arg_in endPoint, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteAsync(*reinterpret_cast(&startPoint), *reinterpret_cast(&endPoint))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteWithOptimizationAsync(impl::abi_arg_in startPoint, impl::abi_arg_in endPoint, Windows::Services::Maps::MapRouteOptimization optimization, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteAsync(*reinterpret_cast(&startPoint), *reinterpret_cast(&endPoint), optimization)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteWithOptimizationAndRestrictionsAsync(impl::abi_arg_in startPoint, impl::abi_arg_in endPoint, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteAsync(*reinterpret_cast(&startPoint), *reinterpret_cast(&endPoint), optimization, restrictions)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteWithOptimizationRestrictionsAndHeadingAsync(impl::abi_arg_in startPoint, impl::abi_arg_in endPoint, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, double headingInDegrees, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteAsync(*reinterpret_cast(&startPoint), *reinterpret_cast(&endPoint), optimization, restrictions, headingInDegrees)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteFromWaypointsAsync(impl::abi_arg_in> wayPoints, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteFromWaypointsAsync(*reinterpret_cast *>(&wayPoints))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteFromWaypointsAndOptimizationAsync(impl::abi_arg_in> wayPoints, Windows::Services::Maps::MapRouteOptimization optimization, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteFromWaypointsAsync(*reinterpret_cast *>(&wayPoints), optimization)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteFromWaypointsOptimizationAndRestrictionsAsync(impl::abi_arg_in> wayPoints, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteFromWaypointsAsync(*reinterpret_cast *>(&wayPoints), optimization, restrictions)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteFromWaypointsOptimizationRestrictionsAndHeadingAsync(impl::abi_arg_in> wayPoints, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, double headingInDegrees, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteFromWaypointsAsync(*reinterpret_cast *>(&wayPoints), optimization, restrictions, headingInDegrees)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetWalkingRouteAsync(impl::abi_arg_in startPoint, impl::abi_arg_in endPoint, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetWalkingRouteAsync(*reinterpret_cast(&startPoint), *reinterpret_cast(&endPoint))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetWalkingRouteFromWaypointsAsync(impl::abi_arg_in> wayPoints, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetWalkingRouteFromWaypointsAsync(*reinterpret_cast *>(&wayPoints))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDrivingRouteWithOptionsAsync(impl::abi_arg_in startPoint, impl::abi_arg_in endPoint, impl::abi_arg_in options, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteAsync(*reinterpret_cast(&startPoint), *reinterpret_cast(&endPoint), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDrivingRouteFromEnhancedWaypointsAsync(impl::abi_arg_in> waypoints, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteFromEnhancedWaypointsAsync(*reinterpret_cast *>(&waypoints))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDrivingRouteFromEnhancedWaypointsWithOptionsAsync(impl::abi_arg_in> waypoints, impl::abi_arg_in options, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDrivingRouteFromEnhancedWaypointsAsync(*reinterpret_cast *>(&waypoints), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BoundingBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingBox()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LengthInMeters(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LengthInMeters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EstimatedDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EstimatedDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Maneuvers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Maneuvers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DurationWithoutTraffic(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DurationWithoutTraffic()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrafficCongestion(Windows::Services::Maps::TrafficCongestion * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrafficCongestion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartingPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartingPoint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LengthInMeters(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LengthInMeters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InstructionText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InstructionText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::Services::Maps::MapRouteManeuverKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExitNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExitNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManeuverNotices(Windows::Services::Maps::MapManeuverNotices * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManeuverNotices()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartHeading(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartHeading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndHeading(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndHeading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreetName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreetName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Warnings(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Warnings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ServiceToken(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ServiceToken(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ServiceToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ServiceToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WorldViewRegionCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorldViewRegionCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataAttributions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataAttributions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_DataUsagePreference(Windows::Services::Maps::MapServiceDataUsagePreference value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataUsagePreference(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataUsagePreference(Windows::Services::Maps::MapServiceDataUsagePreference * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataUsagePreference()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Services::Maps { + +template uint32_t impl_IMapRouteDrivingOptions::MaxAlternateRouteCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->get_MaxAlternateRouteCount(&value)); + return value; +} + +template void impl_IMapRouteDrivingOptions::MaxAlternateRouteCount(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->put_MaxAlternateRouteCount(value)); +} + +template Windows::Foundation::IReference impl_IMapRouteDrivingOptions::InitialHeading() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->get_InitialHeading(put_abi(value))); + return value; +} + +template void impl_IMapRouteDrivingOptions::InitialHeading(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->put_InitialHeading(get_abi(value))); +} + +template Windows::Services::Maps::MapRouteOptimization impl_IMapRouteDrivingOptions::RouteOptimization() const +{ + Windows::Services::Maps::MapRouteOptimization value {}; + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->get_RouteOptimization(&value)); + return value; +} + +template void impl_IMapRouteDrivingOptions::RouteOptimization(Windows::Services::Maps::MapRouteOptimization value) const +{ + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->put_RouteOptimization(value)); +} + +template Windows::Services::Maps::MapRouteRestrictions impl_IMapRouteDrivingOptions::RouteRestrictions() const +{ + Windows::Services::Maps::MapRouteRestrictions value {}; + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->get_RouteRestrictions(&value)); + return value; +} + +template void impl_IMapRouteDrivingOptions::RouteRestrictions(Windows::Services::Maps::MapRouteRestrictions value) const +{ + check_hresult(WINRT_SHIM(IMapRouteDrivingOptions)->put_RouteRestrictions(value)); +} + +template hstring impl_IMapAddress::BuildingName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_BuildingName(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::BuildingFloor() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_BuildingFloor(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::BuildingRoom() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_BuildingRoom(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::BuildingWing() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_BuildingWing(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::StreetNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_StreetNumber(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::Street() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_Street(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::Neighborhood() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_Neighborhood(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::District() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_District(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::Town() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_Town(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::Region() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_Region(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::RegionCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_RegionCode(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::Country() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_Country(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::CountryCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_CountryCode(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::PostCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_PostCode(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress::Continent() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress)->get_Continent(put_abi(value))); + return value; +} + +template hstring impl_IMapAddress2::FormattedAddress() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapAddress2)->get_FormattedAddress(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapLocation::Point() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapLocation)->get_Point(put_abi(value))); + return value; +} + +template hstring impl_IMapLocation::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapLocation)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IMapLocation::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapLocation)->get_Description(put_abi(value))); + return value; +} + +template Windows::Services::Maps::MapAddress impl_IMapLocation::Address() const +{ + Windows::Services::Maps::MapAddress value { nullptr }; + check_hresult(WINRT_SHIM(IMapLocation)->get_Address(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapLocationFinderResult::Locations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapLocationFinderResult)->get_Locations(put_abi(value))); + return value; +} + +template Windows::Services::Maps::MapLocationFinderStatus impl_IMapLocationFinderResult::Status() const +{ + Windows::Services::Maps::MapLocationFinderStatus value {}; + check_hresult(WINRT_SHIM(IMapLocationFinderResult)->get_Status(&value)); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapRouteManeuver::StartingPoint() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapRouteManeuver)->get_StartingPoint(put_abi(value))); + return value; +} + +template double impl_IMapRouteManeuver::LengthInMeters() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapRouteManeuver)->get_LengthInMeters(&value)); + return value; +} + +template hstring impl_IMapRouteManeuver::InstructionText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapRouteManeuver)->get_InstructionText(put_abi(value))); + return value; +} + +template Windows::Services::Maps::MapRouteManeuverKind impl_IMapRouteManeuver::Kind() const +{ + Windows::Services::Maps::MapRouteManeuverKind value {}; + check_hresult(WINRT_SHIM(IMapRouteManeuver)->get_Kind(&value)); + return value; +} + +template hstring impl_IMapRouteManeuver::ExitNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapRouteManeuver)->get_ExitNumber(put_abi(value))); + return value; +} + +template Windows::Services::Maps::MapManeuverNotices impl_IMapRouteManeuver::ManeuverNotices() const +{ + Windows::Services::Maps::MapManeuverNotices value {}; + check_hresult(WINRT_SHIM(IMapRouteManeuver)->get_ManeuverNotices(&value)); + return value; +} + +template double impl_IMapRouteManeuver2::StartHeading() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapRouteManeuver2)->get_StartHeading(&value)); + return value; +} + +template double impl_IMapRouteManeuver2::EndHeading() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapRouteManeuver2)->get_EndHeading(&value)); + return value; +} + +template hstring impl_IMapRouteManeuver2::StreetName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapRouteManeuver2)->get_StreetName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapRouteManeuver3::Warnings() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapRouteManeuver3)->get_Warnings(put_abi(value))); + return value; +} + +template Windows::Services::Maps::ManeuverWarningKind impl_IManeuverWarning::Kind() const +{ + Windows::Services::Maps::ManeuverWarningKind value {}; + check_hresult(WINRT_SHIM(IManeuverWarning)->get_Kind(&value)); + return value; +} + +template Windows::Services::Maps::ManeuverWarningSeverity impl_IManeuverWarning::Severity() const +{ + Windows::Services::Maps::ManeuverWarningSeverity value {}; + check_hresult(WINRT_SHIM(IManeuverWarning)->get_Severity(&value)); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IMapRouteLeg::BoundingBox() const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IMapRouteLeg)->get_BoundingBox(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IMapRouteLeg::Path() const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IMapRouteLeg)->get_Path(put_abi(value))); + return value; +} + +template double impl_IMapRouteLeg::LengthInMeters() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapRouteLeg)->get_LengthInMeters(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMapRouteLeg::EstimatedDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMapRouteLeg)->get_EstimatedDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapRouteLeg::Maneuvers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapRouteLeg)->get_Maneuvers(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMapRouteLeg2::DurationWithoutTraffic() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMapRouteLeg2)->get_DurationWithoutTraffic(put_abi(value))); + return value; +} + +template Windows::Services::Maps::TrafficCongestion impl_IMapRouteLeg2::TrafficCongestion() const +{ + Windows::Services::Maps::TrafficCongestion value {}; + check_hresult(WINRT_SHIM(IMapRouteLeg2)->get_TrafficCongestion(&value)); + return value; +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IMapRoute::BoundingBox() const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IMapRoute)->get_BoundingBox(put_abi(value))); + return value; +} + +template double impl_IMapRoute::LengthInMeters() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapRoute)->get_LengthInMeters(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMapRoute::EstimatedDuration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMapRoute)->get_EstimatedDuration(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IMapRoute::Path() const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IMapRoute)->get_Path(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapRoute::Legs() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapRoute)->get_Legs(put_abi(value))); + return value; +} + +template bool impl_IMapRoute::IsTrafficBased() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapRoute)->get_IsTrafficBased(&value)); + return value; +} + +template Windows::Services::Maps::MapRouteRestrictions impl_IMapRoute2::ViolatedRestrictions() const +{ + Windows::Services::Maps::MapRouteRestrictions value {}; + check_hresult(WINRT_SHIM(IMapRoute2)->get_ViolatedRestrictions(&value)); + return value; +} + +template bool impl_IMapRoute2::HasBlockedRoads() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapRoute2)->get_HasBlockedRoads(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMapRoute3::DurationWithoutTraffic() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMapRoute3)->get_DurationWithoutTraffic(put_abi(value))); + return value; +} + +template Windows::Services::Maps::TrafficCongestion impl_IMapRoute3::TrafficCongestion() const +{ + Windows::Services::Maps::TrafficCongestion value {}; + check_hresult(WINRT_SHIM(IMapRoute3)->get_TrafficCongestion(&value)); + return value; +} + +template Windows::Services::Maps::MapRoute impl_IMapRouteFinderResult::Route() const +{ + Windows::Services::Maps::MapRoute value { nullptr }; + check_hresult(WINRT_SHIM(IMapRouteFinderResult)->get_Route(put_abi(value))); + return value; +} + +template Windows::Services::Maps::MapRouteFinderStatus impl_IMapRouteFinderResult::Status() const +{ + Windows::Services::Maps::MapRouteFinderStatus value {}; + check_hresult(WINRT_SHIM(IMapRouteFinderResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapRouteFinderResult2::AlternateRoutes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapRouteFinderResult2)->get_AlternateRoutes(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IEnhancedWaypoint::Point() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IEnhancedWaypoint)->get_Point(put_abi(value))); + return value; +} + +template Windows::Services::Maps::WaypointKind impl_IEnhancedWaypoint::Kind() const +{ + Windows::Services::Maps::WaypointKind value {}; + check_hresult(WINRT_SHIM(IEnhancedWaypoint)->get_Kind(&value)); + return value; +} + +template Windows::Services::Maps::EnhancedWaypoint impl_IEnhancedWaypointFactory::Create(const Windows::Devices::Geolocation::Geopoint & point, Windows::Services::Maps::WaypointKind kind) const +{ + Windows::Services::Maps::EnhancedWaypoint value { nullptr }; + check_hresult(WINRT_SHIM(IEnhancedWaypointFactory)->abi_Create(get_abi(point), kind, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IMapLocationFinderStatics::FindLocationsAtAsync(const Windows::Devices::Geolocation::Geopoint & queryPoint) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapLocationFinderStatics)->abi_FindLocationsAtAsync(get_abi(queryPoint), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapLocationFinderStatics::FindLocationsAsync(hstring_view searchText, const Windows::Devices::Geolocation::Geopoint & referencePoint) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapLocationFinderStatics)->abi_FindLocationsAsync(get_abi(searchText), get_abi(referencePoint), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapLocationFinderStatics::FindLocationsAsync(hstring_view searchText, const Windows::Devices::Geolocation::Geopoint & referencePoint, uint32_t maxCount) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapLocationFinderStatics)->abi_FindLocationsWithMaxCountAsync(get_abi(searchText), get_abi(referencePoint), maxCount, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapLocationFinderStatics2::FindLocationsAtAsync(const Windows::Devices::Geolocation::Geopoint & queryPoint, Windows::Services::Maps::MapLocationDesiredAccuracy accuracy) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapLocationFinderStatics2)->abi_FindLocationsAtWithAccuracyAsync(get_abi(queryPoint), accuracy, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteAsync(get_abi(startPoint), get_abi(endPoint), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, Windows::Services::Maps::MapRouteOptimization optimization) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteWithOptimizationAsync(get_abi(startPoint), get_abi(endPoint), optimization, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteWithOptimizationAndRestrictionsAsync(get_abi(startPoint), get_abi(endPoint), optimization, restrictions, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, double headingInDegrees) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteWithOptimizationRestrictionsAndHeadingAsync(get_abi(startPoint), get_abi(endPoint), optimization, restrictions, headingInDegrees, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteFromWaypointsAsync(iterable wayPoints) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteFromWaypointsAsync(get_abi(wayPoints), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteFromWaypointsAsync(iterable wayPoints, Windows::Services::Maps::MapRouteOptimization optimization) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteFromWaypointsAndOptimizationAsync(get_abi(wayPoints), optimization, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteFromWaypointsAsync(iterable wayPoints, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteFromWaypointsOptimizationAndRestrictionsAsync(get_abi(wayPoints), optimization, restrictions, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetDrivingRouteFromWaypointsAsync(iterable wayPoints, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, double headingInDegrees) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetDrivingRouteFromWaypointsOptimizationRestrictionsAndHeadingAsync(get_abi(wayPoints), optimization, restrictions, headingInDegrees, put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetWalkingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetWalkingRouteAsync(get_abi(startPoint), get_abi(endPoint), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics::GetWalkingRouteFromWaypointsAsync(iterable wayPoints) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics)->abi_GetWalkingRouteFromWaypointsAsync(get_abi(wayPoints), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics2::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, const Windows::Services::Maps::MapRouteDrivingOptions & options) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics2)->abi_GetDrivingRouteWithOptionsAsync(get_abi(startPoint), get_abi(endPoint), get_abi(options), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics3::GetDrivingRouteFromEnhancedWaypointsAsync(iterable waypoints) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics3)->abi_GetDrivingRouteFromEnhancedWaypointsAsync(get_abi(waypoints), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IMapRouteFinderStatics3::GetDrivingRouteFromEnhancedWaypointsAsync(iterable waypoints, const Windows::Services::Maps::MapRouteDrivingOptions & options) const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IMapRouteFinderStatics3)->abi_GetDrivingRouteFromEnhancedWaypointsWithOptionsAsync(get_abi(waypoints), get_abi(options), put_abi(result))); + return result; +} + +template void impl_IMapServiceStatics::ServiceToken(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMapServiceStatics)->put_ServiceToken(get_abi(value))); +} + +template hstring impl_IMapServiceStatics::ServiceToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapServiceStatics)->get_ServiceToken(put_abi(value))); + return value; +} + +template void impl_IMapManagerStatics::ShowDownloadedMapsUI() const +{ + check_hresult(WINRT_SHIM(IMapManagerStatics)->abi_ShowDownloadedMapsUI()); +} + +template void impl_IMapManagerStatics::ShowMapsUpdateUI() const +{ + check_hresult(WINRT_SHIM(IMapManagerStatics)->abi_ShowMapsUpdateUI()); +} + +template hstring impl_IMapServiceStatics2::WorldViewRegionCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapServiceStatics2)->get_WorldViewRegionCode(put_abi(value))); + return value; +} + +template hstring impl_IMapServiceStatics3::DataAttributions() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapServiceStatics3)->get_DataAttributions(put_abi(value))); + return value; +} + +template void impl_IMapServiceStatics4::DataUsagePreference(Windows::Services::Maps::MapServiceDataUsagePreference value) const +{ + check_hresult(WINRT_SHIM(IMapServiceStatics4)->put_DataUsagePreference(value)); +} + +template Windows::Services::Maps::MapServiceDataUsagePreference impl_IMapServiceStatics4::DataUsagePreference() const +{ + Windows::Services::Maps::MapServiceDataUsagePreference value {}; + check_hresult(WINRT_SHIM(IMapServiceStatics4)->get_DataUsagePreference(&value)); + return value; +} + +inline EnhancedWaypoint::EnhancedWaypoint(const Windows::Devices::Geolocation::Geopoint & point, Windows::Services::Maps::WaypointKind kind) : + EnhancedWaypoint(get_activation_factory().Create(point, kind)) +{} + +inline Windows::Foundation::IAsyncOperation MapLocationFinder::FindLocationsAtAsync(const Windows::Devices::Geolocation::Geopoint & queryPoint) +{ + return get_activation_factory().FindLocationsAtAsync(queryPoint); +} + +inline Windows::Foundation::IAsyncOperation MapLocationFinder::FindLocationsAsync(hstring_view searchText, const Windows::Devices::Geolocation::Geopoint & referencePoint) +{ + return get_activation_factory().FindLocationsAsync(searchText, referencePoint); +} + +inline Windows::Foundation::IAsyncOperation MapLocationFinder::FindLocationsAsync(hstring_view searchText, const Windows::Devices::Geolocation::Geopoint & referencePoint, uint32_t maxCount) +{ + return get_activation_factory().FindLocationsAsync(searchText, referencePoint, maxCount); +} + +inline Windows::Foundation::IAsyncOperation MapLocationFinder::FindLocationsAtAsync(const Windows::Devices::Geolocation::Geopoint & queryPoint, Windows::Services::Maps::MapLocationDesiredAccuracy accuracy) +{ + return get_activation_factory().FindLocationsAtAsync(queryPoint, accuracy); +} + +inline void MapManager::ShowDownloadedMapsUI() +{ + get_activation_factory().ShowDownloadedMapsUI(); +} + +inline void MapManager::ShowMapsUpdateUI() +{ + get_activation_factory().ShowMapsUpdateUI(); +} + +inline MapRouteDrivingOptions::MapRouteDrivingOptions() : + MapRouteDrivingOptions(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint) +{ + return get_activation_factory().GetDrivingRouteAsync(startPoint, endPoint); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, Windows::Services::Maps::MapRouteOptimization optimization) +{ + return get_activation_factory().GetDrivingRouteAsync(startPoint, endPoint, optimization); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions) +{ + return get_activation_factory().GetDrivingRouteAsync(startPoint, endPoint, optimization, restrictions); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, double headingInDegrees) +{ + return get_activation_factory().GetDrivingRouteAsync(startPoint, endPoint, optimization, restrictions, headingInDegrees); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteFromWaypointsAsync(iterable wayPoints) +{ + return get_activation_factory().GetDrivingRouteFromWaypointsAsync(wayPoints); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteFromWaypointsAsync(iterable wayPoints, Windows::Services::Maps::MapRouteOptimization optimization) +{ + return get_activation_factory().GetDrivingRouteFromWaypointsAsync(wayPoints, optimization); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteFromWaypointsAsync(iterable wayPoints, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions) +{ + return get_activation_factory().GetDrivingRouteFromWaypointsAsync(wayPoints, optimization, restrictions); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteFromWaypointsAsync(iterable wayPoints, Windows::Services::Maps::MapRouteOptimization optimization, Windows::Services::Maps::MapRouteRestrictions restrictions, double headingInDegrees) +{ + return get_activation_factory().GetDrivingRouteFromWaypointsAsync(wayPoints, optimization, restrictions, headingInDegrees); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetWalkingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint) +{ + return get_activation_factory().GetWalkingRouteAsync(startPoint, endPoint); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetWalkingRouteFromWaypointsAsync(iterable wayPoints) +{ + return get_activation_factory().GetWalkingRouteFromWaypointsAsync(wayPoints); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteAsync(const Windows::Devices::Geolocation::Geopoint & startPoint, const Windows::Devices::Geolocation::Geopoint & endPoint, const Windows::Services::Maps::MapRouteDrivingOptions & options) +{ + return get_activation_factory().GetDrivingRouteAsync(startPoint, endPoint, options); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteFromEnhancedWaypointsAsync(iterable waypoints) +{ + return get_activation_factory().GetDrivingRouteFromEnhancedWaypointsAsync(waypoints); +} + +inline Windows::Foundation::IAsyncOperation MapRouteFinder::GetDrivingRouteFromEnhancedWaypointsAsync(iterable waypoints, const Windows::Services::Maps::MapRouteDrivingOptions & options) +{ + return get_activation_factory().GetDrivingRouteFromEnhancedWaypointsAsync(waypoints, options); +} + +inline void MapService::ServiceToken(hstring_view value) +{ + get_activation_factory().ServiceToken(value); +} + +inline hstring MapService::ServiceToken() +{ + return get_activation_factory().ServiceToken(); +} + +inline hstring MapService::WorldViewRegionCode() +{ + return get_activation_factory().WorldViewRegionCode(); +} + +inline hstring MapService::DataAttributions() +{ + return get_activation_factory().DataAttributions(); +} + +inline void MapService::DataUsagePreference(Windows::Services::Maps::MapServiceDataUsagePreference value) +{ + get_activation_factory().DataUsagePreference(value); +} + +inline Windows::Services::Maps::MapServiceDataUsagePreference MapService::DataUsagePreference() +{ + return get_activation_factory().DataUsagePreference(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IEnhancedWaypoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IEnhancedWaypointFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IManeuverWarning & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapAddress2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapLocationFinderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapLocationFinderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapLocationFinderStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRoute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRoute2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRoute3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteDrivingOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteFinderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteFinderResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteFinderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteFinderStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteFinderStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteLeg & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteLeg2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteManeuver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteManeuver2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapRouteManeuver3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapServiceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapServiceStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapServiceStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::IMapServiceStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::EnhancedWaypoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::ManeuverWarning & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapAddress & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapLocationFinderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapRoute & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapRouteDrivingOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapRouteFinderResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapRouteLeg & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Maps::MapRouteManeuver & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Services.Store.h b/10.0.15042.0/winrt/Windows.Services.Store.h new file mode 100644 index 000000000..720e30b47 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Services.Store.h @@ -0,0 +1,3739 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Web.Http.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.Services.Store.3.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StorePackageLicense(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorePackageLicense()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SkuStoreId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SkuStoreId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTrial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedJsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedJsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AddOnLicenses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddOnLicenses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrialTimeRemaining(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrialTimeRemaining()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTrialOwnedByThisUser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrialOwnedByThisUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrialUniqueId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrialUniqueId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StoreId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StoreId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Price(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Price()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedJsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedJsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseWithPurchasePropertiesAsync(impl::abi_arg_in storePurchaseProperties, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync(*reinterpret_cast(&storePurchaseProperties))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTrial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CampaignId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CampaignId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeveloperOfferId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeveloperOfferId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AcquiredDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcquiredDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrialTimeRemaining(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrialTimeRemaining()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedJsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedJsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Services::Store::StoreConsumableStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrackingId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrackingId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BalanceRemaining(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BalanceRemaining()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OfflineLicensesChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().OfflineLicensesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OfflineLicensesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OfflineLicensesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCustomerPurchaseIdAsync(impl::abi_arg_in serviceTicket, impl::abi_arg_in publisherUserId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCustomerPurchaseIdAsync(*reinterpret_cast(&serviceTicket), *reinterpret_cast(&publisherUserId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCustomerCollectionsIdAsync(impl::abi_arg_in serviceTicket, impl::abi_arg_in publisherUserId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCustomerCollectionsIdAsync(*reinterpret_cast(&serviceTicket), *reinterpret_cast(&publisherUserId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppLicenseAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAppLicenseAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStoreProductForCurrentAppAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetStoreProductForCurrentAppAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStoreProductsAsync(impl::abi_arg_in> productKinds, impl::abi_arg_in> storeIds, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetStoreProductsAsync(*reinterpret_cast *>(&productKinds), *reinterpret_cast *>(&storeIds))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAssociatedStoreProductsAsync(impl::abi_arg_in> productKinds, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAssociatedStoreProductsAsync(*reinterpret_cast *>(&productKinds))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAssociatedStoreProductsWithPagingAsync(impl::abi_arg_in> productKinds, uint32_t maxItemsToRetrievePerPage, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAssociatedStoreProductsWithPagingAsync(*reinterpret_cast *>(&productKinds), maxItemsToRetrievePerPage)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUserCollectionAsync(impl::abi_arg_in> productKinds, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetUserCollectionAsync(*reinterpret_cast *>(&productKinds))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUserCollectionWithPagingAsync(impl::abi_arg_in> productKinds, uint32_t maxItemsToRetrievePerPage, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetUserCollectionWithPagingAsync(*reinterpret_cast *>(&productKinds), maxItemsToRetrievePerPage)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportConsumableFulfillmentAsync(impl::abi_arg_in productStoreId, uint32_t quantity, GUID trackingId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReportConsumableFulfillmentAsync(*reinterpret_cast(&productStoreId), quantity, trackingId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConsumableBalanceRemainingAsync(impl::abi_arg_in productStoreId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetConsumableBalanceRemainingAsync(*reinterpret_cast(&productStoreId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcquireStoreLicenseForOptionalPackageAsync(impl::abi_arg_in optionalPackage, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AcquireStoreLicenseForOptionalPackageAsync(*reinterpret_cast(&optionalPackage))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseAsync(impl::abi_arg_in storeId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync(*reinterpret_cast(&storeId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseWithPurchasePropertiesAsync(impl::abi_arg_in storeId, impl::abi_arg_in storePurchaseProperties, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync(*reinterpret_cast(&storeId), *reinterpret_cast(&storePurchaseProperties))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAppAndOptionalStorePackageUpdatesAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAppAndOptionalStorePackageUpdatesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDownloadStorePackageUpdatesAsync(impl::abi_arg_in> storePackageUpdates, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDownloadStorePackageUpdatesAsync(*reinterpret_cast *>(&storePackageUpdates))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDownloadAndInstallStorePackageUpdatesAsync(impl::abi_arg_in> storePackageUpdates, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDownloadAndInstallStorePackageUpdatesAsync(*reinterpret_cast *>(&storePackageUpdates))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDownloadAndInstallStorePackagesAsync(impl::abi_arg_in> storeIds, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDownloadAndInstallStorePackagesAsync(*reinterpret_cast *>(&storeIds))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindStoreProductForPackageAsync(impl::abi_arg_in> productKinds, impl::abi_arg_in package, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindStoreProductForPackageAsync(*reinterpret_cast *>(&productKinds), *reinterpret_cast(&package))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImagePurposeTag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImagePurposeTag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Caption(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Caption()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SkuStoreId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SkuStoreId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedJsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedJsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InAppOfferToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InAppOfferToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_LicenseLost(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LicenseLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LicenseLost(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LicenseLost(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsValid(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsValid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReleaseLicense() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleaseLicense(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Package(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Package()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mandatory(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mandatory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OverallState(Windows::Services::Store::StorePackageUpdateState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverallState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StorePackageUpdateStatuses(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorePackageUpdateStatuses()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FormattedBasePrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedBasePrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FormattedPrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedPrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOnSale(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOnSale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SaleEndDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaleEndDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrencyCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrencyCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FormattedRecurrencePrice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedRecurrencePrice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StoreId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StoreId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProductKind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductKind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasDigitalDownload(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasDigitalDownload()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keywords(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keywords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Images(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Images()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Videos(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Videos()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Skus(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Skus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInUserCollection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInUserCollection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Price(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Price()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedJsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedJsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinkUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinkUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsAnySkuInstalledAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIsAnySkuInstalledAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseWithPurchasePropertiesAsync(impl::abi_arg_in storePurchaseProperties, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync(*reinterpret_cast(&storePurchaseProperties))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InAppOfferToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InAppOfferToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Products(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Products()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasMoreResults(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasMoreResults()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNextAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetNextAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Products(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Products()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Product(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Product()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedJsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedJsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExtendedJsonData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExtendedJsonData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in name, impl::abi_arg_out storePurchaseProperties) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *storePurchaseProperties = detach_abi(this->shim().Create(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *storePurchaseProperties = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::Services::Store::StorePurchaseStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SendRequestAsync(impl::abi_arg_in context, uint32_t requestKind, impl::abi_arg_in parametersAsJson, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendRequestAsync(*reinterpret_cast(&context), requestKind, *reinterpret_cast(¶metersAsJson))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Response(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Response()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HttpStatusCode(Windows::Web::Http::HttpStatusCode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HttpStatusCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StoreId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StoreId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTrial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTrial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomDeveloperData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomDeveloperData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Images(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Images()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Videos(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Videos()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Availabilities(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Availabilities()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Price(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Price()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedJsonData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedJsonData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInUserCollection(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInUserCollection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BundledSkus(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BundledSkus()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CollectionData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CollectionData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsInstalledAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIsInstalledAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestPurchaseWithPurchasePropertiesAsync(impl::abi_arg_in storePurchaseProperties, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestPurchaseAsync(*reinterpret_cast(&storePurchaseProperties))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSubscription(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSubscription()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubscriptionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscriptionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BillingPeriod(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BillingPeriod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BillingPeriodUnit(Windows::Services::Store::StoreDurationUnit * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BillingPeriodUnit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasTrialPeriod(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasTrialPeriod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrialPeriod(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrialPeriod()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrialPeriodUnit(Windows::Services::Store::StoreDurationUnit * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrialPeriodUnit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoPurposeTag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoPurposeTag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Caption(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Caption()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviewImage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviewImage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Services::Store { + +template Windows::Foundation::Collections::IMapView impl_IStoreProductPagedQueryResult::Products() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IStoreProductPagedQueryResult)->get_Products(put_abi(value))); + return value; +} + +template bool impl_IStoreProductPagedQueryResult::HasMoreResults() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreProductPagedQueryResult)->get_HasMoreResults(&value)); + return value; +} + +template HRESULT impl_IStoreProductPagedQueryResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IStoreProductPagedQueryResult)->get_ExtendedError(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreProductPagedQueryResult::GetNextAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreProductPagedQueryResult)->abi_GetNextAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IMapView impl_IStoreProductQueryResult::Products() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IStoreProductQueryResult)->get_Products(put_abi(value))); + return value; +} + +template HRESULT impl_IStoreProductQueryResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IStoreProductQueryResult)->get_ExtendedError(&value)); + return value; +} + +template Windows::Services::Store::StoreProduct impl_IStoreProductResult::Product() const +{ + Windows::Services::Store::StoreProduct value { nullptr }; + check_hresult(WINRT_SHIM(IStoreProductResult)->get_Product(put_abi(value))); + return value; +} + +template HRESULT impl_IStoreProductResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IStoreProductResult)->get_ExtendedError(&value)); + return value; +} + +template hstring impl_IStorePurchaseProperties::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePurchaseProperties)->get_Name(put_abi(value))); + return value; +} + +template void impl_IStorePurchaseProperties::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IStorePurchaseProperties)->put_Name(get_abi(value))); +} + +template hstring impl_IStorePurchaseProperties::ExtendedJsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePurchaseProperties)->get_ExtendedJsonData(put_abi(value))); + return value; +} + +template void impl_IStorePurchaseProperties::ExtendedJsonData(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IStorePurchaseProperties)->put_ExtendedJsonData(get_abi(value))); +} + +template Windows::Services::Store::StorePurchaseProperties impl_IStorePurchasePropertiesFactory::Create(hstring_view name) const +{ + Windows::Services::Store::StorePurchaseProperties storePurchaseProperties { nullptr }; + check_hresult(WINRT_SHIM(IStorePurchasePropertiesFactory)->abi_Create(get_abi(name), put_abi(storePurchaseProperties))); + return storePurchaseProperties; +} + +template bool impl_IStoreCollectionData::IsTrial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_IsTrial(&value)); + return value; +} + +template hstring impl_IStoreCollectionData::CampaignId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_CampaignId(put_abi(value))); + return value; +} + +template hstring impl_IStoreCollectionData::DeveloperOfferId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_DeveloperOfferId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IStoreCollectionData::AcquiredDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_AcquiredDate(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IStoreCollectionData::StartDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_StartDate(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IStoreCollectionData::EndDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_EndDate(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IStoreCollectionData::TrialTimeRemaining() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_TrialTimeRemaining(put_abi(value))); + return value; +} + +template hstring impl_IStoreCollectionData::ExtendedJsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreCollectionData)->get_ExtendedJsonData(put_abi(value))); + return value; +} + +template hstring impl_IStoreLicense::SkuStoreId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreLicense)->get_SkuStoreId(put_abi(value))); + return value; +} + +template bool impl_IStoreLicense::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreLicense)->get_IsActive(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IStoreLicense::ExpirationDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStoreLicense)->get_ExpirationDate(put_abi(value))); + return value; +} + +template hstring impl_IStoreLicense::ExtendedJsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreLicense)->get_ExtendedJsonData(put_abi(value))); + return value; +} + +template hstring impl_IStoreLicense::InAppOfferToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreLicense)->get_InAppOfferToken(put_abi(value))); + return value; +} + +template hstring impl_IStoreAppLicense::SkuStoreId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_SkuStoreId(put_abi(value))); + return value; +} + +template bool impl_IStoreAppLicense::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_IsActive(&value)); + return value; +} + +template bool impl_IStoreAppLicense::IsTrial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_IsTrial(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IStoreAppLicense::ExpirationDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_ExpirationDate(put_abi(value))); + return value; +} + +template hstring impl_IStoreAppLicense::ExtendedJsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_ExtendedJsonData(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IStoreAppLicense::AddOnLicenses() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_AddOnLicenses(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IStoreAppLicense::TrialTimeRemaining() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_TrialTimeRemaining(put_abi(value))); + return value; +} + +template bool impl_IStoreAppLicense::IsTrialOwnedByThisUser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_IsTrialOwnedByThisUser(&value)); + return value; +} + +template hstring impl_IStoreAppLicense::TrialUniqueId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreAppLicense)->get_TrialUniqueId(put_abi(value))); + return value; +} + +template hstring impl_IStoreSendRequestResult::Response() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreSendRequestResult)->get_Response(put_abi(value))); + return value; +} + +template HRESULT impl_IStoreSendRequestResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IStoreSendRequestResult)->get_ExtendedError(&value)); + return value; +} + +template Windows::Web::Http::HttpStatusCode impl_IStoreSendRequestResult2::HttpStatusCode() const +{ + Windows::Web::Http::HttpStatusCode value {}; + check_hresult(WINRT_SHIM(IStoreSendRequestResult2)->get_HttpStatusCode(&value)); + return value; +} + +template hstring impl_IStoreProduct::StoreId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_StoreId(put_abi(value))); + return value; +} + +template hstring impl_IStoreProduct::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Language(put_abi(value))); + return value; +} + +template hstring impl_IStoreProduct::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IStoreProduct::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Description(put_abi(value))); + return value; +} + +template hstring impl_IStoreProduct::ProductKind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_ProductKind(put_abi(value))); + return value; +} + +template bool impl_IStoreProduct::HasDigitalDownload() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreProduct)->get_HasDigitalDownload(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreProduct::Keywords() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Keywords(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreProduct::Images() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Images(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreProduct::Videos() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Videos(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreProduct::Skus() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Skus(put_abi(value))); + return value; +} + +template bool impl_IStoreProduct::IsInUserCollection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreProduct)->get_IsInUserCollection(&value)); + return value; +} + +template Windows::Services::Store::StorePrice impl_IStoreProduct::Price() const +{ + Windows::Services::Store::StorePrice value { nullptr }; + check_hresult(WINRT_SHIM(IStoreProduct)->get_Price(put_abi(value))); + return value; +} + +template hstring impl_IStoreProduct::ExtendedJsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_ExtendedJsonData(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IStoreProduct::LinkUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IStoreProduct)->get_LinkUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreProduct::GetIsAnySkuInstalledAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreProduct)->abi_GetIsAnySkuInstalledAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreProduct::RequestPurchaseAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreProduct)->abi_RequestPurchaseAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreProduct::RequestPurchaseAsync(const Windows::Services::Store::StorePurchaseProperties & storePurchaseProperties) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreProduct)->abi_RequestPurchaseWithPurchasePropertiesAsync(get_abi(storePurchaseProperties), put_abi(operation))); + return operation; +} + +template hstring impl_IStoreProduct::InAppOfferToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreProduct)->get_InAppOfferToken(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IStoreImage::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IStoreImage)->get_Uri(put_abi(value))); + return value; +} + +template hstring impl_IStoreImage::ImagePurposeTag() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreImage)->get_ImagePurposeTag(put_abi(value))); + return value; +} + +template uint32_t impl_IStoreImage::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStoreImage)->get_Width(&value)); + return value; +} + +template uint32_t impl_IStoreImage::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStoreImage)->get_Height(&value)); + return value; +} + +template hstring impl_IStoreImage::Caption() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreImage)->get_Caption(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IStoreVideo::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IStoreVideo)->get_Uri(put_abi(value))); + return value; +} + +template hstring impl_IStoreVideo::VideoPurposeTag() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreVideo)->get_VideoPurposeTag(put_abi(value))); + return value; +} + +template uint32_t impl_IStoreVideo::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStoreVideo)->get_Width(&value)); + return value; +} + +template uint32_t impl_IStoreVideo::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStoreVideo)->get_Height(&value)); + return value; +} + +template hstring impl_IStoreVideo::Caption() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreVideo)->get_Caption(put_abi(value))); + return value; +} + +template Windows::Services::Store::StoreImage impl_IStoreVideo::PreviewImage() const +{ + Windows::Services::Store::StoreImage value { nullptr }; + check_hresult(WINRT_SHIM(IStoreVideo)->get_PreviewImage(put_abi(value))); + return value; +} + +template hstring impl_IStoreSku::StoreId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreSku)->get_StoreId(put_abi(value))); + return value; +} + +template hstring impl_IStoreSku::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreSku)->get_Language(put_abi(value))); + return value; +} + +template hstring impl_IStoreSku::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreSku)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IStoreSku::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreSku)->get_Description(put_abi(value))); + return value; +} + +template bool impl_IStoreSku::IsTrial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreSku)->get_IsTrial(&value)); + return value; +} + +template hstring impl_IStoreSku::CustomDeveloperData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreSku)->get_CustomDeveloperData(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreSku::Images() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreSku)->get_Images(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreSku::Videos() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreSku)->get_Videos(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreSku::Availabilities() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreSku)->get_Availabilities(put_abi(value))); + return value; +} + +template Windows::Services::Store::StorePrice impl_IStoreSku::Price() const +{ + Windows::Services::Store::StorePrice value { nullptr }; + check_hresult(WINRT_SHIM(IStoreSku)->get_Price(put_abi(value))); + return value; +} + +template hstring impl_IStoreSku::ExtendedJsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreSku)->get_ExtendedJsonData(put_abi(value))); + return value; +} + +template bool impl_IStoreSku::IsInUserCollection() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreSku)->get_IsInUserCollection(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStoreSku::BundledSkus() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStoreSku)->get_BundledSkus(put_abi(value))); + return value; +} + +template Windows::Services::Store::StoreCollectionData impl_IStoreSku::CollectionData() const +{ + Windows::Services::Store::StoreCollectionData value { nullptr }; + check_hresult(WINRT_SHIM(IStoreSku)->get_CollectionData(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreSku::GetIsInstalledAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreSku)->abi_GetIsInstalledAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreSku::RequestPurchaseAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreSku)->abi_RequestPurchaseAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreSku::RequestPurchaseAsync(const Windows::Services::Store::StorePurchaseProperties & storePurchaseProperties) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreSku)->abi_RequestPurchaseWithPurchasePropertiesAsync(get_abi(storePurchaseProperties), put_abi(operation))); + return operation; +} + +template bool impl_IStoreSku::IsSubscription() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreSku)->get_IsSubscription(&value)); + return value; +} + +template Windows::Services::Store::StoreSubscriptionInfo impl_IStoreSku::SubscriptionInfo() const +{ + Windows::Services::Store::StoreSubscriptionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IStoreSku)->get_SubscriptionInfo(put_abi(value))); + return value; +} + +template hstring impl_IStoreAvailability::StoreId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreAvailability)->get_StoreId(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IStoreAvailability::EndDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStoreAvailability)->get_EndDate(put_abi(value))); + return value; +} + +template Windows::Services::Store::StorePrice impl_IStoreAvailability::Price() const +{ + Windows::Services::Store::StorePrice value { nullptr }; + check_hresult(WINRT_SHIM(IStoreAvailability)->get_Price(put_abi(value))); + return value; +} + +template hstring impl_IStoreAvailability::ExtendedJsonData() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStoreAvailability)->get_ExtendedJsonData(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreAvailability::RequestPurchaseAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreAvailability)->abi_RequestPurchaseAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreAvailability::RequestPurchaseAsync(const Windows::Services::Store::StorePurchaseProperties & storePurchaseProperties) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreAvailability)->abi_RequestPurchaseWithPurchasePropertiesAsync(get_abi(storePurchaseProperties), put_abi(operation))); + return operation; +} + +template hstring impl_IStorePrice::FormattedBasePrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePrice)->get_FormattedBasePrice(put_abi(value))); + return value; +} + +template hstring impl_IStorePrice::FormattedPrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePrice)->get_FormattedPrice(put_abi(value))); + return value; +} + +template bool impl_IStorePrice::IsOnSale() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorePrice)->get_IsOnSale(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IStorePrice::SaleEndDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStorePrice)->get_SaleEndDate(put_abi(value))); + return value; +} + +template hstring impl_IStorePrice::CurrencyCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePrice)->get_CurrencyCode(put_abi(value))); + return value; +} + +template hstring impl_IStorePrice::FormattedRecurrencePrice() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorePrice)->get_FormattedRecurrencePrice(put_abi(value))); + return value; +} + +template uint32_t impl_IStoreSubscriptionInfo::BillingPeriod() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStoreSubscriptionInfo)->get_BillingPeriod(&value)); + return value; +} + +template Windows::Services::Store::StoreDurationUnit impl_IStoreSubscriptionInfo::BillingPeriodUnit() const +{ + Windows::Services::Store::StoreDurationUnit value {}; + check_hresult(WINRT_SHIM(IStoreSubscriptionInfo)->get_BillingPeriodUnit(&value)); + return value; +} + +template bool impl_IStoreSubscriptionInfo::HasTrialPeriod() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStoreSubscriptionInfo)->get_HasTrialPeriod(&value)); + return value; +} + +template uint32_t impl_IStoreSubscriptionInfo::TrialPeriod() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStoreSubscriptionInfo)->get_TrialPeriod(&value)); + return value; +} + +template Windows::Services::Store::StoreDurationUnit impl_IStoreSubscriptionInfo::TrialPeriodUnit() const +{ + Windows::Services::Store::StoreDurationUnit value {}; + check_hresult(WINRT_SHIM(IStoreSubscriptionInfo)->get_TrialPeriodUnit(&value)); + return value; +} + +template Windows::Services::Store::StoreConsumableStatus impl_IStoreConsumableResult::Status() const +{ + Windows::Services::Store::StoreConsumableStatus value {}; + check_hresult(WINRT_SHIM(IStoreConsumableResult)->get_Status(&value)); + return value; +} + +template GUID impl_IStoreConsumableResult::TrackingId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IStoreConsumableResult)->get_TrackingId(&value)); + return value; +} + +template uint32_t impl_IStoreConsumableResult::BalanceRemaining() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStoreConsumableResult)->get_BalanceRemaining(&value)); + return value; +} + +template HRESULT impl_IStoreConsumableResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IStoreConsumableResult)->get_ExtendedError(&value)); + return value; +} + +template Windows::Services::Store::StorePurchaseStatus impl_IStorePurchaseResult::Status() const +{ + Windows::Services::Store::StorePurchaseStatus value {}; + check_hresult(WINRT_SHIM(IStorePurchaseResult)->get_Status(&value)); + return value; +} + +template HRESULT impl_IStorePurchaseResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IStorePurchaseResult)->get_ExtendedError(&value)); + return value; +} + +template Windows::Services::Store::StoreContext impl_IStoreContextStatics::GetDefault() const +{ + Windows::Services::Store::StoreContext value { nullptr }; + check_hresult(WINRT_SHIM(IStoreContextStatics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::Services::Store::StoreContext impl_IStoreContextStatics::GetForUser(const Windows::System::User & user) const +{ + Windows::Services::Store::StoreContext value { nullptr }; + check_hresult(WINRT_SHIM(IStoreContextStatics)->abi_GetForUser(get_abi(user), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreRequestHelperStatics::SendRequestAsync(const Windows::Services::Store::StoreContext & context, uint32_t requestKind, hstring_view parametersAsJson) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreRequestHelperStatics)->abi_SendRequestAsync(get_abi(context), requestKind, get_abi(parametersAsJson), put_abi(operation))); + return operation; +} + +template Windows::System::User impl_IStoreContext::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IStoreContext)->get_User(put_abi(value))); + return value; +} + +template event_token impl_IStoreContext::OfflineLicensesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IStoreContext)->add_OfflineLicensesChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IStoreContext::OfflineLicensesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Store::IStoreContext::remove_OfflineLicensesChanged, OfflineLicensesChanged(handler)); +} + +template void impl_IStoreContext::OfflineLicensesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IStoreContext)->remove_OfflineLicensesChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetCustomerPurchaseIdAsync(hstring_view serviceTicket, hstring_view publisherUserId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetCustomerPurchaseIdAsync(get_abi(serviceTicket), get_abi(publisherUserId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetCustomerCollectionsIdAsync(hstring_view serviceTicket, hstring_view publisherUserId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetCustomerCollectionsIdAsync(get_abi(serviceTicket), get_abi(publisherUserId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetAppLicenseAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetAppLicenseAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetStoreProductForCurrentAppAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetStoreProductForCurrentAppAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetStoreProductsAsync(iterable productKinds, iterable storeIds) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetStoreProductsAsync(get_abi(productKinds), get_abi(storeIds), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetAssociatedStoreProductsAsync(iterable productKinds) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetAssociatedStoreProductsAsync(get_abi(productKinds), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetAssociatedStoreProductsWithPagingAsync(iterable productKinds, uint32_t maxItemsToRetrievePerPage) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetAssociatedStoreProductsWithPagingAsync(get_abi(productKinds), maxItemsToRetrievePerPage, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetUserCollectionAsync(iterable productKinds) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetUserCollectionAsync(get_abi(productKinds), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetUserCollectionWithPagingAsync(iterable productKinds, uint32_t maxItemsToRetrievePerPage) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetUserCollectionWithPagingAsync(get_abi(productKinds), maxItemsToRetrievePerPage, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::ReportConsumableFulfillmentAsync(hstring_view productStoreId, uint32_t quantity, GUID trackingId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_ReportConsumableFulfillmentAsync(get_abi(productStoreId), quantity, trackingId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::GetConsumableBalanceRemainingAsync(hstring_view productStoreId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetConsumableBalanceRemainingAsync(get_abi(productStoreId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::AcquireStoreLicenseForOptionalPackageAsync(const Windows::ApplicationModel::Package & optionalPackage) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_AcquireStoreLicenseForOptionalPackageAsync(get_abi(optionalPackage), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::RequestPurchaseAsync(hstring_view storeId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_RequestPurchaseAsync(get_abi(storeId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext::RequestPurchaseAsync(hstring_view storeId, const Windows::Services::Store::StorePurchaseProperties & storePurchaseProperties) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_RequestPurchaseWithPurchasePropertiesAsync(get_abi(storeId), get_abi(storePurchaseProperties), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStoreContext::GetAppAndOptionalStorePackageUpdatesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_GetAppAndOptionalStorePackageUpdatesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IStoreContext::RequestDownloadStorePackageUpdatesAsync(iterable storePackageUpdates) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_RequestDownloadStorePackageUpdatesAsync(get_abi(storePackageUpdates), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IStoreContext::RequestDownloadAndInstallStorePackageUpdatesAsync(iterable storePackageUpdates) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_RequestDownloadAndInstallStorePackageUpdatesAsync(get_abi(storePackageUpdates), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IStoreContext::RequestDownloadAndInstallStorePackagesAsync(iterable storeIds) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IStoreContext)->abi_RequestDownloadAndInstallStorePackagesAsync(get_abi(storeIds), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStoreContext2::FindStoreProductForPackageAsync(iterable productKinds, const Windows::ApplicationModel::Package & package) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStoreContext2)->abi_FindStoreProductForPackageAsync(get_abi(productKinds), get_abi(package), put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::Package impl_IStorePackageUpdate::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IStorePackageUpdate)->get_Package(put_abi(value))); + return value; +} + +template bool impl_IStorePackageUpdate::Mandatory() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorePackageUpdate)->get_Mandatory(&value)); + return value; +} + +template Windows::Services::Store::StorePackageUpdateState impl_IStorePackageUpdateResult::OverallState() const +{ + Windows::Services::Store::StorePackageUpdateState value {}; + check_hresult(WINRT_SHIM(IStorePackageUpdateResult)->get_OverallState(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IStorePackageUpdateResult::StorePackageUpdateStatuses() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IStorePackageUpdateResult)->get_StorePackageUpdateStatuses(put_abi(value))); + return value; +} + +template Windows::Services::Store::StorePackageLicense impl_IStoreAcquireLicenseResult::StorePackageLicense() const +{ + Windows::Services::Store::StorePackageLicense value { nullptr }; + check_hresult(WINRT_SHIM(IStoreAcquireLicenseResult)->get_StorePackageLicense(put_abi(value))); + return value; +} + +template HRESULT impl_IStoreAcquireLicenseResult::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IStoreAcquireLicenseResult)->get_ExtendedError(&value)); + return value; +} + +template event_token impl_IStorePackageLicense::LicenseLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IStorePackageLicense)->add_LicenseLost(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IStorePackageLicense::LicenseLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::Store::IStorePackageLicense::remove_LicenseLost, LicenseLost(handler)); +} + +template void impl_IStorePackageLicense::LicenseLost(event_token token) const +{ + check_hresult(WINRT_SHIM(IStorePackageLicense)->remove_LicenseLost(token)); +} + +template Windows::ApplicationModel::Package impl_IStorePackageLicense::Package() const +{ + Windows::ApplicationModel::Package value { nullptr }; + check_hresult(WINRT_SHIM(IStorePackageLicense)->get_Package(put_abi(value))); + return value; +} + +template bool impl_IStorePackageLicense::IsValid() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorePackageLicense)->get_IsValid(&value)); + return value; +} + +template void impl_IStorePackageLicense::ReleaseLicense() const +{ + check_hresult(WINRT_SHIM(IStorePackageLicense)->abi_ReleaseLicense()); +} + +inline Windows::Services::Store::StoreContext StoreContext::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Services::Store::StoreContext StoreContext::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline StorePurchaseProperties::StorePurchaseProperties() : + StorePurchaseProperties(activate_instance()) +{} + +inline StorePurchaseProperties::StorePurchaseProperties(hstring_view name) : + StorePurchaseProperties(get_activation_factory().Create(name)) +{} + +inline Windows::Foundation::IAsyncOperation StoreRequestHelper::SendRequestAsync(const Windows::Services::Store::StoreContext & context, uint32_t requestKind, hstring_view parametersAsJson) +{ + return get_activation_factory().SendRequestAsync(context, requestKind, parametersAsJson); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreAcquireLicenseResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreAppLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreAvailability & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreCollectionData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreConsumableResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreContext2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreContextStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreImage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStorePackageLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStorePackageUpdate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStorePackageUpdateResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStorePrice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreProduct & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreProductPagedQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreProductQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreProductResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStorePurchaseProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStorePurchasePropertiesFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStorePurchaseResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreRequestHelperStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreSendRequestResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreSendRequestResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreSku & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreSubscriptionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::IStoreVideo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreAcquireLicenseResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreAppLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreAvailability & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreCollectionData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreConsumableResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreImage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StorePackageLicense & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StorePackageUpdate & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StorePackageUpdateResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StorePrice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreProduct & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreProductPagedQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreProductQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreProductResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StorePurchaseProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StorePurchaseResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreSendRequestResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreSku & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreSubscriptionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::Store::StoreVideo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Services.TargetedContent.h b/10.0.15042.0/winrt/Windows.Services.TargetedContent.h new file mode 100644 index 000000000..370b166fd --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Services.TargetedContent.h @@ -0,0 +1,1744 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Services.TargetedContent.3.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InvokeAsync(impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().InvokeAsync()); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasPreviousContentExpired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasPreviousContentExpired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportInteraction(Windows::Services::TargetedContent::TargetedContentInteraction interaction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInteraction(interaction); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCustomInteraction(impl::abi_arg_in customInteractionName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCustomInteraction(*reinterpret_cast(&customInteractionName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Collections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Collections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Availability(Windows::Services::TargetedContent::TargetedContentAvailability * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Availability()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectSingleObject(impl::abi_arg_in path, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectSingleObject(*reinterpret_cast(&path))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAsync(impl::abi_arg_in contentId, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().GetAsync(*reinterpret_cast(&contentId))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportInteraction(Windows::Services::TargetedContent::TargetedContentInteraction interaction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportInteraction(interaction); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReportCustomInteraction(impl::abi_arg_in customInteractionName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCustomInteraction(*reinterpret_cast(&customInteractionName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Collections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Collections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShouldDisplay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldDisplay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppInstallationState(Windows::Services::TargetedContent::TargetedContentAppInstallationState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppInstallationState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ObjectKind(Windows::Services::TargetedContent::TargetedContentObjectKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ObjectKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Collection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Collection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContentContainerAsync(impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().GetContentContainerAsync()); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContentChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ContentChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContentChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AvailabilityChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AvailabilityChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AvailabilityChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AvailabilityChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StateChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StateChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StateChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StateChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SubscriptionId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubscriptionId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowPartialContentAvailability(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowPartialContentAvailability()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowPartialContentAvailability(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowPartialContentAvailability(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloudQueryParameters(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloudQueryParameters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalFilters(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalFilters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Update() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Update(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAsync(impl::abi_arg_in subscriptionId, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().GetAsync(*reinterpret_cast(&subscriptionId))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOptions(impl::abi_arg_in subscriptionId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetOptions(*reinterpret_cast(&subscriptionId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ValueKind(Windows::Services::TargetedContent::TargetedContentValueKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValueKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_String(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().String()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Number(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Number()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Boolean(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Boolean()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Action(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Action()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Strings(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Strings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Uris(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uris()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Numbers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Numbers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Booleans(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Booleans()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Files(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Files()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageFiles(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageFiles()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Actions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Actions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Services::TargetedContent { + +template hstring impl_ITargetedContentSubscriptionOptions::SubscriptionId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionOptions)->get_SubscriptionId(put_abi(value))); + return value; +} + +template bool impl_ITargetedContentSubscriptionOptions::AllowPartialContentAvailability() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionOptions)->get_AllowPartialContentAvailability(&value)); + return value; +} + +template void impl_ITargetedContentSubscriptionOptions::AllowPartialContentAvailability(bool value) const +{ + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionOptions)->put_AllowPartialContentAvailability(value)); +} + +template Windows::Foundation::Collections::IMap impl_ITargetedContentSubscriptionOptions::CloudQueryParameters() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionOptions)->get_CloudQueryParameters(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ITargetedContentSubscriptionOptions::LocalFilters() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionOptions)->get_LocalFilters(put_abi(value))); + return value; +} + +template void impl_ITargetedContentSubscriptionOptions::Update() const +{ + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionOptions)->abi_Update()); +} + +template Windows::Foundation::IAsyncOperation impl_ITargetedContentSubscriptionStatics::GetAsync(hstring_view subscriptionId) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionStatics)->abi_GetAsync(get_abi(subscriptionId), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Services::TargetedContent::TargetedContentSubscriptionOptions impl_ITargetedContentSubscriptionStatics::GetOptions(hstring_view subscriptionId) const +{ + Windows::Services::TargetedContent::TargetedContentSubscriptionOptions value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentSubscriptionStatics)->abi_GetOptions(get_abi(subscriptionId), put_abi(value))); + return value; +} + +template hstring impl_ITargetedContentSubscription::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->get_Id(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ITargetedContentSubscription::GetContentContainerAsync() const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->abi_GetContentContainerAsync(put_abi(asyncOperation))); + return asyncOperation; +} + +template event_token impl_ITargetedContentSubscription::ContentChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->add_ContentChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ITargetedContentSubscription::ContentChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::TargetedContent::ITargetedContentSubscription::remove_ContentChanged, ContentChanged(handler)); +} + +template void impl_ITargetedContentSubscription::ContentChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->remove_ContentChanged(cookie)); +} + +template event_token impl_ITargetedContentSubscription::AvailabilityChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->add_AvailabilityChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ITargetedContentSubscription::AvailabilityChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::TargetedContent::ITargetedContentSubscription::remove_AvailabilityChanged, AvailabilityChanged(handler)); +} + +template void impl_ITargetedContentSubscription::AvailabilityChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->remove_AvailabilityChanged(cookie)); +} + +template event_token impl_ITargetedContentSubscription::StateChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->add_StateChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ITargetedContentSubscription::StateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Services::TargetedContent::ITargetedContentSubscription::remove_StateChanged, StateChanged(handler)); +} + +template void impl_ITargetedContentSubscription::StateChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ITargetedContentSubscription)->remove_StateChanged(cookie)); +} + +template Windows::Foundation::Deferral impl_ITargetedContentChangedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentChangedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_ITargetedContentChangedEventArgs::HasPreviousContentExpired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITargetedContentChangedEventArgs)->get_HasPreviousContentExpired(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ITargetedContentAvailabilityChangedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentAvailabilityChangedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_ITargetedContentStateChangedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentStateChangedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template uint32_t impl_ITargetedContentImage::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ITargetedContentImage)->get_Height(&value)); + return value; +} + +template uint32_t impl_ITargetedContentImage::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ITargetedContentImage)->get_Width(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ITargetedContentAction::InvokeAsync() const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(ITargetedContentAction)->abi_InvokeAsync(put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_ITargetedContentContainerStatics::GetAsync(hstring_view contentId) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ITargetedContentContainerStatics)->abi_GetAsync(get_abi(contentId), put_abi(asyncOperation))); + return asyncOperation; +} + +template hstring impl_ITargetedContentContainer::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentContainer)->get_Id(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_ITargetedContentContainer::Timestamp() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ITargetedContentContainer)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentAvailability impl_ITargetedContentContainer::Availability() const +{ + Windows::Services::TargetedContent::TargetedContentAvailability value {}; + check_hresult(WINRT_SHIM(ITargetedContentContainer)->get_Availability(&value)); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentCollection impl_ITargetedContentContainer::Content() const +{ + Windows::Services::TargetedContent::TargetedContentCollection value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentContainer)->get_Content(put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentObject impl_ITargetedContentContainer::SelectSingleObject(hstring_view path) const +{ + Windows::Services::TargetedContent::TargetedContentObject value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentContainer)->abi_SelectSingleObject(get_abi(path), put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentObjectKind impl_ITargetedContentObject::ObjectKind() const +{ + Windows::Services::TargetedContent::TargetedContentObjectKind value {}; + check_hresult(WINRT_SHIM(ITargetedContentObject)->get_ObjectKind(&value)); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentCollection impl_ITargetedContentObject::Collection() const +{ + Windows::Services::TargetedContent::TargetedContentCollection value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentObject)->get_Collection(put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentItem impl_ITargetedContentObject::Item() const +{ + Windows::Services::TargetedContent::TargetedContentItem value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentObject)->get_Item(put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentValue impl_ITargetedContentObject::Value() const +{ + Windows::Services::TargetedContent::TargetedContentValue value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentObject)->get_Value(put_abi(value))); + return value; +} + +template hstring impl_ITargetedContentCollection::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentCollection)->get_Id(put_abi(value))); + return value; +} + +template void impl_ITargetedContentCollection::ReportInteraction(Windows::Services::TargetedContent::TargetedContentInteraction interaction) const +{ + check_hresult(WINRT_SHIM(ITargetedContentCollection)->abi_ReportInteraction(interaction)); +} + +template void impl_ITargetedContentCollection::ReportCustomInteraction(hstring_view customInteractionName) const +{ + check_hresult(WINRT_SHIM(ITargetedContentCollection)->abi_ReportCustomInteraction(get_abi(customInteractionName))); +} + +template hstring impl_ITargetedContentCollection::Path() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentCollection)->get_Path(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ITargetedContentCollection::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ITargetedContentCollection)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentCollection::Collections() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentCollection)->get_Collections(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentCollection::Items() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentCollection)->get_Items(put_abi(value))); + return value; +} + +template bool impl_ITargetedContentItemState::ShouldDisplay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITargetedContentItemState)->get_ShouldDisplay(&value)); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentAppInstallationState impl_ITargetedContentItemState::AppInstallationState() const +{ + Windows::Services::TargetedContent::TargetedContentAppInstallationState value {}; + check_hresult(WINRT_SHIM(ITargetedContentItemState)->get_AppInstallationState(&value)); + return value; +} + +template hstring impl_ITargetedContentItem::Path() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentItem)->get_Path(put_abi(value))); + return value; +} + +template void impl_ITargetedContentItem::ReportInteraction(Windows::Services::TargetedContent::TargetedContentInteraction interaction) const +{ + check_hresult(WINRT_SHIM(ITargetedContentItem)->abi_ReportInteraction(interaction)); +} + +template void impl_ITargetedContentItem::ReportCustomInteraction(hstring_view customInteractionName) const +{ + check_hresult(WINRT_SHIM(ITargetedContentItem)->abi_ReportCustomInteraction(get_abi(customInteractionName))); +} + +template Windows::Services::TargetedContent::TargetedContentItemState impl_ITargetedContentItem::State() const +{ + Windows::Services::TargetedContent::TargetedContentItemState value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentItem)->get_State(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_ITargetedContentItem::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(ITargetedContentItem)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentItem::Collections() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentItem)->get_Collections(put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentValueKind impl_ITargetedContentValue::ValueKind() const +{ + Windows::Services::TargetedContent::TargetedContentValueKind value {}; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_ValueKind(&value)); + return value; +} + +template hstring impl_ITargetedContentValue::Path() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Path(put_abi(value))); + return value; +} + +template hstring impl_ITargetedContentValue::String() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_String(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_ITargetedContentValue::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Uri(put_abi(value))); + return value; +} + +template double impl_ITargetedContentValue::Number() const +{ + double value {}; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Number(&value)); + return value; +} + +template bool impl_ITargetedContentValue::Boolean() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Boolean(&value)); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentFile impl_ITargetedContentValue::File() const +{ + Windows::Services::TargetedContent::TargetedContentFile value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_File(put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentImage impl_ITargetedContentValue::ImageFile() const +{ + Windows::Services::TargetedContent::TargetedContentImage value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_ImageFile(put_abi(value))); + return value; +} + +template Windows::Services::TargetedContent::TargetedContentAction impl_ITargetedContentValue::Action() const +{ + Windows::Services::TargetedContent::TargetedContentAction value { nullptr }; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Action(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentValue::Strings() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Strings(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentValue::Uris() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Uris(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentValue::Numbers() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Numbers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentValue::Booleans() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Booleans(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentValue::Files() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Files(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentValue::ImageFiles() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_ImageFiles(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITargetedContentValue::Actions() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITargetedContentValue)->get_Actions(put_abi(value))); + return value; +} + +inline Windows::Foundation::IAsyncOperation TargetedContentContainer::GetAsync(hstring_view contentId) +{ + return get_activation_factory().GetAsync(contentId); +} + +inline Windows::Foundation::IAsyncOperation TargetedContentSubscription::GetAsync(hstring_view subscriptionId) +{ + return get_activation_factory().GetAsync(subscriptionId); +} + +inline Windows::Services::TargetedContent::TargetedContentSubscriptionOptions TargetedContentSubscription::GetOptions(hstring_view subscriptionId) +{ + return get_activation_factory().GetOptions(subscriptionId); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentAction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentAvailabilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentContainerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentImage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentItemState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentSubscription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentSubscriptionOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentSubscriptionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::ITargetedContentValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentAction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentAvailabilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentFile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentImage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentItemState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentStateChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentSubscription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentSubscriptionOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Services::TargetedContent::TargetedContentValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.AccessCache.h b/10.0.15042.0/winrt/Windows.Storage.AccessCache.h new file mode 100644 index 000000000..54eebd1ad --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.AccessCache.h @@ -0,0 +1,627 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.AccessCache.3.h" +#include "Windows.Storage.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemovedEntry(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedEntry()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FutureAccessList(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FutureAccessList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MostRecentlyUsedList(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MostRecentlyUsedList()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddOverloadDefaultMetadata(impl::abi_arg_in file, impl::abi_arg_out token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Add(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *token = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Add(impl::abi_arg_in file, impl::abi_arg_in metadata, impl::abi_arg_out token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Add(*reinterpret_cast(&file), *reinterpret_cast(&metadata))); + return S_OK; + } + catch (...) + { + *token = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddOrReplaceOverloadDefaultMetadata(impl::abi_arg_in token, impl::abi_arg_in file) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddOrReplace(*reinterpret_cast(&token), *reinterpret_cast(&file)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddOrReplace(impl::abi_arg_in token, impl::abi_arg_in file, impl::abi_arg_in metadata) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddOrReplace(*reinterpret_cast(&token), *reinterpret_cast(&file), *reinterpret_cast(&metadata)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemAsync(impl::abi_arg_in token, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemAsync(*reinterpret_cast(&token))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFileAsync(impl::abi_arg_in token, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFileAsync(*reinterpret_cast(&token))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFolderAsync(impl::abi_arg_in token, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFolderAsync(*reinterpret_cast(&token))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemWithOptionsAsync(impl::abi_arg_in token, Windows::Storage::AccessCache::AccessCacheOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemAsync(*reinterpret_cast(&token), options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFileWithOptionsAsync(impl::abi_arg_in token, Windows::Storage::AccessCache::AccessCacheOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFileAsync(*reinterpret_cast(&token), options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFolderWithOptionsAsync(impl::abi_arg_in token, Windows::Storage::AccessCache::AccessCacheOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFolderAsync(*reinterpret_cast(&token), options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&token)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainsItem(impl::abi_arg_in token, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainsItem(*reinterpret_cast(&token))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckAccess(impl::abi_arg_in file, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckAccess(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Entries(impl::abi_arg_out> entries) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *entries = detach_abi(this->shim().Entries()); + return S_OK; + } + catch (...) + { + *entries = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumItemsAllowed(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumItemsAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ItemRemoved(impl::abi_arg_in> handler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().ItemRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemRemoved(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemRemoved(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddWithMetadataAndVisibility(impl::abi_arg_in file, impl::abi_arg_in metadata, Windows::Storage::AccessCache::RecentStorageItemVisibility visibility, impl::abi_arg_out token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Add(*reinterpret_cast(&file), *reinterpret_cast(&metadata), visibility)); + return S_OK; + } + catch (...) + { + *token = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddOrReplaceWithMetadataAndVisibility(impl::abi_arg_in token, impl::abi_arg_in file, impl::abi_arg_in metadata, Windows::Storage::AccessCache::RecentStorageItemVisibility visibility) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddOrReplace(*reinterpret_cast(&token), *reinterpret_cast(&file), *reinterpret_cast(&metadata), visibility); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::AccessCache { + +template Windows::Storage::AccessCache::AccessListEntry impl_IItemRemovedEventArgs::RemovedEntry() const +{ + Windows::Storage::AccessCache::AccessListEntry value {}; + check_hresult(WINRT_SHIM(IItemRemovedEventArgs)->get_RemovedEntry(put_abi(value))); + return value; +} + +template hstring impl_IStorageItemAccessList::Add(const Windows::Storage::IStorageItem & file) const +{ + hstring token; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_AddOverloadDefaultMetadata(get_abi(file), put_abi(token))); + return token; +} + +template hstring impl_IStorageItemAccessList::Add(const Windows::Storage::IStorageItem & file, hstring_view metadata) const +{ + hstring token; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_Add(get_abi(file), get_abi(metadata), put_abi(token))); + return token; +} + +template void impl_IStorageItemAccessList::AddOrReplace(hstring_view token, const Windows::Storage::IStorageItem & file) const +{ + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_AddOrReplaceOverloadDefaultMetadata(get_abi(token), get_abi(file))); +} + +template void impl_IStorageItemAccessList::AddOrReplace(hstring_view token, const Windows::Storage::IStorageItem & file, hstring_view metadata) const +{ + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_AddOrReplace(get_abi(token), get_abi(file), get_abi(metadata))); +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemAccessList::GetItemAsync(hstring_view token) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_GetItemAsync(get_abi(token), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemAccessList::GetFileAsync(hstring_view token) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_GetFileAsync(get_abi(token), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemAccessList::GetFolderAsync(hstring_view token) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_GetFolderAsync(get_abi(token), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemAccessList::GetItemAsync(hstring_view token, Windows::Storage::AccessCache::AccessCacheOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_GetItemWithOptionsAsync(get_abi(token), options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemAccessList::GetFileAsync(hstring_view token, Windows::Storage::AccessCache::AccessCacheOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_GetFileWithOptionsAsync(get_abi(token), options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemAccessList::GetFolderAsync(hstring_view token, Windows::Storage::AccessCache::AccessCacheOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_GetFolderWithOptionsAsync(get_abi(token), options, put_abi(operation))); + return operation; +} + +template void impl_IStorageItemAccessList::Remove(hstring_view token) const +{ + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_Remove(get_abi(token))); +} + +template bool impl_IStorageItemAccessList::ContainsItem(hstring_view token) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_ContainsItem(get_abi(token), &value)); + return value; +} + +template void impl_IStorageItemAccessList::Clear() const +{ + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_Clear()); +} + +template bool impl_IStorageItemAccessList::CheckAccess(const Windows::Storage::IStorageItem & file) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->abi_CheckAccess(get_abi(file), &value)); + return value; +} + +template Windows::Storage::AccessCache::AccessListEntryView impl_IStorageItemAccessList::Entries() const +{ + Windows::Storage::AccessCache::AccessListEntryView entries { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->get_Entries(put_abi(entries))); + return entries; +} + +template uint32_t impl_IStorageItemAccessList::MaximumItemsAllowed() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IStorageItemAccessList)->get_MaximumItemsAllowed(&value)); + return value; +} + +template event_token impl_IStorageItemMostRecentlyUsedList::ItemRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStorageItemMostRecentlyUsedList)->add_ItemRemoved(get_abi(handler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStorageItemMostRecentlyUsedList::ItemRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::AccessCache::IStorageItemMostRecentlyUsedList::remove_ItemRemoved, ItemRemoved(handler)); +} + +template void impl_IStorageItemMostRecentlyUsedList::ItemRemoved(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStorageItemMostRecentlyUsedList)->remove_ItemRemoved(eventCookie)); +} + +template hstring impl_IStorageItemMostRecentlyUsedList2::Add(const Windows::Storage::IStorageItem & file, hstring_view metadata, Windows::Storage::AccessCache::RecentStorageItemVisibility visibility) const +{ + hstring token; + check_hresult(WINRT_SHIM(IStorageItemMostRecentlyUsedList2)->abi_AddWithMetadataAndVisibility(get_abi(file), get_abi(metadata), visibility, put_abi(token))); + return token; +} + +template void impl_IStorageItemMostRecentlyUsedList2::AddOrReplace(hstring_view token, const Windows::Storage::IStorageItem & file, hstring_view metadata, Windows::Storage::AccessCache::RecentStorageItemVisibility visibility) const +{ + check_hresult(WINRT_SHIM(IStorageItemMostRecentlyUsedList2)->abi_AddOrReplaceWithMetadataAndVisibility(get_abi(token), get_abi(file), get_abi(metadata), visibility)); +} + +template Windows::Storage::AccessCache::StorageItemAccessList impl_IStorageApplicationPermissionsStatics::FutureAccessList() const +{ + Windows::Storage::AccessCache::StorageItemAccessList value { nullptr }; + check_hresult(WINRT_SHIM(IStorageApplicationPermissionsStatics)->get_FutureAccessList(put_abi(value))); + return value; +} + +template Windows::Storage::AccessCache::StorageItemMostRecentlyUsedList impl_IStorageApplicationPermissionsStatics::MostRecentlyUsedList() const +{ + Windows::Storage::AccessCache::StorageItemMostRecentlyUsedList value { nullptr }; + check_hresult(WINRT_SHIM(IStorageApplicationPermissionsStatics)->get_MostRecentlyUsedList(put_abi(value))); + return value; +} + +inline Windows::Storage::AccessCache::StorageItemAccessList StorageApplicationPermissions::FutureAccessList() +{ + return get_activation_factory().FutureAccessList(); +} + +inline Windows::Storage::AccessCache::StorageItemMostRecentlyUsedList StorageApplicationPermissions::MostRecentlyUsedList() +{ + return get_activation_factory().MostRecentlyUsedList(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::IItemRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::IStorageApplicationPermissionsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::IStorageItemAccessList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::IStorageItemMostRecentlyUsedList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::IStorageItemMostRecentlyUsedList2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::AccessListEntryView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::ItemRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::StorageItemAccessList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::AccessCache::StorageItemMostRecentlyUsedList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.BulkAccess.h b/10.0.15042.0/winrt/Windows.Storage.BulkAccess.h new file mode 100644 index 000000000..f890269de --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.BulkAccess.h @@ -0,0 +1,620 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.FileProperties.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Search.3.h" +#include "internal/Windows.Storage.BulkAccess.3.h" +#include "Windows.Storage.h" +#include "Windows.Storage.Search.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetItemsAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync(startIndex, maxItemsToRetrieve)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemsAsyncDefaultStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFilesAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFilesAsync(startIndex, maxItemsToRetrieve)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFilesAsyncDefaultStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFilesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFoldersAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFoldersAsync(startIndex, maxItemsToRetrieve)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFoldersAsyncDefaultStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFoldersAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVirtualizedItemsVector(impl::abi_arg_out vector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vector = detach_abi(this->shim().GetVirtualizedItemsVector()); + return S_OK; + } + catch (...) + { + *vector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVirtualizedFilesVector(impl::abi_arg_out vector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vector = detach_abi(this->shim().GetVirtualizedFilesVector()); + return S_OK; + } + catch (...) + { + *vector = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVirtualizedFoldersVector(impl::abi_arg_out vector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *vector = detach_abi(this->shim().GetVirtualizedFoldersVector()); + return S_OK; + } + catch (...) + { + *vector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithMode(impl::abi_arg_in queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithMode(*reinterpret_cast(&queryResult), mode)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithModeAndSize(impl::abi_arg_in queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithModeAndSize(*reinterpret_cast(&queryResult), mode, requestedThumbnailSize)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithModeAndSizeAndOptions(impl::abi_arg_in queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize, Windows::Storage::FileProperties::ThumbnailOptions thumbnailOptions, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithModeAndSizeAndOptions(*reinterpret_cast(&queryResult), mode, requestedThumbnailSize, thumbnailOptions)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithModeAndSizeAndOptionsAndFlags(impl::abi_arg_in queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize, Windows::Storage::FileProperties::ThumbnailOptions thumbnailOptions, bool delayLoad, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithModeAndSizeAndOptionsAndFlags(*reinterpret_cast(&queryResult), mode, requestedThumbnailSize, thumbnailOptions, delayLoad)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MusicProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MusicProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideoProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideoProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImageProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImageProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BasicProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BasicProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thumbnail(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thumbnail()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ThumbnailUpdated(impl::abi_arg_in> changedHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().ThumbnailUpdated(*reinterpret_cast *>(&changedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ThumbnailUpdated(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThumbnailUpdated(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PropertiesUpdated(impl::abi_arg_in> changedHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().PropertiesUpdated(*reinterpret_cast *>(&changedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PropertiesUpdated(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PropertiesUpdated(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::BulkAccess { + +template Windows::Storage::FileProperties::MusicProperties impl_IStorageItemInformation::MusicProperties() const +{ + Windows::Storage::FileProperties::MusicProperties value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemInformation)->get_MusicProperties(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::VideoProperties impl_IStorageItemInformation::VideoProperties() const +{ + Windows::Storage::FileProperties::VideoProperties value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemInformation)->get_VideoProperties(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::ImageProperties impl_IStorageItemInformation::ImageProperties() const +{ + Windows::Storage::FileProperties::ImageProperties value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemInformation)->get_ImageProperties(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::DocumentProperties impl_IStorageItemInformation::DocumentProperties() const +{ + Windows::Storage::FileProperties::DocumentProperties value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemInformation)->get_DocumentProperties(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::BasicProperties impl_IStorageItemInformation::BasicProperties() const +{ + Windows::Storage::FileProperties::BasicProperties value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemInformation)->get_BasicProperties(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::StorageItemThumbnail impl_IStorageItemInformation::Thumbnail() const +{ + Windows::Storage::FileProperties::StorageItemThumbnail value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemInformation)->get_Thumbnail(put_abi(value))); + return value; +} + +template event_token impl_IStorageItemInformation::ThumbnailUpdated(const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStorageItemInformation)->add_ThumbnailUpdated(get_abi(changedHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStorageItemInformation::ThumbnailUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::BulkAccess::IStorageItemInformation::remove_ThumbnailUpdated, ThumbnailUpdated(changedHandler)); +} + +template void impl_IStorageItemInformation::ThumbnailUpdated(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStorageItemInformation)->remove_ThumbnailUpdated(eventCookie)); +} + +template event_token impl_IStorageItemInformation::PropertiesUpdated(const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStorageItemInformation)->add_PropertiesUpdated(get_abi(changedHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStorageItemInformation::PropertiesUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::BulkAccess::IStorageItemInformation::remove_PropertiesUpdated, PropertiesUpdated(changedHandler)); +} + +template void impl_IStorageItemInformation::PropertiesUpdated(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStorageItemInformation)->remove_PropertiesUpdated(eventCookie)); +} + +template Windows::Storage::BulkAccess::FileInformationFactory impl_IFileInformationFactoryFactory::CreateWithMode(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode) const +{ + Windows::Storage::BulkAccess::FileInformationFactory value { nullptr }; + check_hresult(WINRT_SHIM(IFileInformationFactoryFactory)->abi_CreateWithMode(get_abi(queryResult), mode, put_abi(value))); + return value; +} + +template Windows::Storage::BulkAccess::FileInformationFactory impl_IFileInformationFactoryFactory::CreateWithModeAndSize(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize) const +{ + Windows::Storage::BulkAccess::FileInformationFactory value { nullptr }; + check_hresult(WINRT_SHIM(IFileInformationFactoryFactory)->abi_CreateWithModeAndSize(get_abi(queryResult), mode, requestedThumbnailSize, put_abi(value))); + return value; +} + +template Windows::Storage::BulkAccess::FileInformationFactory impl_IFileInformationFactoryFactory::CreateWithModeAndSizeAndOptions(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize, Windows::Storage::FileProperties::ThumbnailOptions thumbnailOptions) const +{ + Windows::Storage::BulkAccess::FileInformationFactory value { nullptr }; + check_hresult(WINRT_SHIM(IFileInformationFactoryFactory)->abi_CreateWithModeAndSizeAndOptions(get_abi(queryResult), mode, requestedThumbnailSize, thumbnailOptions, put_abi(value))); + return value; +} + +template Windows::Storage::BulkAccess::FileInformationFactory impl_IFileInformationFactoryFactory::CreateWithModeAndSizeAndOptionsAndFlags(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize, Windows::Storage::FileProperties::ThumbnailOptions thumbnailOptions, bool delayLoad) const +{ + Windows::Storage::BulkAccess::FileInformationFactory value { nullptr }; + check_hresult(WINRT_SHIM(IFileInformationFactoryFactory)->abi_CreateWithModeAndSizeAndOptionsAndFlags(get_abi(queryResult), mode, requestedThumbnailSize, thumbnailOptions, delayLoad, put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileInformationFactory::GetItemsAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetItemsAsync(startIndex, maxItemsToRetrieve, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileInformationFactory::GetItemsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetItemsAsyncDefaultStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileInformationFactory::GetFilesAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetFilesAsync(startIndex, maxItemsToRetrieve, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileInformationFactory::GetFilesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetFilesAsyncDefaultStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileInformationFactory::GetFoldersAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetFoldersAsync(startIndex, maxItemsToRetrieve, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileInformationFactory::GetFoldersAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetFoldersAsyncDefaultStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IInspectable impl_IFileInformationFactory::GetVirtualizedItemsVector() const +{ + Windows::Foundation::IInspectable vector; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetVirtualizedItemsVector(put_abi(vector))); + return vector; +} + +template Windows::Foundation::IInspectable impl_IFileInformationFactory::GetVirtualizedFilesVector() const +{ + Windows::Foundation::IInspectable vector; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetVirtualizedFilesVector(put_abi(vector))); + return vector; +} + +template Windows::Foundation::IInspectable impl_IFileInformationFactory::GetVirtualizedFoldersVector() const +{ + Windows::Foundation::IInspectable vector; + check_hresult(WINRT_SHIM(IFileInformationFactory)->abi_GetVirtualizedFoldersVector(put_abi(vector))); + return vector; +} + +inline FileInformationFactory::FileInformationFactory(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode) : + FileInformationFactory(get_activation_factory().CreateWithMode(queryResult, mode)) +{} + +inline FileInformationFactory::FileInformationFactory(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize) : + FileInformationFactory(get_activation_factory().CreateWithModeAndSize(queryResult, mode, requestedThumbnailSize)) +{} + +inline FileInformationFactory::FileInformationFactory(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize, Windows::Storage::FileProperties::ThumbnailOptions thumbnailOptions) : + FileInformationFactory(get_activation_factory().CreateWithModeAndSizeAndOptions(queryResult, mode, requestedThumbnailSize, thumbnailOptions)) +{} + +inline FileInformationFactory::FileInformationFactory(const Windows::Storage::Search::IStorageQueryResultBase & queryResult, Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedThumbnailSize, Windows::Storage::FileProperties::ThumbnailOptions thumbnailOptions, bool delayLoad) : + FileInformationFactory(get_activation_factory().CreateWithModeAndSizeAndOptionsAndFlags(queryResult, mode, requestedThumbnailSize, thumbnailOptions, delayLoad)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::BulkAccess::IFileInformationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::BulkAccess::IFileInformationFactoryFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::BulkAccess::IStorageItemInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::BulkAccess::FileInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::BulkAccess::FileInformationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::BulkAccess::FolderInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.Compression.h b/10.0.15042.0/winrt/Windows.Storage.Compression.h new file mode 100644 index 000000000..2256201a9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.Compression.h @@ -0,0 +1,242 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Storage.Compression.3.h" +#include "Windows.Storage.h" +#include "Windows.Foundation.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FinishAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FinishAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DetachStream(impl::abi_arg_out stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stream = detach_abi(this->shim().DetachStream()); + return S_OK; + } + catch (...) + { + *stream = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCompressor(impl::abi_arg_in underlyingStream, impl::abi_arg_out createdCompressor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *createdCompressor = detach_abi(this->shim().CreateCompressor(*reinterpret_cast(&underlyingStream))); + return S_OK; + } + catch (...) + { + *createdCompressor = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCompressorEx(impl::abi_arg_in underlyingStream, Windows::Storage::Compression::CompressAlgorithm algorithm, uint32_t blockSize, impl::abi_arg_out createdCompressor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *createdCompressor = detach_abi(this->shim().CreateCompressorEx(*reinterpret_cast(&underlyingStream), algorithm, blockSize)); + return S_OK; + } + catch (...) + { + *createdCompressor = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DetachStream(impl::abi_arg_out stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stream = detach_abi(this->shim().DetachStream()); + return S_OK; + } + catch (...) + { + *stream = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDecompressor(impl::abi_arg_in underlyingStream, impl::abi_arg_out createdDecompressor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *createdDecompressor = detach_abi(this->shim().CreateDecompressor(*reinterpret_cast(&underlyingStream))); + return S_OK; + } + catch (...) + { + *createdDecompressor = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::Compression { + +template Windows::Foundation::IAsyncOperation impl_ICompressor::FinishAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICompressor)->abi_FinishAsync(put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::IOutputStream impl_ICompressor::DetachStream() const +{ + Windows::Storage::Streams::IOutputStream stream; + check_hresult(WINRT_SHIM(ICompressor)->abi_DetachStream(put_abi(stream))); + return stream; +} + +template Windows::Storage::Streams::IInputStream impl_IDecompressor::DetachStream() const +{ + Windows::Storage::Streams::IInputStream stream; + check_hresult(WINRT_SHIM(IDecompressor)->abi_DetachStream(put_abi(stream))); + return stream; +} + +template Windows::Storage::Compression::Compressor impl_ICompressorFactory::CreateCompressor(const Windows::Storage::Streams::IOutputStream & underlyingStream) const +{ + Windows::Storage::Compression::Compressor createdCompressor { nullptr }; + check_hresult(WINRT_SHIM(ICompressorFactory)->abi_CreateCompressor(get_abi(underlyingStream), put_abi(createdCompressor))); + return createdCompressor; +} + +template Windows::Storage::Compression::Compressor impl_ICompressorFactory::CreateCompressorEx(const Windows::Storage::Streams::IOutputStream & underlyingStream, Windows::Storage::Compression::CompressAlgorithm algorithm, uint32_t blockSize) const +{ + Windows::Storage::Compression::Compressor createdCompressor { nullptr }; + check_hresult(WINRT_SHIM(ICompressorFactory)->abi_CreateCompressorEx(get_abi(underlyingStream), algorithm, blockSize, put_abi(createdCompressor))); + return createdCompressor; +} + +template Windows::Storage::Compression::Decompressor impl_IDecompressorFactory::CreateDecompressor(const Windows::Storage::Streams::IInputStream & underlyingStream) const +{ + Windows::Storage::Compression::Decompressor createdDecompressor { nullptr }; + check_hresult(WINRT_SHIM(IDecompressorFactory)->abi_CreateDecompressor(get_abi(underlyingStream), put_abi(createdDecompressor))); + return createdDecompressor; +} + +inline Compressor::Compressor(const Windows::Storage::Streams::IOutputStream & underlyingStream) : + Compressor(get_activation_factory().CreateCompressor(underlyingStream)) +{} + +inline Compressor::Compressor(const Windows::Storage::Streams::IOutputStream & underlyingStream, Windows::Storage::Compression::CompressAlgorithm algorithm, uint32_t blockSize) : + Compressor(get_activation_factory().CreateCompressorEx(underlyingStream, algorithm, blockSize)) +{} + +inline Decompressor::Decompressor(const Windows::Storage::Streams::IInputStream & underlyingStream) : + Decompressor(get_activation_factory().CreateDecompressor(underlyingStream)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Compression::ICompressor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Compression::ICompressorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Compression::IDecompressor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Compression::IDecompressorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Compression::Compressor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Compression::Decompressor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.FileProperties.h b/10.0.15042.0/winrt/Windows.Storage.FileProperties.h new file mode 100644 index 000000000..4d19fccb3 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.FileProperties.h @@ -0,0 +1,2030 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.FileProperties.3.h" +#include "Windows.Storage.h" +#include "Windows.Foundation.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Size(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateModified(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateModified()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Author(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Author()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keywords(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keywords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Comment(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Comment(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetGeotagAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetGeotagAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetGeotagFromGeolocatorAsync(impl::abi_arg_in file, impl::abi_arg_in geolocator, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetGeotagFromGeolocatorAsync(*reinterpret_cast(&file), *reinterpret_cast(&geolocator))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetGeotagAsync(impl::abi_arg_in file, impl::abi_arg_in geopoint, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetGeotagAsync(*reinterpret_cast(&file), *reinterpret_cast(&geopoint))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Rating(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rating()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Rating(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rating(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keywords(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keywords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateTaken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateTaken()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DateTaken(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DateTaken(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Latitude(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Latitude()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Longitude(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Longitude()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraManufacturer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraManufacturer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CameraManufacturer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraManufacturer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraModel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraModel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CameraModel(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CameraModel(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::Storage::FileProperties::PhotoOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeopleNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeopleNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Album(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Album()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Album(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Album(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Artist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Artist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Artist(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Artist(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Genre(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Genre()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrackNumber(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrackNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrackNumber(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrackNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rating(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rating()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Rating(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rating(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlbumArtist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlbumArtist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlbumArtist(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlbumArtist(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Composers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Composers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Conductors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Conductors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subtitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subtitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Producers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Producers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Publisher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Publisher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Publisher(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Publisher(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Writers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Writers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Year(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Year()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Year(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Year(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetMusicPropertiesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetMusicPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVideoPropertiesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetVideoPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetImagePropertiesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetImagePropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDocumentPropertiesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDocumentPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RetrievePropertiesAsync(impl::abi_arg_in> propertiesToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RetrievePropertiesAsync(*reinterpret_cast *>(&propertiesToRetrieve))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SavePropertiesAsync(impl::abi_arg_in>> propertiesToSave, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SavePropertiesAsync(*reinterpret_cast> *>(&propertiesToSave))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SavePropertiesAsyncOverloadDefault(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SavePropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OriginalWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OriginalHeight(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReturnedSmallerCachedSize(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReturnedSmallerCachedSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::Storage::FileProperties::ThumbnailType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Rating(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rating()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Rating(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rating(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keywords(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keywords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Height(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Latitude(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Latitude()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Longitude(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Longitude()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subtitle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subtitle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Producers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Producers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Publisher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Publisher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Publisher(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Publisher(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Writers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Writers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Year(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Year()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Year(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Year(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bitrate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bitrate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Directors(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Directors()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::Storage::FileProperties::VideoOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::FileProperties { + +template Windows::Foundation::IAsyncOperation impl_IGeotagHelperStatics::GetGeotagAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IGeotagHelperStatics)->abi_GetGeotagAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IGeotagHelperStatics::SetGeotagFromGeolocatorAsync(const Windows::Storage::IStorageFile & file, const Windows::Devices::Geolocation::Geolocator & geolocator) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IGeotagHelperStatics)->abi_SetGeotagFromGeolocatorAsync(get_abi(file), get_abi(geolocator), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IGeotagHelperStatics::SetGeotagAsync(const Windows::Storage::IStorageFile & file, const Windows::Devices::Geolocation::Geopoint & geopoint) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IGeotagHelperStatics)->abi_SetGeotagAsync(get_abi(file), get_abi(geopoint), put_abi(operation))); + return operation; +} + +template uint32_t impl_IThumbnailProperties::OriginalWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IThumbnailProperties)->get_OriginalWidth(&value)); + return value; +} + +template uint32_t impl_IThumbnailProperties::OriginalHeight() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IThumbnailProperties)->get_OriginalHeight(&value)); + return value; +} + +template bool impl_IThumbnailProperties::ReturnedSmallerCachedSize() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IThumbnailProperties)->get_ReturnedSmallerCachedSize(&value)); + return value; +} + +template Windows::Storage::FileProperties::ThumbnailType impl_IThumbnailProperties::Type() const +{ + Windows::Storage::FileProperties::ThumbnailType value {}; + check_hresult(WINRT_SHIM(IThumbnailProperties)->get_Type(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageItemExtraProperties::RetrievePropertiesAsync(iterable propertiesToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageItemExtraProperties)->abi_RetrievePropertiesAsync(get_abi(propertiesToRetrieve), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageItemExtraProperties::SavePropertiesAsync(iterable> propertiesToSave) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageItemExtraProperties)->abi_SavePropertiesAsync(get_abi(propertiesToSave), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageItemExtraProperties::SavePropertiesAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageItemExtraProperties)->abi_SavePropertiesAsyncOverloadDefault(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemContentProperties::GetMusicPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemContentProperties)->abi_GetMusicPropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemContentProperties::GetVideoPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemContentProperties)->abi_GetVideoPropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemContentProperties::GetImagePropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemContentProperties)->abi_GetImagePropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemContentProperties::GetDocumentPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemContentProperties)->abi_GetDocumentPropertiesAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IMusicProperties::Album() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Album(put_abi(value))); + return value; +} + +template void impl_IMusicProperties::Album(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_Album(get_abi(value))); +} + +template hstring impl_IMusicProperties::Artist() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Artist(put_abi(value))); + return value; +} + +template void impl_IMusicProperties::Artist(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_Artist(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IMusicProperties::Genre() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Genre(put_abi(value))); + return value; +} + +template uint32_t impl_IMusicProperties::TrackNumber() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMusicProperties)->get_TrackNumber(&value)); + return value; +} + +template void impl_IMusicProperties::TrackNumber(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_TrackNumber(value)); +} + +template hstring impl_IMusicProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Title(put_abi(value))); + return value; +} + +template void impl_IMusicProperties::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_Title(get_abi(value))); +} + +template uint32_t impl_IMusicProperties::Rating() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Rating(&value)); + return value; +} + +template void impl_IMusicProperties::Rating(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_Rating(value)); +} + +template Windows::Foundation::TimeSpan impl_IMusicProperties::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Duration(put_abi(value))); + return value; +} + +template uint32_t impl_IMusicProperties::Bitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Bitrate(&value)); + return value; +} + +template hstring impl_IMusicProperties::AlbumArtist() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_AlbumArtist(put_abi(value))); + return value; +} + +template void impl_IMusicProperties::AlbumArtist(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_AlbumArtist(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IMusicProperties::Composers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Composers(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMusicProperties::Conductors() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Conductors(put_abi(value))); + return value; +} + +template hstring impl_IMusicProperties::Subtitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Subtitle(put_abi(value))); + return value; +} + +template void impl_IMusicProperties::Subtitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_Subtitle(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IMusicProperties::Producers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Producers(put_abi(value))); + return value; +} + +template hstring impl_IMusicProperties::Publisher() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Publisher(put_abi(value))); + return value; +} + +template void impl_IMusicProperties::Publisher(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_Publisher(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IMusicProperties::Writers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Writers(put_abi(value))); + return value; +} + +template uint32_t impl_IMusicProperties::Year() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMusicProperties)->get_Year(&value)); + return value; +} + +template void impl_IMusicProperties::Year(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMusicProperties)->put_Year(value)); +} + +template uint32_t impl_IImageProperties::Rating() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageProperties)->get_Rating(&value)); + return value; +} + +template void impl_IImageProperties::Rating(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IImageProperties)->put_Rating(value)); +} + +template Windows::Foundation::Collections::IVector impl_IImageProperties::Keywords() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IImageProperties)->get_Keywords(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IImageProperties::DateTaken() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IImageProperties)->get_DateTaken(put_abi(value))); + return value; +} + +template void impl_IImageProperties::DateTaken(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IImageProperties)->put_DateTaken(get_abi(value))); +} + +template uint32_t impl_IImageProperties::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageProperties)->get_Width(&value)); + return value; +} + +template uint32_t impl_IImageProperties::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IImageProperties)->get_Height(&value)); + return value; +} + +template hstring impl_IImageProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IImageProperties)->get_Title(put_abi(value))); + return value; +} + +template void impl_IImageProperties::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IImageProperties)->put_Title(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IImageProperties::Latitude() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IImageProperties)->get_Latitude(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IImageProperties::Longitude() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IImageProperties)->get_Longitude(put_abi(value))); + return value; +} + +template hstring impl_IImageProperties::CameraManufacturer() const +{ + hstring value; + check_hresult(WINRT_SHIM(IImageProperties)->get_CameraManufacturer(put_abi(value))); + return value; +} + +template void impl_IImageProperties::CameraManufacturer(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IImageProperties)->put_CameraManufacturer(get_abi(value))); +} + +template hstring impl_IImageProperties::CameraModel() const +{ + hstring value; + check_hresult(WINRT_SHIM(IImageProperties)->get_CameraModel(put_abi(value))); + return value; +} + +template void impl_IImageProperties::CameraModel(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IImageProperties)->put_CameraModel(get_abi(value))); +} + +template Windows::Storage::FileProperties::PhotoOrientation impl_IImageProperties::Orientation() const +{ + Windows::Storage::FileProperties::PhotoOrientation value {}; + check_hresult(WINRT_SHIM(IImageProperties)->get_Orientation(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IImageProperties::PeopleNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IImageProperties)->get_PeopleNames(put_abi(value))); + return value; +} + +template uint32_t impl_IVideoProperties::Rating() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Rating(&value)); + return value; +} + +template void impl_IVideoProperties::Rating(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IVideoProperties)->put_Rating(value)); +} + +template Windows::Foundation::Collections::IVector impl_IVideoProperties::Keywords() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Keywords(put_abi(value))); + return value; +} + +template uint32_t impl_IVideoProperties::Width() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Width(&value)); + return value; +} + +template uint32_t impl_IVideoProperties::Height() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Height(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IVideoProperties::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IVideoProperties::Latitude() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Latitude(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IVideoProperties::Longitude() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Longitude(put_abi(value))); + return value; +} + +template hstring impl_IVideoProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Title(put_abi(value))); + return value; +} + +template void impl_IVideoProperties::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVideoProperties)->put_Title(get_abi(value))); +} + +template hstring impl_IVideoProperties::Subtitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Subtitle(put_abi(value))); + return value; +} + +template void impl_IVideoProperties::Subtitle(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVideoProperties)->put_Subtitle(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVideoProperties::Producers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Producers(put_abi(value))); + return value; +} + +template hstring impl_IVideoProperties::Publisher() const +{ + hstring value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Publisher(put_abi(value))); + return value; +} + +template void impl_IVideoProperties::Publisher(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IVideoProperties)->put_Publisher(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IVideoProperties::Writers() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Writers(put_abi(value))); + return value; +} + +template uint32_t impl_IVideoProperties::Year() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Year(&value)); + return value; +} + +template void impl_IVideoProperties::Year(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IVideoProperties)->put_Year(value)); +} + +template uint32_t impl_IVideoProperties::Bitrate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Bitrate(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IVideoProperties::Directors() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Directors(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::VideoOrientation impl_IVideoProperties::Orientation() const +{ + Windows::Storage::FileProperties::VideoOrientation value {}; + check_hresult(WINRT_SHIM(IVideoProperties)->get_Orientation(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IDocumentProperties::Author() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDocumentProperties)->get_Author(put_abi(value))); + return value; +} + +template hstring impl_IDocumentProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDocumentProperties)->get_Title(put_abi(value))); + return value; +} + +template void impl_IDocumentProperties::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDocumentProperties)->put_Title(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IDocumentProperties::Keywords() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDocumentProperties)->get_Keywords(put_abi(value))); + return value; +} + +template hstring impl_IDocumentProperties::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDocumentProperties)->get_Comment(put_abi(value))); + return value; +} + +template void impl_IDocumentProperties::Comment(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDocumentProperties)->put_Comment(get_abi(value))); +} + +template uint64_t impl_IBasicProperties::Size() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IBasicProperties)->get_Size(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IBasicProperties::DateModified() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IBasicProperties)->get_DateModified(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IBasicProperties::ItemDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IBasicProperties)->get_ItemDate(put_abi(value))); + return value; +} + +inline Windows::Foundation::IAsyncOperation GeotagHelper::GetGeotagAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().GetGeotagAsync(file); +} + +inline Windows::Foundation::IAsyncAction GeotagHelper::SetGeotagFromGeolocatorAsync(const Windows::Storage::IStorageFile & file, const Windows::Devices::Geolocation::Geolocator & geolocator) +{ + return get_activation_factory().SetGeotagFromGeolocatorAsync(file, geolocator); +} + +inline Windows::Foundation::IAsyncAction GeotagHelper::SetGeotagAsync(const Windows::Storage::IStorageFile & file, const Windows::Devices::Geolocation::Geopoint & geopoint) +{ + return get_activation_factory().SetGeotagAsync(file, geopoint); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IBasicProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IDocumentProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IGeotagHelperStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IImageProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IMusicProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IStorageItemContentProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IStorageItemExtraProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IThumbnailProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::IVideoProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::BasicProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::DocumentProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::ImageProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::MusicProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::StorageItemContentProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::StorageItemThumbnail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::FileProperties::VideoProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.Pickers.Provider.h b/10.0.15042.0/winrt/Windows.Storage.Pickers.Provider.h new file mode 100644 index 000000000..568db44f5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.Pickers.Provider.h @@ -0,0 +1,952 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Pickers.Provider.3.h" +#include "Windows.Storage.Pickers.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddFile(impl::abi_arg_in id, impl::abi_arg_in file, Windows::Storage::Pickers::Provider::AddFileResult * addResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *addResult = detach_abi(this->shim().AddFile(*reinterpret_cast(&id), *reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveFile(impl::abi_arg_in id) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveFile(*reinterpret_cast(&id)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainsFile(impl::abi_arg_in id, bool * isContained) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isContained = detach_abi(this->shim().ContainsFile(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanAddFile(impl::abi_arg_in file, bool * canAdd) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *canAdd = detach_abi(this->shim().CanAddFile(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowedFileTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedFileTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionMode(Windows::Storage::Pickers::Provider::FileSelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SettingsIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SettingsIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FileRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FileRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FileRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FileRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closing(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowedFileTypes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedFileTypes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SettingsIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SettingsIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetFileName(impl::abi_arg_in value, Windows::Storage::Pickers::Provider::SetFileNameResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetFileName(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FileNameChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FileNameChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FileNameChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FileNameChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TargetFileRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TargetFileRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TargetFileRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetFileRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClosingOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClosingOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetFile(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetFile(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::Pickers::Provider { + +template hstring impl_IFileRemovedEventArgs::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileRemovedEventArgs)->get_Id(put_abi(value))); + return value; +} + +template Windows::Storage::Pickers::Provider::AddFileResult impl_IFileOpenPickerUI::AddFile(hstring_view id, const Windows::Storage::IStorageFile & file) const +{ + Windows::Storage::Pickers::Provider::AddFileResult addResult {}; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->abi_AddFile(get_abi(id), get_abi(file), &addResult)); + return addResult; +} + +template void impl_IFileOpenPickerUI::RemoveFile(hstring_view id) const +{ + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->abi_RemoveFile(get_abi(id))); +} + +template bool impl_IFileOpenPickerUI::ContainsFile(hstring_view id) const +{ + bool isContained {}; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->abi_ContainsFile(get_abi(id), &isContained)); + return isContained; +} + +template bool impl_IFileOpenPickerUI::CanAddFile(const Windows::Storage::IStorageFile & file) const +{ + bool canAdd {}; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->abi_CanAddFile(get_abi(file), &canAdd)); + return canAdd; +} + +template Windows::Foundation::Collections::IVectorView impl_IFileOpenPickerUI::AllowedFileTypes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->get_AllowedFileTypes(put_abi(value))); + return value; +} + +template Windows::Storage::Pickers::Provider::FileSelectionMode impl_IFileOpenPickerUI::SelectionMode() const +{ + Windows::Storage::Pickers::Provider::FileSelectionMode value {}; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->get_SelectionMode(&value)); + return value; +} + +template hstring impl_IFileOpenPickerUI::SettingsIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->get_SettingsIdentifier(put_abi(value))); + return value; +} + +template hstring impl_IFileOpenPickerUI::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->get_Title(put_abi(value))); + return value; +} + +template void impl_IFileOpenPickerUI::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->put_Title(get_abi(value))); +} + +template event_token impl_IFileOpenPickerUI::FileRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->add_FileRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IFileOpenPickerUI::FileRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Pickers::Provider::IFileOpenPickerUI::remove_FileRemoved, FileRemoved(handler)); +} + +template void impl_IFileOpenPickerUI::FileRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->remove_FileRemoved(token)); +} + +template event_token impl_IFileOpenPickerUI::Closing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->add_Closing(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IFileOpenPickerUI::Closing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Pickers::Provider::IFileOpenPickerUI::remove_Closing, Closing(handler)); +} + +template void impl_IFileOpenPickerUI::Closing(event_token token) const +{ + check_hresult(WINRT_SHIM(IFileOpenPickerUI)->remove_Closing(token)); +} + +template Windows::Storage::Pickers::Provider::PickerClosingOperation impl_IPickerClosingEventArgs::ClosingOperation() const +{ + Windows::Storage::Pickers::Provider::PickerClosingOperation value { nullptr }; + check_hresult(WINRT_SHIM(IPickerClosingEventArgs)->get_ClosingOperation(put_abi(value))); + return value; +} + +template bool impl_IPickerClosingEventArgs::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPickerClosingEventArgs)->get_IsCanceled(&value)); + return value; +} + +template Windows::Storage::Pickers::Provider::PickerClosingDeferral impl_IPickerClosingOperation::GetDeferral() const +{ + Windows::Storage::Pickers::Provider::PickerClosingDeferral value { nullptr }; + check_hresult(WINRT_SHIM(IPickerClosingOperation)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IPickerClosingOperation::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IPickerClosingOperation)->get_Deadline(put_abi(value))); + return value; +} + +template void impl_IPickerClosingDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IPickerClosingDeferral)->abi_Complete()); +} + +template hstring impl_IFileSavePickerUI::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePickerUI)->get_Title(put_abi(value))); + return value; +} + +template void impl_IFileSavePickerUI::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileSavePickerUI)->put_Title(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IFileSavePickerUI::AllowedFileTypes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IFileSavePickerUI)->get_AllowedFileTypes(put_abi(value))); + return value; +} + +template hstring impl_IFileSavePickerUI::SettingsIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePickerUI)->get_SettingsIdentifier(put_abi(value))); + return value; +} + +template hstring impl_IFileSavePickerUI::FileName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePickerUI)->get_FileName(put_abi(value))); + return value; +} + +template Windows::Storage::Pickers::Provider::SetFileNameResult impl_IFileSavePickerUI::TrySetFileName(hstring_view value) const +{ + Windows::Storage::Pickers::Provider::SetFileNameResult result {}; + check_hresult(WINRT_SHIM(IFileSavePickerUI)->abi_TrySetFileName(get_abi(value), &result)); + return result; +} + +template event_token impl_IFileSavePickerUI::FileNameChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFileSavePickerUI)->add_FileNameChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IFileSavePickerUI::FileNameChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Pickers::Provider::IFileSavePickerUI::remove_FileNameChanged, FileNameChanged(handler)); +} + +template void impl_IFileSavePickerUI::FileNameChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IFileSavePickerUI)->remove_FileNameChanged(token)); +} + +template event_token impl_IFileSavePickerUI::TargetFileRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFileSavePickerUI)->add_TargetFileRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IFileSavePickerUI::TargetFileRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Pickers::Provider::IFileSavePickerUI::remove_TargetFileRequested, TargetFileRequested(handler)); +} + +template void impl_IFileSavePickerUI::TargetFileRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IFileSavePickerUI)->remove_TargetFileRequested(token)); +} + +template Windows::Storage::Pickers::Provider::TargetFileRequest impl_ITargetFileRequestedEventArgs::Request() const +{ + Windows::Storage::Pickers::Provider::TargetFileRequest value { nullptr }; + check_hresult(WINRT_SHIM(ITargetFileRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Storage::IStorageFile impl_ITargetFileRequest::TargetFile() const +{ + Windows::Storage::IStorageFile value; + check_hresult(WINRT_SHIM(ITargetFileRequest)->get_TargetFile(put_abi(value))); + return value; +} + +template void impl_ITargetFileRequest::TargetFile(const Windows::Storage::IStorageFile & value) const +{ + check_hresult(WINRT_SHIM(ITargetFileRequest)->put_TargetFile(get_abi(value))); +} + +template Windows::Storage::Pickers::Provider::TargetFileRequestDeferral impl_ITargetFileRequest::GetDeferral() const +{ + Windows::Storage::Pickers::Provider::TargetFileRequestDeferral value { nullptr }; + check_hresult(WINRT_SHIM(ITargetFileRequest)->abi_GetDeferral(put_abi(value))); + return value; +} + +template void impl_ITargetFileRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ITargetFileRequestDeferral)->abi_Complete()); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::IFileOpenPickerUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::IFileRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::IFileSavePickerUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::IPickerClosingDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::IPickerClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::IPickerClosingOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::ITargetFileRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::ITargetFileRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::ITargetFileRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::FileOpenPickerUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::FileRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::FileSavePickerUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::PickerClosingDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::PickerClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::PickerClosingOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::TargetFileRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::TargetFileRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::Provider::TargetFileRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.Pickers.h b/10.0.15042.0/winrt/Windows.Storage.Pickers.h new file mode 100644 index 000000000..1d7c17564 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.Pickers.h @@ -0,0 +1,1166 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Pickers.3.h" +#include "Windows.Storage.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewMode(Windows::Storage::Pickers::PickerViewMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewMode(Windows::Storage::Pickers::PickerViewMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SettingsIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SettingsIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SettingsIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SettingsIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedStartLocation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestedStartLocation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommitButtonText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommitButtonText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommitButtonText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommitButtonText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileTypeFilter(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileTypeFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleFileAsync(impl::abi_arg_out> pickSingleFileOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pickSingleFileOperation = detach_abi(this->shim().PickSingleFileAsync()); + return S_OK; + } + catch (...) + { + *pickSingleFileOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickMultipleFilesAsync(impl::abi_arg_out>> pickMultipleFilesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pickMultipleFilesOperation = detach_abi(this->shim().PickMultipleFilesAsync()); + return S_OK; + } + catch (...) + { + *pickMultipleFilesOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContinuationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContinuationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleFileAndContinue() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PickSingleFileAndContinue(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickMultipleFilesAndContinue() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PickMultipleFilesAndContinue(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ResumePickSingleFileAsync(impl::abi_arg_out> pickSingleFileOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pickSingleFileOperation = detach_abi(this->shim().ResumePickSingleFileAsync()); + return S_OK; + } + catch (...) + { + *pickSingleFileOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PickSingleFileAsync(impl::abi_arg_in pickerOperationId, impl::abi_arg_out> pickSingleFileOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pickSingleFileOperation = detach_abi(this->shim().PickSingleFileAsync(*reinterpret_cast(&pickerOperationId))); + return S_OK; + } + catch (...) + { + *pickSingleFileOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SettingsIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SettingsIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SettingsIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SettingsIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedStartLocation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestedStartLocation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommitButtonText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommitButtonText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommitButtonText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommitButtonText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileTypeChoices(impl::abi_arg_out>> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileTypeChoices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultFileExtension(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultFileExtension()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultFileExtension(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultFileExtension(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedSaveFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedSaveFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuggestedSaveFile(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestedSaveFile(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedFileName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedFileName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuggestedFileName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestedFileName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSaveFileAsync(impl::abi_arg_out> pickSaveFileOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pickSaveFileOperation = detach_abi(this->shim().PickSaveFileAsync()); + return S_OK; + } + catch (...) + { + *pickSaveFileOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContinuationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContinuationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSaveFileAndContinue() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PickSaveFileAndContinue(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnterpriseId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnterpriseId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EnterpriseId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnterpriseId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewMode(Windows::Storage::Pickers::PickerViewMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewMode(Windows::Storage::Pickers::PickerViewMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SettingsIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SettingsIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SettingsIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SettingsIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedStartLocation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestedStartLocation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommitButtonText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommitButtonText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommitButtonText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommitButtonText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FileTypeFilter(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileTypeFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleFolderAsync(impl::abi_arg_out> pickSingleFolderOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pickSingleFolderOperation = detach_abi(this->shim().PickSingleFolderAsync()); + return S_OK; + } + catch (...) + { + *pickSingleFolderOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContinuationData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContinuationData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickFolderAndContinue() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PickFolderAndContinue(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::Pickers { + +template Windows::Storage::Pickers::PickerViewMode impl_IFileOpenPicker::ViewMode() const +{ + Windows::Storage::Pickers::PickerViewMode value {}; + check_hresult(WINRT_SHIM(IFileOpenPicker)->get_ViewMode(&value)); + return value; +} + +template void impl_IFileOpenPicker::ViewMode(Windows::Storage::Pickers::PickerViewMode value) const +{ + check_hresult(WINRT_SHIM(IFileOpenPicker)->put_ViewMode(value)); +} + +template hstring impl_IFileOpenPicker::SettingsIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileOpenPicker)->get_SettingsIdentifier(put_abi(value))); + return value; +} + +template void impl_IFileOpenPicker::SettingsIdentifier(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileOpenPicker)->put_SettingsIdentifier(get_abi(value))); +} + +template Windows::Storage::Pickers::PickerLocationId impl_IFileOpenPicker::SuggestedStartLocation() const +{ + Windows::Storage::Pickers::PickerLocationId value {}; + check_hresult(WINRT_SHIM(IFileOpenPicker)->get_SuggestedStartLocation(&value)); + return value; +} + +template void impl_IFileOpenPicker::SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId value) const +{ + check_hresult(WINRT_SHIM(IFileOpenPicker)->put_SuggestedStartLocation(value)); +} + +template hstring impl_IFileOpenPicker::CommitButtonText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileOpenPicker)->get_CommitButtonText(put_abi(value))); + return value; +} + +template void impl_IFileOpenPicker::CommitButtonText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileOpenPicker)->put_CommitButtonText(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IFileOpenPicker::FileTypeFilter() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IFileOpenPicker)->get_FileTypeFilter(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IFileOpenPicker::PickSingleFileAsync() const +{ + Windows::Foundation::IAsyncOperation pickSingleFileOperation; + check_hresult(WINRT_SHIM(IFileOpenPicker)->abi_PickSingleFileAsync(put_abi(pickSingleFileOperation))); + return pickSingleFileOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileOpenPicker::PickMultipleFilesAsync() const +{ + Windows::Foundation::IAsyncOperation> pickMultipleFilesOperation; + check_hresult(WINRT_SHIM(IFileOpenPicker)->abi_PickMultipleFilesAsync(put_abi(pickMultipleFilesOperation))); + return pickMultipleFilesOperation; +} + +template Windows::Foundation::Collections::ValueSet impl_IFileOpenPicker2::ContinuationData() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IFileOpenPicker2)->get_ContinuationData(put_abi(value))); + return value; +} + +template void impl_IFileOpenPicker2::PickSingleFileAndContinue() const +{ + check_hresult(WINRT_SHIM(IFileOpenPicker2)->abi_PickSingleFileAndContinue()); +} + +template void impl_IFileOpenPicker2::PickMultipleFilesAndContinue() const +{ + check_hresult(WINRT_SHIM(IFileOpenPicker2)->abi_PickMultipleFilesAndContinue()); +} + +template Windows::Foundation::IAsyncOperation impl_IFileOpenPickerWithOperationId::PickSingleFileAsync(hstring_view pickerOperationId) const +{ + Windows::Foundation::IAsyncOperation pickSingleFileOperation; + check_hresult(WINRT_SHIM(IFileOpenPickerWithOperationId)->abi_PickSingleFileAsync(get_abi(pickerOperationId), put_abi(pickSingleFileOperation))); + return pickSingleFileOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IFileOpenPickerStatics::ResumePickSingleFileAsync() const +{ + Windows::Foundation::IAsyncOperation pickSingleFileOperation; + check_hresult(WINRT_SHIM(IFileOpenPickerStatics)->abi_ResumePickSingleFileAsync(put_abi(pickSingleFileOperation))); + return pickSingleFileOperation; +} + +template hstring impl_IFileSavePicker::SettingsIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePicker)->get_SettingsIdentifier(put_abi(value))); + return value; +} + +template void impl_IFileSavePicker::SettingsIdentifier(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileSavePicker)->put_SettingsIdentifier(get_abi(value))); +} + +template Windows::Storage::Pickers::PickerLocationId impl_IFileSavePicker::SuggestedStartLocation() const +{ + Windows::Storage::Pickers::PickerLocationId value {}; + check_hresult(WINRT_SHIM(IFileSavePicker)->get_SuggestedStartLocation(&value)); + return value; +} + +template void impl_IFileSavePicker::SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId value) const +{ + check_hresult(WINRT_SHIM(IFileSavePicker)->put_SuggestedStartLocation(value)); +} + +template hstring impl_IFileSavePicker::CommitButtonText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePicker)->get_CommitButtonText(put_abi(value))); + return value; +} + +template void impl_IFileSavePicker::CommitButtonText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileSavePicker)->put_CommitButtonText(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap> impl_IFileSavePicker::FileTypeChoices() const +{ + Windows::Foundation::Collections::IMap> value; + check_hresult(WINRT_SHIM(IFileSavePicker)->get_FileTypeChoices(put_abi(value))); + return value; +} + +template hstring impl_IFileSavePicker::DefaultFileExtension() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePicker)->get_DefaultFileExtension(put_abi(value))); + return value; +} + +template void impl_IFileSavePicker::DefaultFileExtension(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileSavePicker)->put_DefaultFileExtension(get_abi(value))); +} + +template Windows::Storage::StorageFile impl_IFileSavePicker::SuggestedSaveFile() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IFileSavePicker)->get_SuggestedSaveFile(put_abi(value))); + return value; +} + +template void impl_IFileSavePicker::SuggestedSaveFile(const Windows::Storage::StorageFile & value) const +{ + check_hresult(WINRT_SHIM(IFileSavePicker)->put_SuggestedSaveFile(get_abi(value))); +} + +template hstring impl_IFileSavePicker::SuggestedFileName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePicker)->get_SuggestedFileName(put_abi(value))); + return value; +} + +template void impl_IFileSavePicker::SuggestedFileName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileSavePicker)->put_SuggestedFileName(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IFileSavePicker::PickSaveFileAsync() const +{ + Windows::Foundation::IAsyncOperation pickSaveFileOperation; + check_hresult(WINRT_SHIM(IFileSavePicker)->abi_PickSaveFileAsync(put_abi(pickSaveFileOperation))); + return pickSaveFileOperation; +} + +template Windows::Foundation::Collections::ValueSet impl_IFileSavePicker2::ContinuationData() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IFileSavePicker2)->get_ContinuationData(put_abi(value))); + return value; +} + +template void impl_IFileSavePicker2::PickSaveFileAndContinue() const +{ + check_hresult(WINRT_SHIM(IFileSavePicker2)->abi_PickSaveFileAndContinue()); +} + +template hstring impl_IFileSavePicker3::EnterpriseId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileSavePicker3)->get_EnterpriseId(put_abi(value))); + return value; +} + +template void impl_IFileSavePicker3::EnterpriseId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileSavePicker3)->put_EnterpriseId(get_abi(value))); +} + +template Windows::Storage::Pickers::PickerViewMode impl_IFolderPicker::ViewMode() const +{ + Windows::Storage::Pickers::PickerViewMode value {}; + check_hresult(WINRT_SHIM(IFolderPicker)->get_ViewMode(&value)); + return value; +} + +template void impl_IFolderPicker::ViewMode(Windows::Storage::Pickers::PickerViewMode value) const +{ + check_hresult(WINRT_SHIM(IFolderPicker)->put_ViewMode(value)); +} + +template hstring impl_IFolderPicker::SettingsIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFolderPicker)->get_SettingsIdentifier(put_abi(value))); + return value; +} + +template void impl_IFolderPicker::SettingsIdentifier(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFolderPicker)->put_SettingsIdentifier(get_abi(value))); +} + +template Windows::Storage::Pickers::PickerLocationId impl_IFolderPicker::SuggestedStartLocation() const +{ + Windows::Storage::Pickers::PickerLocationId value {}; + check_hresult(WINRT_SHIM(IFolderPicker)->get_SuggestedStartLocation(&value)); + return value; +} + +template void impl_IFolderPicker::SuggestedStartLocation(Windows::Storage::Pickers::PickerLocationId value) const +{ + check_hresult(WINRT_SHIM(IFolderPicker)->put_SuggestedStartLocation(value)); +} + +template hstring impl_IFolderPicker::CommitButtonText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFolderPicker)->get_CommitButtonText(put_abi(value))); + return value; +} + +template void impl_IFolderPicker::CommitButtonText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFolderPicker)->put_CommitButtonText(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IFolderPicker::FileTypeFilter() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IFolderPicker)->get_FileTypeFilter(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IFolderPicker::PickSingleFolderAsync() const +{ + Windows::Foundation::IAsyncOperation pickSingleFolderOperation; + check_hresult(WINRT_SHIM(IFolderPicker)->abi_PickSingleFolderAsync(put_abi(pickSingleFolderOperation))); + return pickSingleFolderOperation; +} + +template Windows::Foundation::Collections::ValueSet impl_IFolderPicker2::ContinuationData() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IFolderPicker2)->get_ContinuationData(put_abi(value))); + return value; +} + +template void impl_IFolderPicker2::PickFolderAndContinue() const +{ + check_hresult(WINRT_SHIM(IFolderPicker2)->abi_PickFolderAndContinue()); +} + +inline FileOpenPicker::FileOpenPicker() : + FileOpenPicker(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation FileOpenPicker::ResumePickSingleFileAsync() +{ + return get_activation_factory().ResumePickSingleFileAsync(); +} + +inline FileSavePicker::FileSavePicker() : + FileSavePicker(activate_instance()) +{} + +inline FolderPicker::FolderPicker() : + FolderPicker(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFileOpenPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFileOpenPicker2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFileOpenPickerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFileOpenPickerWithOperationId & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFileSavePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFileSavePicker2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFileSavePicker3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFolderPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::IFolderPicker2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::FileExtensionVector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::FileOpenPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::FilePickerFileTypesOrderedMap & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::FilePickerSelectedFilesArray & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::FileSavePicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Pickers::FolderPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.Provider.h b/10.0.15042.0/winrt/Windows.Storage.Provider.h new file mode 100644 index 000000000..6c63ea436 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.Provider.h @@ -0,0 +1,601 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Provider.3.h" +#include "Windows.Storage.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetUpdateInformation(impl::abi_arg_in file, impl::abi_arg_in contentId, Windows::Storage::Provider::ReadActivationMode readMode, Windows::Storage::Provider::WriteActivationMode writeMode, Windows::Storage::Provider::CachedFileOptions options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetUpdateInformation(*reinterpret_cast(&file), *reinterpret_cast(&contentId), readMode, writeMode, options); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdateTarget(Windows::Storage::Provider::CachedFileTarget * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateTarget()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FileUpdateRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FileUpdateRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FileUpdateRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FileUpdateRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UIRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UIRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UIRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UIRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UIStatus(Windows::Storage::Provider::UIStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UIStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UpdateRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_File(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().File()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::Storage::Provider::FileUpdateStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Status(Windows::Storage::Provider::FileUpdateStatus value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Status(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateLocalFile(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateLocalFile(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserInputNeededMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserInputNeededMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserInputNeededMessage(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserInputNeededMessage(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::Provider { + +template hstring impl_ICachedFileUpdaterUI::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->get_Title(put_abi(value))); + return value; +} + +template void impl_ICachedFileUpdaterUI::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->put_Title(get_abi(value))); +} + +template Windows::Storage::Provider::CachedFileTarget impl_ICachedFileUpdaterUI::UpdateTarget() const +{ + Windows::Storage::Provider::CachedFileTarget value {}; + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->get_UpdateTarget(&value)); + return value; +} + +template event_token impl_ICachedFileUpdaterUI::FileUpdateRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->add_FileUpdateRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICachedFileUpdaterUI::FileUpdateRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Provider::ICachedFileUpdaterUI::remove_FileUpdateRequested, FileUpdateRequested(handler)); +} + +template void impl_ICachedFileUpdaterUI::FileUpdateRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->remove_FileUpdateRequested(token)); +} + +template event_token impl_ICachedFileUpdaterUI::UIRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->add_UIRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICachedFileUpdaterUI::UIRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Provider::ICachedFileUpdaterUI::remove_UIRequested, UIRequested(handler)); +} + +template void impl_ICachedFileUpdaterUI::UIRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->remove_UIRequested(token)); +} + +template Windows::Storage::Provider::UIStatus impl_ICachedFileUpdaterUI::UIStatus() const +{ + Windows::Storage::Provider::UIStatus value {}; + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI)->get_UIStatus(&value)); + return value; +} + +template Windows::Storage::Provider::FileUpdateRequest impl_IFileUpdateRequestedEventArgs::Request() const +{ + Windows::Storage::Provider::FileUpdateRequest value { nullptr }; + check_hresult(WINRT_SHIM(IFileUpdateRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template hstring impl_IFileUpdateRequest::ContentId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileUpdateRequest)->get_ContentId(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFile impl_IFileUpdateRequest::File() const +{ + Windows::Storage::StorageFile value { nullptr }; + check_hresult(WINRT_SHIM(IFileUpdateRequest)->get_File(put_abi(value))); + return value; +} + +template Windows::Storage::Provider::FileUpdateStatus impl_IFileUpdateRequest::Status() const +{ + Windows::Storage::Provider::FileUpdateStatus value {}; + check_hresult(WINRT_SHIM(IFileUpdateRequest)->get_Status(&value)); + return value; +} + +template void impl_IFileUpdateRequest::Status(Windows::Storage::Provider::FileUpdateStatus value) const +{ + check_hresult(WINRT_SHIM(IFileUpdateRequest)->put_Status(value)); +} + +template Windows::Storage::Provider::FileUpdateRequestDeferral impl_IFileUpdateRequest::GetDeferral() const +{ + Windows::Storage::Provider::FileUpdateRequestDeferral value { nullptr }; + check_hresult(WINRT_SHIM(IFileUpdateRequest)->abi_GetDeferral(put_abi(value))); + return value; +} + +template void impl_IFileUpdateRequest::UpdateLocalFile(const Windows::Storage::IStorageFile & value) const +{ + check_hresult(WINRT_SHIM(IFileUpdateRequest)->abi_UpdateLocalFile(get_abi(value))); +} + +template void impl_IFileUpdateRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IFileUpdateRequestDeferral)->abi_Complete()); +} + +template Windows::Storage::Provider::FileUpdateRequest impl_ICachedFileUpdaterUI2::UpdateRequest() const +{ + Windows::Storage::Provider::FileUpdateRequest value { nullptr }; + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI2)->get_UpdateRequest(put_abi(value))); + return value; +} + +template Windows::Storage::Provider::FileUpdateRequestDeferral impl_ICachedFileUpdaterUI2::GetDeferral() const +{ + Windows::Storage::Provider::FileUpdateRequestDeferral value { nullptr }; + check_hresult(WINRT_SHIM(ICachedFileUpdaterUI2)->abi_GetDeferral(put_abi(value))); + return value; +} + +template hstring impl_IFileUpdateRequest2::UserInputNeededMessage() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFileUpdateRequest2)->get_UserInputNeededMessage(put_abi(value))); + return value; +} + +template void impl_IFileUpdateRequest2::UserInputNeededMessage(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFileUpdateRequest2)->put_UserInputNeededMessage(get_abi(value))); +} + +template void impl_ICachedFileUpdaterStatics::SetUpdateInformation(const Windows::Storage::IStorageFile & file, hstring_view contentId, Windows::Storage::Provider::ReadActivationMode readMode, Windows::Storage::Provider::WriteActivationMode writeMode, Windows::Storage::Provider::CachedFileOptions options) const +{ + check_hresult(WINRT_SHIM(ICachedFileUpdaterStatics)->abi_SetUpdateInformation(get_abi(file), get_abi(contentId), readMode, writeMode, options)); +} + +inline void CachedFileUpdater::SetUpdateInformation(const Windows::Storage::IStorageFile & file, hstring_view contentId, Windows::Storage::Provider::ReadActivationMode readMode, Windows::Storage::Provider::WriteActivationMode writeMode, Windows::Storage::Provider::CachedFileOptions options) +{ + get_activation_factory().SetUpdateInformation(file, contentId, readMode, writeMode, options); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::ICachedFileUpdaterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::ICachedFileUpdaterUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::ICachedFileUpdaterUI2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::IFileUpdateRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::IFileUpdateRequest2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::IFileUpdateRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::IFileUpdateRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::CachedFileUpdaterUI & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::FileUpdateRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::FileUpdateRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Provider::FileUpdateRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.Search.h b/10.0.15042.0/winrt/Windows.Storage.Search.h new file mode 100644 index 000000000..0c4b6c777 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.Search.h @@ -0,0 +1,2181 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.FileProperties.3.h" +#include "internal/Windows.Storage.Search.3.h" +#include "Windows.Storage.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddAsync(impl::abi_arg_in indexableContent, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AddAsync(*reinterpret_cast(&indexableContent))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAsync(impl::abi_arg_in indexableContent, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateAsync(*reinterpret_cast(&indexableContent))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(impl::abi_arg_in contentId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAsync(*reinterpret_cast(&contentId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteMultipleAsync(impl::abi_arg_in> contentIds, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteMultipleAsync(*reinterpret_cast *>(&contentIds))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAllAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAllAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RetrievePropertiesAsync(impl::abi_arg_in contentId, impl::abi_arg_in> propertiesToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RetrievePropertiesAsync(*reinterpret_cast(&contentId), *reinterpret_cast *>(&propertiesToRetrieve))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Revision(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Revision()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCountAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCountAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPropertiesAsync(impl::abi_arg_out>>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPropertiesRangeAsync(uint32_t startIndex, uint32_t maxItems, impl::abi_arg_out>>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPropertiesAsync(startIndex, maxItems)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRangeAsync(uint32_t startIndex, uint32_t maxItems, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetAsync(startIndex, maxItems)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateQueryWithSortOrderAndLanguage(impl::abi_arg_in searchFilter, impl::abi_arg_in> propertiesToRetrieve, impl::abi_arg_in> sortOrder, impl::abi_arg_in searchFilterLanguage, impl::abi_arg_out query) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *query = detach_abi(this->shim().CreateQuery(*reinterpret_cast(&searchFilter), *reinterpret_cast *>(&propertiesToRetrieve), *reinterpret_cast *>(&sortOrder), *reinterpret_cast(&searchFilterLanguage))); + return S_OK; + } + catch (...) + { + *query = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateQueryWithSortOrder(impl::abi_arg_in searchFilter, impl::abi_arg_in> propertiesToRetrieve, impl::abi_arg_in> sortOrder, impl::abi_arg_out query) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *query = detach_abi(this->shim().CreateQuery(*reinterpret_cast(&searchFilter), *reinterpret_cast *>(&propertiesToRetrieve), *reinterpret_cast *>(&sortOrder))); + return S_OK; + } + catch (...) + { + *query = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateQuery(impl::abi_arg_in searchFilter, impl::abi_arg_in> propertiesToRetrieve, impl::abi_arg_out query) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *query = detach_abi(this->shim().CreateQuery(*reinterpret_cast(&searchFilter), *reinterpret_cast *>(&propertiesToRetrieve))); + return S_OK; + } + catch (...) + { + *query = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetIndexerWithName(impl::abi_arg_in indexName, impl::abi_arg_out index) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *index = detach_abi(this->shim().GetIndexer(*reinterpret_cast(&indexName))); + return S_OK; + } + catch (...) + { + *index = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIndexer(impl::abi_arg_out index) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *index = detach_abi(this->shim().GetIndexer()); + return S_OK; + } + catch (...) + { + *index = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stream(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stream(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreamContentType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreamContentType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StreamContentType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreamContentType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FileTypeFilter(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileTypeFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FolderDepth(Windows::Storage::Search::FolderDepth * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FolderDepth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FolderDepth(Windows::Storage::Search::FolderDepth value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FolderDepth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ApplicationSearchFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationSearchFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ApplicationSearchFilter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplicationSearchFilter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserSearchFilter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserSearchFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UserSearchFilter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserSearchFilter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Language(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Language(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndexerOption(Windows::Storage::Search::IndexerOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndexerOption()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IndexerOption(Windows::Storage::Search::IndexerOption value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IndexerOption(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SortOrder(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SortOrder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupPropertyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupPropertyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateStackOption(Windows::Storage::Search::DateStackOption * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateStackOption()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveToString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaveToString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromString(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadFromString(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetThumbnailPrefetch(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, Windows::Storage::FileProperties::ThumbnailOptions options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetThumbnailPrefetch(mode, requestedSize, options); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPropertyPrefetch(Windows::Storage::FileProperties::PropertyPrefetchOptions options, impl::abi_arg_in> propertiesToRetrieve) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPropertyPrefetch(options, *reinterpret_cast *>(&propertiesToRetrieve)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCommonFileQuery(Windows::Storage::Search::CommonFileQuery query, impl::abi_arg_in> fileTypeFilter, impl::abi_arg_out queryOptions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *queryOptions = detach_abi(this->shim().CreateCommonFileQuery(query, *reinterpret_cast *>(&fileTypeFilter))); + return S_OK; + } + catch (...) + { + *queryOptions = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCommonFolderQuery(Windows::Storage::Search::CommonFolderQuery query, impl::abi_arg_out queryOptions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *queryOptions = detach_abi(this->shim().CreateCommonFolderQuery(query)); + return S_OK; + } + catch (...) + { + *queryOptions = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StorageProviderIdFilter(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageProviderIdFilter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFilesAsync(uint32_t startIndex, uint32_t maxNumberOfItems, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFilesAsync(startIndex, maxNumberOfItems)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFilesAsyncDefaultStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFilesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetMatchingPropertiesWithRanges(impl::abi_arg_in file, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetMatchingPropertiesWithRanges(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetIndexedStateAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetIndexedStateAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileQueryOverloadDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFileQuery()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileQuery(Windows::Storage::Search::CommonFileQuery query, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFileQuery(query)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileQueryWithOptions(impl::abi_arg_in queryOptions, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFileQueryWithOptions(*reinterpret_cast(&queryOptions))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderQueryOverloadDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFolderQuery()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderQuery(Windows::Storage::Search::CommonFolderQuery query, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFolderQuery(query)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderQueryWithOptions(impl::abi_arg_in queryOptions, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateFolderQueryWithOptions(*reinterpret_cast(&queryOptions))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateItemQuery(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateItemQuery()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateItemQueryWithOptions(impl::abi_arg_in queryOptions, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateItemQueryWithOptions(*reinterpret_cast(&queryOptions))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFilesAsync(Windows::Storage::Search::CommonFileQuery query, uint32_t startIndex, uint32_t maxItemsToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFilesAsync(query, startIndex, maxItemsToRetrieve)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFilesAsyncOverloadDefaultStartAndCount(Windows::Storage::Search::CommonFileQuery query, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFilesAsync(query)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFoldersAsync(Windows::Storage::Search::CommonFolderQuery query, uint32_t startIndex, uint32_t maxItemsToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFoldersAsync(query, startIndex, maxItemsToRetrieve)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFoldersAsyncOverloadDefaultStartAndCount(Windows::Storage::Search::CommonFolderQuery query, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFoldersAsync(query)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemsAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync(startIndex, maxItemsToRetrieve)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AreQueryOptionsSupported(impl::abi_arg_in queryOptions, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreQueryOptionsSupported(*reinterpret_cast(&queryOptions))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsCommonFolderQuerySupported(Windows::Storage::Search::CommonFolderQuery query, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCommonFolderQuerySupported(query)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsCommonFileQuerySupported(Windows::Storage::Search::CommonFileQuery query, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCommonFileQuerySupported(query)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFoldersAsync(uint32_t startIndex, uint32_t maxNumberOfItems, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFoldersAsync(startIndex, maxNumberOfItems)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFoldersAsyncDefaultStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFoldersAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetItemsAsync(uint32_t startIndex, uint32_t maxNumberOfItems, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync(startIndex, maxNumberOfItems)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemsAsyncDefaultStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Folder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Folder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateModifiedSinceQuery(impl::abi_arg_in lastQueryTime, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateModifiedSinceQuery(*reinterpret_cast(&lastQueryTime))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetItemCountAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemCountAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Folder(impl::abi_arg_out container) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *container = detach_abi(this->shim().Folder()); + return S_OK; + } + catch (...) + { + *container = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContentsChanged(impl::abi_arg_in> handler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().ContentsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContentsChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentsChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_OptionsChanged(impl::abi_arg_in> changedHandler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().OptionsChanged(*reinterpret_cast *>(&changedHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_OptionsChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OptionsChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindStartIndexAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindStartIndexAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentQueryOptions(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentQueryOptions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyNewQueryOptions(impl::abi_arg_in newQueryOptions) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ApplyNewQueryOptions(*reinterpret_cast(&newQueryOptions)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Language(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Language(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage::Search { + +template Windows::Storage::Search::ContentIndexer impl_IContentIndexerStatics::GetIndexer(hstring_view indexName) const +{ + Windows::Storage::Search::ContentIndexer index { nullptr }; + check_hresult(WINRT_SHIM(IContentIndexerStatics)->abi_GetIndexerWithName(get_abi(indexName), put_abi(index))); + return index; +} + +template Windows::Storage::Search::ContentIndexer impl_IContentIndexerStatics::GetIndexer() const +{ + Windows::Storage::Search::ContentIndexer index { nullptr }; + check_hresult(WINRT_SHIM(IContentIndexerStatics)->abi_GetIndexer(put_abi(index))); + return index; +} + +template hstring impl_IIndexableContent::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IIndexableContent)->get_Id(put_abi(value))); + return value; +} + +template void impl_IIndexableContent::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IIndexableContent)->put_Id(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_IIndexableContent::Properties() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IIndexableContent)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStream impl_IIndexableContent::Stream() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(IIndexableContent)->get_Stream(put_abi(value))); + return value; +} + +template void impl_IIndexableContent::Stream(const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(IIndexableContent)->put_Stream(get_abi(value))); +} + +template hstring impl_IIndexableContent::StreamContentType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IIndexableContent)->get_StreamContentType(put_abi(value))); + return value; +} + +template void impl_IIndexableContent::StreamContentType(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IIndexableContent)->put_StreamContentType(get_abi(value))); +} + +template Windows::Foundation::IAsyncAction impl_IContentIndexer::AddAsync(const Windows::Storage::Search::IIndexableContent & indexableContent) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IContentIndexer)->abi_AddAsync(get_abi(indexableContent), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IContentIndexer::UpdateAsync(const Windows::Storage::Search::IIndexableContent & indexableContent) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IContentIndexer)->abi_UpdateAsync(get_abi(indexableContent), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IContentIndexer::DeleteAsync(hstring_view contentId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IContentIndexer)->abi_DeleteAsync(get_abi(contentId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IContentIndexer::DeleteMultipleAsync(iterable contentIds) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IContentIndexer)->abi_DeleteMultipleAsync(get_abi(contentIds), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IContentIndexer::DeleteAllAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IContentIndexer)->abi_DeleteAllAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IContentIndexer::RetrievePropertiesAsync(hstring_view contentId, iterable propertiesToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContentIndexer)->abi_RetrievePropertiesAsync(get_abi(contentId), get_abi(propertiesToRetrieve), put_abi(operation))); + return operation; +} + +template uint64_t impl_IContentIndexer::Revision() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IContentIndexer)->get_Revision(&value)); + return value; +} + +template hstring impl_IValueAndLanguage::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IValueAndLanguage)->get_Language(put_abi(value))); + return value; +} + +template void impl_IValueAndLanguage::Language(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IValueAndLanguage)->put_Language(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IValueAndLanguage::Value() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IValueAndLanguage)->get_Value(put_abi(value))); + return value; +} + +template void impl_IValueAndLanguage::Value(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IValueAndLanguage)->put_Value(get_abi(value))); +} + +template Windows::Storage::Search::ContentIndexerQuery impl_IContentIndexerQueryOperations::CreateQuery(hstring_view searchFilter, iterable propertiesToRetrieve, iterable sortOrder, hstring_view searchFilterLanguage) const +{ + Windows::Storage::Search::ContentIndexerQuery query { nullptr }; + check_hresult(WINRT_SHIM(IContentIndexerQueryOperations)->abi_CreateQueryWithSortOrderAndLanguage(get_abi(searchFilter), get_abi(propertiesToRetrieve), get_abi(sortOrder), get_abi(searchFilterLanguage), put_abi(query))); + return query; +} + +template Windows::Storage::Search::ContentIndexerQuery impl_IContentIndexerQueryOperations::CreateQuery(hstring_view searchFilter, iterable propertiesToRetrieve, iterable sortOrder) const +{ + Windows::Storage::Search::ContentIndexerQuery query { nullptr }; + check_hresult(WINRT_SHIM(IContentIndexerQueryOperations)->abi_CreateQueryWithSortOrder(get_abi(searchFilter), get_abi(propertiesToRetrieve), get_abi(sortOrder), put_abi(query))); + return query; +} + +template Windows::Storage::Search::ContentIndexerQuery impl_IContentIndexerQueryOperations::CreateQuery(hstring_view searchFilter, iterable propertiesToRetrieve) const +{ + Windows::Storage::Search::ContentIndexerQuery query { nullptr }; + check_hresult(WINRT_SHIM(IContentIndexerQueryOperations)->abi_CreateQuery(get_abi(searchFilter), get_abi(propertiesToRetrieve), put_abi(query))); + return query; +} + +template Windows::Foundation::IAsyncOperation impl_IContentIndexerQuery::GetCountAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IContentIndexerQuery)->abi_GetCountAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation>> impl_IContentIndexerQuery::GetPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation>> operation; + check_hresult(WINRT_SHIM(IContentIndexerQuery)->abi_GetPropertiesAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation>> impl_IContentIndexerQuery::GetPropertiesAsync(uint32_t startIndex, uint32_t maxItems) const +{ + Windows::Foundation::IAsyncOperation>> operation; + check_hresult(WINRT_SHIM(IContentIndexerQuery)->abi_GetPropertiesRangeAsync(startIndex, maxItems, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IContentIndexerQuery::GetAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContentIndexerQuery)->abi_GetAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IContentIndexerQuery::GetAsync(uint32_t startIndex, uint32_t maxItems) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IContentIndexerQuery)->abi_GetRangeAsync(startIndex, maxItems, put_abi(operation))); + return operation; +} + +template Windows::Storage::StorageFolder impl_IContentIndexerQuery::QueryFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IContentIndexerQuery)->get_QueryFolder(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IQueryOptions::FileTypeFilter() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IQueryOptions)->get_FileTypeFilter(put_abi(value))); + return value; +} + +template Windows::Storage::Search::FolderDepth impl_IQueryOptions::FolderDepth() const +{ + Windows::Storage::Search::FolderDepth value {}; + check_hresult(WINRT_SHIM(IQueryOptions)->get_FolderDepth(&value)); + return value; +} + +template void impl_IQueryOptions::FolderDepth(Windows::Storage::Search::FolderDepth value) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->put_FolderDepth(value)); +} + +template hstring impl_IQueryOptions::ApplicationSearchFilter() const +{ + hstring value; + check_hresult(WINRT_SHIM(IQueryOptions)->get_ApplicationSearchFilter(put_abi(value))); + return value; +} + +template void impl_IQueryOptions::ApplicationSearchFilter(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->put_ApplicationSearchFilter(get_abi(value))); +} + +template hstring impl_IQueryOptions::UserSearchFilter() const +{ + hstring value; + check_hresult(WINRT_SHIM(IQueryOptions)->get_UserSearchFilter(put_abi(value))); + return value; +} + +template void impl_IQueryOptions::UserSearchFilter(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->put_UserSearchFilter(get_abi(value))); +} + +template hstring impl_IQueryOptions::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IQueryOptions)->get_Language(put_abi(value))); + return value; +} + +template void impl_IQueryOptions::Language(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->put_Language(get_abi(value))); +} + +template Windows::Storage::Search::IndexerOption impl_IQueryOptions::IndexerOption() const +{ + Windows::Storage::Search::IndexerOption value {}; + check_hresult(WINRT_SHIM(IQueryOptions)->get_IndexerOption(&value)); + return value; +} + +template void impl_IQueryOptions::IndexerOption(Windows::Storage::Search::IndexerOption value) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->put_IndexerOption(value)); +} + +template Windows::Foundation::Collections::IVector impl_IQueryOptions::SortOrder() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IQueryOptions)->get_SortOrder(put_abi(value))); + return value; +} + +template hstring impl_IQueryOptions::GroupPropertyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IQueryOptions)->get_GroupPropertyName(put_abi(value))); + return value; +} + +template Windows::Storage::Search::DateStackOption impl_IQueryOptions::DateStackOption() const +{ + Windows::Storage::Search::DateStackOption value {}; + check_hresult(WINRT_SHIM(IQueryOptions)->get_DateStackOption(&value)); + return value; +} + +template hstring impl_IQueryOptions::SaveToString() const +{ + hstring value; + check_hresult(WINRT_SHIM(IQueryOptions)->abi_SaveToString(put_abi(value))); + return value; +} + +template void impl_IQueryOptions::LoadFromString(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->abi_LoadFromString(get_abi(value))); +} + +template void impl_IQueryOptions::SetThumbnailPrefetch(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, Windows::Storage::FileProperties::ThumbnailOptions options) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->abi_SetThumbnailPrefetch(mode, requestedSize, options)); +} + +template void impl_IQueryOptions::SetPropertyPrefetch(Windows::Storage::FileProperties::PropertyPrefetchOptions options, iterable propertiesToRetrieve) const +{ + check_hresult(WINRT_SHIM(IQueryOptions)->abi_SetPropertyPrefetch(options, get_abi(propertiesToRetrieve))); +} + +template Windows::Foundation::Collections::IVector impl_IQueryOptionsWithProviderFilter::StorageProviderIdFilter() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IQueryOptionsWithProviderFilter)->get_StorageProviderIdFilter(put_abi(value))); + return value; +} + +template Windows::Storage::Search::QueryOptions impl_IQueryOptionsFactory::CreateCommonFileQuery(Windows::Storage::Search::CommonFileQuery query, iterable fileTypeFilter) const +{ + Windows::Storage::Search::QueryOptions queryOptions { nullptr }; + check_hresult(WINRT_SHIM(IQueryOptionsFactory)->abi_CreateCommonFileQuery(query, get_abi(fileTypeFilter), put_abi(queryOptions))); + return queryOptions; +} + +template Windows::Storage::Search::QueryOptions impl_IQueryOptionsFactory::CreateCommonFolderQuery(Windows::Storage::Search::CommonFolderQuery query) const +{ + Windows::Storage::Search::QueryOptions queryOptions { nullptr }; + check_hresult(WINRT_SHIM(IQueryOptionsFactory)->abi_CreateCommonFolderQuery(query, put_abi(queryOptions))); + return queryOptions; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageQueryResultBase::GetItemCountAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->abi_GetItemCountAsync(put_abi(operation))); + return operation; +} + +template Windows::Storage::StorageFolder impl_IStorageQueryResultBase::Folder() const +{ + Windows::Storage::StorageFolder container { nullptr }; + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->get_Folder(put_abi(container))); + return container; +} + +template event_token impl_IStorageQueryResultBase::ContentsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->add_ContentsChanged(get_abi(handler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStorageQueryResultBase::ContentsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Search::IStorageQueryResultBase::remove_ContentsChanged, ContentsChanged(handler)); +} + +template void impl_IStorageQueryResultBase::ContentsChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->remove_ContentsChanged(eventCookie)); +} + +template event_token impl_IStorageQueryResultBase::OptionsChanged(const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->add_OptionsChanged(get_abi(changedHandler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStorageQueryResultBase::OptionsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & changedHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::Search::IStorageQueryResultBase::remove_OptionsChanged, OptionsChanged(changedHandler)); +} + +template void impl_IStorageQueryResultBase::OptionsChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->remove_OptionsChanged(eventCookie)); +} + +template Windows::Foundation::IAsyncOperation impl_IStorageQueryResultBase::FindStartIndexAsync(const Windows::Foundation::IInspectable & value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->abi_FindStartIndexAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Storage::Search::QueryOptions impl_IStorageQueryResultBase::GetCurrentQueryOptions() const +{ + Windows::Storage::Search::QueryOptions value { nullptr }; + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->abi_GetCurrentQueryOptions(put_abi(value))); + return value; +} + +template void impl_IStorageQueryResultBase::ApplyNewQueryOptions(const Windows::Storage::Search::QueryOptions & newQueryOptions) const +{ + check_hresult(WINRT_SHIM(IStorageQueryResultBase)->abi_ApplyNewQueryOptions(get_abi(newQueryOptions))); +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFileQueryResult::GetFilesAsync(uint32_t startIndex, uint32_t maxNumberOfItems) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFileQueryResult)->abi_GetFilesAsync(startIndex, maxNumberOfItems, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFileQueryResult::GetFilesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFileQueryResult)->abi_GetFilesAsyncDefaultStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IMap> impl_IStorageFileQueryResult2::GetMatchingPropertiesWithRanges(const Windows::Storage::StorageFile & file) const +{ + Windows::Foundation::Collections::IMap> result; + check_hresult(WINRT_SHIM(IStorageFileQueryResult2)->abi_GetMatchingPropertiesWithRanges(get_abi(file), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolderQueryResult::GetFoldersAsync(uint32_t startIndex, uint32_t maxNumberOfItems) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryResult)->abi_GetFoldersAsync(startIndex, maxNumberOfItems, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolderQueryResult::GetFoldersAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryResult)->abi_GetFoldersAsyncDefaultStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageItemQueryResult::GetItemsAsync(uint32_t startIndex, uint32_t maxNumberOfItems) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageItemQueryResult)->abi_GetItemsAsync(startIndex, maxNumberOfItems, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageItemQueryResult::GetItemsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageItemQueryResult)->abi_GetItemsAsyncDefaultStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolderQueryOperations::GetIndexedStateAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_GetIndexedStateAsync(put_abi(operation))); + return operation; +} + +template Windows::Storage::Search::StorageFileQueryResult impl_IStorageFolderQueryOperations::CreateFileQuery() const +{ + Windows::Storage::Search::StorageFileQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateFileQueryOverloadDefault(put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageFileQueryResult impl_IStorageFolderQueryOperations::CreateFileQuery(Windows::Storage::Search::CommonFileQuery query) const +{ + Windows::Storage::Search::StorageFileQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateFileQuery(query, put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageFileQueryResult impl_IStorageFolderQueryOperations::CreateFileQueryWithOptions(const Windows::Storage::Search::QueryOptions & queryOptions) const +{ + Windows::Storage::Search::StorageFileQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateFileQueryWithOptions(get_abi(queryOptions), put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageFolderQueryResult impl_IStorageFolderQueryOperations::CreateFolderQuery() const +{ + Windows::Storage::Search::StorageFolderQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateFolderQueryOverloadDefault(put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageFolderQueryResult impl_IStorageFolderQueryOperations::CreateFolderQuery(Windows::Storage::Search::CommonFolderQuery query) const +{ + Windows::Storage::Search::StorageFolderQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateFolderQuery(query, put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageFolderQueryResult impl_IStorageFolderQueryOperations::CreateFolderQueryWithOptions(const Windows::Storage::Search::QueryOptions & queryOptions) const +{ + Windows::Storage::Search::StorageFolderQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateFolderQueryWithOptions(get_abi(queryOptions), put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageItemQueryResult impl_IStorageFolderQueryOperations::CreateItemQuery() const +{ + Windows::Storage::Search::StorageItemQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateItemQuery(put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageItemQueryResult impl_IStorageFolderQueryOperations::CreateItemQueryWithOptions(const Windows::Storage::Search::QueryOptions & queryOptions) const +{ + Windows::Storage::Search::StorageItemQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_CreateItemQueryWithOptions(get_abi(queryOptions), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolderQueryOperations::GetFilesAsync(Windows::Storage::Search::CommonFileQuery query, uint32_t startIndex, uint32_t maxItemsToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_GetFilesAsync(query, startIndex, maxItemsToRetrieve, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolderQueryOperations::GetFilesAsync(Windows::Storage::Search::CommonFileQuery query) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_GetFilesAsyncOverloadDefaultStartAndCount(query, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolderQueryOperations::GetFoldersAsync(Windows::Storage::Search::CommonFolderQuery query, uint32_t startIndex, uint32_t maxItemsToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_GetFoldersAsync(query, startIndex, maxItemsToRetrieve, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolderQueryOperations::GetFoldersAsync(Windows::Storage::Search::CommonFolderQuery query) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_GetFoldersAsyncOverloadDefaultStartAndCount(query, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolderQueryOperations::GetItemsAsync(uint32_t startIndex, uint32_t maxItemsToRetrieve) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_GetItemsAsync(startIndex, maxItemsToRetrieve, put_abi(operation))); + return operation; +} + +template bool impl_IStorageFolderQueryOperations::AreQueryOptionsSupported(const Windows::Storage::Search::QueryOptions & queryOptions) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_AreQueryOptionsSupported(get_abi(queryOptions), &value)); + return value; +} + +template bool impl_IStorageFolderQueryOperations::IsCommonFolderQuerySupported(Windows::Storage::Search::CommonFolderQuery query) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_IsCommonFolderQuerySupported(query, &value)); + return value; +} + +template bool impl_IStorageFolderQueryOperations::IsCommonFileQuerySupported(Windows::Storage::Search::CommonFileQuery query) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageFolderQueryOperations)->abi_IsCommonFileQuerySupported(query, &value)); + return value; +} + +template Windows::Storage::StorageFolder impl_IStorageLibraryContentChangedTriggerDetails::Folder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IStorageLibraryContentChangedTriggerDetails)->get_Folder(put_abi(value))); + return value; +} + +template Windows::Storage::Search::StorageItemQueryResult impl_IStorageLibraryContentChangedTriggerDetails::CreateModifiedSinceQuery(const Windows::Foundation::DateTime & lastQueryTime) const +{ + Windows::Storage::Search::StorageItemQueryResult result { nullptr }; + check_hresult(WINRT_SHIM(IStorageLibraryContentChangedTriggerDetails)->abi_CreateModifiedSinceQuery(get_abi(lastQueryTime), put_abi(result))); + return result; +} + +inline Windows::Storage::Search::ContentIndexer ContentIndexer::GetIndexer(hstring_view indexName) +{ + return get_activation_factory().GetIndexer(indexName); +} + +inline Windows::Storage::Search::ContentIndexer ContentIndexer::GetIndexer() +{ + return get_activation_factory().GetIndexer(); +} + +inline IndexableContent::IndexableContent() : + IndexableContent(activate_instance()) +{} + +inline QueryOptions::QueryOptions() : + QueryOptions(activate_instance()) +{} + +inline QueryOptions::QueryOptions(Windows::Storage::Search::CommonFileQuery query, iterable fileTypeFilter) : + QueryOptions(get_activation_factory().CreateCommonFileQuery(query, fileTypeFilter)) +{} + +inline QueryOptions::QueryOptions(Windows::Storage::Search::CommonFolderQuery query) : + QueryOptions(get_activation_factory().CreateCommonFolderQuery(query)) +{} + +inline ValueAndLanguage::ValueAndLanguage() : + ValueAndLanguage(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IContentIndexer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IContentIndexerQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IContentIndexerQueryOperations & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IContentIndexerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IIndexableContent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IQueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IQueryOptionsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IQueryOptionsWithProviderFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IStorageFileQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IStorageFileQueryResult2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IStorageFolderQueryOperations & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IStorageFolderQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IStorageItemQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IStorageLibraryContentChangedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IStorageQueryResultBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IValueAndLanguage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::ContentIndexer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::ContentIndexerQuery & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::IndexableContent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::QueryOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::SortEntryVector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::StorageFileQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::StorageFolderQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::StorageItemQueryResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::StorageLibraryContentChangedTriggerDetails & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Search::ValueAndLanguage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.Streams.h b/10.0.15042.0/winrt/Windows.Storage.Streams.h new file mode 100644 index 000000000..edd961c30 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.Streams.h @@ -0,0 +1,2154 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "Windows.Storage.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Capacity(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Capacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Length(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Length(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(uint32_t capacity, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(capacity)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCopyFromMemoryBuffer(impl::abi_arg_in input, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateCopyFromMemoryBuffer(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMemoryBufferOverIBuffer(impl::abi_arg_in input, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMemoryBufferOverIBuffer(*reinterpret_cast(&input))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UnconsumedBufferLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnconsumedBufferLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnicodeEncoding(Windows::Storage::Streams::UnicodeEncoding * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnicodeEncoding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UnicodeEncoding(Windows::Storage::Streams::UnicodeEncoding value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnicodeEncoding(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ByteOrder(Windows::Storage::Streams::ByteOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ByteOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ByteOrder(Windows::Storage::Streams::ByteOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ByteOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputStreamOptions(Windows::Storage::Streams::InputStreamOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputStreamOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputStreamOptions(Windows::Storage::Streams::InputStreamOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputStreamOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadByte(uint8_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadByte()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBytes(uint32_t __valueSize, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReadBytes(*value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBuffer(uint32_t length, impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().ReadBuffer(length)); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBoolean(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadBoolean()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadGuid(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadGuid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadInt16(int16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadInt16()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadInt32(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadInt32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadInt64(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadInt64()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadUInt16(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadUInt16()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadUInt32(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadUInt32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadUInt64(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadUInt64()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadSingle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadSingle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadDouble(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadDouble()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadString(uint32_t codeUnitCount, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadString(codeUnitCount)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadDateTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadDateTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadTimeSpan(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadTimeSpan()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadAsync(uint32_t count, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LoadAsync(count)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DetachBuffer(impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().DetachBuffer()); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DetachStream(impl::abi_arg_out stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stream = detach_abi(this->shim().DetachStream()); + return S_OK; + } + catch (...) + { + *stream = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDataReader(impl::abi_arg_in inputStream, impl::abi_arg_out dataReader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataReader = detach_abi(this->shim().CreateDataReader(*reinterpret_cast(&inputStream))); + return S_OK; + } + catch (...) + { + *dataReader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromBuffer(impl::abi_arg_in buffer, impl::abi_arg_out dataReader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataReader = detach_abi(this->shim().FromBuffer(*reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *dataReader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UnstoredBufferLength(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnstoredBufferLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnicodeEncoding(Windows::Storage::Streams::UnicodeEncoding * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnicodeEncoding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UnicodeEncoding(Windows::Storage::Streams::UnicodeEncoding value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnicodeEncoding(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ByteOrder(Windows::Storage::Streams::ByteOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ByteOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ByteOrder(Windows::Storage::Streams::ByteOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ByteOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteByte(uint8_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteByte(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBytes(uint32_t __valueSize, impl::abi_arg_in * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteBytes(array_view(value, value + __valueSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBuffer(impl::abi_arg_in buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteBuffer(*reinterpret_cast(&buffer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBufferRange(impl::abi_arg_in buffer, uint32_t start, uint32_t count) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteBuffer(*reinterpret_cast(&buffer), start, count); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBoolean(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteBoolean(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteGuid(GUID value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteGuid(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteInt16(int16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteInt16(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteInt32(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteInt32(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteInt64(int64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteInt64(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteUInt16(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteUInt16(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteUInt32(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteUInt32(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteUInt64(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteUInt64(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteSingle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteSingle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteDouble(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteDouble(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteDateTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteDateTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteTimeSpan(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WriteTimeSpan(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteString(impl::abi_arg_in value, uint32_t * codeUnitCount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *codeUnitCount = detach_abi(this->shim().WriteString(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MeasureString(impl::abi_arg_in value, uint32_t * codeUnitCount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *codeUnitCount = detach_abi(this->shim().MeasureString(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StoreAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StoreAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FlushAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FlushAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DetachBuffer(impl::abi_arg_out buffer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *buffer = detach_abi(this->shim().DetachBuffer()); + return S_OK; + } + catch (...) + { + *buffer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DetachStream(impl::abi_arg_out outputStream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outputStream = detach_abi(this->shim().DetachStream()); + return S_OK; + } + catch (...) + { + *outputStream = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDataWriter(impl::abi_arg_in outputStream, impl::abi_arg_out dataWriter) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *dataWriter = detach_abi(this->shim().CreateDataWriter(*reinterpret_cast(&outputStream))); + return S_OK; + } + catch (...) + { + *dataWriter = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadAsync(impl::abi_arg_in buffer, uint32_t count, Windows::Storage::Streams::InputStreamOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReadAsync(*reinterpret_cast(&buffer), count, options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenSequentialReadAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenSequentialReadAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_WriteAsync(impl::abi_arg_in buffer, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteAsync(*reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FlushAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FlushAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Size(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Size(uint64_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Size(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInputStreamAt(uint64_t position, impl::abi_arg_out stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stream = detach_abi(this->shim().GetInputStreamAt(position)); + return S_OK; + } + catch (...) + { + *stream = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOutputStreamAt(uint64_t position, impl::abi_arg_out stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stream = detach_abi(this->shim().GetOutputStreamAt(position)); + return S_OK; + } + catch (...) + { + *stream = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Seek(uint64_t position) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Seek(position); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CloneStream(impl::abi_arg_out stream) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stream = detach_abi(this->shim().CloneStream()); + return S_OK; + } + catch (...) + { + *stream = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanRead(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanRead()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanWrite(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanWrite()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenReadAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenReadAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromFile(impl::abi_arg_in file, impl::abi_arg_out streamReference) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *streamReference = detach_abi(this->shim().CreateFromFile(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *streamReference = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromUri(impl::abi_arg_in uri, impl::abi_arg_out streamReference) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *streamReference = detach_abi(this->shim().CreateFromUri(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *streamReference = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromStream(impl::abi_arg_in stream, impl::abi_arg_out streamReference) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *streamReference = detach_abi(this->shim().CreateFromStream(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *streamReference = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CopyAsync(impl::abi_arg_in source, impl::abi_arg_in destination, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyAsync(*reinterpret_cast(&source), *reinterpret_cast(&destination))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopySizeAsync(impl::abi_arg_in source, impl::abi_arg_in destination, uint64_t bytesToCopy, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyAsync(*reinterpret_cast(&source), *reinterpret_cast(&destination), bytesToCopy)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyAndCloseAsync(impl::abi_arg_in source, impl::abi_arg_in destination, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyAndCloseAsync(*reinterpret_cast(&source), *reinterpret_cast(&destination))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +} + +namespace Windows::Storage::Streams { + +template uint32_t impl_IDataReader::UnconsumedBufferLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->get_UnconsumedBufferLength(&value)); + return value; +} + +template Windows::Storage::Streams::UnicodeEncoding impl_IDataReader::UnicodeEncoding() const +{ + Windows::Storage::Streams::UnicodeEncoding value {}; + check_hresult(WINRT_SHIM(IDataReader)->get_UnicodeEncoding(&value)); + return value; +} + +template void impl_IDataReader::UnicodeEncoding(Windows::Storage::Streams::UnicodeEncoding value) const +{ + check_hresult(WINRT_SHIM(IDataReader)->put_UnicodeEncoding(value)); +} + +template Windows::Storage::Streams::ByteOrder impl_IDataReader::ByteOrder() const +{ + Windows::Storage::Streams::ByteOrder value {}; + check_hresult(WINRT_SHIM(IDataReader)->get_ByteOrder(&value)); + return value; +} + +template void impl_IDataReader::ByteOrder(Windows::Storage::Streams::ByteOrder value) const +{ + check_hresult(WINRT_SHIM(IDataReader)->put_ByteOrder(value)); +} + +template Windows::Storage::Streams::InputStreamOptions impl_IDataReader::InputStreamOptions() const +{ + Windows::Storage::Streams::InputStreamOptions value {}; + check_hresult(WINRT_SHIM(IDataReader)->get_InputStreamOptions(&value)); + return value; +} + +template void impl_IDataReader::InputStreamOptions(Windows::Storage::Streams::InputStreamOptions value) const +{ + check_hresult(WINRT_SHIM(IDataReader)->put_InputStreamOptions(value)); +} + +template uint8_t impl_IDataReader::ReadByte() const +{ + uint8_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadByte(&value)); + return value; +} + +template void impl_IDataReader::ReadBytes(array_view value) const +{ + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadBytes(value.size(), get_abi(value))); +} + +template Windows::Storage::Streams::IBuffer impl_IDataReader::ReadBuffer(uint32_t length) const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadBuffer(length, put_abi(buffer))); + return buffer; +} + +template bool impl_IDataReader::ReadBoolean() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadBoolean(&value)); + return value; +} + +template GUID impl_IDataReader::ReadGuid() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadGuid(&value)); + return value; +} + +template int16_t impl_IDataReader::ReadInt16() const +{ + int16_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadInt16(&value)); + return value; +} + +template int32_t impl_IDataReader::ReadInt32() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadInt32(&value)); + return value; +} + +template int64_t impl_IDataReader::ReadInt64() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadInt64(&value)); + return value; +} + +template uint16_t impl_IDataReader::ReadUInt16() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadUInt16(&value)); + return value; +} + +template uint32_t impl_IDataReader::ReadUInt32() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadUInt32(&value)); + return value; +} + +template uint64_t impl_IDataReader::ReadUInt64() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadUInt64(&value)); + return value; +} + +template float impl_IDataReader::ReadSingle() const +{ + float value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadSingle(&value)); + return value; +} + +template double impl_IDataReader::ReadDouble() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadDouble(&value)); + return value; +} + +template hstring impl_IDataReader::ReadString(uint32_t codeUnitCount) const +{ + hstring value; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadString(codeUnitCount, put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IDataReader::ReadDateTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadDateTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IDataReader::ReadTimeSpan() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IDataReader)->abi_ReadTimeSpan(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::DataReaderLoadOperation impl_IDataReader::LoadAsync(uint32_t count) const +{ + Windows::Storage::Streams::DataReaderLoadOperation operation { nullptr }; + check_hresult(WINRT_SHIM(IDataReader)->abi_LoadAsync(count, put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::IBuffer impl_IDataReader::DetachBuffer() const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(IDataReader)->abi_DetachBuffer(put_abi(buffer))); + return buffer; +} + +template Windows::Storage::Streams::IInputStream impl_IDataReader::DetachStream() const +{ + Windows::Storage::Streams::IInputStream stream; + check_hresult(WINRT_SHIM(IDataReader)->abi_DetachStream(put_abi(stream))); + return stream; +} + +template Windows::Storage::Streams::DataReader impl_IDataReaderFactory::CreateDataReader(const Windows::Storage::Streams::IInputStream & inputStream) const +{ + Windows::Storage::Streams::DataReader dataReader { nullptr }; + check_hresult(WINRT_SHIM(IDataReaderFactory)->abi_CreateDataReader(get_abi(inputStream), put_abi(dataReader))); + return dataReader; +} + +template Windows::Storage::Streams::DataReader impl_IDataReaderStatics::FromBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + Windows::Storage::Streams::DataReader dataReader { nullptr }; + check_hresult(WINRT_SHIM(IDataReaderStatics)->abi_FromBuffer(get_abi(buffer), put_abi(dataReader))); + return dataReader; +} + +template uint32_t impl_IDataWriter::UnstoredBufferLength() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IDataWriter)->get_UnstoredBufferLength(&value)); + return value; +} + +template Windows::Storage::Streams::UnicodeEncoding impl_IDataWriter::UnicodeEncoding() const +{ + Windows::Storage::Streams::UnicodeEncoding value {}; + check_hresult(WINRT_SHIM(IDataWriter)->get_UnicodeEncoding(&value)); + return value; +} + +template void impl_IDataWriter::UnicodeEncoding(Windows::Storage::Streams::UnicodeEncoding value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->put_UnicodeEncoding(value)); +} + +template Windows::Storage::Streams::ByteOrder impl_IDataWriter::ByteOrder() const +{ + Windows::Storage::Streams::ByteOrder value {}; + check_hresult(WINRT_SHIM(IDataWriter)->get_ByteOrder(&value)); + return value; +} + +template void impl_IDataWriter::ByteOrder(Windows::Storage::Streams::ByteOrder value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->put_ByteOrder(value)); +} + +template void impl_IDataWriter::WriteByte(uint8_t value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteByte(value)); +} + +template void impl_IDataWriter::WriteBytes(array_view value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteBytes(value.size(), get_abi(value))); +} + +template void impl_IDataWriter::WriteBuffer(const Windows::Storage::Streams::IBuffer & buffer) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteBuffer(get_abi(buffer))); +} + +template void impl_IDataWriter::WriteBuffer(const Windows::Storage::Streams::IBuffer & buffer, uint32_t start, uint32_t count) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteBufferRange(get_abi(buffer), start, count)); +} + +template void impl_IDataWriter::WriteBoolean(bool value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteBoolean(value)); +} + +template void impl_IDataWriter::WriteGuid(GUID value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteGuid(value)); +} + +template void impl_IDataWriter::WriteInt16(int16_t value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteInt16(value)); +} + +template void impl_IDataWriter::WriteInt32(int32_t value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteInt32(value)); +} + +template void impl_IDataWriter::WriteInt64(int64_t value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteInt64(value)); +} + +template void impl_IDataWriter::WriteUInt16(uint16_t value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteUInt16(value)); +} + +template void impl_IDataWriter::WriteUInt32(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteUInt32(value)); +} + +template void impl_IDataWriter::WriteUInt64(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteUInt64(value)); +} + +template void impl_IDataWriter::WriteSingle(float value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteSingle(value)); +} + +template void impl_IDataWriter::WriteDouble(double value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteDouble(value)); +} + +template void impl_IDataWriter::WriteDateTime(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteDateTime(get_abi(value))); +} + +template void impl_IDataWriter::WriteTimeSpan(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteTimeSpan(get_abi(value))); +} + +template uint32_t impl_IDataWriter::WriteString(hstring_view value) const +{ + uint32_t codeUnitCount {}; + check_hresult(WINRT_SHIM(IDataWriter)->abi_WriteString(get_abi(value), &codeUnitCount)); + return codeUnitCount; +} + +template uint32_t impl_IDataWriter::MeasureString(hstring_view value) const +{ + uint32_t codeUnitCount {}; + check_hresult(WINRT_SHIM(IDataWriter)->abi_MeasureString(get_abi(value), &codeUnitCount)); + return codeUnitCount; +} + +template Windows::Storage::Streams::DataWriterStoreOperation impl_IDataWriter::StoreAsync() const +{ + Windows::Storage::Streams::DataWriterStoreOperation operation { nullptr }; + check_hresult(WINRT_SHIM(IDataWriter)->abi_StoreAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDataWriter::FlushAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDataWriter)->abi_FlushAsync(put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::IBuffer impl_IDataWriter::DetachBuffer() const +{ + Windows::Storage::Streams::IBuffer buffer; + check_hresult(WINRT_SHIM(IDataWriter)->abi_DetachBuffer(put_abi(buffer))); + return buffer; +} + +template Windows::Storage::Streams::IOutputStream impl_IDataWriter::DetachStream() const +{ + Windows::Storage::Streams::IOutputStream outputStream; + check_hresult(WINRT_SHIM(IDataWriter)->abi_DetachStream(put_abi(outputStream))); + return outputStream; +} + +template Windows::Storage::Streams::DataWriter impl_IDataWriterFactory::CreateDataWriter(const Windows::Storage::Streams::IOutputStream & outputStream) const +{ + Windows::Storage::Streams::DataWriter dataWriter { nullptr }; + check_hresult(WINRT_SHIM(IDataWriterFactory)->abi_CreateDataWriter(get_abi(outputStream), put_abi(dataWriter))); + return dataWriter; +} + +template Windows::Storage::Streams::Buffer impl_IBufferFactory::Create(uint32_t capacity) const +{ + Windows::Storage::Streams::Buffer value { nullptr }; + check_hresult(WINRT_SHIM(IBufferFactory)->abi_Create(capacity, put_abi(value))); + return value; +} + +template uint32_t impl_IBuffer::Capacity() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBuffer)->get_Capacity(&value)); + return value; +} + +template uint32_t impl_IBuffer::Length() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBuffer)->get_Length(&value)); + return value; +} + +template void impl_IBuffer::Length(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IBuffer)->put_Length(value)); +} + +template Windows::Storage::Streams::Buffer impl_IBufferStatics::CreateCopyFromMemoryBuffer(const Windows::Foundation::IMemoryBuffer & input) const +{ + Windows::Storage::Streams::Buffer value { nullptr }; + check_hresult(WINRT_SHIM(IBufferStatics)->abi_CreateCopyFromMemoryBuffer(get_abi(input), put_abi(value))); + return value; +} + +template Windows::Foundation::MemoryBuffer impl_IBufferStatics::CreateMemoryBufferOverIBuffer(const Windows::Storage::Streams::IBuffer & input) const +{ + Windows::Foundation::MemoryBuffer value { nullptr }; + check_hresult(WINRT_SHIM(IBufferStatics)->abi_CreateMemoryBufferOverIBuffer(get_abi(input), put_abi(value))); + return value; +} + +template hstring impl_IContentTypeProvider::ContentType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContentTypeProvider)->get_ContentType(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IInputStream::ReadAsync(const Windows::Storage::Streams::IBuffer & buffer, uint32_t count, Windows::Storage::Streams::InputStreamOptions options) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IInputStream)->abi_ReadAsync(get_abi(buffer), count, options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IOutputStream::WriteAsync(const Windows::Storage::Streams::IBuffer & buffer) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IOutputStream)->abi_WriteAsync(get_abi(buffer), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IOutputStream::FlushAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IOutputStream)->abi_FlushAsync(put_abi(operation))); + return operation; +} + +template uint64_t impl_IRandomAccessStream::Size() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IRandomAccessStream)->get_Size(&value)); + return value; +} + +template void impl_IRandomAccessStream::Size(uint64_t value) const +{ + check_hresult(WINRT_SHIM(IRandomAccessStream)->put_Size(value)); +} + +template Windows::Storage::Streams::IInputStream impl_IRandomAccessStream::GetInputStreamAt(uint64_t position) const +{ + Windows::Storage::Streams::IInputStream stream; + check_hresult(WINRT_SHIM(IRandomAccessStream)->abi_GetInputStreamAt(position, put_abi(stream))); + return stream; +} + +template Windows::Storage::Streams::IOutputStream impl_IRandomAccessStream::GetOutputStreamAt(uint64_t position) const +{ + Windows::Storage::Streams::IOutputStream stream; + check_hresult(WINRT_SHIM(IRandomAccessStream)->abi_GetOutputStreamAt(position, put_abi(stream))); + return stream; +} + +template uint64_t impl_IRandomAccessStream::Position() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IRandomAccessStream)->get_Position(&value)); + return value; +} + +template void impl_IRandomAccessStream::Seek(uint64_t position) const +{ + check_hresult(WINRT_SHIM(IRandomAccessStream)->abi_Seek(position)); +} + +template Windows::Storage::Streams::IRandomAccessStream impl_IRandomAccessStream::CloneStream() const +{ + Windows::Storage::Streams::IRandomAccessStream stream; + check_hresult(WINRT_SHIM(IRandomAccessStream)->abi_CloneStream(put_abi(stream))); + return stream; +} + +template bool impl_IRandomAccessStream::CanRead() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRandomAccessStream)->get_CanRead(&value)); + return value; +} + +template bool impl_IRandomAccessStream::CanWrite() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRandomAccessStream)->get_CanWrite(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRandomAccessStreamReference::OpenReadAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRandomAccessStreamReference)->abi_OpenReadAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IRandomAccessStreamStatics::CopyAsync(const Windows::Storage::Streams::IInputStream & source, const Windows::Storage::Streams::IOutputStream & destination) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IRandomAccessStreamStatics)->abi_CopyAsync(get_abi(source), get_abi(destination), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IRandomAccessStreamStatics::CopyAsync(const Windows::Storage::Streams::IInputStream & source, const Windows::Storage::Streams::IOutputStream & destination, uint64_t bytesToCopy) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IRandomAccessStreamStatics)->abi_CopySizeAsync(get_abi(source), get_abi(destination), bytesToCopy, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IRandomAccessStreamStatics::CopyAndCloseAsync(const Windows::Storage::Streams::IInputStream & source, const Windows::Storage::Streams::IOutputStream & destination) const +{ + Windows::Foundation::IAsyncOperationWithProgress operation; + check_hresult(WINRT_SHIM(IRandomAccessStreamStatics)->abi_CopyAndCloseAsync(get_abi(source), get_abi(destination), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IInputStreamReference::OpenSequentialReadAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IInputStreamReference)->abi_OpenSequentialReadAsync(put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IRandomAccessStreamReferenceStatics::CreateFromFile(const Windows::Storage::IStorageFile & file) const +{ + Windows::Storage::Streams::RandomAccessStreamReference streamReference { nullptr }; + check_hresult(WINRT_SHIM(IRandomAccessStreamReferenceStatics)->abi_CreateFromFile(get_abi(file), put_abi(streamReference))); + return streamReference; +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IRandomAccessStreamReferenceStatics::CreateFromUri(const Windows::Foundation::Uri & uri) const +{ + Windows::Storage::Streams::RandomAccessStreamReference streamReference { nullptr }; + check_hresult(WINRT_SHIM(IRandomAccessStreamReferenceStatics)->abi_CreateFromUri(get_abi(uri), put_abi(streamReference))); + return streamReference; +} + +template Windows::Storage::Streams::RandomAccessStreamReference impl_IRandomAccessStreamReferenceStatics::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Storage::Streams::RandomAccessStreamReference streamReference { nullptr }; + check_hresult(WINRT_SHIM(IRandomAccessStreamReferenceStatics)->abi_CreateFromStream(get_abi(stream), put_abi(streamReference))); + return streamReference; +} + +inline Buffer::Buffer(uint32_t capacity) : + Buffer(get_activation_factory().Create(capacity)) +{} + +inline Windows::Storage::Streams::Buffer Buffer::CreateCopyFromMemoryBuffer(const Windows::Foundation::IMemoryBuffer & input) +{ + return get_activation_factory().CreateCopyFromMemoryBuffer(input); +} + +inline Windows::Foundation::MemoryBuffer Buffer::CreateMemoryBufferOverIBuffer(const Windows::Storage::Streams::IBuffer & input) +{ + return get_activation_factory().CreateMemoryBufferOverIBuffer(input); +} + +inline DataReader::DataReader(const Windows::Storage::Streams::IInputStream & inputStream) : + DataReader(get_activation_factory().CreateDataReader(inputStream)) +{} + +inline Windows::Storage::Streams::DataReader DataReader::FromBuffer(const Windows::Storage::Streams::IBuffer & buffer) +{ + return get_activation_factory().FromBuffer(buffer); +} + +inline DataWriter::DataWriter() : + DataWriter(activate_instance()) +{} + +inline DataWriter::DataWriter(const Windows::Storage::Streams::IOutputStream & outputStream) : + DataWriter(get_activation_factory().CreateDataWriter(outputStream)) +{} + +inline InMemoryRandomAccessStream::InMemoryRandomAccessStream() : + InMemoryRandomAccessStream(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperationWithProgress RandomAccessStream::CopyAsync(const Windows::Storage::Streams::IInputStream & source, const Windows::Storage::Streams::IOutputStream & destination) +{ + return get_activation_factory().CopyAsync(source, destination); +} + +inline Windows::Foundation::IAsyncOperationWithProgress RandomAccessStream::CopyAsync(const Windows::Storage::Streams::IInputStream & source, const Windows::Storage::Streams::IOutputStream & destination, uint64_t bytesToCopy) +{ + return get_activation_factory().CopyAsync(source, destination, bytesToCopy); +} + +inline Windows::Foundation::IAsyncOperationWithProgress RandomAccessStream::CopyAndCloseAsync(const Windows::Storage::Streams::IInputStream & source, const Windows::Storage::Streams::IOutputStream & destination) +{ + return get_activation_factory().CopyAndCloseAsync(source, destination); +} + +inline Windows::Storage::Streams::RandomAccessStreamReference RandomAccessStreamReference::CreateFromFile(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().CreateFromFile(file); +} + +inline Windows::Storage::Streams::RandomAccessStreamReference RandomAccessStreamReference::CreateFromUri(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().CreateFromUri(uri); +} + +inline Windows::Storage::Streams::RandomAccessStreamReference RandomAccessStreamReference::CreateFromStream(const Windows::Storage::Streams::IRandomAccessStream & stream) +{ + return get_activation_factory().CreateFromStream(stream); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IBuffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IBufferFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IBufferStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IContentTypeProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IDataReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IDataReaderFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IDataReaderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IDataWriter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IDataWriterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IInputStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IInputStreamReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IOutputStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IRandomAccessStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IRandomAccessStreamReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IRandomAccessStreamReferenceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IRandomAccessStreamStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::IRandomAccessStreamWithContentType & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::Buffer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::DataReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::DataReaderLoadOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::DataWriter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::DataWriterStoreOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::FileInputStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::FileOutputStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::FileRandomAccessStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::InMemoryRandomAccessStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::InputStreamOverStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::OutputStreamOverStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::RandomAccessStreamOverStream & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::Streams::RandomAccessStreamReference & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.Storage.h b/10.0.15042.0/winrt/Windows.Storage.h new file mode 100644 index 000000000..fa8359d76 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.Storage.h @@ -0,0 +1,5778 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Storage.FileProperties.3.h" +#include "internal/Windows.Storage.3.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" +#include "Windows.Storage.Search.h" +#include "Windows.Storage.Streams.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::Storage { + +template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(L lambda) : + ApplicationDataSetVersionHandler(impl::make_delegate, ApplicationDataSetVersionHandler>(std::forward(lambda))) +{} + +template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(F * function) : + ApplicationDataSetVersionHandler([=](auto && ... args) { function(args ...); }) +{} + +template ApplicationDataSetVersionHandler::ApplicationDataSetVersionHandler(O * object, M method) : + ApplicationDataSetVersionHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ApplicationDataSetVersionHandler::operator()(const Windows::Storage::SetVersionRequest & setVersionRequest) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(setVersionRequest))); +} + +template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(L lambda) : + StreamedFileDataRequestedHandler(impl::make_delegate, StreamedFileDataRequestedHandler>(std::forward(lambda))) +{} + +template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(F * function) : + StreamedFileDataRequestedHandler([=](auto && ... args) { function(args ...); }) +{} + +template StreamedFileDataRequestedHandler::StreamedFileDataRequestedHandler(O * object, M method) : + StreamedFileDataRequestedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void StreamedFileDataRequestedHandler::operator()(const Windows::Storage::StreamedFileDataRequest & stream) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(stream))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Version(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Version()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVersionAsync(uint32_t desiredVersion, impl::abi_arg_in handler, impl::abi_arg_out setVersionOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *setVersionOperation = detach_abi(this->shim().SetVersionAsync(desiredVersion, *reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *setVersionOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearAllAsync(impl::abi_arg_out clearOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *clearOperation = detach_abi(this->shim().ClearAsync()); + return S_OK; + } + catch (...) + { + *clearOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearAsync(Windows::Storage::ApplicationDataLocality locality, impl::abi_arg_out clearOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *clearOperation = detach_abi(this->shim().ClearAsync(locality)); + return S_OK; + } + catch (...) + { + *clearOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoamingSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoamingSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoamingFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoamingFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemporaryFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemporaryFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DataChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DataChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DataChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SignalDataChanged() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SignalDataChanged(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoamingStorageQuota(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoamingStorageQuota()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalCacheFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalCacheFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPublisherCacheFolder(impl::abi_arg_in folderName, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPublisherCacheFolder(*reinterpret_cast(&folderName))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearPublisherCacheFolderAsync(impl::abi_arg_in folderName, impl::abi_arg_out clearOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *clearOperation = detach_abi(this->shim().ClearPublisherCacheFolderAsync(*reinterpret_cast(&folderName))); + return S_OK; + } + catch (...) + { + *clearOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SharedLocalFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SharedLocalFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Locality(Windows::Storage::ApplicationDataLocality * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Locality()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Values(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Values()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Containers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Containers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateContainer(impl::abi_arg_in name, Windows::Storage::ApplicationDataCreateDisposition disposition, impl::abi_arg_out container) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *container = detach_abi(this->shim().CreateContainer(*reinterpret_cast(&name), disposition)); + return S_OK; + } + catch (...) + { + *container = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteContainer(impl::abi_arg_in name) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeleteContainer(*reinterpret_cast(&name)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUserAsync(impl::abi_arg_in user, impl::abi_arg_out> getForUserOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *getForUserOperation = detach_abi(this->shim().GetForUserAsync(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *getForUserOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DeferUpdates(impl::abi_arg_in file) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeferUpdates(*reinterpret_cast(&file)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompleteUpdatesAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CompleteUpdatesAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFileAsync(impl::abi_arg_in desiredName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderAsync(impl::abi_arg_in desiredName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileWithCollisionOptionAsync(impl::abi_arg_in desiredName, Windows::Storage::CreationCollisionOption option, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderWithCollisionOptionAsync(impl::abi_arg_in desiredName, Windows::Storage::CreationCollisionOption option, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFileForUserAsync(impl::abi_arg_in user, impl::abi_arg_in desiredName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFileForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderForUserAsync(impl::abi_arg_in user, impl::abi_arg_in desiredName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFolderForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileForUserWithCollisionOptionAsync(impl::abi_arg_in user, impl::abi_arg_in desiredName, Windows::Storage::CreationCollisionOption option, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFileForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderForUserWithCollisionOptionAsync(impl::abi_arg_in user, impl::abi_arg_in desiredName, Windows::Storage::CreationCollisionOption option, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFolderForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&desiredName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadTextAsync(impl::abi_arg_in file, impl::abi_arg_out> textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().ReadTextAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadTextWithEncodingAsync(impl::abi_arg_in file, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out> textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().ReadTextAsync(*reinterpret_cast(&file), encoding)); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteTextAsync(impl::abi_arg_in file, impl::abi_arg_in contents, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().WriteTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents))); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteTextWithEncodingAsync(impl::abi_arg_in file, impl::abi_arg_in contents, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().WriteTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents), encoding)); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendTextAsync(impl::abi_arg_in file, impl::abi_arg_in contents, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().AppendTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents))); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendTextWithEncodingAsync(impl::abi_arg_in file, impl::abi_arg_in contents, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().AppendTextAsync(*reinterpret_cast(&file), *reinterpret_cast(&contents), encoding)); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadLinesAsync(impl::abi_arg_in file, impl::abi_arg_out>> linesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *linesOperation = detach_abi(this->shim().ReadLinesAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *linesOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadLinesWithEncodingAsync(impl::abi_arg_in file, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out>> linesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *linesOperation = detach_abi(this->shim().ReadLinesAsync(*reinterpret_cast(&file), encoding)); + return S_OK; + } + catch (...) + { + *linesOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteLinesAsync(impl::abi_arg_in file, impl::abi_arg_in> lines, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteLinesAsync(*reinterpret_cast(&file), *reinterpret_cast *>(&lines))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteLinesWithEncodingAsync(impl::abi_arg_in file, impl::abi_arg_in> lines, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteLinesAsync(*reinterpret_cast(&file), *reinterpret_cast *>(&lines), encoding)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendLinesAsync(impl::abi_arg_in file, impl::abi_arg_in> lines, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AppendLinesAsync(*reinterpret_cast(&file), *reinterpret_cast *>(&lines))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendLinesWithEncodingAsync(impl::abi_arg_in file, impl::abi_arg_in> lines, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AppendLinesAsync(*reinterpret_cast(&file), *reinterpret_cast *>(&lines), encoding)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBufferAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReadBufferAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBufferAsync(impl::abi_arg_in file, impl::abi_arg_in buffer, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteBufferAsync(*reinterpret_cast(&file), *reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBytesAsync(impl::abi_arg_in file, uint32_t __bufferSize, impl::abi_arg_in * buffer, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteBytesAsync(*reinterpret_cast(&file), array_view(buffer, buffer + __bufferSize))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CameraRoll(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraRoll()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Playlists(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Playlists()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SavedPictures(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SavedPictures()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MusicLibrary(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MusicLibrary()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PicturesLibrary(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PicturesLibrary()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VideosLibrary(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VideosLibrary()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentsLibrary(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentsLibrary()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HomeGroup(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HomeGroup()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovableDevices(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovableDevices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaServerDevices(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaServerDevices()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Objects3D(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Objects3D()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppCaptures(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppCaptures()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecordedCalls(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecordedCalls()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFolderForUserAsync(impl::abi_arg_in user, Windows::Storage::KnownFolderId folderId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFolderForUserAsync(*reinterpret_cast(&user), folderId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadTextAsync(impl::abi_arg_in absolutePath, impl::abi_arg_out> textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().ReadTextAsync(*reinterpret_cast(&absolutePath))); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadTextWithEncodingAsync(impl::abi_arg_in absolutePath, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out> textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().ReadTextAsync(*reinterpret_cast(&absolutePath), encoding)); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteTextAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in contents, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().WriteTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents))); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteTextWithEncodingAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in contents, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().WriteTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents), encoding)); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendTextAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in contents, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().AppendTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents))); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendTextWithEncodingAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in contents, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out textOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textOperation = detach_abi(this->shim().AppendTextAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&contents), encoding)); + return S_OK; + } + catch (...) + { + *textOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadLinesAsync(impl::abi_arg_in absolutePath, impl::abi_arg_out>> linesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *linesOperation = detach_abi(this->shim().ReadLinesAsync(*reinterpret_cast(&absolutePath))); + return S_OK; + } + catch (...) + { + *linesOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadLinesWithEncodingAsync(impl::abi_arg_in absolutePath, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out>> linesOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *linesOperation = detach_abi(this->shim().ReadLinesAsync(*reinterpret_cast(&absolutePath), encoding)); + return S_OK; + } + catch (...) + { + *linesOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteLinesAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in> lines, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast *>(&lines))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteLinesWithEncodingAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in> lines, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast *>(&lines), encoding)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendLinesAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in> lines, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AppendLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast *>(&lines))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendLinesWithEncodingAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in> lines, Windows::Storage::Streams::UnicodeEncoding encoding, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AppendLinesAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast *>(&lines), encoding)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReadBufferAsync(impl::abi_arg_in absolutePath, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReadBufferAsync(*reinterpret_cast(&absolutePath))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBufferAsync(impl::abi_arg_in absolutePath, impl::abi_arg_in buffer, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteBufferAsync(*reinterpret_cast(&absolutePath), *reinterpret_cast(&buffer))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WriteBytesAsync(impl::abi_arg_in absolutePath, uint32_t __bufferSize, impl::abi_arg_in * buffer, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().WriteBytesAsync(*reinterpret_cast(&absolutePath), array_view(buffer, buffer + __bufferSize))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentVersion(uint32_t * currentVersion) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *currentVersion = detach_abi(this->shim().CurrentVersion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredVersion(uint32_t * desiredVersion) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *desiredVersion = detach_abi(this->shim().DesiredVersion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FileType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FileType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenAsync(Windows::Storage::FileAccessMode accessMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenAsync(accessMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenTransactedWriteAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenTransactedWriteAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyOverloadDefaultNameAndOptions(impl::abi_arg_in destinationFolder, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyAsync(*reinterpret_cast(&destinationFolder))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyOverloadDefaultOptions(impl::abi_arg_in destinationFolder, impl::abi_arg_in desiredNewName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyOverload(impl::abi_arg_in destinationFolder, impl::abi_arg_in desiredNewName, Windows::Storage::NameCollisionOption option, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyAndReplaceAsync(impl::abi_arg_in fileToReplace, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CopyAndReplaceAsync(*reinterpret_cast(&fileToReplace))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveOverloadDefaultNameAndOptions(impl::abi_arg_in destinationFolder, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().MoveAsync(*reinterpret_cast(&destinationFolder))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveOverloadDefaultOptions(impl::abi_arg_in destinationFolder, impl::abi_arg_in desiredNewName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().MoveAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveOverload(impl::abi_arg_in destinationFolder, impl::abi_arg_in desiredNewName, Windows::Storage::NameCollisionOption option, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().MoveAsync(*reinterpret_cast(&destinationFolder), *reinterpret_cast(&desiredNewName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveAndReplaceAsync(impl::abi_arg_in fileToReplace, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().MoveAndReplaceAsync(*reinterpret_cast(&fileToReplace))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OpenWithOptionsAsync(Windows::Storage::FileAccessMode accessMode, Windows::Storage::StorageOpenOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenAsync(accessMode, options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OpenTransactedWriteWithOptionsAsync(Windows::Storage::StorageOpenOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().OpenTransactedWriteAsync(options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsAvailable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFileFromPathAsync(impl::abi_arg_in path, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFileFromPathAsync(*reinterpret_cast(&path))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFileFromApplicationUriAsync(impl::abi_arg_in uri, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFileFromApplicationUriAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStreamedFileAsync(impl::abi_arg_in displayNameWithExtension, impl::abi_arg_in dataRequested, impl::abi_arg_in thumbnail, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateStreamedFileAsync(*reinterpret_cast(&displayNameWithExtension), *reinterpret_cast(&dataRequested), *reinterpret_cast(&thumbnail))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReplaceWithStreamedFileAsync(impl::abi_arg_in fileToReplace, impl::abi_arg_in dataRequested, impl::abi_arg_in thumbnail, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReplaceWithStreamedFileAsync(*reinterpret_cast(&fileToReplace), *reinterpret_cast(&dataRequested), *reinterpret_cast(&thumbnail))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStreamedFileFromUriAsync(impl::abi_arg_in displayNameWithExtension, impl::abi_arg_in uri, impl::abi_arg_in thumbnail, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateStreamedFileFromUriAsync(*reinterpret_cast(&displayNameWithExtension), *reinterpret_cast(&uri), *reinterpret_cast(&thumbnail))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReplaceWithStreamedFileFromUriAsync(impl::abi_arg_in fileToReplace, impl::abi_arg_in uri, impl::abi_arg_in thumbnail, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReplaceWithStreamedFileFromUriAsync(*reinterpret_cast(&fileToReplace), *reinterpret_cast(&uri), *reinterpret_cast(&thumbnail))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFileAsyncOverloadDefaultOptions(impl::abi_arg_in desiredName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFileAsync(impl::abi_arg_in desiredName, Windows::Storage::CreationCollisionOption options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFileAsync(*reinterpret_cast(&desiredName), options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderAsyncOverloadDefaultOptions(impl::abi_arg_in desiredName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFolderAsync(impl::abi_arg_in desiredName, Windows::Storage::CreationCollisionOption options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateFolderAsync(*reinterpret_cast(&desiredName), options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFileAsync(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFileAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFolderAsync(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFolderAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemAsync(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFilesAsyncOverloadDefaultOptionsStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFilesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFoldersAsyncOverloadDefaultOptionsStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFoldersAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemsAsyncOverloadDefaultStartAndCount(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetItemsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetItemAsync(impl::abi_arg_in name, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryGetItemAsync(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetFolderFromPathAsync(impl::abi_arg_in path, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFolderFromPathAsync(*reinterpret_cast(&path))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RenameAsyncOverloadDefaultOptions(impl::abi_arg_in desiredName, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RenameAsync(*reinterpret_cast(&desiredName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RenameAsync(impl::abi_arg_in desiredName, Windows::Storage::NameCollisionOption option, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RenameAsync(*reinterpret_cast(&desiredName), option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsyncOverloadDefaultOptions(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteAsync(Windows::Storage::StorageDeleteOption option, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().DeleteAsync(option)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBasicPropertiesAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetBasicPropertiesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Attributes(Windows::Storage::FileAttributes * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Attributes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateCreated(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateCreated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsOfType(Windows::Storage::StorageItemTypes type, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOfType(type)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetParentAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetParentAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEqual(impl::abi_arg_in item, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEqual(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(Windows::Storage::FileProperties::ThumbnailMode mode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetThumbnailAsync(mode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetThumbnailAsyncOverloadDefaultOptions(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetThumbnailAsync(mode, requestedSize)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, Windows::Storage::FileProperties::ThumbnailOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetThumbnailAsync(mode, requestedSize, options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FolderRelativeId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FolderRelativeId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(Windows::Storage::FileProperties::ThumbnailMode mode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetScaledImageAsThumbnailAsync(mode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetScaledImageAsThumbnailAsync(mode, requestedSize)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetScaledImageAsThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, Windows::Storage::FileProperties::ThumbnailOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetScaledImageAsThumbnailAsync(mode, requestedSize, options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Provider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Provider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAddFolderAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAddFolderAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestRemoveFolderAsync(impl::abi_arg_in folder, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestRemoveFolderAsync(*reinterpret_cast(&folder))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Folders(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Folders()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SaveFolder(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SaveFolder()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DefinitionChanged(impl::abi_arg_in> handler, event_token * eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *eventCookie = detach_abi(this->shim().DefinitionChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DefinitionChanged(event_token eventCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefinitionChanged(eventCookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeTracker(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeTracker()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeType(Windows::Storage::StorageLibraryChangeType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreviousPath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreviousPath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsOfType(Windows::Storage::StorageItemTypes type, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOfType(type)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStorageItemAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetStorageItemAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReadBatchAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ReadBatchAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AcceptChangesAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().AcceptChangesAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetChangeReader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetChangeReader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Enable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Reset() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reset(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetLibraryAsync(Windows::Storage::KnownLibraryId libraryId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetLibraryAsync(libraryId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetLibraryForUserAsync(impl::abi_arg_in user, Windows::Storage::KnownLibraryId libraryId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetLibraryForUserAsync(*reinterpret_cast(&user), libraryId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Stream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CommitAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CommitAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FailAndClose(Windows::Storage::StreamedFileFailureMode failureMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FailAndClose(failureMode); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EncodingBitrate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EncodingBitrate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LatitudeDecimal(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LatitudeDecimal()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LongitudeDecimal(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LongitudeDecimal()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalSize()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalSize()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Producer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Producer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Publisher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Publisher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Writer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Writer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Year(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Year()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlbumArtist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlbumArtist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlbumTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlbumTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Artist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Artist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Composer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Composer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Conductor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Conductor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayArtist(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayArtist()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Genre(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Genre()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrackNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrackNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CameraManufacturer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraManufacturer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CameraModel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CameraModel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateTaken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateTaken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeopleNames(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeopleNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Author(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Author()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemNameDisplay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemNameDisplay()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Keywords(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Keywords()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rating(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rating()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Audio(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Audio()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GPS(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GPS()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Media(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Media()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Music(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Music()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Photo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Photo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Video(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Video()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Image(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Image()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Director(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Director()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameHeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameHeight()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameWidth(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameWidth()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalBitrate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalBitrate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::Storage { + +template Windows::Foundation::IAsyncOperation impl_IStorageLibraryStatics::GetLibraryAsync(Windows::Storage::KnownLibraryId libraryId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageLibraryStatics)->abi_GetLibraryAsync(libraryId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageLibraryStatics2::GetLibraryForUserAsync(const Windows::System::User & user, Windows::Storage::KnownLibraryId libraryId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageLibraryStatics2)->abi_GetLibraryForUserAsync(get_abi(user), libraryId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageLibrary::RequestAddFolderAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageLibrary)->abi_RequestAddFolderAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageLibrary::RequestRemoveFolderAsync(const Windows::Storage::StorageFolder & folder) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageLibrary)->abi_RequestRemoveFolderAsync(get_abi(folder), put_abi(operation))); + return operation; +} + +template Windows::Foundation::Collections::IObservableVector impl_IStorageLibrary::Folders() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IStorageLibrary)->get_Folders(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IStorageLibrary::SaveFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IStorageLibrary)->get_SaveFolder(put_abi(value))); + return value; +} + +template event_token impl_IStorageLibrary::DefinitionChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token eventCookie {}; + check_hresult(WINRT_SHIM(IStorageLibrary)->add_DefinitionChanged(get_abi(handler), &eventCookie)); + return eventCookie; +} + +template event_revoker impl_IStorageLibrary::DefinitionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::IStorageLibrary::remove_DefinitionChanged, DefinitionChanged(handler)); +} + +template void impl_IStorageLibrary::DefinitionChanged(event_token eventCookie) const +{ + check_hresult(WINRT_SHIM(IStorageLibrary)->remove_DefinitionChanged(eventCookie)); +} + +template Windows::Storage::StorageLibraryChangeTracker impl_IStorageLibrary2::ChangeTracker() const +{ + Windows::Storage::StorageLibraryChangeTracker value { nullptr }; + check_hresult(WINRT_SHIM(IStorageLibrary2)->get_ChangeTracker(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics::MusicLibrary() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics)->get_MusicLibrary(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics::PicturesLibrary() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics)->get_PicturesLibrary(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics::VideosLibrary() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics)->get_VideosLibrary(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics::DocumentsLibrary() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics)->get_DocumentsLibrary(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics::HomeGroup() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics)->get_HomeGroup(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics::RemovableDevices() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics)->get_RemovableDevices(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics::MediaServerDevices() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics)->get_MediaServerDevices(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics2::Objects3D() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics2)->get_Objects3D(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics2::AppCaptures() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics2)->get_AppCaptures(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersStatics2::RecordedCalls() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersStatics2)->get_RecordedCalls(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IKnownFoldersStatics3::GetFolderForUserAsync(const Windows::System::User & user, Windows::Storage::KnownFolderId folderId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IKnownFoldersStatics3)->abi_GetFolderForUserAsync(get_abi(user), folderId, put_abi(operation))); + return operation; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersPlaylistsStatics::Playlists() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersPlaylistsStatics)->get_Playlists(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersCameraRollStatics::CameraRoll() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersCameraRollStatics)->get_CameraRoll(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IKnownFoldersSavedPicturesStatics::SavedPictures() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IKnownFoldersSavedPicturesStatics)->get_SavedPictures(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics::CreateFileAsync(hstring_view desiredName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics)->abi_CreateFileAsync(get_abi(desiredName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics::CreateFolderAsync(hstring_view desiredName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics)->abi_CreateFolderAsync(get_abi(desiredName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics::CreateFileAsync(hstring_view desiredName, Windows::Storage::CreationCollisionOption option) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics)->abi_CreateFileWithCollisionOptionAsync(get_abi(desiredName), option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics::CreateFolderAsync(hstring_view desiredName, Windows::Storage::CreationCollisionOption option) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics)->abi_CreateFolderWithCollisionOptionAsync(get_abi(desiredName), option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics2::CreateFileForUserAsync(const Windows::System::User & user, hstring_view desiredName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics2)->abi_CreateFileForUserAsync(get_abi(user), get_abi(desiredName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics2::CreateFolderForUserAsync(const Windows::System::User & user, hstring_view desiredName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics2)->abi_CreateFolderForUserAsync(get_abi(user), get_abi(desiredName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics2::CreateFileForUserAsync(const Windows::System::User & user, hstring_view desiredName, Windows::Storage::CreationCollisionOption option) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics2)->abi_CreateFileForUserWithCollisionOptionAsync(get_abi(user), get_abi(desiredName), option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IDownloadsFolderStatics2::CreateFolderForUserAsync(const Windows::System::User & user, hstring_view desiredName, Windows::Storage::CreationCollisionOption option) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IDownloadsFolderStatics2)->abi_CreateFolderForUserWithCollisionOptionAsync(get_abi(user), get_abi(desiredName), option, put_abi(operation))); + return operation; +} + +template Windows::Storage::StorageLibraryChangeType impl_IStorageLibraryChange::ChangeType() const +{ + Windows::Storage::StorageLibraryChangeType value {}; + check_hresult(WINRT_SHIM(IStorageLibraryChange)->get_ChangeType(&value)); + return value; +} + +template hstring impl_IStorageLibraryChange::Path() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageLibraryChange)->get_Path(put_abi(value))); + return value; +} + +template hstring impl_IStorageLibraryChange::PreviousPath() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageLibraryChange)->get_PreviousPath(put_abi(value))); + return value; +} + +template bool impl_IStorageLibraryChange::IsOfType(Windows::Storage::StorageItemTypes type) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageLibraryChange)->abi_IsOfType(type, &value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageLibraryChange::GetStorageItemAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageLibraryChange)->abi_GetStorageItemAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageItem::RenameAsync(hstring_view desiredName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageItem)->abi_RenameAsyncOverloadDefaultOptions(get_abi(desiredName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageItem::RenameAsync(hstring_view desiredName, Windows::Storage::NameCollisionOption option) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageItem)->abi_RenameAsync(get_abi(desiredName), option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageItem::DeleteAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageItem)->abi_DeleteAsyncOverloadDefaultOptions(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageItem::DeleteAsync(Windows::Storage::StorageDeleteOption option) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageItem)->abi_DeleteAsync(option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItem::GetBasicPropertiesAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItem)->abi_GetBasicPropertiesAsync(put_abi(operation))); + return operation; +} + +template hstring impl_IStorageItem::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageItem)->get_Name(put_abi(value))); + return value; +} + +template hstring impl_IStorageItem::Path() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageItem)->get_Path(put_abi(value))); + return value; +} + +template Windows::Storage::FileAttributes impl_IStorageItem::Attributes() const +{ + Windows::Storage::FileAttributes value {}; + check_hresult(WINRT_SHIM(IStorageItem)->get_Attributes(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IStorageItem::DateCreated() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IStorageItem)->get_DateCreated(put_abi(value))); + return value; +} + +template bool impl_IStorageItem::IsOfType(Windows::Storage::StorageItemTypes type) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageItem)->abi_IsOfType(type, &value)); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageLibraryChangeReader::ReadBatchAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageLibraryChangeReader)->abi_ReadBatchAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageLibraryChangeReader::AcceptChangesAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageLibraryChangeReader)->abi_AcceptChangesAsync(put_abi(operation))); + return operation; +} + +template Windows::Storage::StorageLibraryChangeReader impl_IStorageLibraryChangeTracker::GetChangeReader() const +{ + Windows::Storage::StorageLibraryChangeReader value { nullptr }; + check_hresult(WINRT_SHIM(IStorageLibraryChangeTracker)->abi_GetChangeReader(put_abi(value))); + return value; +} + +template void impl_IStorageLibraryChangeTracker::Enable() const +{ + check_hresult(WINRT_SHIM(IStorageLibraryChangeTracker)->abi_Enable()); +} + +template void impl_IStorageLibraryChangeTracker::Reset() const +{ + check_hresult(WINRT_SHIM(IStorageLibraryChangeTracker)->abi_Reset()); +} + +template void impl_IStreamedFileDataRequest::FailAndClose(Windows::Storage::StreamedFileFailureMode failureMode) const +{ + check_hresult(WINRT_SHIM(IStreamedFileDataRequest)->abi_FailAndClose(failureMode)); +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFileStatics::GetFileFromPathAsync(hstring_view path) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFileStatics)->abi_GetFileFromPathAsync(get_abi(path), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFileStatics::GetFileFromApplicationUriAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFileStatics)->abi_GetFileFromApplicationUriAsync(get_abi(uri), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFileStatics::CreateStreamedFileAsync(hstring_view displayNameWithExtension, const Windows::Storage::StreamedFileDataRequestedHandler & dataRequested, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFileStatics)->abi_CreateStreamedFileAsync(get_abi(displayNameWithExtension), get_abi(dataRequested), get_abi(thumbnail), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFileStatics::ReplaceWithStreamedFileAsync(const Windows::Storage::IStorageFile & fileToReplace, const Windows::Storage::StreamedFileDataRequestedHandler & dataRequested, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFileStatics)->abi_ReplaceWithStreamedFileAsync(get_abi(fileToReplace), get_abi(dataRequested), get_abi(thumbnail), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFileStatics::CreateStreamedFileFromUriAsync(hstring_view displayNameWithExtension, const Windows::Foundation::Uri & uri, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFileStatics)->abi_CreateStreamedFileFromUriAsync(get_abi(displayNameWithExtension), get_abi(uri), get_abi(thumbnail), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFileStatics::ReplaceWithStreamedFileFromUriAsync(const Windows::Storage::IStorageFile & fileToReplace, const Windows::Foundation::Uri & uri, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFileStatics)->abi_ReplaceWithStreamedFileFromUriAsync(get_abi(fileToReplace), get_abi(uri), get_abi(thumbnail), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder::CreateFileAsync(hstring_view desiredName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_CreateFileAsyncOverloadDefaultOptions(get_abi(desiredName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder::CreateFileAsync(hstring_view desiredName, Windows::Storage::CreationCollisionOption options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_CreateFileAsync(get_abi(desiredName), options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder::CreateFolderAsync(hstring_view desiredName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_CreateFolderAsyncOverloadDefaultOptions(get_abi(desiredName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder::CreateFolderAsync(hstring_view desiredName, Windows::Storage::CreationCollisionOption options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_CreateFolderAsync(get_abi(desiredName), options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder::GetFileAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_GetFileAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder::GetFolderAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_GetFolderAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder::GetItemAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_GetItemAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolder::GetFilesAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_GetFilesAsyncOverloadDefaultOptionsStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolder::GetFoldersAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_GetFoldersAsyncOverloadDefaultOptionsStartAndCount(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IStorageFolder::GetItemsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IStorageFolder)->abi_GetItemsAsyncOverloadDefaultStartAndCount(put_abi(operation))); + return operation; +} + +template hstring impl_IStorageFile::FileType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageFile)->get_FileType(put_abi(value))); + return value; +} + +template hstring impl_IStorageFile::ContentType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageFile)->get_ContentType(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFile::OpenAsync(Windows::Storage::FileAccessMode accessMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_OpenAsync(accessMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFile::OpenTransactedWriteAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_OpenTransactedWriteAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFile::CopyAsync(const Windows::Storage::IStorageFolder & destinationFolder) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_CopyOverloadDefaultNameAndOptions(get_abi(destinationFolder), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFile::CopyAsync(const Windows::Storage::IStorageFolder & destinationFolder, hstring_view desiredNewName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_CopyOverloadDefaultOptions(get_abi(destinationFolder), get_abi(desiredNewName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFile::CopyAsync(const Windows::Storage::IStorageFolder & destinationFolder, hstring_view desiredNewName, Windows::Storage::NameCollisionOption option) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_CopyOverload(get_abi(destinationFolder), get_abi(desiredNewName), option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageFile::CopyAndReplaceAsync(const Windows::Storage::IStorageFile & fileToReplace) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_CopyAndReplaceAsync(get_abi(fileToReplace), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageFile::MoveAsync(const Windows::Storage::IStorageFolder & destinationFolder) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_MoveOverloadDefaultNameAndOptions(get_abi(destinationFolder), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageFile::MoveAsync(const Windows::Storage::IStorageFolder & destinationFolder, hstring_view desiredNewName) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_MoveOverloadDefaultOptions(get_abi(destinationFolder), get_abi(desiredNewName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageFile::MoveAsync(const Windows::Storage::IStorageFolder & destinationFolder, hstring_view desiredNewName, Windows::Storage::NameCollisionOption option) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_MoveOverload(get_abi(destinationFolder), get_abi(desiredNewName), option, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IStorageFile::MoveAndReplaceAsync(const Windows::Storage::IStorageFile & fileToReplace) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageFile)->abi_MoveAndReplaceAsync(get_abi(fileToReplace), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolderStatics::GetFolderFromPathAsync(hstring_view path) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolderStatics)->abi_GetFolderFromPathAsync(get_abi(path), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItem2::GetParentAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItem2)->abi_GetParentAsync(put_abi(operation))); + return operation; +} + +template bool impl_IStorageItem2::IsEqual(const Windows::Storage::IStorageItem & item) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageItem2)->abi_IsEqual(get_abi(item), &value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemProperties::GetThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemProperties)->abi_GetThumbnailAsyncOverloadDefaultSizeDefaultOptions(mode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemProperties::GetThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemProperties)->abi_GetThumbnailAsyncOverloadDefaultOptions(mode, requestedSize, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemProperties::GetThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, Windows::Storage::FileProperties::ThumbnailOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemProperties)->abi_GetThumbnailAsync(mode, requestedSize, options, put_abi(operation))); + return operation; +} + +template hstring impl_IStorageItemProperties::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageItemProperties)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IStorageItemProperties::DisplayType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageItemProperties)->get_DisplayType(put_abi(value))); + return value; +} + +template hstring impl_IStorageItemProperties::FolderRelativeId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageItemProperties)->get_FolderRelativeId(put_abi(value))); + return value; +} + +template Windows::Storage::FileProperties::StorageItemContentProperties impl_IStorageItemProperties::Properties() const +{ + Windows::Storage::FileProperties::StorageItemContentProperties value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemProperties)->get_Properties(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemProperties2::GetScaledImageAsThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemProperties2)->abi_GetScaledImageAsThumbnailAsyncOverloadDefaultSizeDefaultOptions(mode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemProperties2::GetScaledImageAsThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemProperties2)->abi_GetScaledImageAsThumbnailAsyncOverloadDefaultOptions(mode, requestedSize, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageItemProperties2::GetScaledImageAsThumbnailAsync(Windows::Storage::FileProperties::ThumbnailMode mode, uint32_t requestedSize, Windows::Storage::FileProperties::ThumbnailOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageItemProperties2)->abi_GetScaledImageAsThumbnailAsync(mode, requestedSize, options, put_abi(operation))); + return operation; +} + +template Windows::Storage::StorageProvider impl_IStorageItemPropertiesWithProvider::Provider() const +{ + Windows::Storage::StorageProvider value { nullptr }; + check_hresult(WINRT_SHIM(IStorageItemPropertiesWithProvider)->get_Provider(put_abi(value))); + return value; +} + +template bool impl_IStorageFilePropertiesWithAvailability::IsAvailable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStorageFilePropertiesWithAvailability)->get_IsAvailable(&value)); + return value; +} + +template hstring impl_IStorageProvider::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageProvider)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IStorageProvider::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStorageProvider)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFolder2::TryGetItemAsync(hstring_view name) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFolder2)->abi_TryGetItemAsync(get_abi(name), put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::IRandomAccessStream impl_IStorageStreamTransaction::Stream() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(IStorageStreamTransaction)->get_Stream(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IStorageStreamTransaction::CommitAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IStorageStreamTransaction)->abi_CommitAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFile2::OpenAsync(Windows::Storage::FileAccessMode accessMode, Windows::Storage::StorageOpenOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFile2)->abi_OpenWithOptionsAsync(accessMode, options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStorageFile2::OpenTransactedWriteAsync(Windows::Storage::StorageOpenOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStorageFile2)->abi_OpenTransactedWriteWithOptionsAsync(options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IFileIOStatics::ReadTextAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation textOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_ReadTextAsync(get_abi(file), put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IFileIOStatics::ReadTextAsync(const Windows::Storage::IStorageFile & file, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncOperation textOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_ReadTextWithEncodingAsync(get_abi(file), encoding, put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::WriteTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_WriteTextAsync(get_abi(file), get_abi(contents), put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::WriteTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_WriteTextWithEncodingAsync(get_abi(file), get_abi(contents), encoding, put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::AppendTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_AppendTextAsync(get_abi(file), get_abi(contents), put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::AppendTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_AppendTextWithEncodingAsync(get_abi(file), get_abi(contents), encoding, put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileIOStatics::ReadLinesAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation> linesOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_ReadLinesAsync(get_abi(file), put_abi(linesOperation))); + return linesOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_IFileIOStatics::ReadLinesAsync(const Windows::Storage::IStorageFile & file, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncOperation> linesOperation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_ReadLinesWithEncodingAsync(get_abi(file), encoding, put_abi(linesOperation))); + return linesOperation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::WriteLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_WriteLinesAsync(get_abi(file), get_abi(lines), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::WriteLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_WriteLinesWithEncodingAsync(get_abi(file), get_abi(lines), encoding, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::AppendLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_AppendLinesAsync(get_abi(file), get_abi(lines), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::AppendLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_AppendLinesWithEncodingAsync(get_abi(file), get_abi(lines), encoding, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IFileIOStatics::ReadBufferAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_ReadBufferAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::WriteBufferAsync(const Windows::Storage::IStorageFile & file, const Windows::Storage::Streams::IBuffer & buffer) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_WriteBufferAsync(get_abi(file), get_abi(buffer), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IFileIOStatics::WriteBytesAsync(const Windows::Storage::IStorageFile & file, array_view buffer) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IFileIOStatics)->abi_WriteBytesAsync(get_abi(file), buffer.size(), get_abi(buffer), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPathIOStatics::ReadTextAsync(hstring_view absolutePath) const +{ + Windows::Foundation::IAsyncOperation textOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_ReadTextAsync(get_abi(absolutePath), put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IPathIOStatics::ReadTextAsync(hstring_view absolutePath, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncOperation textOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_ReadTextWithEncodingAsync(get_abi(absolutePath), encoding, put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::WriteTextAsync(hstring_view absolutePath, hstring_view contents) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_WriteTextAsync(get_abi(absolutePath), get_abi(contents), put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::WriteTextAsync(hstring_view absolutePath, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_WriteTextWithEncodingAsync(get_abi(absolutePath), get_abi(contents), encoding, put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::AppendTextAsync(hstring_view absolutePath, hstring_view contents) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_AppendTextAsync(get_abi(absolutePath), get_abi(contents), put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::AppendTextAsync(hstring_view absolutePath, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction textOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_AppendTextWithEncodingAsync(get_abi(absolutePath), get_abi(contents), encoding, put_abi(textOperation))); + return textOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPathIOStatics::ReadLinesAsync(hstring_view absolutePath) const +{ + Windows::Foundation::IAsyncOperation> linesOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_ReadLinesAsync(get_abi(absolutePath), put_abi(linesOperation))); + return linesOperation; +} + +template Windows::Foundation::IAsyncOperation> impl_IPathIOStatics::ReadLinesAsync(hstring_view absolutePath, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncOperation> linesOperation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_ReadLinesWithEncodingAsync(get_abi(absolutePath), encoding, put_abi(linesOperation))); + return linesOperation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::WriteLinesAsync(hstring_view absolutePath, iterable lines) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_WriteLinesAsync(get_abi(absolutePath), get_abi(lines), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::WriteLinesAsync(hstring_view absolutePath, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_WriteLinesWithEncodingAsync(get_abi(absolutePath), get_abi(lines), encoding, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::AppendLinesAsync(hstring_view absolutePath, iterable lines) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_AppendLinesAsync(get_abi(absolutePath), get_abi(lines), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::AppendLinesAsync(hstring_view absolutePath, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_AppendLinesWithEncodingAsync(get_abi(absolutePath), get_abi(lines), encoding, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IPathIOStatics::ReadBufferAsync(hstring_view absolutePath) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_ReadBufferAsync(get_abi(absolutePath), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::WriteBufferAsync(hstring_view absolutePath, const Windows::Storage::Streams::IBuffer & buffer) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_WriteBufferAsync(get_abi(absolutePath), get_abi(buffer), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IPathIOStatics::WriteBytesAsync(hstring_view absolutePath, array_view buffer) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPathIOStatics)->abi_WriteBytesAsync(get_abi(absolutePath), buffer.size(), get_abi(buffer), put_abi(operation))); + return operation; +} + +template void impl_ICachedFileManagerStatics::DeferUpdates(const Windows::Storage::IStorageFile & file) const +{ + check_hresult(WINRT_SHIM(ICachedFileManagerStatics)->abi_DeferUpdates(get_abi(file))); +} + +template Windows::Foundation::IAsyncOperation impl_ICachedFileManagerStatics::CompleteUpdatesAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ICachedFileManagerStatics)->abi_CompleteUpdatesAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template hstring impl_ISystemAudioProperties::EncodingBitrate() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemAudioProperties)->get_EncodingBitrate(put_abi(value))); + return value; +} + +template hstring impl_ISystemGPSProperties::LatitudeDecimal() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemGPSProperties)->get_LatitudeDecimal(put_abi(value))); + return value; +} + +template hstring impl_ISystemGPSProperties::LongitudeDecimal() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemGPSProperties)->get_LongitudeDecimal(put_abi(value))); + return value; +} + +template hstring impl_ISystemImageProperties::HorizontalSize() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemImageProperties)->get_HorizontalSize(put_abi(value))); + return value; +} + +template hstring impl_ISystemImageProperties::VerticalSize() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemImageProperties)->get_VerticalSize(put_abi(value))); + return value; +} + +template hstring impl_ISystemMediaProperties::Duration() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMediaProperties)->get_Duration(put_abi(value))); + return value; +} + +template hstring impl_ISystemMediaProperties::Producer() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMediaProperties)->get_Producer(put_abi(value))); + return value; +} + +template hstring impl_ISystemMediaProperties::Publisher() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMediaProperties)->get_Publisher(put_abi(value))); + return value; +} + +template hstring impl_ISystemMediaProperties::SubTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMediaProperties)->get_SubTitle(put_abi(value))); + return value; +} + +template hstring impl_ISystemMediaProperties::Writer() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMediaProperties)->get_Writer(put_abi(value))); + return value; +} + +template hstring impl_ISystemMediaProperties::Year() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMediaProperties)->get_Year(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::AlbumArtist() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_AlbumArtist(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::AlbumTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_AlbumTitle(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::Artist() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_Artist(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::Composer() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_Composer(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::Conductor() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_Conductor(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::DisplayArtist() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_DisplayArtist(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::Genre() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_Genre(put_abi(value))); + return value; +} + +template hstring impl_ISystemMusicProperties::TrackNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemMusicProperties)->get_TrackNumber(put_abi(value))); + return value; +} + +template hstring impl_ISystemPhotoProperties::CameraManufacturer() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemPhotoProperties)->get_CameraManufacturer(put_abi(value))); + return value; +} + +template hstring impl_ISystemPhotoProperties::CameraModel() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemPhotoProperties)->get_CameraModel(put_abi(value))); + return value; +} + +template hstring impl_ISystemPhotoProperties::DateTaken() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemPhotoProperties)->get_DateTaken(put_abi(value))); + return value; +} + +template hstring impl_ISystemPhotoProperties::Orientation() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemPhotoProperties)->get_Orientation(put_abi(value))); + return value; +} + +template hstring impl_ISystemPhotoProperties::PeopleNames() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemPhotoProperties)->get_PeopleNames(put_abi(value))); + return value; +} + +template hstring impl_ISystemVideoProperties::Director() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemVideoProperties)->get_Director(put_abi(value))); + return value; +} + +template hstring impl_ISystemVideoProperties::FrameHeight() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemVideoProperties)->get_FrameHeight(put_abi(value))); + return value; +} + +template hstring impl_ISystemVideoProperties::FrameWidth() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemVideoProperties)->get_FrameWidth(put_abi(value))); + return value; +} + +template hstring impl_ISystemVideoProperties::Orientation() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemVideoProperties)->get_Orientation(put_abi(value))); + return value; +} + +template hstring impl_ISystemVideoProperties::TotalBitrate() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemVideoProperties)->get_TotalBitrate(put_abi(value))); + return value; +} + +template hstring impl_ISystemProperties::Author() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Author(put_abi(value))); + return value; +} + +template hstring impl_ISystemProperties::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Comment(put_abi(value))); + return value; +} + +template hstring impl_ISystemProperties::ItemNameDisplay() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemProperties)->get_ItemNameDisplay(put_abi(value))); + return value; +} + +template hstring impl_ISystemProperties::Keywords() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Keywords(put_abi(value))); + return value; +} + +template hstring impl_ISystemProperties::Rating() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Rating(put_abi(value))); + return value; +} + +template hstring impl_ISystemProperties::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Title(put_abi(value))); + return value; +} + +template Windows::Storage::SystemAudioProperties impl_ISystemProperties::Audio() const +{ + Windows::Storage::SystemAudioProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Audio(put_abi(value))); + return value; +} + +template Windows::Storage::SystemGPSProperties impl_ISystemProperties::GPS() const +{ + Windows::Storage::SystemGPSProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemProperties)->get_GPS(put_abi(value))); + return value; +} + +template Windows::Storage::SystemMediaProperties impl_ISystemProperties::Media() const +{ + Windows::Storage::SystemMediaProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Media(put_abi(value))); + return value; +} + +template Windows::Storage::SystemMusicProperties impl_ISystemProperties::Music() const +{ + Windows::Storage::SystemMusicProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Music(put_abi(value))); + return value; +} + +template Windows::Storage::SystemPhotoProperties impl_ISystemProperties::Photo() const +{ + Windows::Storage::SystemPhotoProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Photo(put_abi(value))); + return value; +} + +template Windows::Storage::SystemVideoProperties impl_ISystemProperties::Video() const +{ + Windows::Storage::SystemVideoProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Video(put_abi(value))); + return value; +} + +template Windows::Storage::SystemImageProperties impl_ISystemProperties::Image() const +{ + Windows::Storage::SystemImageProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISystemProperties)->get_Image(put_abi(value))); + return value; +} + +template Windows::Storage::ApplicationData impl_IApplicationDataStatics::Current() const +{ + Windows::Storage::ApplicationData value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationDataStatics)->get_Current(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationDataStatics2::GetForUserAsync(const Windows::System::User & user) const +{ + Windows::Foundation::IAsyncOperation getForUserOperation; + check_hresult(WINRT_SHIM(IApplicationDataStatics2)->abi_GetForUserAsync(get_abi(user), put_abi(getForUserOperation))); + return getForUserOperation; +} + +template uint32_t impl_IApplicationData::Version() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IApplicationData)->get_Version(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IApplicationData::SetVersionAsync(uint32_t desiredVersion, const Windows::Storage::ApplicationDataSetVersionHandler & handler) const +{ + Windows::Foundation::IAsyncAction setVersionOperation; + check_hresult(WINRT_SHIM(IApplicationData)->abi_SetVersionAsync(desiredVersion, get_abi(handler), put_abi(setVersionOperation))); + return setVersionOperation; +} + +template Windows::Foundation::IAsyncAction impl_IApplicationData::ClearAsync() const +{ + Windows::Foundation::IAsyncAction clearOperation; + check_hresult(WINRT_SHIM(IApplicationData)->abi_ClearAllAsync(put_abi(clearOperation))); + return clearOperation; +} + +template Windows::Foundation::IAsyncAction impl_IApplicationData::ClearAsync(Windows::Storage::ApplicationDataLocality locality) const +{ + Windows::Foundation::IAsyncAction clearOperation; + check_hresult(WINRT_SHIM(IApplicationData)->abi_ClearAsync(locality, put_abi(clearOperation))); + return clearOperation; +} + +template Windows::Storage::ApplicationDataContainer impl_IApplicationData::LocalSettings() const +{ + Windows::Storage::ApplicationDataContainer value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData)->get_LocalSettings(put_abi(value))); + return value; +} + +template Windows::Storage::ApplicationDataContainer impl_IApplicationData::RoamingSettings() const +{ + Windows::Storage::ApplicationDataContainer value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData)->get_RoamingSettings(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IApplicationData::LocalFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData)->get_LocalFolder(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IApplicationData::RoamingFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData)->get_RoamingFolder(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IApplicationData::TemporaryFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData)->get_TemporaryFolder(put_abi(value))); + return value; +} + +template event_token impl_IApplicationData::DataChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IApplicationData)->add_DataChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IApplicationData::DataChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::Storage::IApplicationData::remove_DataChanged, DataChanged(handler)); +} + +template void impl_IApplicationData::DataChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IApplicationData)->remove_DataChanged(token)); +} + +template void impl_IApplicationData::SignalDataChanged() const +{ + check_hresult(WINRT_SHIM(IApplicationData)->abi_SignalDataChanged()); +} + +template uint64_t impl_IApplicationData::RoamingStorageQuota() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IApplicationData)->get_RoamingStorageQuota(&value)); + return value; +} + +template Windows::Storage::StorageFolder impl_IApplicationData2::LocalCacheFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData2)->get_LocalCacheFolder(put_abi(value))); + return value; +} + +template Windows::Storage::StorageFolder impl_IApplicationData3::GetPublisherCacheFolder(hstring_view folderName) const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData3)->abi_GetPublisherCacheFolder(get_abi(folderName), put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IApplicationData3::ClearPublisherCacheFolderAsync(hstring_view folderName) const +{ + Windows::Foundation::IAsyncAction clearOperation; + check_hresult(WINRT_SHIM(IApplicationData3)->abi_ClearPublisherCacheFolderAsync(get_abi(folderName), put_abi(clearOperation))); + return clearOperation; +} + +template Windows::Storage::StorageFolder impl_IApplicationData3::SharedLocalFolder() const +{ + Windows::Storage::StorageFolder value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationData3)->get_SharedLocalFolder(put_abi(value))); + return value; +} + +template uint32_t impl_ISetVersionRequest::CurrentVersion() const +{ + uint32_t currentVersion {}; + check_hresult(WINRT_SHIM(ISetVersionRequest)->get_CurrentVersion(¤tVersion)); + return currentVersion; +} + +template uint32_t impl_ISetVersionRequest::DesiredVersion() const +{ + uint32_t desiredVersion {}; + check_hresult(WINRT_SHIM(ISetVersionRequest)->get_DesiredVersion(&desiredVersion)); + return desiredVersion; +} + +template Windows::Storage::SetVersionDeferral impl_ISetVersionRequest::GetDeferral() const +{ + Windows::Storage::SetVersionDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(ISetVersionRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_ISetVersionDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(ISetVersionDeferral)->abi_Complete()); +} + +template hstring impl_IApplicationDataContainer::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IApplicationDataContainer)->get_Name(put_abi(value))); + return value; +} + +template Windows::Storage::ApplicationDataLocality impl_IApplicationDataContainer::Locality() const +{ + Windows::Storage::ApplicationDataLocality value {}; + check_hresult(WINRT_SHIM(IApplicationDataContainer)->get_Locality(&value)); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_IApplicationDataContainer::Values() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(IApplicationDataContainer)->get_Values(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IApplicationDataContainer::Containers() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IApplicationDataContainer)->get_Containers(put_abi(value))); + return value; +} + +template Windows::Storage::ApplicationDataContainer impl_IApplicationDataContainer::CreateContainer(hstring_view name, Windows::Storage::ApplicationDataCreateDisposition disposition) const +{ + Windows::Storage::ApplicationDataContainer container { nullptr }; + check_hresult(WINRT_SHIM(IApplicationDataContainer)->abi_CreateContainer(get_abi(name), disposition, put_abi(container))); + return container; +} + +template void impl_IApplicationDataContainer::DeleteContainer(hstring_view name) const +{ + check_hresult(WINRT_SHIM(IApplicationDataContainer)->abi_DeleteContainer(get_abi(name))); +} + +inline Windows::Storage::ApplicationData ApplicationData::Current() +{ + return get_activation_factory().Current(); +} + +inline Windows::Foundation::IAsyncOperation ApplicationData::GetForUserAsync(const Windows::System::User & user) +{ + return get_activation_factory().GetForUserAsync(user); +} + +inline ApplicationDataCompositeValue::ApplicationDataCompositeValue() : + ApplicationDataCompositeValue(activate_instance()) +{} + +inline void CachedFileManager::DeferUpdates(const Windows::Storage::IStorageFile & file) +{ + get_activation_factory().DeferUpdates(file); +} + +inline Windows::Foundation::IAsyncOperation CachedFileManager::CompleteUpdatesAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().CompleteUpdatesAsync(file); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFileAsync(hstring_view desiredName) +{ + return get_activation_factory().CreateFileAsync(desiredName); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFolderAsync(hstring_view desiredName) +{ + return get_activation_factory().CreateFolderAsync(desiredName); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFileAsync(hstring_view desiredName, Windows::Storage::CreationCollisionOption option) +{ + return get_activation_factory().CreateFileAsync(desiredName, option); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFolderAsync(hstring_view desiredName, Windows::Storage::CreationCollisionOption option) +{ + return get_activation_factory().CreateFolderAsync(desiredName, option); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFileForUserAsync(const Windows::System::User & user, hstring_view desiredName) +{ + return get_activation_factory().CreateFileForUserAsync(user, desiredName); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFolderForUserAsync(const Windows::System::User & user, hstring_view desiredName) +{ + return get_activation_factory().CreateFolderForUserAsync(user, desiredName); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFileForUserAsync(const Windows::System::User & user, hstring_view desiredName, Windows::Storage::CreationCollisionOption option) +{ + return get_activation_factory().CreateFileForUserAsync(user, desiredName, option); +} + +inline Windows::Foundation::IAsyncOperation DownloadsFolder::CreateFolderForUserAsync(const Windows::System::User & user, hstring_view desiredName, Windows::Storage::CreationCollisionOption option) +{ + return get_activation_factory().CreateFolderForUserAsync(user, desiredName, option); +} + +inline Windows::Foundation::IAsyncOperation FileIO::ReadTextAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().ReadTextAsync(file); +} + +inline Windows::Foundation::IAsyncOperation FileIO::ReadTextAsync(const Windows::Storage::IStorageFile & file, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().ReadTextAsync(file, encoding); +} + +inline Windows::Foundation::IAsyncAction FileIO::WriteTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents) +{ + return get_activation_factory().WriteTextAsync(file, contents); +} + +inline Windows::Foundation::IAsyncAction FileIO::WriteTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().WriteTextAsync(file, contents, encoding); +} + +inline Windows::Foundation::IAsyncAction FileIO::AppendTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents) +{ + return get_activation_factory().AppendTextAsync(file, contents); +} + +inline Windows::Foundation::IAsyncAction FileIO::AppendTextAsync(const Windows::Storage::IStorageFile & file, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().AppendTextAsync(file, contents, encoding); +} + +inline Windows::Foundation::IAsyncOperation> FileIO::ReadLinesAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().ReadLinesAsync(file); +} + +inline Windows::Foundation::IAsyncOperation> FileIO::ReadLinesAsync(const Windows::Storage::IStorageFile & file, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().ReadLinesAsync(file, encoding); +} + +inline Windows::Foundation::IAsyncAction FileIO::WriteLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines) +{ + return get_activation_factory().WriteLinesAsync(file, lines); +} + +inline Windows::Foundation::IAsyncAction FileIO::WriteLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().WriteLinesAsync(file, lines, encoding); +} + +inline Windows::Foundation::IAsyncAction FileIO::AppendLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines) +{ + return get_activation_factory().AppendLinesAsync(file, lines); +} + +inline Windows::Foundation::IAsyncAction FileIO::AppendLinesAsync(const Windows::Storage::IStorageFile & file, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().AppendLinesAsync(file, lines, encoding); +} + +inline Windows::Foundation::IAsyncOperation FileIO::ReadBufferAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().ReadBufferAsync(file); +} + +inline Windows::Foundation::IAsyncAction FileIO::WriteBufferAsync(const Windows::Storage::IStorageFile & file, const Windows::Storage::Streams::IBuffer & buffer) +{ + return get_activation_factory().WriteBufferAsync(file, buffer); +} + +inline Windows::Foundation::IAsyncAction FileIO::WriteBytesAsync(const Windows::Storage::IStorageFile & file, array_view buffer) +{ + return get_activation_factory().WriteBytesAsync(file, buffer); +} + +inline Windows::Storage::StorageFolder KnownFolders::CameraRoll() +{ + return get_activation_factory().CameraRoll(); +} + +inline Windows::Storage::StorageFolder KnownFolders::Playlists() +{ + return get_activation_factory().Playlists(); +} + +inline Windows::Storage::StorageFolder KnownFolders::SavedPictures() +{ + return get_activation_factory().SavedPictures(); +} + +inline Windows::Storage::StorageFolder KnownFolders::MusicLibrary() +{ + return get_activation_factory().MusicLibrary(); +} + +inline Windows::Storage::StorageFolder KnownFolders::PicturesLibrary() +{ + return get_activation_factory().PicturesLibrary(); +} + +inline Windows::Storage::StorageFolder KnownFolders::VideosLibrary() +{ + return get_activation_factory().VideosLibrary(); +} + +inline Windows::Storage::StorageFolder KnownFolders::DocumentsLibrary() +{ + return get_activation_factory().DocumentsLibrary(); +} + +inline Windows::Storage::StorageFolder KnownFolders::HomeGroup() +{ + return get_activation_factory().HomeGroup(); +} + +inline Windows::Storage::StorageFolder KnownFolders::RemovableDevices() +{ + return get_activation_factory().RemovableDevices(); +} + +inline Windows::Storage::StorageFolder KnownFolders::MediaServerDevices() +{ + return get_activation_factory().MediaServerDevices(); +} + +inline Windows::Storage::StorageFolder KnownFolders::Objects3D() +{ + return get_activation_factory().Objects3D(); +} + +inline Windows::Storage::StorageFolder KnownFolders::AppCaptures() +{ + return get_activation_factory().AppCaptures(); +} + +inline Windows::Storage::StorageFolder KnownFolders::RecordedCalls() +{ + return get_activation_factory().RecordedCalls(); +} + +inline Windows::Foundation::IAsyncOperation KnownFolders::GetFolderForUserAsync(const Windows::System::User & user, Windows::Storage::KnownFolderId folderId) +{ + return get_activation_factory().GetFolderForUserAsync(user, folderId); +} + +inline Windows::Foundation::IAsyncOperation PathIO::ReadTextAsync(hstring_view absolutePath) +{ + return get_activation_factory().ReadTextAsync(absolutePath); +} + +inline Windows::Foundation::IAsyncOperation PathIO::ReadTextAsync(hstring_view absolutePath, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().ReadTextAsync(absolutePath, encoding); +} + +inline Windows::Foundation::IAsyncAction PathIO::WriteTextAsync(hstring_view absolutePath, hstring_view contents) +{ + return get_activation_factory().WriteTextAsync(absolutePath, contents); +} + +inline Windows::Foundation::IAsyncAction PathIO::WriteTextAsync(hstring_view absolutePath, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().WriteTextAsync(absolutePath, contents, encoding); +} + +inline Windows::Foundation::IAsyncAction PathIO::AppendTextAsync(hstring_view absolutePath, hstring_view contents) +{ + return get_activation_factory().AppendTextAsync(absolutePath, contents); +} + +inline Windows::Foundation::IAsyncAction PathIO::AppendTextAsync(hstring_view absolutePath, hstring_view contents, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().AppendTextAsync(absolutePath, contents, encoding); +} + +inline Windows::Foundation::IAsyncOperation> PathIO::ReadLinesAsync(hstring_view absolutePath) +{ + return get_activation_factory().ReadLinesAsync(absolutePath); +} + +inline Windows::Foundation::IAsyncOperation> PathIO::ReadLinesAsync(hstring_view absolutePath, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().ReadLinesAsync(absolutePath, encoding); +} + +inline Windows::Foundation::IAsyncAction PathIO::WriteLinesAsync(hstring_view absolutePath, iterable lines) +{ + return get_activation_factory().WriteLinesAsync(absolutePath, lines); +} + +inline Windows::Foundation::IAsyncAction PathIO::WriteLinesAsync(hstring_view absolutePath, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().WriteLinesAsync(absolutePath, lines, encoding); +} + +inline Windows::Foundation::IAsyncAction PathIO::AppendLinesAsync(hstring_view absolutePath, iterable lines) +{ + return get_activation_factory().AppendLinesAsync(absolutePath, lines); +} + +inline Windows::Foundation::IAsyncAction PathIO::AppendLinesAsync(hstring_view absolutePath, iterable lines, Windows::Storage::Streams::UnicodeEncoding encoding) +{ + return get_activation_factory().AppendLinesAsync(absolutePath, lines, encoding); +} + +inline Windows::Foundation::IAsyncOperation PathIO::ReadBufferAsync(hstring_view absolutePath) +{ + return get_activation_factory().ReadBufferAsync(absolutePath); +} + +inline Windows::Foundation::IAsyncAction PathIO::WriteBufferAsync(hstring_view absolutePath, const Windows::Storage::Streams::IBuffer & buffer) +{ + return get_activation_factory().WriteBufferAsync(absolutePath, buffer); +} + +inline Windows::Foundation::IAsyncAction PathIO::WriteBytesAsync(hstring_view absolutePath, array_view buffer) +{ + return get_activation_factory().WriteBytesAsync(absolutePath, buffer); +} + +inline Windows::Foundation::IAsyncOperation StorageFile::GetFileFromPathAsync(hstring_view path) +{ + return get_activation_factory().GetFileFromPathAsync(path); +} + +inline Windows::Foundation::IAsyncOperation StorageFile::GetFileFromApplicationUriAsync(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().GetFileFromApplicationUriAsync(uri); +} + +inline Windows::Foundation::IAsyncOperation StorageFile::CreateStreamedFileAsync(hstring_view displayNameWithExtension, const Windows::Storage::StreamedFileDataRequestedHandler & dataRequested, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) +{ + return get_activation_factory().CreateStreamedFileAsync(displayNameWithExtension, dataRequested, thumbnail); +} + +inline Windows::Foundation::IAsyncOperation StorageFile::ReplaceWithStreamedFileAsync(const Windows::Storage::IStorageFile & fileToReplace, const Windows::Storage::StreamedFileDataRequestedHandler & dataRequested, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) +{ + return get_activation_factory().ReplaceWithStreamedFileAsync(fileToReplace, dataRequested, thumbnail); +} + +inline Windows::Foundation::IAsyncOperation StorageFile::CreateStreamedFileFromUriAsync(hstring_view displayNameWithExtension, const Windows::Foundation::Uri & uri, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) +{ + return get_activation_factory().CreateStreamedFileFromUriAsync(displayNameWithExtension, uri, thumbnail); +} + +inline Windows::Foundation::IAsyncOperation StorageFile::ReplaceWithStreamedFileFromUriAsync(const Windows::Storage::IStorageFile & fileToReplace, const Windows::Foundation::Uri & uri, const Windows::Storage::Streams::IRandomAccessStreamReference & thumbnail) +{ + return get_activation_factory().ReplaceWithStreamedFileFromUriAsync(fileToReplace, uri, thumbnail); +} + +inline Windows::Foundation::IAsyncOperation StorageFolder::GetFolderFromPathAsync(hstring_view path) +{ + return get_activation_factory().GetFolderFromPathAsync(path); +} + +inline Windows::Foundation::IAsyncOperation StorageLibrary::GetLibraryAsync(Windows::Storage::KnownLibraryId libraryId) +{ + return get_activation_factory().GetLibraryAsync(libraryId); +} + +inline Windows::Foundation::IAsyncOperation StorageLibrary::GetLibraryForUserAsync(const Windows::System::User & user, Windows::Storage::KnownLibraryId libraryId) +{ + return get_activation_factory().GetLibraryForUserAsync(user, libraryId); +} + +inline hstring SystemProperties::Author() +{ + return get_activation_factory().Author(); +} + +inline hstring SystemProperties::Comment() +{ + return get_activation_factory().Comment(); +} + +inline hstring SystemProperties::ItemNameDisplay() +{ + return get_activation_factory().ItemNameDisplay(); +} + +inline hstring SystemProperties::Keywords() +{ + return get_activation_factory().Keywords(); +} + +inline hstring SystemProperties::Rating() +{ + return get_activation_factory().Rating(); +} + +inline hstring SystemProperties::Title() +{ + return get_activation_factory().Title(); +} + +inline Windows::Storage::SystemAudioProperties SystemProperties::Audio() +{ + return get_activation_factory().Audio(); +} + +inline Windows::Storage::SystemGPSProperties SystemProperties::GPS() +{ + return get_activation_factory().GPS(); +} + +inline Windows::Storage::SystemMediaProperties SystemProperties::Media() +{ + return get_activation_factory().Media(); +} + +inline Windows::Storage::SystemMusicProperties SystemProperties::Music() +{ + return get_activation_factory().Music(); +} + +inline Windows::Storage::SystemPhotoProperties SystemProperties::Photo() +{ + return get_activation_factory().Photo(); +} + +inline Windows::Storage::SystemVideoProperties SystemProperties::Video() +{ + return get_activation_factory().Video(); +} + +inline Windows::Storage::SystemImageProperties SystemProperties::Image() +{ + return get_activation_factory().Image(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IApplicationData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IApplicationData2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IApplicationData3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IApplicationDataContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IApplicationDataStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IApplicationDataStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ICachedFileManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IDownloadsFolderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IDownloadsFolderStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IFileIOStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IKnownFoldersCameraRollStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IKnownFoldersPlaylistsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IKnownFoldersSavedPicturesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IKnownFoldersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IKnownFoldersStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IKnownFoldersStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IPathIOStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISetVersionDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISetVersionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageFile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageFile2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageFilePropertiesWithAvailability & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageFileStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageFolder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageFolder2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageFolderStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageItem2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageItemProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageItemProperties2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageItemPropertiesWithProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageLibrary & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageLibrary2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageLibraryChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageLibraryChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageLibraryChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageLibraryStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageLibraryStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStorageStreamTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::IStreamedFileDataRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemAudioProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemGPSProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemImageProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemMediaProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemMusicProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemPhotoProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ISystemVideoProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ApplicationData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ApplicationDataCompositeValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ApplicationDataContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::ApplicationDataContainerSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SetVersionDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SetVersionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageFile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageFolder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageLibrary & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageLibraryChange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageLibraryChangeReader & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageLibraryChangeTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StorageStreamTransaction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::StreamedFileDataRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SystemAudioProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SystemGPSProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SystemImageProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SystemMediaProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SystemMusicProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SystemPhotoProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::Storage::SystemVideoProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Diagnostics.DevicePortal.h b/10.0.15042.0/winrt/Windows.System.Diagnostics.DevicePortal.h new file mode 100644 index 000000000..027c8c35c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Diagnostics.DevicePortal.h @@ -0,0 +1,288 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Web.Http.3.h" +#include "internal/Windows.ApplicationModel.AppService.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.Diagnostics.DevicePortal.3.h" +#include "Windows.System.Diagnostics.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Closed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RequestReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RequestReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RequestReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::System::Diagnostics::DevicePortal::DevicePortalConnectionClosedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ResponseMessage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ResponseMessage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForAppServiceConnection(impl::abi_arg_in appServiceConnection, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForAppServiceConnection(*reinterpret_cast(&appServiceConnection))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Diagnostics::DevicePortal { + +template Windows::System::Diagnostics::DevicePortal::DevicePortalConnectionClosedReason impl_IDevicePortalConnectionClosedEventArgs::Reason() const +{ + Windows::System::Diagnostics::DevicePortal::DevicePortalConnectionClosedReason value {}; + check_hresult(WINRT_SHIM(IDevicePortalConnectionClosedEventArgs)->get_Reason(&value)); + return value; +} + +template Windows::Web::Http::HttpRequestMessage impl_IDevicePortalConnectionRequestReceivedEventArgs::RequestMessage() const +{ + Windows::Web::Http::HttpRequestMessage value { nullptr }; + check_hresult(WINRT_SHIM(IDevicePortalConnectionRequestReceivedEventArgs)->get_RequestMessage(put_abi(value))); + return value; +} + +template Windows::Web::Http::HttpResponseMessage impl_IDevicePortalConnectionRequestReceivedEventArgs::ResponseMessage() const +{ + Windows::Web::Http::HttpResponseMessage value { nullptr }; + check_hresult(WINRT_SHIM(IDevicePortalConnectionRequestReceivedEventArgs)->get_ResponseMessage(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::DevicePortal::DevicePortalConnection impl_IDevicePortalConnectionStatics::GetForAppServiceConnection(const Windows::ApplicationModel::AppService::AppServiceConnection & appServiceConnection) const +{ + Windows::System::Diagnostics::DevicePortal::DevicePortalConnection value { nullptr }; + check_hresult(WINRT_SHIM(IDevicePortalConnectionStatics)->abi_GetForAppServiceConnection(get_abi(appServiceConnection), put_abi(value))); + return value; +} + +template event_token impl_IDevicePortalConnection::Closed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDevicePortalConnection)->add_Closed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDevicePortalConnection::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Diagnostics::DevicePortal::IDevicePortalConnection::remove_Closed, Closed(handler)); +} + +template void impl_IDevicePortalConnection::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IDevicePortalConnection)->remove_Closed(token)); +} + +template event_token impl_IDevicePortalConnection::RequestReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDevicePortalConnection)->add_RequestReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IDevicePortalConnection::RequestReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Diagnostics::DevicePortal::IDevicePortalConnection::remove_RequestReceived, RequestReceived(handler)); +} + +template void impl_IDevicePortalConnection::RequestReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IDevicePortalConnection)->remove_RequestReceived(token)); +} + +inline Windows::System::Diagnostics::DevicePortal::DevicePortalConnection DevicePortalConnection::GetForAppServiceConnection(const Windows::ApplicationModel::AppService::AppServiceConnection & appServiceConnection) +{ + return get_activation_factory().GetForAppServiceConnection(appServiceConnection); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::DevicePortal::IDevicePortalConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::DevicePortal::IDevicePortalConnectionClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::DevicePortal::IDevicePortalConnectionRequestReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::DevicePortal::IDevicePortalConnectionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::DevicePortal::DevicePortalConnection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::DevicePortal::DevicePortalConnectionClosedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::DevicePortal::DevicePortalConnectionRequestReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Diagnostics.Telemetry.h b/10.0.15042.0/winrt/Windows.System.Diagnostics.Telemetry.h new file mode 100644 index 000000000..f35338271 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Diagnostics.Telemetry.h @@ -0,0 +1,240 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.Diagnostics.Telemetry.3.h" +#include "Windows.System.Diagnostics.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Register(impl::abi_arg_in id, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Register(*reinterpret_cast(&id))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterWithSettings(impl::abi_arg_in id, impl::abi_arg_in settings, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Register(*reinterpret_cast(&id), *reinterpret_cast(&settings))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StorageSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StorageSize(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StorageSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UploadQuotaSize(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UploadQuotaSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UploadQuotaSize(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UploadQuotaSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Diagnostics::Telemetry { + +template uint32_t impl_IPlatformTelemetryRegistrationSettings::StorageSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlatformTelemetryRegistrationSettings)->get_StorageSize(&value)); + return value; +} + +template void impl_IPlatformTelemetryRegistrationSettings::StorageSize(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPlatformTelemetryRegistrationSettings)->put_StorageSize(value)); +} + +template uint32_t impl_IPlatformTelemetryRegistrationSettings::UploadQuotaSize() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPlatformTelemetryRegistrationSettings)->get_UploadQuotaSize(&value)); + return value; +} + +template void impl_IPlatformTelemetryRegistrationSettings::UploadQuotaSize(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IPlatformTelemetryRegistrationSettings)->put_UploadQuotaSize(value)); +} + +template Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationStatus impl_IPlatformTelemetryRegistrationResult::Status() const +{ + Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationStatus value {}; + check_hresult(WINRT_SHIM(IPlatformTelemetryRegistrationResult)->get_Status(&value)); + return value; +} + +template Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationResult impl_IPlatformTelemetryClientStatics::Register(hstring_view id) const +{ + Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationResult result { nullptr }; + check_hresult(WINRT_SHIM(IPlatformTelemetryClientStatics)->abi_Register(get_abi(id), put_abi(result))); + return result; +} + +template Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationResult impl_IPlatformTelemetryClientStatics::Register(hstring_view id, const Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationSettings & settings) const +{ + Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationResult result { nullptr }; + check_hresult(WINRT_SHIM(IPlatformTelemetryClientStatics)->abi_RegisterWithSettings(get_abi(id), get_abi(settings), put_abi(result))); + return result; +} + +inline Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationResult PlatformTelemetryClient::Register(hstring_view id) +{ + return get_activation_factory().Register(id); +} + +inline Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationResult PlatformTelemetryClient::Register(hstring_view id, const Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationSettings & settings) +{ + return get_activation_factory().Register(id, settings); +} + +inline PlatformTelemetryRegistrationSettings::PlatformTelemetryRegistrationSettings() : + PlatformTelemetryRegistrationSettings(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::Telemetry::IPlatformTelemetryClientStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::Telemetry::IPlatformTelemetryRegistrationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::Telemetry::IPlatformTelemetryRegistrationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::Telemetry::PlatformTelemetryRegistrationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Diagnostics.TraceReporting.h b/10.0.15042.0/winrt/Windows.System.Diagnostics.TraceReporting.h new file mode 100644 index 000000000..a4fb5b721 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Diagnostics.TraceReporting.h @@ -0,0 +1,461 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.Diagnostics.TraceReporting.3.h" +#include "Windows.System.Diagnostics.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsScenarioEnabled(GUID scenarioId, bool * isActive) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isActive = detach_abi(this->shim().IsScenarioEnabled(scenarioId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryEscalateScenario(GUID scenarioId, Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticEscalationType escalationType, impl::abi_arg_in outputDirectory, bool timestampOutputDirectory, bool forceEscalationUpload, impl::abi_arg_in> triggers, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryEscalateScenario(scenarioId, escalationType, *reinterpret_cast(&outputDirectory), timestampOutputDirectory, forceEscalationUpload, *reinterpret_cast *>(&triggers))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DownloadLatestSettingsForNamespace(impl::abi_arg_in partner, impl::abi_arg_in feature, bool isScenarioNamespace, bool downloadOverCostedNetwork, bool downloadOverBattery, Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().DownloadLatestSettingsForNamespace(*reinterpret_cast(&partner), *reinterpret_cast(&feature), isScenarioNamespace, downloadOverCostedNetwork, downloadOverBattery)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetActiveScenarioList(impl::abi_arg_out> scenarioIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *scenarioIds = detach_abi(this->shim().GetActiveScenarioList()); + return S_OK; + } + catch (...) + { + *scenarioIds = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ForceUpload(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticEventBufferLatencies latency, bool uploadOverCostedNetwork, bool uploadOverBattery, Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().ForceUpload(latency, uploadOverCostedNetwork, uploadOverBattery)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsTraceRunning(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType, GUID scenarioId, uint64_t traceProfileHash, Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotState * slotState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *slotState = detach_abi(this->shim().IsTraceRunning(slotType, scenarioId, traceProfileHash)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetActiveTraceRuntime(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType, impl::abi_arg_out traceRuntimeInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *traceRuntimeInfo = detach_abi(this->shim().GetActiveTraceRuntime(slotType)); + return S_OK; + } + catch (...) + { + *traceRuntimeInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetKnownTraceList(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType, impl::abi_arg_out> traceInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *traceInfo = detach_abi(this->shim().GetKnownTraceList(slotType)); + return S_OK; + } + catch (...) + { + *traceInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ScenarioId(GUID * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScenarioId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProfileHash(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProfileHash()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsExclusive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsExclusive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAutoLogger(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAutoLogger()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxTraceDurationFileTime(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxTraceDurationFileTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Priority(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTracePriority * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Priority()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RuntimeFileTime(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RuntimeFileTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EtwRuntimeFileTime(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EtwRuntimeFileTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Diagnostics::TraceReporting { + +template GUID impl_IPlatformDiagnosticTraceInfo::ScenarioId() const +{ + GUID value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceInfo)->get_ScenarioId(&value)); + return value; +} + +template uint64_t impl_IPlatformDiagnosticTraceInfo::ProfileHash() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceInfo)->get_ProfileHash(&value)); + return value; +} + +template bool impl_IPlatformDiagnosticTraceInfo::IsExclusive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceInfo)->get_IsExclusive(&value)); + return value; +} + +template bool impl_IPlatformDiagnosticTraceInfo::IsAutoLogger() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceInfo)->get_IsAutoLogger(&value)); + return value; +} + +template int64_t impl_IPlatformDiagnosticTraceInfo::MaxTraceDurationFileTime() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceInfo)->get_MaxTraceDurationFileTime(&value)); + return value; +} + +template Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTracePriority impl_IPlatformDiagnosticTraceInfo::Priority() const +{ + Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTracePriority value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceInfo)->get_Priority(&value)); + return value; +} + +template int64_t impl_IPlatformDiagnosticTraceRuntimeInfo::RuntimeFileTime() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceRuntimeInfo)->get_RuntimeFileTime(&value)); + return value; +} + +template int64_t impl_IPlatformDiagnosticTraceRuntimeInfo::EtwRuntimeFileTime() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticTraceRuntimeInfo)->get_EtwRuntimeFileTime(&value)); + return value; +} + +template bool impl_IPlatformDiagnosticActionsStatics::IsScenarioEnabled(GUID scenarioId) const +{ + bool isActive {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_IsScenarioEnabled(scenarioId, &isActive)); + return isActive; +} + +template bool impl_IPlatformDiagnosticActionsStatics::TryEscalateScenario(GUID scenarioId, Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticEscalationType escalationType, hstring_view outputDirectory, bool timestampOutputDirectory, bool forceEscalationUpload, map_view triggers) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_TryEscalateScenario(scenarioId, escalationType, get_abi(outputDirectory), timestampOutputDirectory, forceEscalationUpload, get_abi(triggers), &result)); + return result; +} + +template Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState impl_IPlatformDiagnosticActionsStatics::DownloadLatestSettingsForNamespace(hstring_view partner, hstring_view feature, bool isScenarioNamespace, bool downloadOverCostedNetwork, bool downloadOverBattery) const +{ + Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState result {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_DownloadLatestSettingsForNamespace(get_abi(partner), get_abi(feature), isScenarioNamespace, downloadOverCostedNetwork, downloadOverBattery, &result)); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IPlatformDiagnosticActionsStatics::GetActiveScenarioList() const +{ + Windows::Foundation::Collections::IVectorView scenarioIds; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_GetActiveScenarioList(put_abi(scenarioIds))); + return scenarioIds; +} + +template Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState impl_IPlatformDiagnosticActionsStatics::ForceUpload(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticEventBufferLatencies latency, bool uploadOverCostedNetwork, bool uploadOverBattery) const +{ + Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState result {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_ForceUpload(latency, uploadOverCostedNetwork, uploadOverBattery, &result)); + return result; +} + +template Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotState impl_IPlatformDiagnosticActionsStatics::IsTraceRunning(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType, GUID scenarioId, uint64_t traceProfileHash) const +{ + Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotState slotState {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_IsTraceRunning(slotType, scenarioId, traceProfileHash, &slotState)); + return slotState; +} + +template Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceRuntimeInfo impl_IPlatformDiagnosticActionsStatics::GetActiveTraceRuntime(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType) const +{ + Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceRuntimeInfo traceRuntimeInfo { nullptr }; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_GetActiveTraceRuntime(slotType, put_abi(traceRuntimeInfo))); + return traceRuntimeInfo; +} + +template Windows::Foundation::Collections::IVectorView impl_IPlatformDiagnosticActionsStatics::GetKnownTraceList(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType) const +{ + Windows::Foundation::Collections::IVectorView traceInfo; + check_hresult(WINRT_SHIM(IPlatformDiagnosticActionsStatics)->abi_GetKnownTraceList(slotType, put_abi(traceInfo))); + return traceInfo; +} + +inline bool PlatformDiagnosticActions::IsScenarioEnabled(GUID scenarioId) +{ + return get_activation_factory().IsScenarioEnabled(scenarioId); +} + +inline bool PlatformDiagnosticActions::TryEscalateScenario(GUID scenarioId, Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticEscalationType escalationType, hstring_view outputDirectory, bool timestampOutputDirectory, bool forceEscalationUpload, map_view triggers) +{ + return get_activation_factory().TryEscalateScenario(scenarioId, escalationType, outputDirectory, timestampOutputDirectory, forceEscalationUpload, triggers); +} + +inline Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState PlatformDiagnosticActions::DownloadLatestSettingsForNamespace(hstring_view partner, hstring_view feature, bool isScenarioNamespace, bool downloadOverCostedNetwork, bool downloadOverBattery) +{ + return get_activation_factory().DownloadLatestSettingsForNamespace(partner, feature, isScenarioNamespace, downloadOverCostedNetwork, downloadOverBattery); +} + +inline Windows::Foundation::Collections::IVectorView PlatformDiagnosticActions::GetActiveScenarioList() +{ + return get_activation_factory().GetActiveScenarioList(); +} + +inline Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticActionState PlatformDiagnosticActions::ForceUpload(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticEventBufferLatencies latency, bool uploadOverCostedNetwork, bool uploadOverBattery) +{ + return get_activation_factory().ForceUpload(latency, uploadOverCostedNetwork, uploadOverBattery); +} + +inline Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotState PlatformDiagnosticActions::IsTraceRunning(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType, GUID scenarioId, uint64_t traceProfileHash) +{ + return get_activation_factory().IsTraceRunning(slotType, scenarioId, traceProfileHash); +} + +inline Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceRuntimeInfo PlatformDiagnosticActions::GetActiveTraceRuntime(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType) +{ + return get_activation_factory().GetActiveTraceRuntime(slotType); +} + +inline Windows::Foundation::Collections::IVectorView PlatformDiagnosticActions::GetKnownTraceList(Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceSlotType slotType) +{ + return get_activation_factory().GetKnownTraceList(slotType); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::TraceReporting::IPlatformDiagnosticActionsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::TraceReporting::IPlatformDiagnosticTraceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::TraceReporting::IPlatformDiagnosticTraceRuntimeInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::TraceReporting::PlatformDiagnosticTraceRuntimeInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Diagnostics.h b/10.0.15042.0/winrt/Windows.System.Diagnostics.h new file mode 100644 index 000000000..8caafdb0c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Diagnostics.h @@ -0,0 +1,1249 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.Diagnostics.3.h" +#include "Windows.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetReport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetReport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KernelTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KernelTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProcessId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProcessId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExecutableFileName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExecutableFileName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Parent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Parent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProcessStartTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProcessStartTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DiskUsage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DiskUsage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MemoryUsage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MemoryUsage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CpuUsage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CpuUsage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForProcesses(impl::abi_arg_out> processes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *processes = detach_abi(this->shim().GetForProcesses()); + return S_OK; + } + catch (...) + { + *processes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForCurrentProcess(impl::abi_arg_out processes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *processes = detach_abi(this->shim().GetForCurrentProcess()); + return S_OK; + } + catch (...) + { + *processes = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetReport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetReport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReadOperationCount(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReadOperationCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WriteOperationCount(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WriteOperationCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherOperationCount(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherOperationCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytesReadCount(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesReadCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BytesWrittenCount(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BytesWrittenCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OtherBytesCount(int64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OtherBytesCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetReport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetReport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NonPagedPoolSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonPagedPoolSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageFaultCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageFaultCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageFileSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageFileSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PagedPoolSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PagedPoolSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeakNonPagedPoolSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeakNonPagedPoolSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeakPageFileSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeakPageFileSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeakPagedPoolSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeakPagedPoolSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeakVirtualMemorySizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeakVirtualMemorySizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeakWorkingSetSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeakWorkingSetSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrivatePageCount(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrivatePageCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VirtualMemorySizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VirtualMemorySizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WorkingSetSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorkingSetSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetReport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetReport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KernelTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KernelTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IdleTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IdleTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MemoryUsage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MemoryUsage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CpuUsage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CpuUsage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetReport(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetReport()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TotalPhysicalSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalPhysicalSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AvailableSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AvailableSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommittedSizeInBytes(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommittedSizeInBytes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Diagnostics { + +template uint32_t impl_IProcessDiagnosticInfo::ProcessId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfo)->get_ProcessId(&value)); + return value; +} + +template hstring impl_IProcessDiagnosticInfo::ExecutableFileName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfo)->get_ExecutableFileName(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::ProcessDiagnosticInfo impl_IProcessDiagnosticInfo::Parent() const +{ + Windows::System::Diagnostics::ProcessDiagnosticInfo value { nullptr }; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfo)->get_Parent(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IProcessDiagnosticInfo::ProcessStartTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfo)->get_ProcessStartTime(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::ProcessDiskUsage impl_IProcessDiagnosticInfo::DiskUsage() const +{ + Windows::System::Diagnostics::ProcessDiskUsage value { nullptr }; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfo)->get_DiskUsage(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::ProcessMemoryUsage impl_IProcessDiagnosticInfo::MemoryUsage() const +{ + Windows::System::Diagnostics::ProcessMemoryUsage value { nullptr }; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfo)->get_MemoryUsage(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::ProcessCpuUsage impl_IProcessDiagnosticInfo::CpuUsage() const +{ + Windows::System::Diagnostics::ProcessCpuUsage value { nullptr }; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfo)->get_CpuUsage(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IProcessDiagnosticInfoStatics::GetForProcesses() const +{ + Windows::Foundation::Collections::IVectorView processes; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfoStatics)->abi_GetForProcesses(put_abi(processes))); + return processes; +} + +template Windows::System::Diagnostics::ProcessDiagnosticInfo impl_IProcessDiagnosticInfoStatics::GetForCurrentProcess() const +{ + Windows::System::Diagnostics::ProcessDiagnosticInfo processes { nullptr }; + check_hresult(WINRT_SHIM(IProcessDiagnosticInfoStatics)->abi_GetForCurrentProcess(put_abi(processes))); + return processes; +} + +template Windows::System::Diagnostics::ProcessMemoryUsageReport impl_IProcessMemoryUsage::GetReport() const +{ + Windows::System::Diagnostics::ProcessMemoryUsageReport value { nullptr }; + check_hresult(WINRT_SHIM(IProcessMemoryUsage)->abi_GetReport(put_abi(value))); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::NonPagedPoolSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_NonPagedPoolSizeInBytes(&value)); + return value; +} + +template uint32_t impl_IProcessMemoryUsageReport::PageFaultCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PageFaultCount(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PageFileSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PageFileSizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PagedPoolSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PagedPoolSizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PeakNonPagedPoolSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PeakNonPagedPoolSizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PeakPageFileSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PeakPageFileSizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PeakPagedPoolSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PeakPagedPoolSizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PeakVirtualMemorySizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PeakVirtualMemorySizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PeakWorkingSetSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PeakWorkingSetSizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::PrivatePageCount() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_PrivatePageCount(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::VirtualMemorySizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_VirtualMemorySizeInBytes(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryUsageReport::WorkingSetSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryUsageReport)->get_WorkingSetSizeInBytes(&value)); + return value; +} + +template Windows::System::Diagnostics::ProcessDiskUsageReport impl_IProcessDiskUsage::GetReport() const +{ + Windows::System::Diagnostics::ProcessDiskUsageReport value { nullptr }; + check_hresult(WINRT_SHIM(IProcessDiskUsage)->abi_GetReport(put_abi(value))); + return value; +} + +template int64_t impl_IProcessDiskUsageReport::ReadOperationCount() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IProcessDiskUsageReport)->get_ReadOperationCount(&value)); + return value; +} + +template int64_t impl_IProcessDiskUsageReport::WriteOperationCount() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IProcessDiskUsageReport)->get_WriteOperationCount(&value)); + return value; +} + +template int64_t impl_IProcessDiskUsageReport::OtherOperationCount() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IProcessDiskUsageReport)->get_OtherOperationCount(&value)); + return value; +} + +template int64_t impl_IProcessDiskUsageReport::BytesReadCount() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IProcessDiskUsageReport)->get_BytesReadCount(&value)); + return value; +} + +template int64_t impl_IProcessDiskUsageReport::BytesWrittenCount() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IProcessDiskUsageReport)->get_BytesWrittenCount(&value)); + return value; +} + +template int64_t impl_IProcessDiskUsageReport::OtherBytesCount() const +{ + int64_t value {}; + check_hresult(WINRT_SHIM(IProcessDiskUsageReport)->get_OtherBytesCount(&value)); + return value; +} + +template Windows::System::Diagnostics::ProcessCpuUsageReport impl_IProcessCpuUsage::GetReport() const +{ + Windows::System::Diagnostics::ProcessCpuUsageReport value { nullptr }; + check_hresult(WINRT_SHIM(IProcessCpuUsage)->abi_GetReport(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IProcessCpuUsageReport::KernelTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IProcessCpuUsageReport)->get_KernelTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IProcessCpuUsageReport::UserTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IProcessCpuUsageReport)->get_UserTime(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::SystemMemoryUsage impl_ISystemDiagnosticInfo::MemoryUsage() const +{ + Windows::System::Diagnostics::SystemMemoryUsage value { nullptr }; + check_hresult(WINRT_SHIM(ISystemDiagnosticInfo)->get_MemoryUsage(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::SystemCpuUsage impl_ISystemDiagnosticInfo::CpuUsage() const +{ + Windows::System::Diagnostics::SystemCpuUsage value { nullptr }; + check_hresult(WINRT_SHIM(ISystemDiagnosticInfo)->get_CpuUsage(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::SystemDiagnosticInfo impl_ISystemDiagnosticInfoStatics::GetForCurrentSystem() const +{ + Windows::System::Diagnostics::SystemDiagnosticInfo value { nullptr }; + check_hresult(WINRT_SHIM(ISystemDiagnosticInfoStatics)->abi_GetForCurrentSystem(put_abi(value))); + return value; +} + +template Windows::System::Diagnostics::SystemMemoryUsageReport impl_ISystemMemoryUsage::GetReport() const +{ + Windows::System::Diagnostics::SystemMemoryUsageReport value { nullptr }; + check_hresult(WINRT_SHIM(ISystemMemoryUsage)->abi_GetReport(put_abi(value))); + return value; +} + +template uint64_t impl_ISystemMemoryUsageReport::TotalPhysicalSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(ISystemMemoryUsageReport)->get_TotalPhysicalSizeInBytes(&value)); + return value; +} + +template uint64_t impl_ISystemMemoryUsageReport::AvailableSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(ISystemMemoryUsageReport)->get_AvailableSizeInBytes(&value)); + return value; +} + +template uint64_t impl_ISystemMemoryUsageReport::CommittedSizeInBytes() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(ISystemMemoryUsageReport)->get_CommittedSizeInBytes(&value)); + return value; +} + +template Windows::System::Diagnostics::SystemCpuUsageReport impl_ISystemCpuUsage::GetReport() const +{ + Windows::System::Diagnostics::SystemCpuUsageReport value { nullptr }; + check_hresult(WINRT_SHIM(ISystemCpuUsage)->abi_GetReport(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISystemCpuUsageReport::KernelTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemCpuUsageReport)->get_KernelTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISystemCpuUsageReport::UserTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemCpuUsageReport)->get_UserTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ISystemCpuUsageReport::IdleTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ISystemCpuUsageReport)->get_IdleTime(put_abi(value))); + return value; +} + +inline Windows::Foundation::Collections::IVectorView ProcessDiagnosticInfo::GetForProcesses() +{ + return get_activation_factory().GetForProcesses(); +} + +inline Windows::System::Diagnostics::ProcessDiagnosticInfo ProcessDiagnosticInfo::GetForCurrentProcess() +{ + return get_activation_factory().GetForCurrentProcess(); +} + +inline Windows::System::Diagnostics::SystemDiagnosticInfo SystemDiagnosticInfo::GetForCurrentSystem() +{ + return get_activation_factory().GetForCurrentSystem(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessCpuUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessCpuUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessDiagnosticInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessDiagnosticInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessDiskUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessDiskUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessMemoryUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::IProcessMemoryUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ISystemCpuUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ISystemCpuUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ISystemDiagnosticInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ISystemDiagnosticInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ISystemMemoryUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ISystemMemoryUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ProcessCpuUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ProcessCpuUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ProcessDiagnosticInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ProcessDiskUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ProcessDiskUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ProcessMemoryUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::ProcessMemoryUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::SystemCpuUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::SystemCpuUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::SystemDiagnosticInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::SystemMemoryUsage & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Diagnostics::SystemMemoryUsageReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Display.h b/10.0.15042.0/winrt/Windows.System.Display.h new file mode 100644 index 000000000..9518f98e1 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Display.h @@ -0,0 +1,88 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.Display.3.h" +#include "Windows.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestActive() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestActive(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestRelease() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestRelease(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Display { + +template void impl_IDisplayRequest::RequestActive() const +{ + check_hresult(WINRT_SHIM(IDisplayRequest)->abi_RequestActive()); +} + +template void impl_IDisplayRequest::RequestRelease() const +{ + check_hresult(WINRT_SHIM(IDisplayRequest)->abi_RequestRelease()); +} + +inline DisplayRequest::DisplayRequest() : + DisplayRequest(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Display::IDisplayRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Display::DisplayRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Power.Diagnostics.h b/10.0.15042.0/winrt/Windows.System.Power.Diagnostics.h new file mode 100644 index 000000000..823bac3ca --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Power.Diagnostics.h @@ -0,0 +1,202 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.Power.Diagnostics.3.h" +#include "Windows.System.Power.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceSpecificConversionFactor(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceSpecificConversionFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ComputeTotalEnergyUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputeTotalEnergyUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetTotalEnergyUsage() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResetTotalEnergyUsage(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceSpecificConversionFactor(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceSpecificConversionFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ComputeTotalEnergyUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputeTotalEnergyUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetTotalEnergyUsage() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResetTotalEnergyUsage(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Power::Diagnostics { + +template double impl_IBackgroundEnergyDiagnosticsStatics::DeviceSpecificConversionFactor() const +{ + double value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyDiagnosticsStatics)->get_DeviceSpecificConversionFactor(&value)); + return value; +} + +template uint64_t impl_IBackgroundEnergyDiagnosticsStatics::ComputeTotalEnergyUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyDiagnosticsStatics)->abi_ComputeTotalEnergyUsage(&value)); + return value; +} + +template void impl_IBackgroundEnergyDiagnosticsStatics::ResetTotalEnergyUsage() const +{ + check_hresult(WINRT_SHIM(IBackgroundEnergyDiagnosticsStatics)->abi_ResetTotalEnergyUsage()); +} + +template double impl_IForegroundEnergyDiagnosticsStatics::DeviceSpecificConversionFactor() const +{ + double value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyDiagnosticsStatics)->get_DeviceSpecificConversionFactor(&value)); + return value; +} + +template uint64_t impl_IForegroundEnergyDiagnosticsStatics::ComputeTotalEnergyUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyDiagnosticsStatics)->abi_ComputeTotalEnergyUsage(&value)); + return value; +} + +template void impl_IForegroundEnergyDiagnosticsStatics::ResetTotalEnergyUsage() const +{ + check_hresult(WINRT_SHIM(IForegroundEnergyDiagnosticsStatics)->abi_ResetTotalEnergyUsage()); +} + +inline double BackgroundEnergyDiagnostics::DeviceSpecificConversionFactor() +{ + return get_activation_factory().DeviceSpecificConversionFactor(); +} + +inline uint64_t BackgroundEnergyDiagnostics::ComputeTotalEnergyUsage() +{ + return get_activation_factory().ComputeTotalEnergyUsage(); +} + +inline void BackgroundEnergyDiagnostics::ResetTotalEnergyUsage() +{ + get_activation_factory().ResetTotalEnergyUsage(); +} + +inline double ForegroundEnergyDiagnostics::DeviceSpecificConversionFactor() +{ + return get_activation_factory().DeviceSpecificConversionFactor(); +} + +inline uint64_t ForegroundEnergyDiagnostics::ComputeTotalEnergyUsage() +{ + return get_activation_factory().ComputeTotalEnergyUsage(); +} + +inline void ForegroundEnergyDiagnostics::ResetTotalEnergyUsage() +{ + get_activation_factory().ResetTotalEnergyUsage(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Power::Diagnostics::IBackgroundEnergyDiagnosticsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Power::Diagnostics::IForegroundEnergyDiagnosticsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Power.h b/10.0.15042.0/winrt/Windows.System.Power.h new file mode 100644 index 000000000..6da436dc9 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Power.h @@ -0,0 +1,1107 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.Power.3.h" +#include "Windows.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LowUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LowUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NearMaxAcceptableUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NearMaxAcceptableUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxAcceptableUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAcceptableUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExcessiveUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExcessiveUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NearTerminationUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NearTerminationUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TerminationUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TerminationUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecentEnergyUsage(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecentEnergyUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecentEnergyUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecentEnergyUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecentEnergyUsageIncreased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RecentEnergyUsageIncreased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecentEnergyUsageIncreased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecentEnergyUsageIncreased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecentEnergyUsageReturnedToLow(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RecentEnergyUsageReturnedToLow(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecentEnergyUsageReturnedToLow(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecentEnergyUsageReturnedToLow(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LowUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LowUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NearMaxAcceptableUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NearMaxAcceptableUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxAcceptableUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxAcceptableUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExcessiveUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExcessiveUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecentEnergyUsage(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecentEnergyUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RecentEnergyUsageLevel(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecentEnergyUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecentEnergyUsageIncreased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RecentEnergyUsageIncreased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecentEnergyUsageIncreased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecentEnergyUsageIncreased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecentEnergyUsageReturnedToLow(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RecentEnergyUsageReturnedToLow(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecentEnergyUsageReturnedToLow(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecentEnergyUsageReturnedToLow(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnergySaverStatus(Windows::System::Power::EnergySaverStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnergySaverStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnergySaverStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnergySaverStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnergySaverStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnergySaverStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BatteryStatus(Windows::System::Power::BatteryStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BatteryStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BatteryStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BatteryStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BatteryStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BatteryStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PowerSupplyStatus(Windows::System::Power::PowerSupplyStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PowerSupplyStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PowerSupplyStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PowerSupplyStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PowerSupplyStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PowerSupplyStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemainingChargePercent(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemainingChargePercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemainingChargePercentChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemainingChargePercentChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemainingChargePercentChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemainingChargePercentChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemainingDischargeTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemainingDischargeTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemainingDischargeTimeChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemainingDischargeTimeChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemainingDischargeTimeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemainingDischargeTimeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Power { + +template Windows::System::Power::EnergySaverStatus impl_IPowerManagerStatics::EnergySaverStatus() const +{ + Windows::System::Power::EnergySaverStatus value {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->get_EnergySaverStatus(&value)); + return value; +} + +template event_token impl_IPowerManagerStatics::EnergySaverStatusChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->add_EnergySaverStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPowerManagerStatics::EnergySaverStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IPowerManagerStatics::remove_EnergySaverStatusChanged, EnergySaverStatusChanged(handler)); +} + +template void impl_IPowerManagerStatics::EnergySaverStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPowerManagerStatics)->remove_EnergySaverStatusChanged(token)); +} + +template Windows::System::Power::BatteryStatus impl_IPowerManagerStatics::BatteryStatus() const +{ + Windows::System::Power::BatteryStatus value {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->get_BatteryStatus(&value)); + return value; +} + +template event_token impl_IPowerManagerStatics::BatteryStatusChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->add_BatteryStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPowerManagerStatics::BatteryStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IPowerManagerStatics::remove_BatteryStatusChanged, BatteryStatusChanged(handler)); +} + +template void impl_IPowerManagerStatics::BatteryStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPowerManagerStatics)->remove_BatteryStatusChanged(token)); +} + +template Windows::System::Power::PowerSupplyStatus impl_IPowerManagerStatics::PowerSupplyStatus() const +{ + Windows::System::Power::PowerSupplyStatus value {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->get_PowerSupplyStatus(&value)); + return value; +} + +template event_token impl_IPowerManagerStatics::PowerSupplyStatusChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->add_PowerSupplyStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPowerManagerStatics::PowerSupplyStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IPowerManagerStatics::remove_PowerSupplyStatusChanged, PowerSupplyStatusChanged(handler)); +} + +template void impl_IPowerManagerStatics::PowerSupplyStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPowerManagerStatics)->remove_PowerSupplyStatusChanged(token)); +} + +template int32_t impl_IPowerManagerStatics::RemainingChargePercent() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->get_RemainingChargePercent(&value)); + return value; +} + +template event_token impl_IPowerManagerStatics::RemainingChargePercentChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->add_RemainingChargePercentChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPowerManagerStatics::RemainingChargePercentChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IPowerManagerStatics::remove_RemainingChargePercentChanged, RemainingChargePercentChanged(handler)); +} + +template void impl_IPowerManagerStatics::RemainingChargePercentChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPowerManagerStatics)->remove_RemainingChargePercentChanged(token)); +} + +template Windows::Foundation::TimeSpan impl_IPowerManagerStatics::RemainingDischargeTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->get_RemainingDischargeTime(put_abi(value))); + return value; +} + +template event_token impl_IPowerManagerStatics::RemainingDischargeTimeChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPowerManagerStatics)->add_RemainingDischargeTimeChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPowerManagerStatics::RemainingDischargeTimeChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IPowerManagerStatics::remove_RemainingDischargeTimeChanged, RemainingDischargeTimeChanged(handler)); +} + +template void impl_IPowerManagerStatics::RemainingDischargeTimeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPowerManagerStatics)->remove_RemainingDischargeTimeChanged(token)); +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::LowUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_LowUsageLevel(&value)); + return value; +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::NearMaxAcceptableUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_NearMaxAcceptableUsageLevel(&value)); + return value; +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::MaxAcceptableUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_MaxAcceptableUsageLevel(&value)); + return value; +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::ExcessiveUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_ExcessiveUsageLevel(&value)); + return value; +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::NearTerminationUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_NearTerminationUsageLevel(&value)); + return value; +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::TerminationUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_TerminationUsageLevel(&value)); + return value; +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::RecentEnergyUsage() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_RecentEnergyUsage(&value)); + return value; +} + +template uint32_t impl_IBackgroundEnergyManagerStatics::RecentEnergyUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->get_RecentEnergyUsageLevel(&value)); + return value; +} + +template event_token impl_IBackgroundEnergyManagerStatics::RecentEnergyUsageIncreased(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->add_RecentEnergyUsageIncreased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBackgroundEnergyManagerStatics::RecentEnergyUsageIncreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IBackgroundEnergyManagerStatics::remove_RecentEnergyUsageIncreased, RecentEnergyUsageIncreased(handler)); +} + +template void impl_IBackgroundEnergyManagerStatics::RecentEnergyUsageIncreased(event_token token) const +{ + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->remove_RecentEnergyUsageIncreased(token)); +} + +template event_token impl_IBackgroundEnergyManagerStatics::RecentEnergyUsageReturnedToLow(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->add_RecentEnergyUsageReturnedToLow(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IBackgroundEnergyManagerStatics::RecentEnergyUsageReturnedToLow(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IBackgroundEnergyManagerStatics::remove_RecentEnergyUsageReturnedToLow, RecentEnergyUsageReturnedToLow(handler)); +} + +template void impl_IBackgroundEnergyManagerStatics::RecentEnergyUsageReturnedToLow(event_token token) const +{ + check_hresult(WINRT_SHIM(IBackgroundEnergyManagerStatics)->remove_RecentEnergyUsageReturnedToLow(token)); +} + +template uint32_t impl_IForegroundEnergyManagerStatics::LowUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->get_LowUsageLevel(&value)); + return value; +} + +template uint32_t impl_IForegroundEnergyManagerStatics::NearMaxAcceptableUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->get_NearMaxAcceptableUsageLevel(&value)); + return value; +} + +template uint32_t impl_IForegroundEnergyManagerStatics::MaxAcceptableUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->get_MaxAcceptableUsageLevel(&value)); + return value; +} + +template uint32_t impl_IForegroundEnergyManagerStatics::ExcessiveUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->get_ExcessiveUsageLevel(&value)); + return value; +} + +template uint32_t impl_IForegroundEnergyManagerStatics::RecentEnergyUsage() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->get_RecentEnergyUsage(&value)); + return value; +} + +template uint32_t impl_IForegroundEnergyManagerStatics::RecentEnergyUsageLevel() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->get_RecentEnergyUsageLevel(&value)); + return value; +} + +template event_token impl_IForegroundEnergyManagerStatics::RecentEnergyUsageIncreased(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->add_RecentEnergyUsageIncreased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IForegroundEnergyManagerStatics::RecentEnergyUsageIncreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IForegroundEnergyManagerStatics::remove_RecentEnergyUsageIncreased, RecentEnergyUsageIncreased(handler)); +} + +template void impl_IForegroundEnergyManagerStatics::RecentEnergyUsageIncreased(event_token token) const +{ + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->remove_RecentEnergyUsageIncreased(token)); +} + +template event_token impl_IForegroundEnergyManagerStatics::RecentEnergyUsageReturnedToLow(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->add_RecentEnergyUsageReturnedToLow(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IForegroundEnergyManagerStatics::RecentEnergyUsageReturnedToLow(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Power::IForegroundEnergyManagerStatics::remove_RecentEnergyUsageReturnedToLow, RecentEnergyUsageReturnedToLow(handler)); +} + +template void impl_IForegroundEnergyManagerStatics::RecentEnergyUsageReturnedToLow(event_token token) const +{ + check_hresult(WINRT_SHIM(IForegroundEnergyManagerStatics)->remove_RecentEnergyUsageReturnedToLow(token)); +} + +inline uint32_t BackgroundEnergyManager::LowUsageLevel() +{ + return get_activation_factory().LowUsageLevel(); +} + +inline uint32_t BackgroundEnergyManager::NearMaxAcceptableUsageLevel() +{ + return get_activation_factory().NearMaxAcceptableUsageLevel(); +} + +inline uint32_t BackgroundEnergyManager::MaxAcceptableUsageLevel() +{ + return get_activation_factory().MaxAcceptableUsageLevel(); +} + +inline uint32_t BackgroundEnergyManager::ExcessiveUsageLevel() +{ + return get_activation_factory().ExcessiveUsageLevel(); +} + +inline uint32_t BackgroundEnergyManager::NearTerminationUsageLevel() +{ + return get_activation_factory().NearTerminationUsageLevel(); +} + +inline uint32_t BackgroundEnergyManager::TerminationUsageLevel() +{ + return get_activation_factory().TerminationUsageLevel(); +} + +inline uint32_t BackgroundEnergyManager::RecentEnergyUsage() +{ + return get_activation_factory().RecentEnergyUsage(); +} + +inline uint32_t BackgroundEnergyManager::RecentEnergyUsageLevel() +{ + return get_activation_factory().RecentEnergyUsageLevel(); +} + +inline event_token BackgroundEnergyManager::RecentEnergyUsageIncreased(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RecentEnergyUsageIncreased(handler); +} + +inline factory_event_revoker BackgroundEnergyManager::RecentEnergyUsageIncreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IBackgroundEnergyManagerStatics::remove_RecentEnergyUsageIncreased, factory.RecentEnergyUsageIncreased(handler) }; +} + +inline void BackgroundEnergyManager::RecentEnergyUsageIncreased(event_token token) +{ + get_activation_factory().RecentEnergyUsageIncreased(token); +} + +inline event_token BackgroundEnergyManager::RecentEnergyUsageReturnedToLow(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RecentEnergyUsageReturnedToLow(handler); +} + +inline factory_event_revoker BackgroundEnergyManager::RecentEnergyUsageReturnedToLow(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IBackgroundEnergyManagerStatics::remove_RecentEnergyUsageReturnedToLow, factory.RecentEnergyUsageReturnedToLow(handler) }; +} + +inline void BackgroundEnergyManager::RecentEnergyUsageReturnedToLow(event_token token) +{ + get_activation_factory().RecentEnergyUsageReturnedToLow(token); +} + +inline uint32_t ForegroundEnergyManager::LowUsageLevel() +{ + return get_activation_factory().LowUsageLevel(); +} + +inline uint32_t ForegroundEnergyManager::NearMaxAcceptableUsageLevel() +{ + return get_activation_factory().NearMaxAcceptableUsageLevel(); +} + +inline uint32_t ForegroundEnergyManager::MaxAcceptableUsageLevel() +{ + return get_activation_factory().MaxAcceptableUsageLevel(); +} + +inline uint32_t ForegroundEnergyManager::ExcessiveUsageLevel() +{ + return get_activation_factory().ExcessiveUsageLevel(); +} + +inline uint32_t ForegroundEnergyManager::RecentEnergyUsage() +{ + return get_activation_factory().RecentEnergyUsage(); +} + +inline uint32_t ForegroundEnergyManager::RecentEnergyUsageLevel() +{ + return get_activation_factory().RecentEnergyUsageLevel(); +} + +inline event_token ForegroundEnergyManager::RecentEnergyUsageIncreased(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RecentEnergyUsageIncreased(handler); +} + +inline factory_event_revoker ForegroundEnergyManager::RecentEnergyUsageIncreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IForegroundEnergyManagerStatics::remove_RecentEnergyUsageIncreased, factory.RecentEnergyUsageIncreased(handler) }; +} + +inline void ForegroundEnergyManager::RecentEnergyUsageIncreased(event_token token) +{ + get_activation_factory().RecentEnergyUsageIncreased(token); +} + +inline event_token ForegroundEnergyManager::RecentEnergyUsageReturnedToLow(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RecentEnergyUsageReturnedToLow(handler); +} + +inline factory_event_revoker ForegroundEnergyManager::RecentEnergyUsageReturnedToLow(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IForegroundEnergyManagerStatics::remove_RecentEnergyUsageReturnedToLow, factory.RecentEnergyUsageReturnedToLow(handler) }; +} + +inline void ForegroundEnergyManager::RecentEnergyUsageReturnedToLow(event_token token) +{ + get_activation_factory().RecentEnergyUsageReturnedToLow(token); +} + +inline Windows::System::Power::EnergySaverStatus PowerManager::EnergySaverStatus() +{ + return get_activation_factory().EnergySaverStatus(); +} + +inline event_token PowerManager::EnergySaverStatusChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().EnergySaverStatusChanged(handler); +} + +inline factory_event_revoker PowerManager::EnergySaverStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IPowerManagerStatics::remove_EnergySaverStatusChanged, factory.EnergySaverStatusChanged(handler) }; +} + +inline void PowerManager::EnergySaverStatusChanged(event_token token) +{ + get_activation_factory().EnergySaverStatusChanged(token); +} + +inline Windows::System::Power::BatteryStatus PowerManager::BatteryStatus() +{ + return get_activation_factory().BatteryStatus(); +} + +inline event_token PowerManager::BatteryStatusChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().BatteryStatusChanged(handler); +} + +inline factory_event_revoker PowerManager::BatteryStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IPowerManagerStatics::remove_BatteryStatusChanged, factory.BatteryStatusChanged(handler) }; +} + +inline void PowerManager::BatteryStatusChanged(event_token token) +{ + get_activation_factory().BatteryStatusChanged(token); +} + +inline Windows::System::Power::PowerSupplyStatus PowerManager::PowerSupplyStatus() +{ + return get_activation_factory().PowerSupplyStatus(); +} + +inline event_token PowerManager::PowerSupplyStatusChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().PowerSupplyStatusChanged(handler); +} + +inline factory_event_revoker PowerManager::PowerSupplyStatusChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IPowerManagerStatics::remove_PowerSupplyStatusChanged, factory.PowerSupplyStatusChanged(handler) }; +} + +inline void PowerManager::PowerSupplyStatusChanged(event_token token) +{ + get_activation_factory().PowerSupplyStatusChanged(token); +} + +inline int32_t PowerManager::RemainingChargePercent() +{ + return get_activation_factory().RemainingChargePercent(); +} + +inline event_token PowerManager::RemainingChargePercentChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RemainingChargePercentChanged(handler); +} + +inline factory_event_revoker PowerManager::RemainingChargePercentChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IPowerManagerStatics::remove_RemainingChargePercentChanged, factory.RemainingChargePercentChanged(handler) }; +} + +inline void PowerManager::RemainingChargePercentChanged(event_token token) +{ + get_activation_factory().RemainingChargePercentChanged(token); +} + +inline Windows::Foundation::TimeSpan PowerManager::RemainingDischargeTime() +{ + return get_activation_factory().RemainingDischargeTime(); +} + +inline event_token PowerManager::RemainingDischargeTimeChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().RemainingDischargeTimeChanged(handler); +} + +inline factory_event_revoker PowerManager::RemainingDischargeTimeChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Power::IPowerManagerStatics::remove_RemainingDischargeTimeChanged, factory.RemainingDischargeTimeChanged(handler) }; +} + +inline void PowerManager::RemainingDischargeTimeChanged(event_token token) +{ + get_activation_factory().RemainingDischargeTimeChanged(token); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Power::IBackgroundEnergyManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Power::IForegroundEnergyManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Power::IPowerManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Profile.SystemManufacturers.h b/10.0.15042.0/winrt/Windows.System.Profile.SystemManufacturers.h new file mode 100644 index 000000000..5a4634984 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Profile.SystemManufacturers.h @@ -0,0 +1,64 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.Profile.SystemManufacturers.3.h" +#include "Windows.System.Profile.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SerialNumber(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SerialNumber()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Profile::SystemManufacturers { + +template hstring impl_ISmbiosInformationStatics::SerialNumber() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISmbiosInformationStatics)->get_SerialNumber(put_abi(value))); + return value; +} + +inline hstring SmbiosInformation::SerialNumber() +{ + return get_activation_factory().SerialNumber(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::SystemManufacturers::ISmbiosInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Profile.h b/10.0.15042.0/winrt/Windows.System.Profile.h new file mode 100644 index 000000000..1eb8653d0 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Profile.h @@ -0,0 +1,1337 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.Profile.3.h" +#include "Windows.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VersionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VersionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceForm(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceForm()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeviceFamilyVersion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceFamilyVersion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEducationEnvironment(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEducationEnvironment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPackageSpecificToken(impl::abi_arg_in nonce, impl::abi_arg_out packageSpecificHardwareToken) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *packageSpecificHardwareToken = detach_abi(this->shim().GetPackageSpecificToken(*reinterpret_cast(&nonce))); + return S_OK; + } + catch (...) + { + *packageSpecificHardwareToken = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Signature(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Signature()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Certificate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Certificate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RetailAccessCode(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RetailAccessCode()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManufacturerName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManufacturerName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModelName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModelName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayModelName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayModelName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Price(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Price()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFeatured(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFeatured()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FormFactor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormFactor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScreenSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScreenSize()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Weight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Weight()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BatteryLifeDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BatteryLifeDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProcessorDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProcessorDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Memory(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Memory()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StorageDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StorageDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GraphicsDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GraphicsDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrontCameraDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrontCameraDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RearCameraDescription(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RearCameraDescription()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasNfc(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasNfc()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasSdSlot(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasSdSlot()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasOpticalDrive(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasOpticalDrive()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOfficeInstalled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOfficeInstalled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WindowsEdition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WindowsEdition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CollectionLevel(Windows::System::Profile::PlatformDataCollectionLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CollectionLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CollectionLevelChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CollectionLevelChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CollectionLevelChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CollectionLevelChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanCollectDiagnostics(Windows::System::Profile::PlatformDataCollectionLevel level, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CanCollectDiagnostics(level)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDemoModeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDemoModeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShouldAvoidLocalStorage(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldAvoidLocalStorage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(Windows::System::Profile::SystemIdentificationSource * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSystemIdForPublisher(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSystemIdForPublisher()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSystemIdForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSystemIdForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Profile { + +template Windows::Storage::Streams::IBuffer impl_ISystemIdentificationInfo::Id() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(ISystemIdentificationInfo)->get_Id(put_abi(value))); + return value; +} + +template Windows::System::Profile::SystemIdentificationSource impl_ISystemIdentificationInfo::Source() const +{ + Windows::System::Profile::SystemIdentificationSource value {}; + check_hresult(WINRT_SHIM(ISystemIdentificationInfo)->get_Source(&value)); + return value; +} + +template Windows::System::Profile::SystemIdentificationInfo impl_ISystemIdentificationStatics::GetSystemIdForPublisher() const +{ + Windows::System::Profile::SystemIdentificationInfo result { nullptr }; + check_hresult(WINRT_SHIM(ISystemIdentificationStatics)->abi_GetSystemIdForPublisher(put_abi(result))); + return result; +} + +template Windows::System::Profile::SystemIdentificationInfo impl_ISystemIdentificationStatics::GetSystemIdForUser(const Windows::System::User & user) const +{ + Windows::System::Profile::SystemIdentificationInfo result { nullptr }; + check_hresult(WINRT_SHIM(ISystemIdentificationStatics)->abi_GetSystemIdForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::System::Profile::AnalyticsVersionInfo impl_IAnalyticsInfoStatics::VersionInfo() const +{ + Windows::System::Profile::AnalyticsVersionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAnalyticsInfoStatics)->get_VersionInfo(put_abi(value))); + return value; +} + +template hstring impl_IAnalyticsInfoStatics::DeviceForm() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAnalyticsInfoStatics)->get_DeviceForm(put_abi(value))); + return value; +} + +template hstring impl_IAnalyticsVersionInfo::DeviceFamily() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAnalyticsVersionInfo)->get_DeviceFamily(put_abi(value))); + return value; +} + +template hstring impl_IAnalyticsVersionInfo::DeviceFamilyVersion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAnalyticsVersionInfo)->get_DeviceFamilyVersion(put_abi(value))); + return value; +} + +template bool impl_IEducationSettingsStatics::IsEducationEnvironment() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IEducationSettingsStatics)->get_IsEducationEnvironment(&value)); + return value; +} + +template Windows::System::Profile::PlatformDataCollectionLevel impl_IPlatformDiagnosticsAndUsageDataSettingsStatics::CollectionLevel() const +{ + Windows::System::Profile::PlatformDataCollectionLevel value {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticsAndUsageDataSettingsStatics)->get_CollectionLevel(&value)); + return value; +} + +template event_token impl_IPlatformDiagnosticsAndUsageDataSettingsStatics::CollectionLevelChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticsAndUsageDataSettingsStatics)->add_CollectionLevelChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IPlatformDiagnosticsAndUsageDataSettingsStatics::CollectionLevelChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::Profile::IPlatformDiagnosticsAndUsageDataSettingsStatics::remove_CollectionLevelChanged, CollectionLevelChanged(handler)); +} + +template void impl_IPlatformDiagnosticsAndUsageDataSettingsStatics::CollectionLevelChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPlatformDiagnosticsAndUsageDataSettingsStatics)->remove_CollectionLevelChanged(token)); +} + +template bool impl_IPlatformDiagnosticsAndUsageDataSettingsStatics::CanCollectDiagnostics(Windows::System::Profile::PlatformDataCollectionLevel level) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IPlatformDiagnosticsAndUsageDataSettingsStatics)->abi_CanCollectDiagnostics(level, &result)); + return result; +} + +template Windows::Storage::Streams::IBuffer impl_IHardwareToken::Id() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHardwareToken)->get_Id(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IHardwareToken::Signature() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHardwareToken)->get_Signature(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IBuffer impl_IHardwareToken::Certificate() const +{ + Windows::Storage::Streams::IBuffer value; + check_hresult(WINRT_SHIM(IHardwareToken)->get_Certificate(put_abi(value))); + return value; +} + +template Windows::System::Profile::HardwareToken impl_IHardwareIdentificationStatics::GetPackageSpecificToken(const Windows::Storage::Streams::IBuffer & nonce) const +{ + Windows::System::Profile::HardwareToken packageSpecificHardwareToken { nullptr }; + check_hresult(WINRT_SHIM(IHardwareIdentificationStatics)->abi_GetPackageSpecificToken(get_abi(nonce), put_abi(packageSpecificHardwareToken))); + return packageSpecificHardwareToken; +} + +template bool impl_ISharedModeSettingsStatics::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISharedModeSettingsStatics)->get_IsEnabled(&value)); + return value; +} + +template bool impl_ISharedModeSettingsStatics2::ShouldAvoidLocalStorage() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISharedModeSettingsStatics2)->get_ShouldAvoidLocalStorage(&value)); + return value; +} + +template bool impl_IRetailInfoStatics::IsDemoModeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRetailInfoStatics)->get_IsDemoModeEnabled(&value)); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IRetailInfoStatics::Properties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IRetailInfoStatics)->get_Properties(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::RetailAccessCode() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_RetailAccessCode(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::ManufacturerName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_ManufacturerName(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::ModelName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_ModelName(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::DisplayModelName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_DisplayModelName(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::Price() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_Price(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::IsFeatured() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_IsFeatured(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::FormFactor() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_FormFactor(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::ScreenSize() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_ScreenSize(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::Weight() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_Weight(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::DisplayDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_DisplayDescription(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::BatteryLifeDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_BatteryLifeDescription(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::ProcessorDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_ProcessorDescription(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::Memory() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_Memory(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::StorageDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_StorageDescription(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::GraphicsDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_GraphicsDescription(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::FrontCameraDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_FrontCameraDescription(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::RearCameraDescription() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_RearCameraDescription(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::HasNfc() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_HasNfc(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::HasSdSlot() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_HasSdSlot(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::HasOpticalDrive() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_HasOpticalDrive(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::IsOfficeInstalled() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_IsOfficeInstalled(put_abi(value))); + return value; +} + +template hstring impl_IKnownRetailInfoPropertiesStatics::WindowsEdition() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRetailInfoPropertiesStatics)->get_WindowsEdition(put_abi(value))); + return value; +} + +inline Windows::System::Profile::AnalyticsVersionInfo AnalyticsInfo::VersionInfo() +{ + return get_activation_factory().VersionInfo(); +} + +inline hstring AnalyticsInfo::DeviceForm() +{ + return get_activation_factory().DeviceForm(); +} + +inline bool EducationSettings::IsEducationEnvironment() +{ + return get_activation_factory().IsEducationEnvironment(); +} + +inline Windows::System::Profile::HardwareToken HardwareIdentification::GetPackageSpecificToken(const Windows::Storage::Streams::IBuffer & nonce) +{ + return get_activation_factory().GetPackageSpecificToken(nonce); +} + +inline hstring KnownRetailInfoProperties::RetailAccessCode() +{ + return get_activation_factory().RetailAccessCode(); +} + +inline hstring KnownRetailInfoProperties::ManufacturerName() +{ + return get_activation_factory().ManufacturerName(); +} + +inline hstring KnownRetailInfoProperties::ModelName() +{ + return get_activation_factory().ModelName(); +} + +inline hstring KnownRetailInfoProperties::DisplayModelName() +{ + return get_activation_factory().DisplayModelName(); +} + +inline hstring KnownRetailInfoProperties::Price() +{ + return get_activation_factory().Price(); +} + +inline hstring KnownRetailInfoProperties::IsFeatured() +{ + return get_activation_factory().IsFeatured(); +} + +inline hstring KnownRetailInfoProperties::FormFactor() +{ + return get_activation_factory().FormFactor(); +} + +inline hstring KnownRetailInfoProperties::ScreenSize() +{ + return get_activation_factory().ScreenSize(); +} + +inline hstring KnownRetailInfoProperties::Weight() +{ + return get_activation_factory().Weight(); +} + +inline hstring KnownRetailInfoProperties::DisplayDescription() +{ + return get_activation_factory().DisplayDescription(); +} + +inline hstring KnownRetailInfoProperties::BatteryLifeDescription() +{ + return get_activation_factory().BatteryLifeDescription(); +} + +inline hstring KnownRetailInfoProperties::ProcessorDescription() +{ + return get_activation_factory().ProcessorDescription(); +} + +inline hstring KnownRetailInfoProperties::Memory() +{ + return get_activation_factory().Memory(); +} + +inline hstring KnownRetailInfoProperties::StorageDescription() +{ + return get_activation_factory().StorageDescription(); +} + +inline hstring KnownRetailInfoProperties::GraphicsDescription() +{ + return get_activation_factory().GraphicsDescription(); +} + +inline hstring KnownRetailInfoProperties::FrontCameraDescription() +{ + return get_activation_factory().FrontCameraDescription(); +} + +inline hstring KnownRetailInfoProperties::RearCameraDescription() +{ + return get_activation_factory().RearCameraDescription(); +} + +inline hstring KnownRetailInfoProperties::HasNfc() +{ + return get_activation_factory().HasNfc(); +} + +inline hstring KnownRetailInfoProperties::HasSdSlot() +{ + return get_activation_factory().HasSdSlot(); +} + +inline hstring KnownRetailInfoProperties::HasOpticalDrive() +{ + return get_activation_factory().HasOpticalDrive(); +} + +inline hstring KnownRetailInfoProperties::IsOfficeInstalled() +{ + return get_activation_factory().IsOfficeInstalled(); +} + +inline hstring KnownRetailInfoProperties::WindowsEdition() +{ + return get_activation_factory().WindowsEdition(); +} + +inline Windows::System::Profile::PlatformDataCollectionLevel PlatformDiagnosticsAndUsageDataSettings::CollectionLevel() +{ + return get_activation_factory().CollectionLevel(); +} + +inline event_token PlatformDiagnosticsAndUsageDataSettings::CollectionLevelChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().CollectionLevelChanged(handler); +} + +inline factory_event_revoker PlatformDiagnosticsAndUsageDataSettings::CollectionLevelChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::Profile::IPlatformDiagnosticsAndUsageDataSettingsStatics::remove_CollectionLevelChanged, factory.CollectionLevelChanged(handler) }; +} + +inline void PlatformDiagnosticsAndUsageDataSettings::CollectionLevelChanged(event_token token) +{ + get_activation_factory().CollectionLevelChanged(token); +} + +inline bool PlatformDiagnosticsAndUsageDataSettings::CanCollectDiagnostics(Windows::System::Profile::PlatformDataCollectionLevel level) +{ + return get_activation_factory().CanCollectDiagnostics(level); +} + +inline bool RetailInfo::IsDemoModeEnabled() +{ + return get_activation_factory().IsDemoModeEnabled(); +} + +inline Windows::Foundation::Collections::IMapView RetailInfo::Properties() +{ + return get_activation_factory().Properties(); +} + +inline bool SharedModeSettings::IsEnabled() +{ + return get_activation_factory().IsEnabled(); +} + +inline bool SharedModeSettings::ShouldAvoidLocalStorage() +{ + return get_activation_factory().ShouldAvoidLocalStorage(); +} + +inline Windows::System::Profile::SystemIdentificationInfo SystemIdentification::GetSystemIdForPublisher() +{ + return get_activation_factory().GetSystemIdForPublisher(); +} + +inline Windows::System::Profile::SystemIdentificationInfo SystemIdentification::GetSystemIdForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetSystemIdForUser(user); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IAnalyticsInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IAnalyticsVersionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IEducationSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IHardwareIdentificationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IHardwareToken & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IKnownRetailInfoPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IPlatformDiagnosticsAndUsageDataSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::IRetailInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::ISharedModeSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::ISharedModeSettingsStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::ISystemIdentificationInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::ISystemIdentificationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::AnalyticsVersionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::HardwareToken & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Profile::SystemIdentificationInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.RemoteDesktop.h b/10.0.15042.0/winrt/Windows.System.RemoteDesktop.h new file mode 100644 index 000000000..4d9de30fc --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.RemoteDesktop.h @@ -0,0 +1,63 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.RemoteDesktop.3.h" +#include "Windows.System.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsRemote(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRemote()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::RemoteDesktop { + +template bool impl_IInteractiveSessionStatics::IsRemote() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInteractiveSessionStatics)->get_IsRemote(&value)); + return value; +} + +inline bool InteractiveSession::IsRemote() +{ + return get_activation_factory().IsRemote(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteDesktop::IInteractiveSessionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.RemoteSystems.h b/10.0.15042.0/winrt/Windows.System.RemoteSystems.h new file mode 100644 index 000000000..eec8f2b9a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.RemoteSystems.h @@ -0,0 +1,3429 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Networking.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.System.RemoteSystems.3.h" +#include "Windows.System.h" +#include "Windows.Foundation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppService(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppService()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LaunchUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LaunchUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteSession(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSession()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpatialEntity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpatialEntity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::System::RemoteSystems::RemoteSystemStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAvailableByProximity(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAvailableByProximity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsAvailableBySpatialProximity(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAvailableBySpatialProximity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCapabilitySupportedAsync(impl::abi_arg_in capabilityName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetCapabilitySupportedAsync(*reinterpret_cast(&capabilityName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystemAuthorizationKind(Windows::System::RemoteSystems::RemoteSystemAuthorizationKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystemAuthorizationKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::System::RemoteSystems::RemoteSystemAuthorizationKind remoteSystemAuthorizationKind, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(remoteSystemAuthorizationKind)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in remoteSystem, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&remoteSystem))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystemDiscoveryType(Windows::System::RemoteSystems::RemoteSystemDiscoveryType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystemDiscoveryType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::System::RemoteSystems::RemoteSystemDiscoveryType discoveryType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(discoveryType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystemKinds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystemKinds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in> remoteSystemKinds, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast *>(&remoteSystemKinds))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Phone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Phone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hub(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hub()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Holographic(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Holographic()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Desktop(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Desktop()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Xbox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Xbox()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystemId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystemId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControllerDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControllerDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Disconnected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Disconnected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Disconnected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disconnected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateParticipantWatcher(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateParticipantWatcher()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendInvitationAsync(impl::abi_arg_in invitee, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendInvitationAsync(*reinterpret_cast(&invitee))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_JoinRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().JoinRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_JoinRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().JoinRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveParticipantAsync(impl::abi_arg_in pParticipant, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RemoveParticipantAsync(*reinterpret_cast(&pParticipant))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSessionAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().CreateSessionAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateController(impl::abi_arg_in displayName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateController(*reinterpret_cast(&displayName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateControllerWithSessionOptions(impl::abi_arg_in displayName, impl::abi_arg_in options, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateController(*reinterpret_cast(&displayName), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::System::RemoteSystems::RemoteSystemSessionCreationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::System::RemoteSystems::RemoteSystemSessionDisconnectedReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControllerDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControllerDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_JoinAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().JoinAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Sender(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sender()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_InvitationReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().InvitationReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_InvitationReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InvitationReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Invitation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Invitation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Participant(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Participant()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Accept() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Accept(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_JoinRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().JoinRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::System::RemoteSystems::RemoteSystemSessionJoinStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Session(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Session()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BroadcastValueSetAsync(impl::abi_arg_in messageData, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().BroadcastValueSetAsync(*reinterpret_cast(&messageData))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendValueSetAsync(impl::abi_arg_in messageData, impl::abi_arg_in participant, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendValueSetAsync(*reinterpret_cast(&messageData), *reinterpret_cast(&participant))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SendValueSetToParticipantsAsync(impl::abi_arg_in messageData, impl::abi_arg_in> participants, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SendValueSetToParticipantsAsync(*reinterpret_cast(&messageData), *reinterpret_cast *>(&participants))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ValueSetReceived(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ValueSetReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ValueSetReceived(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValueSetReceived(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in session, impl::abi_arg_in channelName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&session), *reinterpret_cast(&channelName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithReliability(impl::abi_arg_in session, impl::abi_arg_in channelName, Windows::System::RemoteSystems::RemoteSystemSessionMessageChannelReliability reliability, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&session), *reinterpret_cast(&channelName), reliability)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsInviteOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInviteOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInviteOnly(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInviteOnly(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHostNames(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetHostNames()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Participant(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Participant()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Participant(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Participant()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::System::RemoteSystems::RemoteSystemSessionParticipantWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SessionInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Sender(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sender()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Message(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Message()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Status(Windows::System::RemoteSystems::RemoteSystemSessionWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindByHostNameAsync(impl::abi_arg_in hostName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindByHostNameAsync(*reinterpret_cast(&hostName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWatcherWithFilters(impl::abi_arg_in> filters, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWatcher(*reinterpret_cast *>(&filters))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsAuthorizationKindEnabled(Windows::System::RemoteSystems::RemoteSystemAuthorizationKind kind, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAuthorizationKindEnabled(kind)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystemStatusType(Windows::System::RemoteSystems::RemoteSystemStatusType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystemStatusType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::System::RemoteSystems::RemoteSystemStatusType remoteSystemStatusType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(remoteSystemStatusType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RemoteSystem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteSystem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemoteSystemAdded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemoteSystemAdded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemoteSystemAdded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteSystemAdded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemoteSystemUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemoteSystemUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemoteSystemUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteSystemUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RemoteSystemRemoved(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RemoteSystemRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RemoteSystemRemoved(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteSystemRemoved(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::RemoteSystems { + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemStatics::FindByHostNameAsync(const Windows::Networking::HostName & hostName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemStatics)->abi_FindByHostNameAsync(get_abi(hostName), put_abi(operation))); + return operation; +} + +template Windows::System::RemoteSystems::RemoteSystemWatcher impl_IRemoteSystemStatics::CreateWatcher() const +{ + Windows::System::RemoteSystems::RemoteSystemWatcher result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemStatics)->abi_CreateWatcher(put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemWatcher impl_IRemoteSystemStatics::CreateWatcher(iterable filters) const +{ + Windows::System::RemoteSystems::RemoteSystemWatcher result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemStatics)->abi_CreateWatcherWithFilters(get_abi(filters), put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemStatics::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemStatics)->abi_RequestAccessAsync(put_abi(operation))); + return operation; +} + +template bool impl_IRemoteSystemStatics2::IsAuthorizationKindEnabled(Windows::System::RemoteSystems::RemoteSystemAuthorizationKind kind) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRemoteSystemStatics2)->abi_IsAuthorizationKindEnabled(kind, &value)); + return value; +} + +template hstring impl_IRemoteSystem::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystem)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystem::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystem)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystem::Kind() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystem)->get_Kind(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemStatus impl_IRemoteSystem::Status() const +{ + Windows::System::RemoteSystems::RemoteSystemStatus value {}; + check_hresult(WINRT_SHIM(IRemoteSystem)->get_Status(&value)); + return value; +} + +template bool impl_IRemoteSystem::IsAvailableByProximity() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRemoteSystem)->get_IsAvailableByProximity(&value)); + return value; +} + +template bool impl_IRemoteSystem2::IsAvailableBySpatialProximity() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRemoteSystem2)->get_IsAvailableBySpatialProximity(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystem2::GetCapabilitySupportedAsync(hstring_view capabilityName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystem2)->abi_GetCapabilitySupportedAsync(get_abi(capabilityName), put_abi(operation))); + return operation; +} + +template hstring impl_IKnownRemoteSystemCapabilitiesStatics::AppService() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRemoteSystemCapabilitiesStatics)->get_AppService(put_abi(value))); + return value; +} + +template hstring impl_IKnownRemoteSystemCapabilitiesStatics::LaunchUri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRemoteSystemCapabilitiesStatics)->get_LaunchUri(put_abi(value))); + return value; +} + +template hstring impl_IKnownRemoteSystemCapabilitiesStatics::RemoteSession() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRemoteSystemCapabilitiesStatics)->get_RemoteSession(put_abi(value))); + return value; +} + +template hstring impl_IKnownRemoteSystemCapabilitiesStatics::SpatialEntity() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownRemoteSystemCapabilitiesStatics)->get_SpatialEntity(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemAuthorizationKindFilter impl_IRemoteSystemAuthorizationKindFilterFactory::Create(Windows::System::RemoteSystems::RemoteSystemAuthorizationKind remoteSystemAuthorizationKind) const +{ + Windows::System::RemoteSystems::RemoteSystemAuthorizationKindFilter result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemAuthorizationKindFilterFactory)->abi_Create(remoteSystemAuthorizationKind, put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemAuthorizationKind impl_IRemoteSystemAuthorizationKindFilter::RemoteSystemAuthorizationKind() const +{ + Windows::System::RemoteSystems::RemoteSystemAuthorizationKind value {}; + check_hresult(WINRT_SHIM(IRemoteSystemAuthorizationKindFilter)->get_RemoteSystemAuthorizationKind(&value)); + return value; +} + +template void impl_IRemoteSystemWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->abi_Start()); +} + +template void impl_IRemoteSystemWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->abi_Stop()); +} + +template event_token impl_IRemoteSystemWatcher::RemoteSystemAdded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->add_RemoteSystemAdded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemWatcher::RemoteSystemAdded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemWatcher::remove_RemoteSystemAdded, RemoteSystemAdded(handler)); +} + +template void impl_IRemoteSystemWatcher::RemoteSystemAdded(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->remove_RemoteSystemAdded(token)); +} + +template event_token impl_IRemoteSystemWatcher::RemoteSystemUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->add_RemoteSystemUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemWatcher::RemoteSystemUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemWatcher::remove_RemoteSystemUpdated, RemoteSystemUpdated(handler)); +} + +template void impl_IRemoteSystemWatcher::RemoteSystemUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->remove_RemoteSystemUpdated(token)); +} + +template event_token impl_IRemoteSystemWatcher::RemoteSystemRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->add_RemoteSystemRemoved(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemWatcher::RemoteSystemRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemWatcher::remove_RemoteSystemRemoved, RemoteSystemRemoved(handler)); +} + +template void impl_IRemoteSystemWatcher::RemoteSystemRemoved(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemWatcher)->remove_RemoteSystemRemoved(token)); +} + +template Windows::System::RemoteSystems::RemoteSystem impl_IRemoteSystemAddedEventArgs::RemoteSystem() const +{ + Windows::System::RemoteSystems::RemoteSystem value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemAddedEventArgs)->get_RemoteSystem(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystem impl_IRemoteSystemUpdatedEventArgs::RemoteSystem() const +{ + Windows::System::RemoteSystems::RemoteSystem value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemUpdatedEventArgs)->get_RemoteSystem(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemRemovedEventArgs::RemoteSystemId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemRemovedEventArgs)->get_RemoteSystemId(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemConnectionRequest impl_IRemoteSystemConnectionRequestFactory::Create(const Windows::System::RemoteSystems::RemoteSystem & remoteSystem) const +{ + Windows::System::RemoteSystems::RemoteSystemConnectionRequest result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemConnectionRequestFactory)->abi_Create(get_abi(remoteSystem), put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystem impl_IRemoteSystemConnectionRequest::RemoteSystem() const +{ + Windows::System::RemoteSystems::RemoteSystem value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemConnectionRequest)->get_RemoteSystem(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemKindStatics::Phone() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemKindStatics)->get_Phone(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemKindStatics::Hub() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemKindStatics)->get_Hub(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemKindStatics::Holographic() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemKindStatics)->get_Holographic(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemKindStatics::Desktop() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemKindStatics)->get_Desktop(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemKindStatics::Xbox() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemKindStatics)->get_Xbox(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemKindFilter impl_IRemoteSystemKindFilterFactory::Create(iterable remoteSystemKinds) const +{ + Windows::System::RemoteSystems::RemoteSystemKindFilter result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemKindFilterFactory)->abi_Create(get_abi(remoteSystemKinds), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IRemoteSystemKindFilter::RemoteSystemKinds() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IRemoteSystemKindFilter)->get_RemoteSystemKinds(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemDiscoveryTypeFilter impl_IRemoteSystemDiscoveryTypeFilterFactory::Create(Windows::System::RemoteSystems::RemoteSystemDiscoveryType discoveryType) const +{ + Windows::System::RemoteSystems::RemoteSystemDiscoveryTypeFilter result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemDiscoveryTypeFilterFactory)->abi_Create(discoveryType, put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemDiscoveryType impl_IRemoteSystemDiscoveryTypeFilter::RemoteSystemDiscoveryType() const +{ + Windows::System::RemoteSystems::RemoteSystemDiscoveryType value {}; + check_hresult(WINRT_SHIM(IRemoteSystemDiscoveryTypeFilter)->get_RemoteSystemDiscoveryType(&value)); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemStatusTypeFilter impl_IRemoteSystemStatusTypeFilterFactory::Create(Windows::System::RemoteSystems::RemoteSystemStatusType remoteSystemStatusType) const +{ + Windows::System::RemoteSystems::RemoteSystemStatusTypeFilter result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemStatusTypeFilterFactory)->abi_Create(remoteSystemStatusType, put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemStatusType impl_IRemoteSystemStatusTypeFilter::RemoteSystemStatusType() const +{ + Windows::System::RemoteSystems::RemoteSystemStatusType value {}; + check_hresult(WINRT_SHIM(IRemoteSystemStatusTypeFilter)->get_RemoteSystemStatusType(&value)); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionJoinStatus impl_IRemoteSystemSessionJoinResult::Status() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionJoinStatus value {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionJoinResult)->get_Status(&value)); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSession impl_IRemoteSystemSessionJoinResult::Session() const +{ + Windows::System::RemoteSystems::RemoteSystemSession value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionJoinResult)->get_Session(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemSessionInfo::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemSessionInfo)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemSessionInfo::ControllerDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemSessionInfo)->get_ControllerDisplayName(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemSessionInfo::JoinAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemSessionInfo)->abi_JoinAsync(put_abi(operation))); + return operation; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionInfo impl_IRemoteSystemSessionAddedEventArgs::SessionInfo() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionAddedEventArgs)->get_SessionInfo(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionInfo impl_IRemoteSystemSessionUpdatedEventArgs::SessionInfo() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionUpdatedEventArgs)->get_SessionInfo(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionInfo impl_IRemoteSystemSessionRemovedEventArgs::SessionInfo() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionRemovedEventArgs)->get_SessionInfo(put_abi(value))); + return value; +} + +template void impl_IRemoteSystemSessionWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->abi_Start()); +} + +template void impl_IRemoteSystemSessionWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->abi_Stop()); +} + +template Windows::System::RemoteSystems::RemoteSystemSessionWatcherStatus impl_IRemoteSystemSessionWatcher::Status() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionWatcherStatus value {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->get_Status(&value)); + return value; +} + +template event_token impl_IRemoteSystemSessionWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionWatcher::remove_Added, Added(handler)); +} + +template void impl_IRemoteSystemSessionWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->remove_Added(token)); +} + +template event_token impl_IRemoteSystemSessionWatcher::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionWatcher::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionWatcher::remove_Updated, Updated(handler)); +} + +template void impl_IRemoteSystemSessionWatcher::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->remove_Updated(token)); +} + +template event_token impl_IRemoteSystemSessionWatcher::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionWatcher::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionWatcher::remove_Removed, Removed(handler)); +} + +template void impl_IRemoteSystemSessionWatcher::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionWatcher)->remove_Removed(token)); +} + +template Windows::System::RemoteSystems::RemoteSystem impl_IRemoteSystemSessionInvitation::Sender() const +{ + Windows::System::RemoteSystems::RemoteSystem value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionInvitation)->get_Sender(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionInfo impl_IRemoteSystemSessionInvitation::SessionInfo() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionInfo value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionInvitation)->get_SessionInfo(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionInvitation impl_IRemoteSystemSessionInvitationReceivedEventArgs::Invitation() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionInvitation value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionInvitationReceivedEventArgs)->get_Invitation(put_abi(value))); + return value; +} + +template event_token impl_IRemoteSystemSessionInvitationListener::InvitationReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionInvitationListener)->add_InvitationReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionInvitationListener::InvitationReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionInvitationListener::remove_InvitationReceived, InvitationReceived(handler)); +} + +template void impl_IRemoteSystemSessionInvitationListener::InvitationReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionInvitationListener)->remove_InvitationReceived(token)); +} + +template Windows::System::RemoteSystems::RemoteSystem impl_IRemoteSystemSessionParticipant::RemoteSystem() const +{ + Windows::System::RemoteSystems::RemoteSystem value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipant)->get_RemoteSystem(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IRemoteSystemSessionParticipant::GetHostNames() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipant)->abi_GetHostNames(put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionParticipant impl_IRemoteSystemSessionParticipantAddedEventArgs::Participant() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionParticipant value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantAddedEventArgs)->get_Participant(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionParticipant impl_IRemoteSystemSessionParticipantRemovedEventArgs::Participant() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionParticipant value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantRemovedEventArgs)->get_Participant(put_abi(value))); + return value; +} + +template void impl_IRemoteSystemSessionParticipantWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->abi_Start()); +} + +template void impl_IRemoteSystemSessionParticipantWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->abi_Stop()); +} + +template Windows::System::RemoteSystems::RemoteSystemSessionParticipantWatcherStatus impl_IRemoteSystemSessionParticipantWatcher::Status() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionParticipantWatcherStatus value {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->get_Status(&value)); + return value; +} + +template event_token impl_IRemoteSystemSessionParticipantWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionParticipantWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionParticipantWatcher::remove_Added, Added(handler)); +} + +template void impl_IRemoteSystemSessionParticipantWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->remove_Added(token)); +} + +template event_token impl_IRemoteSystemSessionParticipantWatcher::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionParticipantWatcher::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionParticipantWatcher::remove_Removed, Removed(handler)); +} + +template void impl_IRemoteSystemSessionParticipantWatcher::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->remove_Removed(token)); +} + +template event_token impl_IRemoteSystemSessionParticipantWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionParticipantWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionParticipantWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IRemoteSystemSessionParticipantWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionParticipantWatcher)->remove_EnumerationCompleted(token)); +} + +template Windows::System::RemoteSystems::RemoteSystemSessionParticipant impl_IRemoteSystemSessionJoinRequest::Participant() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionParticipant value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionJoinRequest)->get_Participant(put_abi(value))); + return value; +} + +template void impl_IRemoteSystemSessionJoinRequest::Accept() const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionJoinRequest)->abi_Accept()); +} + +template Windows::System::RemoteSystems::RemoteSystemSessionJoinRequest impl_IRemoteSystemSessionJoinRequestedEventArgs::JoinRequest() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionJoinRequest value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionJoinRequestedEventArgs)->get_JoinRequest(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_IRemoteSystemSessionJoinRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionJoinRequestedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionCreationStatus impl_IRemoteSystemSessionCreationResult::Status() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionCreationStatus value {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionCreationResult)->get_Status(&value)); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSession impl_IRemoteSystemSessionCreationResult::Session() const +{ + Windows::System::RemoteSystems::RemoteSystemSession value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionCreationResult)->get_Session(put_abi(value))); + return value; +} + +template bool impl_IRemoteSystemSessionOptions::IsInviteOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionOptions)->get_IsInviteOnly(&value)); + return value; +} + +template void impl_IRemoteSystemSessionOptions::IsInviteOnly(bool value) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionOptions)->put_IsInviteOnly(value)); +} + +template event_token impl_IRemoteSystemSessionController::JoinRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionController)->add_JoinRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionController::JoinRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionController::remove_JoinRequested, JoinRequested(handler)); +} + +template void impl_IRemoteSystemSessionController::JoinRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionController)->remove_JoinRequested(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemSessionController::RemoveParticipantAsync(const Windows::System::RemoteSystems::RemoteSystemSessionParticipant & pParticipant) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemSessionController)->abi_RemoveParticipantAsync(get_abi(pParticipant), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemSessionController::CreateSessionAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemSessionController)->abi_CreateSessionAsync(put_abi(operation))); + return operation; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionController impl_IRemoteSystemSessionControllerFactory::CreateController(hstring_view displayName) const +{ + Windows::System::RemoteSystems::RemoteSystemSessionController result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionControllerFactory)->abi_CreateController(get_abi(displayName), put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionController impl_IRemoteSystemSessionControllerFactory::CreateController(hstring_view displayName, const Windows::System::RemoteSystems::RemoteSystemSessionOptions & options) const +{ + Windows::System::RemoteSystems::RemoteSystemSessionController result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionControllerFactory)->abi_CreateControllerWithSessionOptions(get_abi(displayName), get_abi(options), put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionDisconnectedReason impl_IRemoteSystemSessionDisconnectedEventArgs::Reason() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionDisconnectedReason value {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionDisconnectedEventArgs)->get_Reason(&value)); + return value; +} + +template hstring impl_IRemoteSystemSession::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemSession)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemSession::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemSession)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IRemoteSystemSession::ControllerDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRemoteSystemSession)->get_ControllerDisplayName(put_abi(value))); + return value; +} + +template event_token impl_IRemoteSystemSession::Disconnected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSession)->add_Disconnected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSession::Disconnected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSession::remove_Disconnected, Disconnected(handler)); +} + +template void impl_IRemoteSystemSession::Disconnected(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSession)->remove_Disconnected(token)); +} + +template Windows::System::RemoteSystems::RemoteSystemSessionParticipantWatcher impl_IRemoteSystemSession::CreateParticipantWatcher() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionParticipantWatcher result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSession)->abi_CreateParticipantWatcher(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemSession::SendInvitationAsync(const Windows::System::RemoteSystems::RemoteSystem & invitee) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemSession)->abi_SendInvitationAsync(get_abi(invitee), put_abi(operation))); + return operation; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionWatcher impl_IRemoteSystemSessionStatics::CreateWatcher() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionWatcher result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionStatics)->abi_CreateWatcher(put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionParticipant impl_IRemoteSystemSessionValueSetReceivedEventArgs::Sender() const +{ + Windows::System::RemoteSystems::RemoteSystemSessionParticipant value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionValueSetReceivedEventArgs)->get_Sender(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_IRemoteSystemSessionValueSetReceivedEventArgs::Message() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionValueSetReceivedEventArgs)->get_Message(put_abi(value))); + return value; +} + +template Windows::System::RemoteSystems::RemoteSystemSession impl_IRemoteSystemSessionMessageChannel::Session() const +{ + Windows::System::RemoteSystems::RemoteSystemSession value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannel)->get_Session(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemSessionMessageChannel::BroadcastValueSetAsync(const Windows::Foundation::Collections::ValueSet & messageData) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannel)->abi_BroadcastValueSetAsync(get_abi(messageData), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemSessionMessageChannel::SendValueSetAsync(const Windows::Foundation::Collections::ValueSet & messageData, const Windows::System::RemoteSystems::RemoteSystemSessionParticipant & participant) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannel)->abi_SendValueSetAsync(get_abi(messageData), get_abi(participant), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteSystemSessionMessageChannel::SendValueSetToParticipantsAsync(const Windows::Foundation::Collections::ValueSet & messageData, iterable participants) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannel)->abi_SendValueSetToParticipantsAsync(get_abi(messageData), get_abi(participants), put_abi(operation))); + return operation; +} + +template event_token impl_IRemoteSystemSessionMessageChannel::ValueSetReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannel)->add_ValueSetReceived(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRemoteSystemSessionMessageChannel::ValueSetReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::RemoteSystems::IRemoteSystemSessionMessageChannel::remove_ValueSetReceived, ValueSetReceived(handler)); +} + +template void impl_IRemoteSystemSessionMessageChannel::ValueSetReceived(event_token token) const +{ + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannel)->remove_ValueSetReceived(token)); +} + +template Windows::System::RemoteSystems::RemoteSystemSessionMessageChannel impl_IRemoteSystemSessionMessageChannelFactory::Create(const Windows::System::RemoteSystems::RemoteSystemSession & session, hstring_view channelName) const +{ + Windows::System::RemoteSystems::RemoteSystemSessionMessageChannel result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannelFactory)->abi_Create(get_abi(session), get_abi(channelName), put_abi(result))); + return result; +} + +template Windows::System::RemoteSystems::RemoteSystemSessionMessageChannel impl_IRemoteSystemSessionMessageChannelFactory::Create(const Windows::System::RemoteSystems::RemoteSystemSession & session, hstring_view channelName, Windows::System::RemoteSystems::RemoteSystemSessionMessageChannelReliability reliability) const +{ + Windows::System::RemoteSystems::RemoteSystemSessionMessageChannel result { nullptr }; + check_hresult(WINRT_SHIM(IRemoteSystemSessionMessageChannelFactory)->abi_CreateWithReliability(get_abi(session), get_abi(channelName), reliability, put_abi(result))); + return result; +} + +inline hstring KnownRemoteSystemCapabilities::AppService() +{ + return get_activation_factory().AppService(); +} + +inline hstring KnownRemoteSystemCapabilities::LaunchUri() +{ + return get_activation_factory().LaunchUri(); +} + +inline hstring KnownRemoteSystemCapabilities::RemoteSession() +{ + return get_activation_factory().RemoteSession(); +} + +inline hstring KnownRemoteSystemCapabilities::SpatialEntity() +{ + return get_activation_factory().SpatialEntity(); +} + +inline Windows::Foundation::IAsyncOperation RemoteSystem::FindByHostNameAsync(const Windows::Networking::HostName & hostName) +{ + return get_activation_factory().FindByHostNameAsync(hostName); +} + +inline Windows::System::RemoteSystems::RemoteSystemWatcher RemoteSystem::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline Windows::System::RemoteSystems::RemoteSystemWatcher RemoteSystem::CreateWatcher(iterable filters) +{ + return get_activation_factory().CreateWatcher(filters); +} + +inline Windows::Foundation::IAsyncOperation RemoteSystem::RequestAccessAsync() +{ + return get_activation_factory().RequestAccessAsync(); +} + +inline bool RemoteSystem::IsAuthorizationKindEnabled(Windows::System::RemoteSystems::RemoteSystemAuthorizationKind kind) +{ + return get_activation_factory().IsAuthorizationKindEnabled(kind); +} + +inline RemoteSystemAuthorizationKindFilter::RemoteSystemAuthorizationKindFilter(Windows::System::RemoteSystems::RemoteSystemAuthorizationKind remoteSystemAuthorizationKind) : + RemoteSystemAuthorizationKindFilter(get_activation_factory().Create(remoteSystemAuthorizationKind)) +{} + +inline RemoteSystemConnectionRequest::RemoteSystemConnectionRequest(const Windows::System::RemoteSystems::RemoteSystem & remoteSystem) : + RemoteSystemConnectionRequest(get_activation_factory().Create(remoteSystem)) +{} + +inline RemoteSystemDiscoveryTypeFilter::RemoteSystemDiscoveryTypeFilter(Windows::System::RemoteSystems::RemoteSystemDiscoveryType discoveryType) : + RemoteSystemDiscoveryTypeFilter(get_activation_factory().Create(discoveryType)) +{} + +inline RemoteSystemKindFilter::RemoteSystemKindFilter(iterable remoteSystemKinds) : + RemoteSystemKindFilter(get_activation_factory().Create(remoteSystemKinds)) +{} + +inline hstring RemoteSystemKinds::Phone() +{ + return get_activation_factory().Phone(); +} + +inline hstring RemoteSystemKinds::Hub() +{ + return get_activation_factory().Hub(); +} + +inline hstring RemoteSystemKinds::Holographic() +{ + return get_activation_factory().Holographic(); +} + +inline hstring RemoteSystemKinds::Desktop() +{ + return get_activation_factory().Desktop(); +} + +inline hstring RemoteSystemKinds::Xbox() +{ + return get_activation_factory().Xbox(); +} + +inline Windows::System::RemoteSystems::RemoteSystemSessionWatcher RemoteSystemSession::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline RemoteSystemSessionController::RemoteSystemSessionController(hstring_view displayName) : + RemoteSystemSessionController(get_activation_factory().CreateController(displayName)) +{} + +inline RemoteSystemSessionController::RemoteSystemSessionController(hstring_view displayName, const Windows::System::RemoteSystems::RemoteSystemSessionOptions & options) : + RemoteSystemSessionController(get_activation_factory().CreateController(displayName, options)) +{} + +inline RemoteSystemSessionInvitationListener::RemoteSystemSessionInvitationListener() : + RemoteSystemSessionInvitationListener(activate_instance()) +{} + +inline RemoteSystemSessionMessageChannel::RemoteSystemSessionMessageChannel(const Windows::System::RemoteSystems::RemoteSystemSession & session, hstring_view channelName) : + RemoteSystemSessionMessageChannel(get_activation_factory().Create(session, channelName)) +{} + +inline RemoteSystemSessionMessageChannel::RemoteSystemSessionMessageChannel(const Windows::System::RemoteSystems::RemoteSystemSession & session, hstring_view channelName, Windows::System::RemoteSystems::RemoteSystemSessionMessageChannelReliability reliability) : + RemoteSystemSessionMessageChannel(get_activation_factory().Create(session, channelName, reliability)) +{} + +inline RemoteSystemSessionOptions::RemoteSystemSessionOptions() : + RemoteSystemSessionOptions(activate_instance()) +{} + +inline RemoteSystemStatusTypeFilter::RemoteSystemStatusTypeFilter(Windows::System::RemoteSystems::RemoteSystemStatusType remoteSystemStatusType) : + RemoteSystemStatusTypeFilter(get_activation_factory().Create(remoteSystemStatusType)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IKnownRemoteSystemCapabilitiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystem2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemAuthorizationKindFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemAuthorizationKindFilterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemConnectionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemConnectionRequestFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemDiscoveryTypeFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemDiscoveryTypeFilterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemKindFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemKindFilterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemKindStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionControllerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionCreationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionDisconnectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionInvitation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionInvitationListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionInvitationReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionJoinRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionJoinRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionJoinResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionMessageChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionMessageChannelFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionParticipant & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionParticipantAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionParticipantRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionParticipantWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionValueSetReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemSessionWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemStatusTypeFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemStatusTypeFilterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::IRemoteSystemWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemAuthorizationKindFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemConnectionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemDiscoveryTypeFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemKindFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSession & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionCreationResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionDisconnectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionInvitation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionInvitationListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionInvitationReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionJoinRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionJoinRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionJoinResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionMessageChannel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionParticipant & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionParticipantAddedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionParticipantRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionParticipantWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionRemovedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionValueSetReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemSessionWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemStatusTypeFilter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteSystems::RemoteSystemWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Threading.Core.h b/10.0.15042.0/winrt/Windows.System.Threading.Core.h new file mode 100644 index 000000000..592a3f2e5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Threading.Core.h @@ -0,0 +1,363 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.Threading.3.h" +#include "internal/Windows.System.Threading.Core.3.h" +#include "Windows.System.Threading.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::System::Threading::Core { + +template SignalHandler::SignalHandler(L lambda) : + SignalHandler(impl::make_delegate, SignalHandler>(std::forward(lambda))) +{} + +template SignalHandler::SignalHandler(F * function) : + SignalHandler([=](auto && ... args) { function(args ...); }) +{} + +template SignalHandler::SignalHandler(O * object, M method) : + SignalHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SignalHandler::operator()(const Windows::System::Threading::Core::SignalNotifier & signalNotifier, bool timedOut) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(signalNotifier), timedOut)); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RunAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RunAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWorkItem(impl::abi_arg_in handler, impl::abi_arg_out workItem) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *workItem = detach_abi(this->shim().CreateWorkItem(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *workItem = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWorkItemWithPriority(impl::abi_arg_in handler, Windows::System::Threading::WorkItemPriority priority, impl::abi_arg_out WorkItem) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *WorkItem = detach_abi(this->shim().CreateWorkItemWithPriority(*reinterpret_cast(&handler), priority)); + return S_OK; + } + catch (...) + { + *WorkItem = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWorkItemWithPriorityAndOptions(impl::abi_arg_in handler, Windows::System::Threading::WorkItemPriority priority, Windows::System::Threading::WorkItemOptions options, impl::abi_arg_out WorkItem) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *WorkItem = detach_abi(this->shim().CreateWorkItemWithPriorityAndOptions(*reinterpret_cast(&handler), priority, options)); + return S_OK; + } + catch (...) + { + *WorkItem = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Enable() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enable(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Terminate() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Terminate(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AttachToEvent(impl::abi_arg_in name, impl::abi_arg_in handler, impl::abi_arg_out signalNotifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *signalNotifier = detach_abi(this->shim().AttachToEvent(*reinterpret_cast(&name), *reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *signalNotifier = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AttachToEventWithTimeout(impl::abi_arg_in name, impl::abi_arg_in handler, impl::abi_arg_in timeout, impl::abi_arg_out signalNotifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *signalNotifier = detach_abi(this->shim().AttachToEvent(*reinterpret_cast(&name), *reinterpret_cast(&handler), *reinterpret_cast(&timeout))); + return S_OK; + } + catch (...) + { + *signalNotifier = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AttachToSemaphore(impl::abi_arg_in name, impl::abi_arg_in handler, impl::abi_arg_out signalNotifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *signalNotifier = detach_abi(this->shim().AttachToSemaphore(*reinterpret_cast(&name), *reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *signalNotifier = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AttachToSemaphoreWithTimeout(impl::abi_arg_in name, impl::abi_arg_in handler, impl::abi_arg_in timeout, impl::abi_arg_out signalNotifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *signalNotifier = detach_abi(this->shim().AttachToSemaphore(*reinterpret_cast(&name), *reinterpret_cast(&handler), *reinterpret_cast(&timeout))); + return S_OK; + } + catch (...) + { + *signalNotifier = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Threading::Core { + +template Windows::System::Threading::Core::SignalNotifier impl_ISignalNotifierStatics::AttachToEvent(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler) const +{ + Windows::System::Threading::Core::SignalNotifier signalNotifier { nullptr }; + check_hresult(WINRT_SHIM(ISignalNotifierStatics)->abi_AttachToEvent(get_abi(name), get_abi(handler), put_abi(signalNotifier))); + return signalNotifier; +} + +template Windows::System::Threading::Core::SignalNotifier impl_ISignalNotifierStatics::AttachToEvent(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler, const Windows::Foundation::TimeSpan & timeout) const +{ + Windows::System::Threading::Core::SignalNotifier signalNotifier { nullptr }; + check_hresult(WINRT_SHIM(ISignalNotifierStatics)->abi_AttachToEventWithTimeout(get_abi(name), get_abi(handler), get_abi(timeout), put_abi(signalNotifier))); + return signalNotifier; +} + +template Windows::System::Threading::Core::SignalNotifier impl_ISignalNotifierStatics::AttachToSemaphore(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler) const +{ + Windows::System::Threading::Core::SignalNotifier signalNotifier { nullptr }; + check_hresult(WINRT_SHIM(ISignalNotifierStatics)->abi_AttachToSemaphore(get_abi(name), get_abi(handler), put_abi(signalNotifier))); + return signalNotifier; +} + +template Windows::System::Threading::Core::SignalNotifier impl_ISignalNotifierStatics::AttachToSemaphore(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler, const Windows::Foundation::TimeSpan & timeout) const +{ + Windows::System::Threading::Core::SignalNotifier signalNotifier { nullptr }; + check_hresult(WINRT_SHIM(ISignalNotifierStatics)->abi_AttachToSemaphoreWithTimeout(get_abi(name), get_abi(handler), get_abi(timeout), put_abi(signalNotifier))); + return signalNotifier; +} + +template Windows::System::Threading::Core::PreallocatedWorkItem impl_IPreallocatedWorkItemFactory::CreateWorkItem(const Windows::System::Threading::WorkItemHandler & handler) const +{ + Windows::System::Threading::Core::PreallocatedWorkItem workItem { nullptr }; + check_hresult(WINRT_SHIM(IPreallocatedWorkItemFactory)->abi_CreateWorkItem(get_abi(handler), put_abi(workItem))); + return workItem; +} + +template Windows::System::Threading::Core::PreallocatedWorkItem impl_IPreallocatedWorkItemFactory::CreateWorkItemWithPriority(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority) const +{ + Windows::System::Threading::Core::PreallocatedWorkItem WorkItem { nullptr }; + check_hresult(WINRT_SHIM(IPreallocatedWorkItemFactory)->abi_CreateWorkItemWithPriority(get_abi(handler), priority, put_abi(WorkItem))); + return WorkItem; +} + +template Windows::System::Threading::Core::PreallocatedWorkItem impl_IPreallocatedWorkItemFactory::CreateWorkItemWithPriorityAndOptions(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority, Windows::System::Threading::WorkItemOptions options) const +{ + Windows::System::Threading::Core::PreallocatedWorkItem WorkItem { nullptr }; + check_hresult(WINRT_SHIM(IPreallocatedWorkItemFactory)->abi_CreateWorkItemWithPriorityAndOptions(get_abi(handler), priority, options, put_abi(WorkItem))); + return WorkItem; +} + +template Windows::Foundation::IAsyncAction impl_IPreallocatedWorkItem::RunAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IPreallocatedWorkItem)->abi_RunAsync(put_abi(operation))); + return operation; +} + +template void impl_ISignalNotifier::Enable() const +{ + check_hresult(WINRT_SHIM(ISignalNotifier)->abi_Enable()); +} + +template void impl_ISignalNotifier::Terminate() const +{ + check_hresult(WINRT_SHIM(ISignalNotifier)->abi_Terminate()); +} + +inline PreallocatedWorkItem::PreallocatedWorkItem(const Windows::System::Threading::WorkItemHandler & handler) : + PreallocatedWorkItem(get_activation_factory().CreateWorkItem(handler)) +{} + +inline PreallocatedWorkItem::PreallocatedWorkItem(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority) : + PreallocatedWorkItem(get_activation_factory().CreateWorkItemWithPriority(handler, priority)) +{} + +inline PreallocatedWorkItem::PreallocatedWorkItem(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority, Windows::System::Threading::WorkItemOptions options) : + PreallocatedWorkItem(get_activation_factory().CreateWorkItemWithPriorityAndOptions(handler, priority, options)) +{} + +inline Windows::System::Threading::Core::SignalNotifier SignalNotifier::AttachToEvent(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler) +{ + return get_activation_factory().AttachToEvent(name, handler); +} + +inline Windows::System::Threading::Core::SignalNotifier SignalNotifier::AttachToEvent(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler, const Windows::Foundation::TimeSpan & timeout) +{ + return get_activation_factory().AttachToEvent(name, handler, timeout); +} + +inline Windows::System::Threading::Core::SignalNotifier SignalNotifier::AttachToSemaphore(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler) +{ + return get_activation_factory().AttachToSemaphore(name, handler); +} + +inline Windows::System::Threading::Core::SignalNotifier SignalNotifier::AttachToSemaphore(hstring_view name, const Windows::System::Threading::Core::SignalHandler & handler, const Windows::Foundation::TimeSpan & timeout) +{ + return get_activation_factory().AttachToSemaphore(name, handler, timeout); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::Core::IPreallocatedWorkItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::Core::IPreallocatedWorkItemFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::Core::ISignalNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::Core::ISignalNotifierStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::Core::PreallocatedWorkItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::Core::SignalNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.Threading.h b/10.0.15042.0/winrt/Windows.System.Threading.h new file mode 100644 index 000000000..ea68155a3 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.Threading.h @@ -0,0 +1,378 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.Threading.3.h" +#include "Windows.System.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::System::Threading { + +template TimerDestroyedHandler::TimerDestroyedHandler(L lambda) : + TimerDestroyedHandler(impl::make_delegate, TimerDestroyedHandler>(std::forward(lambda))) +{} + +template TimerDestroyedHandler::TimerDestroyedHandler(F * function) : + TimerDestroyedHandler([=](auto && ... args) { function(args ...); }) +{} + +template TimerDestroyedHandler::TimerDestroyedHandler(O * object, M method) : + TimerDestroyedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void TimerDestroyedHandler::operator()(const Windows::System::Threading::ThreadPoolTimer & timer) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(timer))); +} + +template TimerElapsedHandler::TimerElapsedHandler(L lambda) : + TimerElapsedHandler(impl::make_delegate, TimerElapsedHandler>(std::forward(lambda))) +{} + +template TimerElapsedHandler::TimerElapsedHandler(F * function) : + TimerElapsedHandler([=](auto && ... args) { function(args ...); }) +{} + +template TimerElapsedHandler::TimerElapsedHandler(O * object, M method) : + TimerElapsedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void TimerElapsedHandler::operator()(const Windows::System::Threading::ThreadPoolTimer & timer) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(timer))); +} + +template WorkItemHandler::WorkItemHandler(L lambda) : + WorkItemHandler(impl::make_delegate, WorkItemHandler>(std::forward(lambda))) +{} + +template WorkItemHandler::WorkItemHandler(F * function) : + WorkItemHandler([=](auto && ... args) { function(args ...); }) +{} + +template WorkItemHandler::WorkItemHandler(O * object, M method) : + WorkItemHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void WorkItemHandler::operator()(const Windows::Foundation::IAsyncAction & operation) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(operation))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RunAsync(impl::abi_arg_in handler, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RunAsync(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RunWithPriorityAsync(impl::abi_arg_in handler, Windows::System::Threading::WorkItemPriority priority, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RunAsync(*reinterpret_cast(&handler), priority)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RunWithPriorityAndOptionsAsync(impl::abi_arg_in handler, Windows::System::Threading::WorkItemPriority priority, Windows::System::Threading::WorkItemOptions options, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RunAsync(*reinterpret_cast(&handler), priority, options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Period(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Period()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Delay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Cancel() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePeriodicTimer(impl::abi_arg_in handler, impl::abi_arg_in period, impl::abi_arg_out timer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *timer = detach_abi(this->shim().CreatePeriodicTimer(*reinterpret_cast(&handler), *reinterpret_cast(&period))); + return S_OK; + } + catch (...) + { + *timer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTimer(impl::abi_arg_in handler, impl::abi_arg_in delay, impl::abi_arg_out timer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *timer = detach_abi(this->shim().CreateTimer(*reinterpret_cast(&handler), *reinterpret_cast(&delay))); + return S_OK; + } + catch (...) + { + *timer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePeriodicTimerWithCompletion(impl::abi_arg_in handler, impl::abi_arg_in period, impl::abi_arg_in destroyed, impl::abi_arg_out timer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *timer = detach_abi(this->shim().CreatePeriodicTimer(*reinterpret_cast(&handler), *reinterpret_cast(&period), *reinterpret_cast(&destroyed))); + return S_OK; + } + catch (...) + { + *timer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTimerWithCompletion(impl::abi_arg_in handler, impl::abi_arg_in delay, impl::abi_arg_in destroyed, impl::abi_arg_out timer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *timer = detach_abi(this->shim().CreateTimer(*reinterpret_cast(&handler), *reinterpret_cast(&delay), *reinterpret_cast(&destroyed))); + return S_OK; + } + catch (...) + { + *timer = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::Threading { + +template Windows::Foundation::IAsyncAction impl_IThreadPoolStatics::RunAsync(const Windows::System::Threading::WorkItemHandler & handler) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IThreadPoolStatics)->abi_RunAsync(get_abi(handler), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IThreadPoolStatics::RunAsync(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IThreadPoolStatics)->abi_RunWithPriorityAsync(get_abi(handler), priority, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IThreadPoolStatics::RunAsync(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority, Windows::System::Threading::WorkItemOptions options) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IThreadPoolStatics)->abi_RunWithPriorityAndOptionsAsync(get_abi(handler), priority, options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::TimeSpan impl_IThreadPoolTimer::Period() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IThreadPoolTimer)->get_Period(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IThreadPoolTimer::Delay() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IThreadPoolTimer)->get_Delay(put_abi(value))); + return value; +} + +template void impl_IThreadPoolTimer::Cancel() const +{ + check_hresult(WINRT_SHIM(IThreadPoolTimer)->abi_Cancel()); +} + +template Windows::System::Threading::ThreadPoolTimer impl_IThreadPoolTimerStatics::CreatePeriodicTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & period) const +{ + Windows::System::Threading::ThreadPoolTimer timer { nullptr }; + check_hresult(WINRT_SHIM(IThreadPoolTimerStatics)->abi_CreatePeriodicTimer(get_abi(handler), get_abi(period), put_abi(timer))); + return timer; +} + +template Windows::System::Threading::ThreadPoolTimer impl_IThreadPoolTimerStatics::CreateTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & delay) const +{ + Windows::System::Threading::ThreadPoolTimer timer { nullptr }; + check_hresult(WINRT_SHIM(IThreadPoolTimerStatics)->abi_CreateTimer(get_abi(handler), get_abi(delay), put_abi(timer))); + return timer; +} + +template Windows::System::Threading::ThreadPoolTimer impl_IThreadPoolTimerStatics::CreatePeriodicTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & period, const Windows::System::Threading::TimerDestroyedHandler & destroyed) const +{ + Windows::System::Threading::ThreadPoolTimer timer { nullptr }; + check_hresult(WINRT_SHIM(IThreadPoolTimerStatics)->abi_CreatePeriodicTimerWithCompletion(get_abi(handler), get_abi(period), get_abi(destroyed), put_abi(timer))); + return timer; +} + +template Windows::System::Threading::ThreadPoolTimer impl_IThreadPoolTimerStatics::CreateTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & delay, const Windows::System::Threading::TimerDestroyedHandler & destroyed) const +{ + Windows::System::Threading::ThreadPoolTimer timer { nullptr }; + check_hresult(WINRT_SHIM(IThreadPoolTimerStatics)->abi_CreateTimerWithCompletion(get_abi(handler), get_abi(delay), get_abi(destroyed), put_abi(timer))); + return timer; +} + +inline Windows::Foundation::IAsyncAction ThreadPool::RunAsync(const Windows::System::Threading::WorkItemHandler & handler) +{ + return get_activation_factory().RunAsync(handler); +} + +inline Windows::Foundation::IAsyncAction ThreadPool::RunAsync(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority) +{ + return get_activation_factory().RunAsync(handler, priority); +} + +inline Windows::Foundation::IAsyncAction ThreadPool::RunAsync(const Windows::System::Threading::WorkItemHandler & handler, Windows::System::Threading::WorkItemPriority priority, Windows::System::Threading::WorkItemOptions options) +{ + return get_activation_factory().RunAsync(handler, priority, options); +} + +inline Windows::System::Threading::ThreadPoolTimer ThreadPoolTimer::CreatePeriodicTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & period) +{ + return get_activation_factory().CreatePeriodicTimer(handler, period); +} + +inline Windows::System::Threading::ThreadPoolTimer ThreadPoolTimer::CreateTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & delay) +{ + return get_activation_factory().CreateTimer(handler, delay); +} + +inline Windows::System::Threading::ThreadPoolTimer ThreadPoolTimer::CreatePeriodicTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & period, const Windows::System::Threading::TimerDestroyedHandler & destroyed) +{ + return get_activation_factory().CreatePeriodicTimer(handler, period, destroyed); +} + +inline Windows::System::Threading::ThreadPoolTimer ThreadPoolTimer::CreateTimer(const Windows::System::Threading::TimerElapsedHandler & handler, const Windows::Foundation::TimeSpan & delay, const Windows::System::Threading::TimerDestroyedHandler & destroyed) +{ + return get_activation_factory().CreateTimer(handler, delay, destroyed); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::IThreadPoolStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::IThreadPoolTimer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::IThreadPoolTimerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::Threading::ThreadPoolTimer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.UserProfile.h b/10.0.15042.0/winrt/Windows.System.UserProfile.h new file mode 100644 index 000000000..bb200014c --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.UserProfile.h @@ -0,0 +1,1287 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.System.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.System.UserProfile.3.h" +#include "Windows.System.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AdvertisingId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisingId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AdvertisingId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvertisingId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanUseDiagnosticsToTailorExperiences(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanUseDiagnosticsToTailorExperiences()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Calendars(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Calendars()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Clocks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clocks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Currencies(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Currencies()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Languages(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Languages()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HomeGeographicRegion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HomeGeographicRegion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekStartsOn(Windows::Globalization::DayOfWeek * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekStartsOn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestSetImageFeedAsync(impl::abi_arg_in syndicationFeedUri, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestSetImageFeedAsync(*reinterpret_cast(&syndicationFeedUri))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRemoveImageFeed(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryRemoveImageFeed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OriginalImageFile(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OriginalImageFile()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetImageStream(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetImageStream()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetImageFileAsync(impl::abi_arg_in value, impl::abi_arg_out Operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *Operation = detach_abi(this->shim().SetImageFileAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *Operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetImageStreamAsync(impl::abi_arg_in value, impl::abi_arg_out Operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *Operation = detach_abi(this->shim().SetImageStreamAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *Operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccountPictureChangeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountPictureChangeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NameAccessAllowed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NameAccessAllowed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccountPicture(Windows::System::UserProfile::AccountPictureKind kind, impl::abi_arg_out storageFile) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *storageFile = detach_abi(this->shim().GetAccountPicture(kind)); + return S_OK; + } + catch (...) + { + *storageFile = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAccountPictureAsync(impl::abi_arg_in image, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetAccountPictureAsync(*reinterpret_cast(&image))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAccountPicturesAsync(impl::abi_arg_in smallImage, impl::abi_arg_in largeImage, impl::abi_arg_in video, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetAccountPicturesAsync(*reinterpret_cast(&smallImage), *reinterpret_cast(&largeImage), *reinterpret_cast(&video))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAccountPictureFromStreamAsync(impl::abi_arg_in image, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetAccountPictureFromStreamAsync(*reinterpret_cast(&image))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAccountPicturesFromStreamsAsync(impl::abi_arg_in smallImage, impl::abi_arg_in largeImage, impl::abi_arg_in video, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SetAccountPicturesFromStreamsAsync(*reinterpret_cast(&smallImage), *reinterpret_cast(&largeImage), *reinterpret_cast(&video))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AccountPictureChanged(impl::abi_arg_in> changeHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AccountPictureChanged(*reinterpret_cast *>(&changeHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AccountPictureChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccountPictureChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDisplayNameAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDisplayNameAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFirstNameAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetFirstNameAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLastNameAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetLastNameAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPrincipalNameAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPrincipalNameAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSessionInitiationProtocolUriAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetSessionInitiationProtocolUriAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDomainNameAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetDomainNameAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TrySetLockScreenImageAsync(impl::abi_arg_in imageFile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TrySetLockScreenImageAsync(*reinterpret_cast(&imageFile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetWallpaperImageAsync(impl::abi_arg_in imageFile, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TrySetWallpaperImageAsync(*reinterpret_cast(&imageFile))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System::UserProfile { + +template hstring impl_IAdvertisingManagerStatics::AdvertisingId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAdvertisingManagerStatics)->get_AdvertisingId(put_abi(value))); + return value; +} + +template hstring impl_IAdvertisingManagerForUser::AdvertisingId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAdvertisingManagerForUser)->get_AdvertisingId(put_abi(value))); + return value; +} + +template Windows::System::User impl_IAdvertisingManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IAdvertisingManagerForUser)->get_User(put_abi(value))); + return value; +} + +template Windows::System::UserProfile::AdvertisingManagerForUser impl_IAdvertisingManagerStatics2::GetForUser(const Windows::System::User & user) const +{ + Windows::System::UserProfile::AdvertisingManagerForUser value { nullptr }; + check_hresult(WINRT_SHIM(IAdvertisingManagerStatics2)->abi_GetForUser(get_abi(user), put_abi(value))); + return value; +} + +template Windows::System::UserProfile::DiagnosticsSettings impl_IDiagnosticsSettingsStatics::GetDefault() const +{ + Windows::System::UserProfile::DiagnosticsSettings value { nullptr }; + check_hresult(WINRT_SHIM(IDiagnosticsSettingsStatics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::System::UserProfile::DiagnosticsSettings impl_IDiagnosticsSettingsStatics::GetForUser(const Windows::System::User & user) const +{ + Windows::System::UserProfile::DiagnosticsSettings value { nullptr }; + check_hresult(WINRT_SHIM(IDiagnosticsSettingsStatics)->abi_GetForUser(get_abi(user), put_abi(value))); + return value; +} + +template bool impl_IDiagnosticsSettings::CanUseDiagnosticsToTailorExperiences() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDiagnosticsSettings)->get_CanUseDiagnosticsToTailorExperiences(&value)); + return value; +} + +template Windows::System::User impl_IDiagnosticsSettings::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IDiagnosticsSettings)->get_User(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUserProfilePersonalizationSettings::TrySetLockScreenImageAsync(const Windows::Storage::StorageFile & imageFile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserProfilePersonalizationSettings)->abi_TrySetLockScreenImageAsync(get_abi(imageFile), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserProfilePersonalizationSettings::TrySetWallpaperImageAsync(const Windows::Storage::StorageFile & imageFile) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserProfilePersonalizationSettings)->abi_TrySetWallpaperImageAsync(get_abi(imageFile), put_abi(operation))); + return operation; +} + +template Windows::System::UserProfile::UserProfilePersonalizationSettings impl_IUserProfilePersonalizationSettingsStatics::Current() const +{ + Windows::System::UserProfile::UserProfilePersonalizationSettings value { nullptr }; + check_hresult(WINRT_SHIM(IUserProfilePersonalizationSettingsStatics)->get_Current(put_abi(value))); + return value; +} + +template bool impl_IUserProfilePersonalizationSettingsStatics::IsSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IUserProfilePersonalizationSettingsStatics)->abi_IsSupported(&result)); + return result; +} + +template Windows::Foundation::Collections::IVectorView impl_IGlobalizationPreferencesStatics::Calendars() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGlobalizationPreferencesStatics)->get_Calendars(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGlobalizationPreferencesStatics::Clocks() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGlobalizationPreferencesStatics)->get_Clocks(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGlobalizationPreferencesStatics::Currencies() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGlobalizationPreferencesStatics)->get_Currencies(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IGlobalizationPreferencesStatics::Languages() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IGlobalizationPreferencesStatics)->get_Languages(put_abi(value))); + return value; +} + +template hstring impl_IGlobalizationPreferencesStatics::HomeGeographicRegion() const +{ + hstring value; + check_hresult(WINRT_SHIM(IGlobalizationPreferencesStatics)->get_HomeGeographicRegion(put_abi(value))); + return value; +} + +template Windows::Globalization::DayOfWeek impl_IGlobalizationPreferencesStatics::WeekStartsOn() const +{ + Windows::Globalization::DayOfWeek value {}; + check_hresult(WINRT_SHIM(IGlobalizationPreferencesStatics)->get_WeekStartsOn(&value)); + return value; +} + +template Windows::System::UserProfile::FirstSignInSettings impl_IFirstSignInSettingsStatics::GetDefault() const +{ + Windows::System::UserProfile::FirstSignInSettings result { nullptr }; + check_hresult(WINRT_SHIM(IFirstSignInSettingsStatics)->abi_GetDefault(put_abi(result))); + return result; +} + +template bool impl_IUserInformationStatics::AccountPictureChangeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserInformationStatics)->get_AccountPictureChangeEnabled(&value)); + return value; +} + +template bool impl_IUserInformationStatics::NameAccessAllowed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserInformationStatics)->get_NameAccessAllowed(&value)); + return value; +} + +template Windows::Storage::IStorageFile impl_IUserInformationStatics::GetAccountPicture(Windows::System::UserProfile::AccountPictureKind kind) const +{ + Windows::Storage::IStorageFile storageFile; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_GetAccountPicture(kind, put_abi(storageFile))); + return storageFile; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::SetAccountPictureAsync(const Windows::Storage::IStorageFile & image) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_SetAccountPictureAsync(get_abi(image), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::SetAccountPicturesAsync(const Windows::Storage::IStorageFile & smallImage, const Windows::Storage::IStorageFile & largeImage, const Windows::Storage::IStorageFile & video) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_SetAccountPicturesAsync(get_abi(smallImage), get_abi(largeImage), get_abi(video), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::SetAccountPictureFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & image) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_SetAccountPictureFromStreamAsync(get_abi(image), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::SetAccountPicturesFromStreamsAsync(const Windows::Storage::Streams::IRandomAccessStream & smallImage, const Windows::Storage::Streams::IRandomAccessStream & largeImage, const Windows::Storage::Streams::IRandomAccessStream & video) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_SetAccountPicturesFromStreamsAsync(get_abi(smallImage), get_abi(largeImage), get_abi(video), put_abi(operation))); + return operation; +} + +template event_token impl_IUserInformationStatics::AccountPictureChanged(const Windows::Foundation::EventHandler & changeHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserInformationStatics)->add_AccountPictureChanged(get_abi(changeHandler), &token)); + return token; +} + +template event_revoker impl_IUserInformationStatics::AccountPictureChanged(auto_revoke_t, const Windows::Foundation::EventHandler & changeHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::UserProfile::IUserInformationStatics::remove_AccountPictureChanged, AccountPictureChanged(changeHandler)); +} + +template void impl_IUserInformationStatics::AccountPictureChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserInformationStatics)->remove_AccountPictureChanged(token)); +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::GetDisplayNameAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_GetDisplayNameAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::GetFirstNameAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_GetFirstNameAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::GetLastNameAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_GetLastNameAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::GetPrincipalNameAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_GetPrincipalNameAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::GetSessionInitiationProtocolUriAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_GetSessionInitiationProtocolUriAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUserInformationStatics::GetDomainNameAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUserInformationStatics)->abi_GetDomainNameAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::Uri impl_ILockScreenStatics::OriginalImageFile() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ILockScreenStatics)->get_OriginalImageFile(put_abi(value))); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStream impl_ILockScreenStatics::GetImageStream() const +{ + Windows::Storage::Streams::IRandomAccessStream value; + check_hresult(WINRT_SHIM(ILockScreenStatics)->abi_GetImageStream(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_ILockScreenStatics::SetImageFileAsync(const Windows::Storage::IStorageFile & value) const +{ + Windows::Foundation::IAsyncAction Operation; + check_hresult(WINRT_SHIM(ILockScreenStatics)->abi_SetImageFileAsync(get_abi(value), put_abi(Operation))); + return Operation; +} + +template Windows::Foundation::IAsyncAction impl_ILockScreenStatics::SetImageStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + Windows::Foundation::IAsyncAction Operation; + check_hresult(WINRT_SHIM(ILockScreenStatics)->abi_SetImageStreamAsync(get_abi(value), put_abi(Operation))); + return Operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILockScreenImageFeedStatics::RequestSetImageFeedAsync(const Windows::Foundation::Uri & syndicationFeedUri) const +{ + Windows::Foundation::IAsyncOperation value; + check_hresult(WINRT_SHIM(ILockScreenImageFeedStatics)->abi_RequestSetImageFeedAsync(get_abi(syndicationFeedUri), put_abi(value))); + return value; +} + +template bool impl_ILockScreenImageFeedStatics::TryRemoveImageFeed() const +{ + bool result {}; + check_hresult(WINRT_SHIM(ILockScreenImageFeedStatics)->abi_TryRemoveImageFeed(&result)); + return result; +} + +inline hstring AdvertisingManager::AdvertisingId() +{ + return get_activation_factory().AdvertisingId(); +} + +inline Windows::System::UserProfile::AdvertisingManagerForUser AdvertisingManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline Windows::System::UserProfile::DiagnosticsSettings DiagnosticsSettings::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::System::UserProfile::DiagnosticsSettings DiagnosticsSettings::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline Windows::System::UserProfile::FirstSignInSettings FirstSignInSettings::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::Foundation::Collections::IVectorView GlobalizationPreferences::Calendars() +{ + return get_activation_factory().Calendars(); +} + +inline Windows::Foundation::Collections::IVectorView GlobalizationPreferences::Clocks() +{ + return get_activation_factory().Clocks(); +} + +inline Windows::Foundation::Collections::IVectorView GlobalizationPreferences::Currencies() +{ + return get_activation_factory().Currencies(); +} + +inline Windows::Foundation::Collections::IVectorView GlobalizationPreferences::Languages() +{ + return get_activation_factory().Languages(); +} + +inline hstring GlobalizationPreferences::HomeGeographicRegion() +{ + return get_activation_factory().HomeGeographicRegion(); +} + +inline Windows::Globalization::DayOfWeek GlobalizationPreferences::WeekStartsOn() +{ + return get_activation_factory().WeekStartsOn(); +} + +inline Windows::Foundation::IAsyncOperation LockScreen::RequestSetImageFeedAsync(const Windows::Foundation::Uri & syndicationFeedUri) +{ + return get_activation_factory().RequestSetImageFeedAsync(syndicationFeedUri); +} + +inline bool LockScreen::TryRemoveImageFeed() +{ + return get_activation_factory().TryRemoveImageFeed(); +} + +inline Windows::Foundation::Uri LockScreen::OriginalImageFile() +{ + return get_activation_factory().OriginalImageFile(); +} + +inline Windows::Storage::Streams::IRandomAccessStream LockScreen::GetImageStream() +{ + return get_activation_factory().GetImageStream(); +} + +inline Windows::Foundation::IAsyncAction LockScreen::SetImageFileAsync(const Windows::Storage::IStorageFile & value) +{ + return get_activation_factory().SetImageFileAsync(value); +} + +inline Windows::Foundation::IAsyncAction LockScreen::SetImageStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & value) +{ + return get_activation_factory().SetImageStreamAsync(value); +} + +inline bool UserInformation::AccountPictureChangeEnabled() +{ + return get_activation_factory().AccountPictureChangeEnabled(); +} + +inline bool UserInformation::NameAccessAllowed() +{ + return get_activation_factory().NameAccessAllowed(); +} + +inline Windows::Storage::IStorageFile UserInformation::GetAccountPicture(Windows::System::UserProfile::AccountPictureKind kind) +{ + return get_activation_factory().GetAccountPicture(kind); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::SetAccountPictureAsync(const Windows::Storage::IStorageFile & image) +{ + return get_activation_factory().SetAccountPictureAsync(image); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::SetAccountPicturesAsync(const Windows::Storage::IStorageFile & smallImage, const Windows::Storage::IStorageFile & largeImage, const Windows::Storage::IStorageFile & video) +{ + return get_activation_factory().SetAccountPicturesAsync(smallImage, largeImage, video); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::SetAccountPictureFromStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & image) +{ + return get_activation_factory().SetAccountPictureFromStreamAsync(image); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::SetAccountPicturesFromStreamsAsync(const Windows::Storage::Streams::IRandomAccessStream & smallImage, const Windows::Storage::Streams::IRandomAccessStream & largeImage, const Windows::Storage::Streams::IRandomAccessStream & video) +{ + return get_activation_factory().SetAccountPicturesFromStreamsAsync(smallImage, largeImage, video); +} + +inline event_token UserInformation::AccountPictureChanged(const Windows::Foundation::EventHandler & changeHandler) +{ + return get_activation_factory().AccountPictureChanged(changeHandler); +} + +inline factory_event_revoker UserInformation::AccountPictureChanged(auto_revoke_t, const Windows::Foundation::EventHandler & changeHandler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::UserProfile::IUserInformationStatics::remove_AccountPictureChanged, factory.AccountPictureChanged(changeHandler) }; +} + +inline void UserInformation::AccountPictureChanged(event_token token) +{ + get_activation_factory().AccountPictureChanged(token); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::GetDisplayNameAsync() +{ + return get_activation_factory().GetDisplayNameAsync(); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::GetFirstNameAsync() +{ + return get_activation_factory().GetFirstNameAsync(); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::GetLastNameAsync() +{ + return get_activation_factory().GetLastNameAsync(); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::GetPrincipalNameAsync() +{ + return get_activation_factory().GetPrincipalNameAsync(); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::GetSessionInitiationProtocolUriAsync() +{ + return get_activation_factory().GetSessionInitiationProtocolUriAsync(); +} + +inline Windows::Foundation::IAsyncOperation UserInformation::GetDomainNameAsync() +{ + return get_activation_factory().GetDomainNameAsync(); +} + +inline Windows::System::UserProfile::UserProfilePersonalizationSettings UserProfilePersonalizationSettings::Current() +{ + return get_activation_factory().Current(); +} + +inline bool UserProfilePersonalizationSettings::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IAdvertisingManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IAdvertisingManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IAdvertisingManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IDiagnosticsSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IDiagnosticsSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IFirstSignInSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IFirstSignInSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IGlobalizationPreferencesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::ILockScreenImageFeedStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::ILockScreenStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IUserInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IUserProfilePersonalizationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::IUserProfilePersonalizationSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::AdvertisingManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::DiagnosticsSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::FirstSignInSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserProfile::UserProfilePersonalizationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.System.h b/10.0.15042.0/winrt/Windows.System.h new file mode 100644 index 000000000..934214c11 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.System.h @@ -0,0 +1,4524 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.Storage.Search.3.h" +#include "internal/Windows.UI.ViewManagement.3.h" +#include "internal/Windows.Storage.3.h" +#include "internal/Windows.System.RemoteSystems.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.System.3.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestInfoAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestInfoAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrivateCommitUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrivateCommitUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeakPrivateCommitUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeakPrivateCommitUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalCommitUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalCommitUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalCommitLimit(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalCommitLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldLimit(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewLimit(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsToSelect(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsToSelect()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProviderName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProviderName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccountName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GuestHost(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GuestHost()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrincipalName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrincipalName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DomainName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DomainName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SessionInitiationProtocolUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SessionInitiationProtocolUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::System::LaunchUriStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Result(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TreatAsUntrusted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TreatAsUntrusted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TreatAsUntrusted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TreatAsUntrusted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayApplicationPicker(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayApplicationPicker()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayApplicationPicker(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayApplicationPicker(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UI(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UI()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredApplicationPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredApplicationPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredApplicationPackageFamilyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredApplicationPackageFamilyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredApplicationDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredApplicationDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredApplicationDisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredApplicationDisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FallbackUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FallbackUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetApplicationPackageFamilyName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetApplicationPackageFamilyName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetApplicationPackageFamilyName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetApplicationPackageFamilyName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NeighboringFilesQuery(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NeighboringFilesQuery()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NeighboringFilesQuery(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NeighboringFilesQuery(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IgnoreAppUriHandlers(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IgnoreAppUriHandlers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IgnoreAppUriHandlers(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IgnoreAppUriHandlers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LimitPickerToCurrentAppAndAppUriHandlers(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LimitPickerToCurrentAppAndAppUriHandlers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LimitPickerToCurrentAppAndAppUriHandlers(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LimitPickerToCurrentAppAndAppUriHandlers(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LaunchFileAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchFileAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchFileWithOptionsAsync(impl::abi_arg_in file, impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchFileAsync(*reinterpret_cast(&file), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriAsync(impl::abi_arg_in uri, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriWithOptionsAsync(impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriAsync(*reinterpret_cast(&uri), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LaunchUriForResultsAsync(impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriForResultsAsync(*reinterpret_cast(&uri), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriForResultsWithDataAsync(impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_in inputData, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriForResultsAsync(*reinterpret_cast(&uri), *reinterpret_cast(&options), *reinterpret_cast(&inputData))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriWithDataAsync(impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_in inputData, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriAsync(*reinterpret_cast(&uri), *reinterpret_cast(&options), *reinterpret_cast(&inputData))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_QueryUriSupportAsync(impl::abi_arg_in uri, Windows::System::LaunchQuerySupportType launchQuerySupportType, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().QueryUriSupportAsync(*reinterpret_cast(&uri), launchQuerySupportType)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_QueryUriSupportWithPackageFamilyNameAsync(impl::abi_arg_in uri, Windows::System::LaunchQuerySupportType launchQuerySupportType, impl::abi_arg_in packageFamilyName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().QueryUriSupportAsync(*reinterpret_cast(&uri), launchQuerySupportType, *reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_QueryFileSupportAsync(impl::abi_arg_in file, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().QueryFileSupportAsync(*reinterpret_cast(&file))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_QueryFileSupportWithPackageFamilyNameAsync(impl::abi_arg_in file, impl::abi_arg_in packageFamilyName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().QueryFileSupportAsync(*reinterpret_cast(&file), *reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindUriSchemeHandlersAsync(impl::abi_arg_in scheme, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindUriSchemeHandlersAsync(*reinterpret_cast(&scheme))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindUriSchemeHandlersWithLaunchUriTypeAsync(impl::abi_arg_in scheme, Windows::System::LaunchQuerySupportType launchQuerySupportType, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindUriSchemeHandlersAsync(*reinterpret_cast(&scheme), launchQuerySupportType)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindFileHandlersAsync(impl::abi_arg_in extension, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindFileHandlersAsync(*reinterpret_cast(&extension))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LaunchFolderAsync(impl::abi_arg_in folder, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchFolderAsync(*reinterpret_cast(&folder))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchFolderWithOptionsAsync(impl::abi_arg_in folder, impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchFolderAsync(*reinterpret_cast(&folder), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_QueryAppUriSupportAsync(impl::abi_arg_in uri, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().QueryAppUriSupportAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_QueryAppUriSupportWithPackageFamilyNameAsync(impl::abi_arg_in uri, impl::abi_arg_in packageFamilyName, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().QueryAppUriSupportAsync(*reinterpret_cast(&uri), *reinterpret_cast(&packageFamilyName))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAppUriHandlersAsync(impl::abi_arg_in uri, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAppUriHandlersAsync(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriForUserAsync(impl::abi_arg_in user, impl::abi_arg_in uri, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriWithOptionsForUserAsync(impl::abi_arg_in user, impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&uri), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriWithDataForUserAsync(impl::abi_arg_in user, impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_in inputData, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&uri), *reinterpret_cast(&options), *reinterpret_cast(&inputData))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriForResultsForUserAsync(impl::abi_arg_in user, impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriForResultsForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&uri), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriForResultsWithDataForUserAsync(impl::abi_arg_in user, impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_in inputData, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriForResultsForUserAsync(*reinterpret_cast(&user), *reinterpret_cast(&uri), *reinterpret_cast(&options), *reinterpret_cast(&inputData))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InvocationPoint(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InvocationPoint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InvocationPoint(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InvocationPoint(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionRect(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionRect()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionRect(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionRect(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredPlacement(Windows::UI::Popups::Placement * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredPlacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredPlacement(Windows::UI::Popups::Placement value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredPlacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredRemainingView(Windows::UI::ViewManagement::ViewSizePreference * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredRemainingView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredRemainingView(Windows::UI::ViewManagement::ViewSizePreference value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredRemainingView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppMemoryUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppMemoryUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppMemoryUsageLimit(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppMemoryUsageLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppMemoryUsageLevel(Windows::System::AppMemoryUsageLevel * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppMemoryUsageLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AppMemoryUsageIncreased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AppMemoryUsageIncreased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AppMemoryUsageIncreased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppMemoryUsageIncreased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AppMemoryUsageDecreased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AppMemoryUsageDecreased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AppMemoryUsageDecreased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppMemoryUsageDecreased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AppMemoryUsageLimitChanging(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AppMemoryUsageLimitChanging(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AppMemoryUsageLimitChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppMemoryUsageLimitChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAppMemoryReport(impl::abi_arg_out memoryReport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *memoryReport = detach_abi(this->shim().GetAppMemoryReport()); + return S_OK; + } + catch (...) + { + *memoryReport = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetProcessMemoryReport(impl::abi_arg_out memoryReport) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *memoryReport = detach_abi(this->shim().GetProcessMemoryReport()); + return S_OK; + } + catch (...) + { + *memoryReport = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TrySetAppMemoryUsageLimit(uint64_t value, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySetAppMemoryUsageLimit(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StandardInput(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StandardInput()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StandardInput(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StandardInput(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StandardOutput(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StandardOutput()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StandardOutput(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StandardOutput(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StandardError(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StandardError()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StandardError(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StandardError(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WorkingDirectory(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WorkingDirectory()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WorkingDirectory(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WorkingDirectory(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExitCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExitCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RunToCompletionAsync(impl::abi_arg_in fileName, impl::abi_arg_in args, impl::abi_arg_out> asyncOperationResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperationResult = detach_abi(this->shim().RunToCompletionAsync(*reinterpret_cast(&fileName), *reinterpret_cast(&args))); + return S_OK; + } + catch (...) + { + *asyncOperationResult = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RunToCompletionAsyncWithOptions(impl::abi_arg_in fileName, impl::abi_arg_in args, impl::abi_arg_in options, impl::abi_arg_out> asyncOperationResult) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperationResult = detach_abi(this->shim().RunToCompletionAsync(*reinterpret_cast(&fileName), *reinterpret_cast(&args), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *asyncOperationResult = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrivateWorkingSetUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrivateWorkingSetUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TotalWorkingSetUsage(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TotalWorkingSetUsage()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReportCompleted(impl::abi_arg_in data) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReportCompleted(*reinterpret_cast(&data)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FallbackUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FallbackUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FallbackUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FallbackUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredAppIds(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredAppIds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LaunchUriAsync(impl::abi_arg_in remoteSystemConnectionRequest, impl::abi_arg_in uri, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriAsync(*reinterpret_cast(&remoteSystemConnectionRequest), *reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriWithOptionsAsync(impl::abi_arg_in remoteSystemConnectionRequest, impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriAsync(*reinterpret_cast(&remoteSystemConnectionRequest), *reinterpret_cast(&uri), *reinterpret_cast(&options))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LaunchUriWithDataAsync(impl::abi_arg_in remoteSystemConnectionRequest, impl::abi_arg_in uri, impl::abi_arg_in options, impl::abi_arg_in inputData, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().LaunchUriAsync(*reinterpret_cast(&remoteSystemConnectionRequest), *reinterpret_cast(&uri), *reinterpret_cast(&options), *reinterpret_cast(&inputData))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BeginShutdown(Windows::System::ShutdownKind shutdownKind, impl::abi_arg_in timeout) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeginShutdown(shutdownKind, *reinterpret_cast(&timeout)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CancelShutdown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelShutdown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsPowerStateSupported(Windows::System::PowerState powerState, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPowerStateSupported(powerState)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnterPowerState(Windows::System::PowerState powerState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnterPowerState(powerState); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnterPowerStateWithTimeSpan(Windows::System::PowerState powerState, impl::abi_arg_in wakeUpAfter) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnterPowerState(powerState, *reinterpret_cast(&wakeUpAfter)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentTimeZoneDisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentTimeZoneDisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedTimeZoneDisplayNames(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedTimeZoneDisplayNames()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanChangeTimeZone(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanChangeTimeZone()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeTimeZoneByDisplayName(impl::abi_arg_in timeZoneDisplayName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChangeTimeZoneByDisplayName(*reinterpret_cast(&timeZoneDisplayName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NonRoamableId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NonRoamableId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthenticationStatus(Windows::System::UserAuthenticationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthenticationStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::System::UserType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPropertyAsync(impl::abi_arg_in value, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPropertyAsync(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPropertiesAsync(impl::abi_arg_in> values, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPropertiesAsync(*reinterpret_cast *>(&values))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPictureAsync(Windows::System::UserPictureSize desiredSize, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetPictureAsync(desiredSize)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewStatus(Windows::System::UserAuthenticationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentStatus(Windows::System::UserAuthenticationStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewUser(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewUser()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldUser(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldUser()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindUserFromDeviceId(impl::abi_arg_in deviceId, impl::abi_arg_out user) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *user = detach_abi(this->shim().FindUserFromDeviceId(*reinterpret_cast(&deviceId))); + return S_OK; + } + catch (...) + { + *user = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UserDeviceAssociationChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UserDeviceAssociationChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UserDeviceAssociationChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UserDeviceAssociationChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowGuestAccounts(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowGuestAccounts()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowGuestAccounts(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowGuestAccounts(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuggestedSelectedUser(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuggestedSelectedUser()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuggestedSelectedUser(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestedSelectedUser(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PickSingleUserAsync(impl::abi_arg_out> pickSingleUserOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pickSingleUserOperation = detach_abi(this->shim().PickSingleUserAsync()); + return S_OK; + } + catch (...) + { + *pickSingleUserOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWatcher(impl::abi_arg_out watcher) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *watcher = detach_abi(this->shim().CreateWatcher()); + return S_OK; + } + catch (...) + { + *watcher = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncByType(Windows::System::UserType type, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync(type)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsyncByTypeAndStatus(Windows::System::UserType type, Windows::System::UserAuthenticationStatus status, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync(type, status)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFromId(impl::abi_arg_in nonRoamableId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetFromId(*reinterpret_cast(&nonRoamableId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::System::UserWatcherStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Start() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Start(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Added(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Added(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Added(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Added(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Removed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Removed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Removed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Removed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Updated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Updated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Updated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Updated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AuthenticationStatusChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AuthenticationStatusChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AuthenticationStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AuthenticationStatusChanging(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().AuthenticationStatusChanging(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AuthenticationStatusChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AuthenticationStatusChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnumerationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnumerationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnumerationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnumerationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Stopped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Stopped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Stopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::System { + +template hstring impl_IUser::NonRoamableId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUser)->get_NonRoamableId(put_abi(value))); + return value; +} + +template Windows::System::UserAuthenticationStatus impl_IUser::AuthenticationStatus() const +{ + Windows::System::UserAuthenticationStatus value {}; + check_hresult(WINRT_SHIM(IUser)->get_AuthenticationStatus(&value)); + return value; +} + +template Windows::System::UserType impl_IUser::Type() const +{ + Windows::System::UserType value {}; + check_hresult(WINRT_SHIM(IUser)->get_Type(&value)); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IUser::GetPropertyAsync(hstring_view value) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUser)->abi_GetPropertyAsync(get_abi(value), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUser::GetPropertiesAsync(vector_view values) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUser)->abi_GetPropertiesAsync(get_abi(values), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IUser::GetPictureAsync(Windows::System::UserPictureSize desiredSize) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IUser)->abi_GetPictureAsync(desiredSize, put_abi(operation))); + return operation; +} + +template Windows::System::UserWatcher impl_IUserStatics::CreateWatcher() const +{ + Windows::System::UserWatcher watcher { nullptr }; + check_hresult(WINRT_SHIM(IUserStatics)->abi_CreateWatcher(put_abi(watcher))); + return watcher; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IUserStatics)->abi_FindAllAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserStatics::FindAllAsync(Windows::System::UserType type) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IUserStatics)->abi_FindAllAsyncByType(type, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IUserStatics::FindAllAsync(Windows::System::UserType type, Windows::System::UserAuthenticationStatus status) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IUserStatics)->abi_FindAllAsyncByTypeAndStatus(type, status, put_abi(operation))); + return operation; +} + +template Windows::System::User impl_IUserStatics::GetFromId(hstring_view nonRoamableId) const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserStatics)->abi_GetFromId(get_abi(nonRoamableId), put_abi(value))); + return value; +} + +template Windows::System::UserWatcherStatus impl_IUserWatcher::Status() const +{ + Windows::System::UserWatcherStatus value {}; + check_hresult(WINRT_SHIM(IUserWatcher)->get_Status(&value)); + return value; +} + +template void impl_IUserWatcher::Start() const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->abi_Start()); +} + +template void impl_IUserWatcher::Stop() const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->abi_Stop()); +} + +template event_token impl_IUserWatcher::Added(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserWatcher)->add_Added(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserWatcher::Added(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserWatcher::remove_Added, Added(handler)); +} + +template void impl_IUserWatcher::Added(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->remove_Added(token)); +} + +template event_token impl_IUserWatcher::Removed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserWatcher)->add_Removed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserWatcher::Removed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserWatcher::remove_Removed, Removed(handler)); +} + +template void impl_IUserWatcher::Removed(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->remove_Removed(token)); +} + +template event_token impl_IUserWatcher::Updated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserWatcher)->add_Updated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserWatcher::Updated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserWatcher::remove_Updated, Updated(handler)); +} + +template void impl_IUserWatcher::Updated(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->remove_Updated(token)); +} + +template event_token impl_IUserWatcher::AuthenticationStatusChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserWatcher)->add_AuthenticationStatusChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserWatcher::AuthenticationStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserWatcher::remove_AuthenticationStatusChanged, AuthenticationStatusChanged(handler)); +} + +template void impl_IUserWatcher::AuthenticationStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->remove_AuthenticationStatusChanged(token)); +} + +template event_token impl_IUserWatcher::AuthenticationStatusChanging(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserWatcher)->add_AuthenticationStatusChanging(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserWatcher::AuthenticationStatusChanging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserWatcher::remove_AuthenticationStatusChanging, AuthenticationStatusChanging(handler)); +} + +template void impl_IUserWatcher::AuthenticationStatusChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->remove_AuthenticationStatusChanging(token)); +} + +template event_token impl_IUserWatcher::EnumerationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserWatcher)->add_EnumerationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserWatcher::EnumerationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserWatcher::remove_EnumerationCompleted, EnumerationCompleted(handler)); +} + +template void impl_IUserWatcher::EnumerationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->remove_EnumerationCompleted(token)); +} + +template event_token impl_IUserWatcher::Stopped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserWatcher)->add_Stopped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserWatcher::Stopped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserWatcher::remove_Stopped, Stopped(handler)); +} + +template void impl_IUserWatcher::Stopped(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserWatcher)->remove_Stopped(token)); +} + +template Windows::System::User impl_IUserChangedEventArgs::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserChangedEventArgs)->get_User(put_abi(value))); + return value; +} + +template void impl_IUserAuthenticationStatusChangeDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IUserAuthenticationStatusChangeDeferral)->abi_Complete()); +} + +template Windows::System::UserAuthenticationStatusChangeDeferral impl_IUserAuthenticationStatusChangingEventArgs::GetDeferral() const +{ + Windows::System::UserAuthenticationStatusChangeDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IUserAuthenticationStatusChangingEventArgs)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::System::User impl_IUserAuthenticationStatusChangingEventArgs::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserAuthenticationStatusChangingEventArgs)->get_User(put_abi(value))); + return value; +} + +template Windows::System::UserAuthenticationStatus impl_IUserAuthenticationStatusChangingEventArgs::NewStatus() const +{ + Windows::System::UserAuthenticationStatus value {}; + check_hresult(WINRT_SHIM(IUserAuthenticationStatusChangingEventArgs)->get_NewStatus(&value)); + return value; +} + +template Windows::System::UserAuthenticationStatus impl_IUserAuthenticationStatusChangingEventArgs::CurrentStatus() const +{ + Windows::System::UserAuthenticationStatus value {}; + check_hresult(WINRT_SHIM(IUserAuthenticationStatusChangingEventArgs)->get_CurrentStatus(&value)); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_DisplayName(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::FirstName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_FirstName(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::LastName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_LastName(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::ProviderName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_ProviderName(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::AccountName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_AccountName(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::GuestHost() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_GuestHost(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::PrincipalName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_PrincipalName(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::DomainName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_DomainName(put_abi(value))); + return value; +} + +template hstring impl_IKnownUserPropertiesStatics::SessionInitiationProtocolUri() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownUserPropertiesStatics)->get_SessionInitiationProtocolUri(put_abi(value))); + return value; +} + +template bool impl_IUserPickerStatics::IsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserPickerStatics)->abi_IsSupported(&value)); + return value; +} + +template bool impl_IUserPicker::AllowGuestAccounts() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUserPicker)->get_AllowGuestAccounts(&value)); + return value; +} + +template void impl_IUserPicker::AllowGuestAccounts(bool value) const +{ + check_hresult(WINRT_SHIM(IUserPicker)->put_AllowGuestAccounts(value)); +} + +template Windows::System::User impl_IUserPicker::SuggestedSelectedUser() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserPicker)->get_SuggestedSelectedUser(put_abi(value))); + return value; +} + +template void impl_IUserPicker::SuggestedSelectedUser(const Windows::System::User & value) const +{ + check_hresult(WINRT_SHIM(IUserPicker)->put_SuggestedSelectedUser(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IUserPicker::PickSingleUserAsync() const +{ + Windows::Foundation::IAsyncOperation pickSingleUserOperation; + check_hresult(WINRT_SHIM(IUserPicker)->abi_PickSingleUserAsync(put_abi(pickSingleUserOperation))); + return pickSingleUserOperation; +} + +template hstring impl_IUserDeviceAssociationChangedEventArgs::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUserDeviceAssociationChangedEventArgs)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::System::User impl_IUserDeviceAssociationChangedEventArgs::NewUser() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserDeviceAssociationChangedEventArgs)->get_NewUser(put_abi(value))); + return value; +} + +template Windows::System::User impl_IUserDeviceAssociationChangedEventArgs::OldUser() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IUserDeviceAssociationChangedEventArgs)->get_OldUser(put_abi(value))); + return value; +} + +template Windows::System::User impl_IUserDeviceAssociationStatics::FindUserFromDeviceId(hstring_view deviceId) const +{ + Windows::System::User user { nullptr }; + check_hresult(WINRT_SHIM(IUserDeviceAssociationStatics)->abi_FindUserFromDeviceId(get_abi(deviceId), put_abi(user))); + return user; +} + +template event_token impl_IUserDeviceAssociationStatics::UserDeviceAssociationChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserDeviceAssociationStatics)->add_UserDeviceAssociationChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserDeviceAssociationStatics::UserDeviceAssociationChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IUserDeviceAssociationStatics::remove_UserDeviceAssociationChanged, UserDeviceAssociationChanged(handler)); +} + +template void impl_IUserDeviceAssociationStatics::UserDeviceAssociationChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserDeviceAssociationStatics)->remove_UserDeviceAssociationChanged(token)); +} + +template uint64_t impl_IAppMemoryReport::PrivateCommitUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppMemoryReport)->get_PrivateCommitUsage(&value)); + return value; +} + +template uint64_t impl_IAppMemoryReport::PeakPrivateCommitUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppMemoryReport)->get_PeakPrivateCommitUsage(&value)); + return value; +} + +template uint64_t impl_IAppMemoryReport::TotalCommitUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppMemoryReport)->get_TotalCommitUsage(&value)); + return value; +} + +template uint64_t impl_IAppMemoryReport::TotalCommitLimit() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppMemoryReport)->get_TotalCommitLimit(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryReport::PrivateWorkingSetUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryReport)->get_PrivateWorkingSetUsage(&value)); + return value; +} + +template uint64_t impl_IProcessMemoryReport::TotalWorkingSetUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IProcessMemoryReport)->get_TotalWorkingSetUsage(&value)); + return value; +} + +template uint64_t impl_IAppMemoryUsageLimitChangingEventArgs::OldLimit() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppMemoryUsageLimitChangingEventArgs)->get_OldLimit(&value)); + return value; +} + +template uint64_t impl_IAppMemoryUsageLimitChangingEventArgs::NewLimit() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IAppMemoryUsageLimitChangingEventArgs)->get_NewLimit(&value)); + return value; +} + +template uint64_t impl_IMemoryManagerStatics::AppMemoryUsage() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->get_AppMemoryUsage(&value)); + return value; +} + +template uint64_t impl_IMemoryManagerStatics::AppMemoryUsageLimit() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->get_AppMemoryUsageLimit(&value)); + return value; +} + +template Windows::System::AppMemoryUsageLevel impl_IMemoryManagerStatics::AppMemoryUsageLevel() const +{ + Windows::System::AppMemoryUsageLevel value {}; + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->get_AppMemoryUsageLevel(&value)); + return value; +} + +template event_token impl_IMemoryManagerStatics::AppMemoryUsageIncreased(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->add_AppMemoryUsageIncreased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMemoryManagerStatics::AppMemoryUsageIncreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IMemoryManagerStatics::remove_AppMemoryUsageIncreased, AppMemoryUsageIncreased(handler)); +} + +template void impl_IMemoryManagerStatics::AppMemoryUsageIncreased(event_token token) const +{ + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->remove_AppMemoryUsageIncreased(token)); +} + +template event_token impl_IMemoryManagerStatics::AppMemoryUsageDecreased(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->add_AppMemoryUsageDecreased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMemoryManagerStatics::AppMemoryUsageDecreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IMemoryManagerStatics::remove_AppMemoryUsageDecreased, AppMemoryUsageDecreased(handler)); +} + +template void impl_IMemoryManagerStatics::AppMemoryUsageDecreased(event_token token) const +{ + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->remove_AppMemoryUsageDecreased(token)); +} + +template event_token impl_IMemoryManagerStatics::AppMemoryUsageLimitChanging(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->add_AppMemoryUsageLimitChanging(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IMemoryManagerStatics::AppMemoryUsageLimitChanging(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::System::IMemoryManagerStatics::remove_AppMemoryUsageLimitChanging, AppMemoryUsageLimitChanging(handler)); +} + +template void impl_IMemoryManagerStatics::AppMemoryUsageLimitChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(IMemoryManagerStatics)->remove_AppMemoryUsageLimitChanging(token)); +} + +template Windows::System::AppMemoryReport impl_IMemoryManagerStatics2::GetAppMemoryReport() const +{ + Windows::System::AppMemoryReport memoryReport { nullptr }; + check_hresult(WINRT_SHIM(IMemoryManagerStatics2)->abi_GetAppMemoryReport(put_abi(memoryReport))); + return memoryReport; +} + +template Windows::System::ProcessMemoryReport impl_IMemoryManagerStatics2::GetProcessMemoryReport() const +{ + Windows::System::ProcessMemoryReport memoryReport { nullptr }; + check_hresult(WINRT_SHIM(IMemoryManagerStatics2)->abi_GetProcessMemoryReport(put_abi(memoryReport))); + return memoryReport; +} + +template bool impl_IMemoryManagerStatics3::TrySetAppMemoryUsageLimit(uint64_t value) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IMemoryManagerStatics3)->abi_TrySetAppMemoryUsageLimit(value, &result)); + return result; +} + +template void impl_IProtocolForResultsOperation::ReportCompleted(const Windows::Foundation::Collections::ValueSet & data) const +{ + check_hresult(WINRT_SHIM(IProtocolForResultsOperation)->abi_ReportCompleted(get_abi(data))); +} + +template Windows::Foundation::IAsyncOperation> impl_IAppDiagnosticInfoStatics::RequestInfoAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IAppDiagnosticInfoStatics)->abi_RequestInfoAsync(put_abi(operation))); + return operation; +} + +template Windows::ApplicationModel::AppInfo impl_IAppDiagnosticInfo::AppInfo() const +{ + Windows::ApplicationModel::AppInfo value { nullptr }; + check_hresult(WINRT_SHIM(IAppDiagnosticInfo)->get_AppInfo(put_abi(value))); + return value; +} + +template Windows::System::LaunchUriStatus impl_ILaunchUriResult::Status() const +{ + Windows::System::LaunchUriStatus value {}; + check_hresult(WINRT_SHIM(ILaunchUriResult)->get_Status(&value)); + return value; +} + +template Windows::Foundation::Collections::ValueSet impl_ILaunchUriResult::Result() const +{ + Windows::Foundation::Collections::ValueSet value { nullptr }; + check_hresult(WINRT_SHIM(ILaunchUriResult)->get_Result(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ILauncherUIOptions::InvocationPoint() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ILauncherUIOptions)->get_InvocationPoint(put_abi(value))); + return value; +} + +template void impl_ILauncherUIOptions::InvocationPoint(const optional & value) const +{ + check_hresult(WINRT_SHIM(ILauncherUIOptions)->put_InvocationPoint(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ILauncherUIOptions::SelectionRect() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ILauncherUIOptions)->get_SelectionRect(put_abi(value))); + return value; +} + +template void impl_ILauncherUIOptions::SelectionRect(const optional & value) const +{ + check_hresult(WINRT_SHIM(ILauncherUIOptions)->put_SelectionRect(get_abi(value))); +} + +template Windows::UI::Popups::Placement impl_ILauncherUIOptions::PreferredPlacement() const +{ + Windows::UI::Popups::Placement value {}; + check_hresult(WINRT_SHIM(ILauncherUIOptions)->get_PreferredPlacement(&value)); + return value; +} + +template void impl_ILauncherUIOptions::PreferredPlacement(Windows::UI::Popups::Placement value) const +{ + check_hresult(WINRT_SHIM(ILauncherUIOptions)->put_PreferredPlacement(value)); +} + +template bool impl_ILauncherOptions::TreatAsUntrusted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILauncherOptions)->get_TreatAsUntrusted(&value)); + return value; +} + +template void impl_ILauncherOptions::TreatAsUntrusted(bool value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions)->put_TreatAsUntrusted(value)); +} + +template bool impl_ILauncherOptions::DisplayApplicationPicker() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILauncherOptions)->get_DisplayApplicationPicker(&value)); + return value; +} + +template void impl_ILauncherOptions::DisplayApplicationPicker(bool value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions)->put_DisplayApplicationPicker(value)); +} + +template Windows::System::LauncherUIOptions impl_ILauncherOptions::UI() const +{ + Windows::System::LauncherUIOptions value { nullptr }; + check_hresult(WINRT_SHIM(ILauncherOptions)->get_UI(put_abi(value))); + return value; +} + +template hstring impl_ILauncherOptions::PreferredApplicationPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILauncherOptions)->get_PreferredApplicationPackageFamilyName(put_abi(value))); + return value; +} + +template void impl_ILauncherOptions::PreferredApplicationPackageFamilyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions)->put_PreferredApplicationPackageFamilyName(get_abi(value))); +} + +template hstring impl_ILauncherOptions::PreferredApplicationDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILauncherOptions)->get_PreferredApplicationDisplayName(put_abi(value))); + return value; +} + +template void impl_ILauncherOptions::PreferredApplicationDisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions)->put_PreferredApplicationDisplayName(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ILauncherOptions::FallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ILauncherOptions)->get_FallbackUri(put_abi(value))); + return value; +} + +template void impl_ILauncherOptions::FallbackUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions)->put_FallbackUri(get_abi(value))); +} + +template hstring impl_ILauncherOptions::ContentType() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILauncherOptions)->get_ContentType(put_abi(value))); + return value; +} + +template void impl_ILauncherOptions::ContentType(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions)->put_ContentType(get_abi(value))); +} + +template hstring impl_ILauncherOptions2::TargetApplicationPackageFamilyName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILauncherOptions2)->get_TargetApplicationPackageFamilyName(put_abi(value))); + return value; +} + +template void impl_ILauncherOptions2::TargetApplicationPackageFamilyName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions2)->put_TargetApplicationPackageFamilyName(get_abi(value))); +} + +template Windows::Storage::Search::StorageFileQueryResult impl_ILauncherOptions2::NeighboringFilesQuery() const +{ + Windows::Storage::Search::StorageFileQueryResult value { nullptr }; + check_hresult(WINRT_SHIM(ILauncherOptions2)->get_NeighboringFilesQuery(put_abi(value))); + return value; +} + +template void impl_ILauncherOptions2::NeighboringFilesQuery(const Windows::Storage::Search::StorageFileQueryResult & value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions2)->put_NeighboringFilesQuery(get_abi(value))); +} + +template bool impl_ILauncherOptions3::IgnoreAppUriHandlers() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILauncherOptions3)->get_IgnoreAppUriHandlers(&value)); + return value; +} + +template void impl_ILauncherOptions3::IgnoreAppUriHandlers(bool value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions3)->put_IgnoreAppUriHandlers(value)); +} + +template bool impl_ILauncherOptions4::LimitPickerToCurrentAppAndAppUriHandlers() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILauncherOptions4)->get_LimitPickerToCurrentAppAndAppUriHandlers(&value)); + return value; +} + +template void impl_ILauncherOptions4::LimitPickerToCurrentAppAndAppUriHandlers(bool value) const +{ + check_hresult(WINRT_SHIM(ILauncherOptions4)->put_LimitPickerToCurrentAppAndAppUriHandlers(value)); +} + +template Windows::UI::ViewManagement::ViewSizePreference impl_ILauncherViewOptions::DesiredRemainingView() const +{ + Windows::UI::ViewManagement::ViewSizePreference value {}; + check_hresult(WINRT_SHIM(ILauncherViewOptions)->get_DesiredRemainingView(&value)); + return value; +} + +template void impl_ILauncherViewOptions::DesiredRemainingView(Windows::UI::ViewManagement::ViewSizePreference value) const +{ + check_hresult(WINRT_SHIM(ILauncherViewOptions)->put_DesiredRemainingView(value)); +} + +template Windows::Foundation::Uri impl_IRemoteLauncherOptions::FallbackUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IRemoteLauncherOptions)->get_FallbackUri(put_abi(value))); + return value; +} + +template void impl_IRemoteLauncherOptions::FallbackUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IRemoteLauncherOptions)->put_FallbackUri(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IRemoteLauncherOptions::PreferredAppIds() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IRemoteLauncherOptions)->get_PreferredAppIds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IFolderLauncherOptions::ItemsToSelect() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IFolderLauncherOptions)->get_ItemsToSelect(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics::LaunchFileAsync(const Windows::Storage::IStorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics)->abi_LaunchFileAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics::LaunchFileAsync(const Windows::Storage::IStorageFile & file, const Windows::System::LauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics)->abi_LaunchFileWithOptionsAsync(get_abi(file), get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics::LaunchUriAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics)->abi_LaunchUriAsync(get_abi(uri), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics::LaunchUriAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics)->abi_LaunchUriWithOptionsAsync(get_abi(uri), get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics2::LaunchUriForResultsAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_LaunchUriForResultsAsync(get_abi(uri), get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics2::LaunchUriForResultsAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_LaunchUriForResultsWithDataAsync(get_abi(uri), get_abi(options), get_abi(inputData), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics2::LaunchUriAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_LaunchUriWithDataAsync(get_abi(uri), get_abi(options), get_abi(inputData), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics2::QueryUriSupportAsync(const Windows::Foundation::Uri & uri, Windows::System::LaunchQuerySupportType launchQuerySupportType) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_QueryUriSupportAsync(get_abi(uri), launchQuerySupportType, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics2::QueryUriSupportAsync(const Windows::Foundation::Uri & uri, Windows::System::LaunchQuerySupportType launchQuerySupportType, hstring_view packageFamilyName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_QueryUriSupportWithPackageFamilyNameAsync(get_abi(uri), launchQuerySupportType, get_abi(packageFamilyName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics2::QueryFileSupportAsync(const Windows::Storage::StorageFile & file) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_QueryFileSupportAsync(get_abi(file), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics2::QueryFileSupportAsync(const Windows::Storage::StorageFile & file, hstring_view packageFamilyName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_QueryFileSupportWithPackageFamilyNameAsync(get_abi(file), get_abi(packageFamilyName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ILauncherStatics2::FindUriSchemeHandlersAsync(hstring_view scheme) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_FindUriSchemeHandlersAsync(get_abi(scheme), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ILauncherStatics2::FindUriSchemeHandlersAsync(hstring_view scheme, Windows::System::LaunchQuerySupportType launchQuerySupportType) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_FindUriSchemeHandlersWithLaunchUriTypeAsync(get_abi(scheme), launchQuerySupportType, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ILauncherStatics2::FindFileHandlersAsync(hstring_view extension) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ILauncherStatics2)->abi_FindFileHandlersAsync(get_abi(extension), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics3::LaunchFolderAsync(const Windows::Storage::IStorageFolder & folder) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics3)->abi_LaunchFolderAsync(get_abi(folder), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics3::LaunchFolderAsync(const Windows::Storage::IStorageFolder & folder, const Windows::System::FolderLauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics3)->abi_LaunchFolderWithOptionsAsync(get_abi(folder), get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics4::QueryAppUriSupportAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_QueryAppUriSupportAsync(get_abi(uri), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics4::QueryAppUriSupportAsync(const Windows::Foundation::Uri & uri, hstring_view packageFamilyName) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_QueryAppUriSupportWithPackageFamilyNameAsync(get_abi(uri), get_abi(packageFamilyName), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ILauncherStatics4::FindAppUriHandlersAsync(const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_FindAppUriHandlersAsync(get_abi(uri), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics4::LaunchUriForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_LaunchUriForUserAsync(get_abi(user), get_abi(uri), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics4::LaunchUriForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_LaunchUriWithOptionsForUserAsync(get_abi(user), get_abi(uri), get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics4::LaunchUriForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_LaunchUriWithDataForUserAsync(get_abi(user), get_abi(uri), get_abi(options), get_abi(inputData), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics4::LaunchUriForResultsForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_LaunchUriForResultsForUserAsync(get_abi(user), get_abi(uri), get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ILauncherStatics4::LaunchUriForResultsForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ILauncherStatics4)->abi_LaunchUriForResultsWithDataForUserAsync(get_abi(user), get_abi(uri), get_abi(options), get_abi(inputData), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteLauncherStatics::LaunchUriAsync(const Windows::System::RemoteSystems::RemoteSystemConnectionRequest & remoteSystemConnectionRequest, const Windows::Foundation::Uri & uri) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteLauncherStatics)->abi_LaunchUriAsync(get_abi(remoteSystemConnectionRequest), get_abi(uri), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteLauncherStatics::LaunchUriAsync(const Windows::System::RemoteSystems::RemoteSystemConnectionRequest & remoteSystemConnectionRequest, const Windows::Foundation::Uri & uri, const Windows::System::RemoteLauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteLauncherStatics)->abi_LaunchUriWithOptionsAsync(get_abi(remoteSystemConnectionRequest), get_abi(uri), get_abi(options), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IRemoteLauncherStatics::LaunchUriAsync(const Windows::System::RemoteSystems::RemoteSystemConnectionRequest & remoteSystemConnectionRequest, const Windows::Foundation::Uri & uri, const Windows::System::RemoteLauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IRemoteLauncherStatics)->abi_LaunchUriWithDataAsync(get_abi(remoteSystemConnectionRequest), get_abi(uri), get_abi(options), get_abi(inputData), put_abi(operation))); + return operation; +} + +template Windows::Storage::Streams::IInputStream impl_IProcessLauncherOptions::StandardInput() const +{ + Windows::Storage::Streams::IInputStream value; + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->get_StandardInput(put_abi(value))); + return value; +} + +template void impl_IProcessLauncherOptions::StandardInput(const Windows::Storage::Streams::IInputStream & value) const +{ + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->put_StandardInput(get_abi(value))); +} + +template Windows::Storage::Streams::IOutputStream impl_IProcessLauncherOptions::StandardOutput() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->get_StandardOutput(put_abi(value))); + return value; +} + +template void impl_IProcessLauncherOptions::StandardOutput(const Windows::Storage::Streams::IOutputStream & value) const +{ + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->put_StandardOutput(get_abi(value))); +} + +template Windows::Storage::Streams::IOutputStream impl_IProcessLauncherOptions::StandardError() const +{ + Windows::Storage::Streams::IOutputStream value; + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->get_StandardError(put_abi(value))); + return value; +} + +template void impl_IProcessLauncherOptions::StandardError(const Windows::Storage::Streams::IOutputStream & value) const +{ + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->put_StandardError(get_abi(value))); +} + +template hstring impl_IProcessLauncherOptions::WorkingDirectory() const +{ + hstring value; + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->get_WorkingDirectory(put_abi(value))); + return value; +} + +template void impl_IProcessLauncherOptions::WorkingDirectory(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IProcessLauncherOptions)->put_WorkingDirectory(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IProcessLauncherStatics::RunToCompletionAsync(hstring_view fileName, hstring_view args) const +{ + Windows::Foundation::IAsyncOperation asyncOperationResult; + check_hresult(WINRT_SHIM(IProcessLauncherStatics)->abi_RunToCompletionAsync(get_abi(fileName), get_abi(args), put_abi(asyncOperationResult))); + return asyncOperationResult; +} + +template Windows::Foundation::IAsyncOperation impl_IProcessLauncherStatics::RunToCompletionAsync(hstring_view fileName, hstring_view args, const Windows::System::ProcessLauncherOptions & options) const +{ + Windows::Foundation::IAsyncOperation asyncOperationResult; + check_hresult(WINRT_SHIM(IProcessLauncherStatics)->abi_RunToCompletionAsyncWithOptions(get_abi(fileName), get_abi(args), get_abi(options), put_abi(asyncOperationResult))); + return asyncOperationResult; +} + +template uint32_t impl_IProcessLauncherResult::ExitCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IProcessLauncherResult)->get_ExitCode(&value)); + return value; +} + +template void impl_IShutdownManagerStatics::BeginShutdown(Windows::System::ShutdownKind shutdownKind, const Windows::Foundation::TimeSpan & timeout) const +{ + check_hresult(WINRT_SHIM(IShutdownManagerStatics)->abi_BeginShutdown(shutdownKind, get_abi(timeout))); +} + +template void impl_IShutdownManagerStatics::CancelShutdown() const +{ + check_hresult(WINRT_SHIM(IShutdownManagerStatics)->abi_CancelShutdown()); +} + +template bool impl_IShutdownManagerStatics2::IsPowerStateSupported(Windows::System::PowerState powerState) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IShutdownManagerStatics2)->abi_IsPowerStateSupported(powerState, &value)); + return value; +} + +template void impl_IShutdownManagerStatics2::EnterPowerState(Windows::System::PowerState powerState) const +{ + check_hresult(WINRT_SHIM(IShutdownManagerStatics2)->abi_EnterPowerState(powerState)); +} + +template void impl_IShutdownManagerStatics2::EnterPowerState(Windows::System::PowerState powerState, const Windows::Foundation::TimeSpan & wakeUpAfter) const +{ + check_hresult(WINRT_SHIM(IShutdownManagerStatics2)->abi_EnterPowerStateWithTimeSpan(powerState, get_abi(wakeUpAfter))); +} + +template hstring impl_ITimeZoneSettingsStatics::CurrentTimeZoneDisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimeZoneSettingsStatics)->get_CurrentTimeZoneDisplayName(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ITimeZoneSettingsStatics::SupportedTimeZoneDisplayNames() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ITimeZoneSettingsStatics)->get_SupportedTimeZoneDisplayNames(put_abi(value))); + return value; +} + +template bool impl_ITimeZoneSettingsStatics::CanChangeTimeZone() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITimeZoneSettingsStatics)->get_CanChangeTimeZone(&value)); + return value; +} + +template void impl_ITimeZoneSettingsStatics::ChangeTimeZoneByDisplayName(hstring_view timeZoneDisplayName) const +{ + check_hresult(WINRT_SHIM(ITimeZoneSettingsStatics)->abi_ChangeTimeZoneByDisplayName(get_abi(timeZoneDisplayName))); +} + +inline Windows::Foundation::IAsyncOperation> AppDiagnosticInfo::RequestInfoAsync() +{ + return get_activation_factory().RequestInfoAsync(); +} + +inline FolderLauncherOptions::FolderLauncherOptions() : + FolderLauncherOptions(activate_instance()) +{} + +inline hstring KnownUserProperties::DisplayName() +{ + return get_activation_factory().DisplayName(); +} + +inline hstring KnownUserProperties::FirstName() +{ + return get_activation_factory().FirstName(); +} + +inline hstring KnownUserProperties::LastName() +{ + return get_activation_factory().LastName(); +} + +inline hstring KnownUserProperties::ProviderName() +{ + return get_activation_factory().ProviderName(); +} + +inline hstring KnownUserProperties::AccountName() +{ + return get_activation_factory().AccountName(); +} + +inline hstring KnownUserProperties::GuestHost() +{ + return get_activation_factory().GuestHost(); +} + +inline hstring KnownUserProperties::PrincipalName() +{ + return get_activation_factory().PrincipalName(); +} + +inline hstring KnownUserProperties::DomainName() +{ + return get_activation_factory().DomainName(); +} + +inline hstring KnownUserProperties::SessionInitiationProtocolUri() +{ + return get_activation_factory().SessionInitiationProtocolUri(); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchFileAsync(const Windows::Storage::IStorageFile & file) +{ + return get_activation_factory().LaunchFileAsync(file); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchFileAsync(const Windows::Storage::IStorageFile & file, const Windows::System::LauncherOptions & options) +{ + return get_activation_factory().LaunchFileAsync(file, options); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriAsync(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().LaunchUriAsync(uri); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) +{ + return get_activation_factory().LaunchUriAsync(uri, options); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriForResultsAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) +{ + return get_activation_factory().LaunchUriForResultsAsync(uri, options); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriForResultsAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) +{ + return get_activation_factory().LaunchUriForResultsAsync(uri, options, inputData); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriAsync(const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) +{ + return get_activation_factory().LaunchUriAsync(uri, options, inputData); +} + +inline Windows::Foundation::IAsyncOperation Launcher::QueryUriSupportAsync(const Windows::Foundation::Uri & uri, Windows::System::LaunchQuerySupportType launchQuerySupportType) +{ + return get_activation_factory().QueryUriSupportAsync(uri, launchQuerySupportType); +} + +inline Windows::Foundation::IAsyncOperation Launcher::QueryUriSupportAsync(const Windows::Foundation::Uri & uri, Windows::System::LaunchQuerySupportType launchQuerySupportType, hstring_view packageFamilyName) +{ + return get_activation_factory().QueryUriSupportAsync(uri, launchQuerySupportType, packageFamilyName); +} + +inline Windows::Foundation::IAsyncOperation Launcher::QueryFileSupportAsync(const Windows::Storage::StorageFile & file) +{ + return get_activation_factory().QueryFileSupportAsync(file); +} + +inline Windows::Foundation::IAsyncOperation Launcher::QueryFileSupportAsync(const Windows::Storage::StorageFile & file, hstring_view packageFamilyName) +{ + return get_activation_factory().QueryFileSupportAsync(file, packageFamilyName); +} + +inline Windows::Foundation::IAsyncOperation> Launcher::FindUriSchemeHandlersAsync(hstring_view scheme) +{ + return get_activation_factory().FindUriSchemeHandlersAsync(scheme); +} + +inline Windows::Foundation::IAsyncOperation> Launcher::FindUriSchemeHandlersAsync(hstring_view scheme, Windows::System::LaunchQuerySupportType launchQuerySupportType) +{ + return get_activation_factory().FindUriSchemeHandlersAsync(scheme, launchQuerySupportType); +} + +inline Windows::Foundation::IAsyncOperation> Launcher::FindFileHandlersAsync(hstring_view extension) +{ + return get_activation_factory().FindFileHandlersAsync(extension); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchFolderAsync(const Windows::Storage::IStorageFolder & folder) +{ + return get_activation_factory().LaunchFolderAsync(folder); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchFolderAsync(const Windows::Storage::IStorageFolder & folder, const Windows::System::FolderLauncherOptions & options) +{ + return get_activation_factory().LaunchFolderAsync(folder, options); +} + +inline Windows::Foundation::IAsyncOperation Launcher::QueryAppUriSupportAsync(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().QueryAppUriSupportAsync(uri); +} + +inline Windows::Foundation::IAsyncOperation Launcher::QueryAppUriSupportAsync(const Windows::Foundation::Uri & uri, hstring_view packageFamilyName) +{ + return get_activation_factory().QueryAppUriSupportAsync(uri, packageFamilyName); +} + +inline Windows::Foundation::IAsyncOperation> Launcher::FindAppUriHandlersAsync(const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().FindAppUriHandlersAsync(uri); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().LaunchUriForUserAsync(user, uri); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) +{ + return get_activation_factory().LaunchUriForUserAsync(user, uri, options); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) +{ + return get_activation_factory().LaunchUriForUserAsync(user, uri, options, inputData); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriForResultsForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options) +{ + return get_activation_factory().LaunchUriForResultsForUserAsync(user, uri, options); +} + +inline Windows::Foundation::IAsyncOperation Launcher::LaunchUriForResultsForUserAsync(const Windows::System::User & user, const Windows::Foundation::Uri & uri, const Windows::System::LauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) +{ + return get_activation_factory().LaunchUriForResultsForUserAsync(user, uri, options, inputData); +} + +inline LauncherOptions::LauncherOptions() : + LauncherOptions(activate_instance()) +{} + +inline uint64_t MemoryManager::AppMemoryUsage() +{ + return get_activation_factory().AppMemoryUsage(); +} + +inline uint64_t MemoryManager::AppMemoryUsageLimit() +{ + return get_activation_factory().AppMemoryUsageLimit(); +} + +inline Windows::System::AppMemoryUsageLevel MemoryManager::AppMemoryUsageLevel() +{ + return get_activation_factory().AppMemoryUsageLevel(); +} + +inline event_token MemoryManager::AppMemoryUsageIncreased(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().AppMemoryUsageIncreased(handler); +} + +inline factory_event_revoker MemoryManager::AppMemoryUsageIncreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::IMemoryManagerStatics::remove_AppMemoryUsageIncreased, factory.AppMemoryUsageIncreased(handler) }; +} + +inline void MemoryManager::AppMemoryUsageIncreased(event_token token) +{ + get_activation_factory().AppMemoryUsageIncreased(token); +} + +inline event_token MemoryManager::AppMemoryUsageDecreased(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().AppMemoryUsageDecreased(handler); +} + +inline factory_event_revoker MemoryManager::AppMemoryUsageDecreased(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::IMemoryManagerStatics::remove_AppMemoryUsageDecreased, factory.AppMemoryUsageDecreased(handler) }; +} + +inline void MemoryManager::AppMemoryUsageDecreased(event_token token) +{ + get_activation_factory().AppMemoryUsageDecreased(token); +} + +inline event_token MemoryManager::AppMemoryUsageLimitChanging(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().AppMemoryUsageLimitChanging(handler); +} + +inline factory_event_revoker MemoryManager::AppMemoryUsageLimitChanging(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::IMemoryManagerStatics::remove_AppMemoryUsageLimitChanging, factory.AppMemoryUsageLimitChanging(handler) }; +} + +inline void MemoryManager::AppMemoryUsageLimitChanging(event_token token) +{ + get_activation_factory().AppMemoryUsageLimitChanging(token); +} + +inline Windows::System::AppMemoryReport MemoryManager::GetAppMemoryReport() +{ + return get_activation_factory().GetAppMemoryReport(); +} + +inline Windows::System::ProcessMemoryReport MemoryManager::GetProcessMemoryReport() +{ + return get_activation_factory().GetProcessMemoryReport(); +} + +inline bool MemoryManager::TrySetAppMemoryUsageLimit(uint64_t value) +{ + return get_activation_factory().TrySetAppMemoryUsageLimit(value); +} + +inline Windows::Foundation::IAsyncOperation ProcessLauncher::RunToCompletionAsync(hstring_view fileName, hstring_view args) +{ + return get_activation_factory().RunToCompletionAsync(fileName, args); +} + +inline Windows::Foundation::IAsyncOperation ProcessLauncher::RunToCompletionAsync(hstring_view fileName, hstring_view args, const Windows::System::ProcessLauncherOptions & options) +{ + return get_activation_factory().RunToCompletionAsync(fileName, args, options); +} + +inline ProcessLauncherOptions::ProcessLauncherOptions() : + ProcessLauncherOptions(activate_instance()) +{} + +inline Windows::Foundation::IAsyncOperation RemoteLauncher::LaunchUriAsync(const Windows::System::RemoteSystems::RemoteSystemConnectionRequest & remoteSystemConnectionRequest, const Windows::Foundation::Uri & uri) +{ + return get_activation_factory().LaunchUriAsync(remoteSystemConnectionRequest, uri); +} + +inline Windows::Foundation::IAsyncOperation RemoteLauncher::LaunchUriAsync(const Windows::System::RemoteSystems::RemoteSystemConnectionRequest & remoteSystemConnectionRequest, const Windows::Foundation::Uri & uri, const Windows::System::RemoteLauncherOptions & options) +{ + return get_activation_factory().LaunchUriAsync(remoteSystemConnectionRequest, uri, options); +} + +inline Windows::Foundation::IAsyncOperation RemoteLauncher::LaunchUriAsync(const Windows::System::RemoteSystems::RemoteSystemConnectionRequest & remoteSystemConnectionRequest, const Windows::Foundation::Uri & uri, const Windows::System::RemoteLauncherOptions & options, const Windows::Foundation::Collections::ValueSet & inputData) +{ + return get_activation_factory().LaunchUriAsync(remoteSystemConnectionRequest, uri, options, inputData); +} + +inline RemoteLauncherOptions::RemoteLauncherOptions() : + RemoteLauncherOptions(activate_instance()) +{} + +inline void ShutdownManager::BeginShutdown(Windows::System::ShutdownKind shutdownKind, const Windows::Foundation::TimeSpan & timeout) +{ + get_activation_factory().BeginShutdown(shutdownKind, timeout); +} + +inline void ShutdownManager::CancelShutdown() +{ + get_activation_factory().CancelShutdown(); +} + +inline bool ShutdownManager::IsPowerStateSupported(Windows::System::PowerState powerState) +{ + return get_activation_factory().IsPowerStateSupported(powerState); +} + +inline void ShutdownManager::EnterPowerState(Windows::System::PowerState powerState) +{ + get_activation_factory().EnterPowerState(powerState); +} + +inline void ShutdownManager::EnterPowerState(Windows::System::PowerState powerState, const Windows::Foundation::TimeSpan & wakeUpAfter) +{ + get_activation_factory().EnterPowerState(powerState, wakeUpAfter); +} + +inline hstring TimeZoneSettings::CurrentTimeZoneDisplayName() +{ + return get_activation_factory().CurrentTimeZoneDisplayName(); +} + +inline Windows::Foundation::Collections::IVectorView TimeZoneSettings::SupportedTimeZoneDisplayNames() +{ + return get_activation_factory().SupportedTimeZoneDisplayNames(); +} + +inline bool TimeZoneSettings::CanChangeTimeZone() +{ + return get_activation_factory().CanChangeTimeZone(); +} + +inline void TimeZoneSettings::ChangeTimeZoneByDisplayName(hstring_view timeZoneDisplayName) +{ + get_activation_factory().ChangeTimeZoneByDisplayName(timeZoneDisplayName); +} + +inline Windows::System::UserWatcher User::CreateWatcher() +{ + return get_activation_factory().CreateWatcher(); +} + +inline Windows::Foundation::IAsyncOperation> User::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation> User::FindAllAsync(Windows::System::UserType type) +{ + return get_activation_factory().FindAllAsync(type); +} + +inline Windows::Foundation::IAsyncOperation> User::FindAllAsync(Windows::System::UserType type, Windows::System::UserAuthenticationStatus status) +{ + return get_activation_factory().FindAllAsync(type, status); +} + +inline Windows::System::User User::GetFromId(hstring_view nonRoamableId) +{ + return get_activation_factory().GetFromId(nonRoamableId); +} + +inline Windows::System::User UserDeviceAssociation::FindUserFromDeviceId(hstring_view deviceId) +{ + return get_activation_factory().FindUserFromDeviceId(deviceId); +} + +inline event_token UserDeviceAssociation::UserDeviceAssociationChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().UserDeviceAssociationChanged(handler); +} + +inline factory_event_revoker UserDeviceAssociation::UserDeviceAssociationChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::System::IUserDeviceAssociationStatics::remove_UserDeviceAssociationChanged, factory.UserDeviceAssociationChanged(handler) }; +} + +inline void UserDeviceAssociation::UserDeviceAssociationChanged(event_token token) +{ + get_activation_factory().UserDeviceAssociationChanged(token); +} + +inline UserPicker::UserPicker() : + UserPicker(activate_instance()) +{} + +inline bool UserPicker::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IAppDiagnosticInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IAppDiagnosticInfoStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IAppMemoryReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IAppMemoryUsageLimitChangingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IFolderLauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IKnownUserPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILaunchUriResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherOptions2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherOptions3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherOptions4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherUIOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ILauncherViewOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IMemoryManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IMemoryManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IMemoryManagerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IProcessLauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IProcessLauncherResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IProcessLauncherStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IProcessMemoryReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IProtocolForResultsOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IRemoteLauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IRemoteLauncherStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IShutdownManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IShutdownManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ITimeZoneSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserAuthenticationStatusChangeDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserAuthenticationStatusChangingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserDeviceAssociationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserDeviceAssociationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserPickerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::IUserWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::AppDiagnosticInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::AppMemoryReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::AppMemoryUsageLimitChangingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::FolderLauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::LaunchUriResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::LauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::LauncherUIOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ProcessLauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ProcessLauncherResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ProcessMemoryReport & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::ProtocolForResultsOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::RemoteLauncherOptions & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::User & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserAuthenticationStatusChangeDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserAuthenticationStatusChangingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserDeviceAssociationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserPicker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::System::UserWatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.ApplicationSettings.h b/10.0.15042.0/winrt/Windows.UI.ApplicationSettings.h new file mode 100644 index 000000000..342628ef5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.ApplicationSettings.h @@ -0,0 +1,1234 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.Security.Credentials.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.ApplicationSettings.3.h" +#include "Windows.UI.h" +#include "Windows.UI.Popups.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::UI::ApplicationSettings { + +template CredentialCommandCredentialDeletedHandler::CredentialCommandCredentialDeletedHandler(L lambda) : + CredentialCommandCredentialDeletedHandler(impl::make_delegate, CredentialCommandCredentialDeletedHandler>(std::forward(lambda))) +{} + +template CredentialCommandCredentialDeletedHandler::CredentialCommandCredentialDeletedHandler(F * function) : + CredentialCommandCredentialDeletedHandler([=](auto && ... args) { function(args ...); }) +{} + +template CredentialCommandCredentialDeletedHandler::CredentialCommandCredentialDeletedHandler(O * object, M method) : + CredentialCommandCredentialDeletedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void CredentialCommandCredentialDeletedHandler::operator()(const Windows::UI::ApplicationSettings::CredentialCommand & command) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(command))); +} + +template WebAccountCommandInvokedHandler::WebAccountCommandInvokedHandler(L lambda) : + WebAccountCommandInvokedHandler(impl::make_delegate, WebAccountCommandInvokedHandler>(std::forward(lambda))) +{} + +template WebAccountCommandInvokedHandler::WebAccountCommandInvokedHandler(F * function) : + WebAccountCommandInvokedHandler([=](auto && ... args) { function(args ...); }) +{} + +template WebAccountCommandInvokedHandler::WebAccountCommandInvokedHandler(O * object, M method) : + WebAccountCommandInvokedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void WebAccountCommandInvokedHandler::operator()(const Windows::UI::ApplicationSettings::WebAccountCommand & command, const Windows::UI::ApplicationSettings::WebAccountInvokedArgs & args) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(command), get_abi(args))); +} + +template WebAccountProviderCommandInvokedHandler::WebAccountProviderCommandInvokedHandler(L lambda) : + WebAccountProviderCommandInvokedHandler(impl::make_delegate, WebAccountProviderCommandInvokedHandler>(std::forward(lambda))) +{} + +template WebAccountProviderCommandInvokedHandler::WebAccountProviderCommandInvokedHandler(F * function) : + WebAccountProviderCommandInvokedHandler([=](auto && ... args) { function(args ...); }) +{} + +template WebAccountProviderCommandInvokedHandler::WebAccountProviderCommandInvokedHandler(O * object, M method) : + WebAccountProviderCommandInvokedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void WebAccountProviderCommandInvokedHandler::operator()(const Windows::UI::ApplicationSettings::WebAccountProviderCommand & command) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(command))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AccountCommandsRequested(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AccountCommandsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AccountCommandsRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccountCommandsRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccountProviderCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccountProviderCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebAccountCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccountCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Commands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Commands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Show() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowManageAccountsAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ShowManageAccountsAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAddAccountAsync(impl::abi_arg_out asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ShowAddAccountAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PasswordCredential(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordCredential()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CredentialDeleted(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CredentialDeleted()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCredentialCommand(impl::abi_arg_in passwordCredential, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateCredentialCommand(*reinterpret_cast(&passwordCredential))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCredentialCommandWithHandler(impl::abi_arg_in passwordCredential, impl::abi_arg_in deleted, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateCredentialCommandWithHandler(*reinterpret_cast(&passwordCredential), *reinterpret_cast(&deleted))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateSettingsCommand(impl::abi_arg_in settingsCommandId, impl::abi_arg_in label, impl::abi_arg_in handler, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateSettingsCommand(*reinterpret_cast(&settingsCommandId), *reinterpret_cast(&label), *reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccountsCommand(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccountsCommand()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CommandsRequested(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().CommandsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CommandsRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommandsRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ApplicationCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ApplicationCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out request) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *request = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *request = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Show() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Edge(Windows::UI::ApplicationSettings::SettingsEdgeLocation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Edge()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccount(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccount()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Invoked(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Invoked()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Actions(Windows::UI::ApplicationSettings::SupportedWebAccountActions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Actions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWebAccountCommand(impl::abi_arg_in webAccount, impl::abi_arg_in invoked, Windows::UI::ApplicationSettings::SupportedWebAccountActions actions, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWebAccountCommand(*reinterpret_cast(&webAccount), *reinterpret_cast(&invoked), actions)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Action(Windows::UI::ApplicationSettings::WebAccountAction * action) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *action = detach_abi(this->shim().Action()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WebAccountProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebAccountProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Invoked(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Invoked()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWebAccountProviderCommand(impl::abi_arg_in webAccountProvider, impl::abi_arg_in invoked, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWebAccountProviderCommand(*reinterpret_cast(&webAccountProvider), *reinterpret_cast(&invoked))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::ApplicationSettings { + +template Windows::UI::ApplicationSettings::SettingsCommand impl_ISettingsCommandFactory::CreateSettingsCommand(const Windows::Foundation::IInspectable & settingsCommandId, hstring_view label, const Windows::UI::Popups::UICommandInvokedHandler & handler) const +{ + Windows::UI::ApplicationSettings::SettingsCommand instance { nullptr }; + check_hresult(WINRT_SHIM(ISettingsCommandFactory)->abi_CreateSettingsCommand(get_abi(settingsCommandId), get_abi(label), get_abi(handler), put_abi(instance))); + return instance; +} + +template Windows::UI::ApplicationSettings::SettingsCommand impl_ISettingsCommandStatics::AccountsCommand() const +{ + Windows::UI::ApplicationSettings::SettingsCommand value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsCommandStatics)->get_AccountsCommand(put_abi(value))); + return value; +} + +template Windows::UI::ApplicationSettings::WebAccountProviderCommand impl_IWebAccountProviderCommandFactory::CreateWebAccountProviderCommand(const Windows::Security::Credentials::WebAccountProvider & webAccountProvider, const Windows::UI::ApplicationSettings::WebAccountProviderCommandInvokedHandler & invoked) const +{ + Windows::UI::ApplicationSettings::WebAccountProviderCommand instance { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderCommandFactory)->abi_CreateWebAccountProviderCommand(get_abi(webAccountProvider), get_abi(invoked), put_abi(instance))); + return instance; +} + +template Windows::Security::Credentials::WebAccountProvider impl_IWebAccountProviderCommand::WebAccountProvider() const +{ + Windows::Security::Credentials::WebAccountProvider value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountProviderCommand)->get_WebAccountProvider(put_abi(value))); + return value; +} + +template Windows::UI::ApplicationSettings::WebAccountProviderCommandInvokedHandler impl_IWebAccountProviderCommand::Invoked() const +{ + Windows::UI::ApplicationSettings::WebAccountProviderCommandInvokedHandler value {}; + check_hresult(WINRT_SHIM(IWebAccountProviderCommand)->get_Invoked(put_abi(value))); + return value; +} + +template Windows::UI::ApplicationSettings::WebAccountAction impl_IWebAccountInvokedArgs::Action() const +{ + Windows::UI::ApplicationSettings::WebAccountAction action {}; + check_hresult(WINRT_SHIM(IWebAccountInvokedArgs)->get_Action(&action)); + return action; +} + +template Windows::UI::ApplicationSettings::WebAccountCommand impl_IWebAccountCommandFactory::CreateWebAccountCommand(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::UI::ApplicationSettings::WebAccountCommandInvokedHandler & invoked, Windows::UI::ApplicationSettings::SupportedWebAccountActions actions) const +{ + Windows::UI::ApplicationSettings::WebAccountCommand instance { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountCommandFactory)->abi_CreateWebAccountCommand(get_abi(webAccount), get_abi(invoked), actions, put_abi(instance))); + return instance; +} + +template Windows::Security::Credentials::WebAccount impl_IWebAccountCommand::WebAccount() const +{ + Windows::Security::Credentials::WebAccount value { nullptr }; + check_hresult(WINRT_SHIM(IWebAccountCommand)->get_WebAccount(put_abi(value))); + return value; +} + +template Windows::UI::ApplicationSettings::WebAccountCommandInvokedHandler impl_IWebAccountCommand::Invoked() const +{ + Windows::UI::ApplicationSettings::WebAccountCommandInvokedHandler value {}; + check_hresult(WINRT_SHIM(IWebAccountCommand)->get_Invoked(put_abi(value))); + return value; +} + +template Windows::UI::ApplicationSettings::SupportedWebAccountActions impl_IWebAccountCommand::Actions() const +{ + Windows::UI::ApplicationSettings::SupportedWebAccountActions value {}; + check_hresult(WINRT_SHIM(IWebAccountCommand)->get_Actions(&value)); + return value; +} + +template Windows::UI::ApplicationSettings::CredentialCommand impl_ICredentialCommandFactory::CreateCredentialCommand(const Windows::Security::Credentials::PasswordCredential & passwordCredential) const +{ + Windows::UI::ApplicationSettings::CredentialCommand instance { nullptr }; + check_hresult(WINRT_SHIM(ICredentialCommandFactory)->abi_CreateCredentialCommand(get_abi(passwordCredential), put_abi(instance))); + return instance; +} + +template Windows::UI::ApplicationSettings::CredentialCommand impl_ICredentialCommandFactory::CreateCredentialCommandWithHandler(const Windows::Security::Credentials::PasswordCredential & passwordCredential, const Windows::UI::ApplicationSettings::CredentialCommandCredentialDeletedHandler & deleted) const +{ + Windows::UI::ApplicationSettings::CredentialCommand instance { nullptr }; + check_hresult(WINRT_SHIM(ICredentialCommandFactory)->abi_CreateCredentialCommandWithHandler(get_abi(passwordCredential), get_abi(deleted), put_abi(instance))); + return instance; +} + +template Windows::Security::Credentials::PasswordCredential impl_ICredentialCommand::PasswordCredential() const +{ + Windows::Security::Credentials::PasswordCredential value { nullptr }; + check_hresult(WINRT_SHIM(ICredentialCommand)->get_PasswordCredential(put_abi(value))); + return value; +} + +template Windows::UI::ApplicationSettings::CredentialCommandCredentialDeletedHandler impl_ICredentialCommand::CredentialDeleted() const +{ + Windows::UI::ApplicationSettings::CredentialCommandCredentialDeletedHandler value {}; + check_hresult(WINRT_SHIM(ICredentialCommand)->get_CredentialDeleted(put_abi(value))); + return value; +} + +template void impl_IAccountsSettingsPaneEventDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IAccountsSettingsPaneEventDeferral)->abi_Complete()); +} + +template Windows::Foundation::Collections::IVector impl_IAccountsSettingsPaneCommandsRequestedEventArgs::WebAccountProviderCommands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneCommandsRequestedEventArgs)->get_WebAccountProviderCommands(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAccountsSettingsPaneCommandsRequestedEventArgs::WebAccountCommands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneCommandsRequestedEventArgs)->get_WebAccountCommands(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAccountsSettingsPaneCommandsRequestedEventArgs::CredentialCommands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneCommandsRequestedEventArgs)->get_CredentialCommands(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAccountsSettingsPaneCommandsRequestedEventArgs::Commands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneCommandsRequestedEventArgs)->get_Commands(put_abi(value))); + return value; +} + +template hstring impl_IAccountsSettingsPaneCommandsRequestedEventArgs::HeaderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneCommandsRequestedEventArgs)->get_HeaderText(put_abi(value))); + return value; +} + +template void impl_IAccountsSettingsPaneCommandsRequestedEventArgs::HeaderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAccountsSettingsPaneCommandsRequestedEventArgs)->put_HeaderText(get_abi(value))); +} + +template Windows::UI::ApplicationSettings::AccountsSettingsPaneEventDeferral impl_IAccountsSettingsPaneCommandsRequestedEventArgs::GetDeferral() const +{ + Windows::UI::ApplicationSettings::AccountsSettingsPaneEventDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneCommandsRequestedEventArgs)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::UI::ApplicationSettings::AccountsSettingsPane impl_IAccountsSettingsPaneStatics::GetForCurrentView() const +{ + Windows::UI::ApplicationSettings::AccountsSettingsPane current { nullptr }; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneStatics)->abi_GetForCurrentView(put_abi(current))); + return current; +} + +template void impl_IAccountsSettingsPaneStatics::Show() const +{ + check_hresult(WINRT_SHIM(IAccountsSettingsPaneStatics)->abi_Show()); +} + +template Windows::Foundation::IAsyncAction impl_IAccountsSettingsPaneStatics2::ShowManageAccountsAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneStatics2)->abi_ShowManageAccountsAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::Foundation::IAsyncAction impl_IAccountsSettingsPaneStatics2::ShowAddAccountAsync() const +{ + Windows::Foundation::IAsyncAction asyncInfo; + check_hresult(WINRT_SHIM(IAccountsSettingsPaneStatics2)->abi_ShowAddAccountAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template event_token impl_IAccountsSettingsPane::AccountCommandsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IAccountsSettingsPane)->add_AccountCommandsRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IAccountsSettingsPane::AccountCommandsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ApplicationSettings::IAccountsSettingsPane::remove_AccountCommandsRequested, AccountCommandsRequested(handler)); +} + +template void impl_IAccountsSettingsPane::AccountCommandsRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IAccountsSettingsPane)->remove_AccountCommandsRequested(cookie)); +} + +template Windows::Foundation::Collections::IVector impl_ISettingsPaneCommandsRequest::ApplicationCommands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISettingsPaneCommandsRequest)->get_ApplicationCommands(put_abi(value))); + return value; +} + +template Windows::UI::ApplicationSettings::SettingsPaneCommandsRequest impl_ISettingsPaneCommandsRequestedEventArgs::Request() const +{ + Windows::UI::ApplicationSettings::SettingsPaneCommandsRequest request { nullptr }; + check_hresult(WINRT_SHIM(ISettingsPaneCommandsRequestedEventArgs)->get_Request(put_abi(request))); + return request; +} + +template Windows::UI::ApplicationSettings::SettingsPane impl_ISettingsPaneStatics::GetForCurrentView() const +{ + Windows::UI::ApplicationSettings::SettingsPane current { nullptr }; + check_hresult(WINRT_SHIM(ISettingsPaneStatics)->abi_GetForCurrentView(put_abi(current))); + return current; +} + +template void impl_ISettingsPaneStatics::Show() const +{ + check_hresult(WINRT_SHIM(ISettingsPaneStatics)->abi_Show()); +} + +template Windows::UI::ApplicationSettings::SettingsEdgeLocation impl_ISettingsPaneStatics::Edge() const +{ + Windows::UI::ApplicationSettings::SettingsEdgeLocation value {}; + check_hresult(WINRT_SHIM(ISettingsPaneStatics)->get_Edge(&value)); + return value; +} + +template event_token impl_ISettingsPane::CommandsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ISettingsPane)->add_CommandsRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ISettingsPane::CommandsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ApplicationSettings::ISettingsPane::remove_CommandsRequested, CommandsRequested(handler)); +} + +template void impl_ISettingsPane::CommandsRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ISettingsPane)->remove_CommandsRequested(cookie)); +} + +inline Windows::UI::ApplicationSettings::AccountsSettingsPane AccountsSettingsPane::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline void AccountsSettingsPane::Show() +{ + get_activation_factory().Show(); +} + +inline Windows::Foundation::IAsyncAction AccountsSettingsPane::ShowManageAccountsAsync() +{ + return get_activation_factory().ShowManageAccountsAsync(); +} + +inline Windows::Foundation::IAsyncAction AccountsSettingsPane::ShowAddAccountAsync() +{ + return get_activation_factory().ShowAddAccountAsync(); +} + +inline CredentialCommand::CredentialCommand(const Windows::Security::Credentials::PasswordCredential & passwordCredential) : + CredentialCommand(get_activation_factory().CreateCredentialCommand(passwordCredential)) +{} + +inline CredentialCommand::CredentialCommand(const Windows::Security::Credentials::PasswordCredential & passwordCredential, const Windows::UI::ApplicationSettings::CredentialCommandCredentialDeletedHandler & deleted) : + CredentialCommand(get_activation_factory().CreateCredentialCommandWithHandler(passwordCredential, deleted)) +{} + +inline SettingsCommand::SettingsCommand(const Windows::Foundation::IInspectable & settingsCommandId, hstring_view label, const Windows::UI::Popups::UICommandInvokedHandler & handler) : + SettingsCommand(get_activation_factory().CreateSettingsCommand(settingsCommandId, label, handler)) +{} + +inline Windows::UI::ApplicationSettings::SettingsCommand SettingsCommand::AccountsCommand() +{ + return get_activation_factory().AccountsCommand(); +} + +inline Windows::UI::ApplicationSettings::SettingsPane SettingsPane::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline void SettingsPane::Show() +{ + get_activation_factory().Show(); +} + +inline Windows::UI::ApplicationSettings::SettingsEdgeLocation SettingsPane::Edge() +{ + return get_activation_factory().Edge(); +} + +inline WebAccountCommand::WebAccountCommand(const Windows::Security::Credentials::WebAccount & webAccount, const Windows::UI::ApplicationSettings::WebAccountCommandInvokedHandler & invoked, Windows::UI::ApplicationSettings::SupportedWebAccountActions actions) : + WebAccountCommand(get_activation_factory().CreateWebAccountCommand(webAccount, invoked, actions)) +{} + +inline WebAccountProviderCommand::WebAccountProviderCommand(const Windows::Security::Credentials::WebAccountProvider & webAccountProvider, const Windows::UI::ApplicationSettings::WebAccountProviderCommandInvokedHandler & invoked) : + WebAccountProviderCommand(get_activation_factory().CreateWebAccountProviderCommand(webAccountProvider, invoked)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IAccountsSettingsPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IAccountsSettingsPaneCommandsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IAccountsSettingsPaneEventDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IAccountsSettingsPaneStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IAccountsSettingsPaneStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ICredentialCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ICredentialCommandFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ISettingsCommandFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ISettingsCommandStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ISettingsPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ISettingsPaneCommandsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ISettingsPaneCommandsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::ISettingsPaneStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IWebAccountCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IWebAccountCommandFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IWebAccountInvokedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IWebAccountProviderCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::IWebAccountProviderCommandFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::AccountsSettingsPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::AccountsSettingsPaneCommandsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::AccountsSettingsPaneEventDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::CredentialCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::SettingsCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::SettingsPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::SettingsPaneCommandsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::SettingsPaneCommandsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::WebAccountCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::WebAccountInvokedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ApplicationSettings::WebAccountProviderCommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Composition.Effects.h b/10.0.15042.0/winrt/Windows.UI.Composition.Effects.h new file mode 100644 index 000000000..8811f0aa5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Composition.Effects.h @@ -0,0 +1,253 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Graphics.Effects.3.h" +#include "internal/Windows.UI.Composition.Effects.3.h" +#include "Windows.UI.Composition.h" +#include "Windows.Graphics.Effects.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AmbientAmount(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AmbientAmount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AmbientAmount(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AmbientAmount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DiffuseAmount(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DiffuseAmount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DiffuseAmount(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DiffuseAmount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalMapSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalMapSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NormalMapSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NormalMapSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpecularAmount(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpecularAmount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpecularAmount(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpecularAmount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpecularShine(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpecularShine()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpecularShine(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpecularShine(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Composition::Effects { + +template float impl_ISceneLightingEffect::AmbientAmount() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISceneLightingEffect)->get_AmbientAmount(&value)); + return value; +} + +template void impl_ISceneLightingEffect::AmbientAmount(float value) const +{ + check_hresult(WINRT_SHIM(ISceneLightingEffect)->put_AmbientAmount(value)); +} + +template float impl_ISceneLightingEffect::DiffuseAmount() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISceneLightingEffect)->get_DiffuseAmount(&value)); + return value; +} + +template void impl_ISceneLightingEffect::DiffuseAmount(float value) const +{ + check_hresult(WINRT_SHIM(ISceneLightingEffect)->put_DiffuseAmount(value)); +} + +template Windows::Graphics::Effects::IGraphicsEffectSource impl_ISceneLightingEffect::NormalMapSource() const +{ + Windows::Graphics::Effects::IGraphicsEffectSource value; + check_hresult(WINRT_SHIM(ISceneLightingEffect)->get_NormalMapSource(put_abi(value))); + return value; +} + +template void impl_ISceneLightingEffect::NormalMapSource(const Windows::Graphics::Effects::IGraphicsEffectSource & value) const +{ + check_hresult(WINRT_SHIM(ISceneLightingEffect)->put_NormalMapSource(get_abi(value))); +} + +template float impl_ISceneLightingEffect::SpecularAmount() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISceneLightingEffect)->get_SpecularAmount(&value)); + return value; +} + +template void impl_ISceneLightingEffect::SpecularAmount(float value) const +{ + check_hresult(WINRT_SHIM(ISceneLightingEffect)->put_SpecularAmount(value)); +} + +template float impl_ISceneLightingEffect::SpecularShine() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISceneLightingEffect)->get_SpecularShine(&value)); + return value; +} + +template void impl_ISceneLightingEffect::SpecularShine(float value) const +{ + check_hresult(WINRT_SHIM(ISceneLightingEffect)->put_SpecularShine(value)); +} + +inline SceneLightingEffect::SceneLightingEffect() : + SceneLightingEffect(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Effects::ISceneLightingEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Effects::SceneLightingEffect & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Composition.Interactions.h b/10.0.15042.0/winrt/Windows.UI.Composition.Interactions.h new file mode 100644 index 000000000..a45fd61da --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Composition.Interactions.h @@ -0,0 +1,2690 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.Composition.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Input.3.h" +#include "internal/Windows.UI.Composition.Interactions.3.h" +#include "Windows.UI.Composition.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Condition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Condition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Condition(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Condition(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in compositor, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&compositor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Count(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Count()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Add(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Add(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSources(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSources()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPositionRoundingSuggested(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPositionRoundingSuggested()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxPosition(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxPosition(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxScale(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinPosition(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinPosition(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinScale(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalRestingPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalRestingPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalRestingScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalRestingScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Owner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Owner()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionInertiaDecayRate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionInertiaDecayRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionInertiaDecayRate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionInertiaDecayRate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionVelocityInPixelsPerSecond(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionVelocityInPixelsPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaleInertiaDecayRate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaleInertiaDecayRate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScaleInertiaDecayRate(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScaleInertiaDecayRate(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaleVelocityInPercentPerSecond(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaleVelocityInPercentPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AdjustPositionXIfGreaterThanThreshold(float adjustment, float positionThreshold) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdjustPositionXIfGreaterThanThreshold(adjustment, positionThreshold); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AdjustPositionYIfGreaterThanThreshold(float adjustment, float positionThreshold) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdjustPositionYIfGreaterThanThreshold(adjustment, positionThreshold); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigurePositionXInertiaModifiers(impl::abi_arg_in> modifiers) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigurePositionXInertiaModifiers(*reinterpret_cast *>(&modifiers)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigurePositionYInertiaModifiers(impl::abi_arg_in> modifiers) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigurePositionYInertiaModifiers(*reinterpret_cast *>(&modifiers)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureScaleInertiaModifiers(impl::abi_arg_in> modifiers) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureScaleInertiaModifiers(*reinterpret_cast *>(&modifiers)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdatePosition(impl::abi_arg_in value, int32_t * requestId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestId = detach_abi(this->shim().TryUpdatePosition(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdatePositionBy(impl::abi_arg_in amount, int32_t * requestId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestId = detach_abi(this->shim().TryUpdatePositionBy(*reinterpret_cast(&amount))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdatePositionWithAnimation(impl::abi_arg_in animation, int32_t * requestId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestId = detach_abi(this->shim().TryUpdatePositionWithAnimation(*reinterpret_cast(&animation))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdatePositionWithAdditionalVelocity(impl::abi_arg_in velocityInPixelsPerSecond, int32_t * requestId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestId = detach_abi(this->shim().TryUpdatePositionWithAdditionalVelocity(*reinterpret_cast(&velocityInPixelsPerSecond))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdateScale(float value, impl::abi_arg_in centerPoint, int32_t * requestId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestId = detach_abi(this->shim().TryUpdateScale(value, *reinterpret_cast(¢erPoint))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdateScaleWithAnimation(impl::abi_arg_in animation, impl::abi_arg_in centerPoint, int32_t * requestId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestId = detach_abi(this->shim().TryUpdateScaleWithAnimation(*reinterpret_cast(&animation), *reinterpret_cast(¢erPoint))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, impl::abi_arg_in centerPoint, int32_t * requestId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *requestId = detach_abi(this->shim().TryUpdateScaleWithAdditionalVelocity(velocityInPercentPerSecond, *reinterpret_cast(¢erPoint))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ConfigureCenterPointXInertiaModifiers(impl::abi_arg_in> conditionalValues) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureCenterPointXInertiaModifiers(*reinterpret_cast *>(&conditionalValues)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureCenterPointYInertiaModifiers(impl::abi_arg_in> conditionalValues) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureCenterPointYInertiaModifiers(*reinterpret_cast *>(&conditionalValues)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Condition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Condition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Condition(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Condition(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Motion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Motion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Motion(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Motion(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in compositor, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&compositor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Condition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Condition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Condition(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Condition(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RestingValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RestingValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RestingValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RestingValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in compositor, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&compositor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ModifiedRestingPosition(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModifiedRestingPosition()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ModifiedRestingScale(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ModifiedRestingScale()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalRestingPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalRestingPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalRestingScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalRestingScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionVelocityInPixelsPerSecond(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionVelocityInPixelsPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaleVelocityInPercentPerSecond(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaleVelocityInPercentPerSecond()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CustomAnimationStateEntered(impl::abi_arg_in sender, impl::abi_arg_in args) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomAnimationStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IdleStateEntered(impl::abi_arg_in sender, impl::abi_arg_in args) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IdleStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InertiaStateEntered(impl::abi_arg_in sender, impl::abi_arg_in args) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InertiaStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InteractingStateEntered(impl::abi_arg_in sender, impl::abi_arg_in args) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InteractingStateEntered(*reinterpret_cast(&sender), *reinterpret_cast(&args)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestIgnored(impl::abi_arg_in sender, impl::abi_arg_in args) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequestIgnored(*reinterpret_cast(&sender), *reinterpret_cast(&args)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ValuesChanged(impl::abi_arg_in sender, impl::abi_arg_in args) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValuesChanged(*reinterpret_cast(&sender), *reinterpret_cast(&args)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in compositor, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&compositor))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithOwner(impl::abi_arg_in compositor, impl::abi_arg_in owner, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithOwner(*reinterpret_cast(&compositor), *reinterpret_cast(&owner))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequestId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequestId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPositionXRailsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPositionXRailsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPositionXRailsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPositionXRailsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPositionYRailsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPositionYRailsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPositionYRailsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPositionYRailsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManipulationRedirectionMode(Windows::UI::Composition::Interactions::VisualInteractionSourceRedirectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManipulationRedirectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ManipulationRedirectionMode(Windows::UI::Composition::Interactions::VisualInteractionSourceRedirectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationRedirectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionXChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionXChainingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionXChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionXChainingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionXSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionXSourceMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionXSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionXSourceMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionYChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionYChainingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionYChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionYChainingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionYSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionYSourceMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PositionYSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PositionYSourceMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaleChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaleChainingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScaleChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScaleChainingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaleSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaleSourceMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScaleSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScaleSourceMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRedirectForManipulation(impl::abi_arg_in pointerPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TryRedirectForManipulation(*reinterpret_cast(&pointerPoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeltaPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeltaPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeltaScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeltaScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionVelocity(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionVelocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScaleVelocity(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScaleVelocity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureCenterPointXModifiers(impl::abi_arg_in> conditionalValues) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureCenterPointXModifiers(*reinterpret_cast *>(&conditionalValues)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureCenterPointYModifiers(impl::abi_arg_in> conditionalValues) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureCenterPointYModifiers(*reinterpret_cast *>(&conditionalValues)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureDeltaPositionXModifiers(impl::abi_arg_in> conditionalValues) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureDeltaPositionXModifiers(*reinterpret_cast *>(&conditionalValues)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureDeltaPositionYModifiers(impl::abi_arg_in> conditionalValues) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureDeltaPositionYModifiers(*reinterpret_cast *>(&conditionalValues)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureDeltaScaleModifiers(impl::abi_arg_in> conditionalValues) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureDeltaScaleModifiers(*reinterpret_cast *>(&conditionalValues)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in source, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Create(*reinterpret_cast(&source))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Composition::Interactions { + +template Windows::UI::Composition::Interactions::CompositionConditionalValue impl_ICompositionConditionalValueStatics::Create(const Windows::UI::Composition::Compositor & compositor) const +{ + Windows::UI::Composition::Interactions::CompositionConditionalValue result { nullptr }; + check_hresult(WINRT_SHIM(ICompositionConditionalValueStatics)->abi_Create(get_abi(compositor), put_abi(result))); + return result; +} + +template Windows::UI::Composition::ExpressionAnimation impl_ICompositionConditionalValue::Condition() const +{ + Windows::UI::Composition::ExpressionAnimation value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionConditionalValue)->get_Condition(put_abi(value))); + return value; +} + +template void impl_ICompositionConditionalValue::Condition(const Windows::UI::Composition::ExpressionAnimation & value) const +{ + check_hresult(WINRT_SHIM(ICompositionConditionalValue)->put_Condition(get_abi(value))); +} + +template Windows::UI::Composition::ExpressionAnimation impl_ICompositionConditionalValue::Value() const +{ + Windows::UI::Composition::ExpressionAnimation value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionConditionalValue)->get_Value(put_abi(value))); + return value; +} + +template void impl_ICompositionConditionalValue::Value(const Windows::UI::Composition::ExpressionAnimation & value) const +{ + check_hresult(WINRT_SHIM(ICompositionConditionalValue)->put_Value(get_abi(value))); +} + +template int32_t impl_ICompositionInteractionSourceCollection::Count() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICompositionInteractionSourceCollection)->get_Count(&value)); + return value; +} + +template void impl_ICompositionInteractionSourceCollection::Add(const Windows::UI::Composition::Interactions::ICompositionInteractionSource & value) const +{ + check_hresult(WINRT_SHIM(ICompositionInteractionSourceCollection)->abi_Add(get_abi(value))); +} + +template void impl_ICompositionInteractionSourceCollection::Remove(const Windows::UI::Composition::Interactions::ICompositionInteractionSource & value) const +{ + check_hresult(WINRT_SHIM(ICompositionInteractionSourceCollection)->abi_Remove(get_abi(value))); +} + +template void impl_ICompositionInteractionSourceCollection::RemoveAll() const +{ + check_hresult(WINRT_SHIM(ICompositionInteractionSourceCollection)->abi_RemoveAll()); +} + +template Windows::UI::Composition::Interactions::InteractionTracker impl_IInteractionTrackerStatics::Create(const Windows::UI::Composition::Compositor & compositor) const +{ + Windows::UI::Composition::Interactions::InteractionTracker result { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerStatics)->abi_Create(get_abi(compositor), put_abi(result))); + return result; +} + +template Windows::UI::Composition::Interactions::InteractionTracker impl_IInteractionTrackerStatics::CreateWithOwner(const Windows::UI::Composition::Compositor & compositor, const Windows::UI::Composition::Interactions::IInteractionTrackerOwner & owner) const +{ + Windows::UI::Composition::Interactions::InteractionTracker result { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerStatics)->abi_CreateWithOwner(get_abi(compositor), get_abi(owner), put_abi(result))); + return result; +} + +template void impl_IInteractionTrackerOwner::CustomAnimationStateEntered(const Windows::UI::Composition::Interactions::InteractionTracker & sender, const Windows::UI::Composition::Interactions::InteractionTrackerCustomAnimationStateEnteredArgs & args) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerOwner)->abi_CustomAnimationStateEntered(get_abi(sender), get_abi(args))); +} + +template void impl_IInteractionTrackerOwner::IdleStateEntered(const Windows::UI::Composition::Interactions::InteractionTracker & sender, const Windows::UI::Composition::Interactions::InteractionTrackerIdleStateEnteredArgs & args) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerOwner)->abi_IdleStateEntered(get_abi(sender), get_abi(args))); +} + +template void impl_IInteractionTrackerOwner::InertiaStateEntered(const Windows::UI::Composition::Interactions::InteractionTracker & sender, const Windows::UI::Composition::Interactions::InteractionTrackerInertiaStateEnteredArgs & args) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerOwner)->abi_InertiaStateEntered(get_abi(sender), get_abi(args))); +} + +template void impl_IInteractionTrackerOwner::InteractingStateEntered(const Windows::UI::Composition::Interactions::InteractionTracker & sender, const Windows::UI::Composition::Interactions::InteractionTrackerInteractingStateEnteredArgs & args) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerOwner)->abi_InteractingStateEntered(get_abi(sender), get_abi(args))); +} + +template void impl_IInteractionTrackerOwner::RequestIgnored(const Windows::UI::Composition::Interactions::InteractionTracker & sender, const Windows::UI::Composition::Interactions::InteractionTrackerRequestIgnoredArgs & args) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerOwner)->abi_RequestIgnored(get_abi(sender), get_abi(args))); +} + +template void impl_IInteractionTrackerOwner::ValuesChanged(const Windows::UI::Composition::Interactions::InteractionTracker & sender, const Windows::UI::Composition::Interactions::InteractionTrackerValuesChangedArgs & args) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerOwner)->abi_ValuesChanged(get_abi(sender), get_abi(args))); +} + +template Windows::UI::Composition::Interactions::CompositionInteractionSourceCollection impl_IInteractionTracker::InteractionSources() const +{ + Windows::UI::Composition::Interactions::CompositionInteractionSourceCollection value { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_InteractionSources(put_abi(value))); + return value; +} + +template bool impl_IInteractionTracker::IsPositionRoundingSuggested() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_IsPositionRoundingSuggested(&value)); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTracker::MaxPosition() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_MaxPosition(put_abi(value))); + return value; +} + +template void impl_IInteractionTracker::MaxPosition(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->put_MaxPosition(get_abi(value))); +} + +template float impl_IInteractionTracker::MaxScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_MaxScale(&value)); + return value; +} + +template void impl_IInteractionTracker::MaxScale(float value) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->put_MaxScale(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTracker::MinPosition() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_MinPosition(put_abi(value))); + return value; +} + +template void impl_IInteractionTracker::MinPosition(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->put_MinPosition(get_abi(value))); +} + +template float impl_IInteractionTracker::MinScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_MinScale(&value)); + return value; +} + +template void impl_IInteractionTracker::MinScale(float value) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->put_MinScale(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTracker::NaturalRestingPosition() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_NaturalRestingPosition(put_abi(value))); + return value; +} + +template float impl_IInteractionTracker::NaturalRestingScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_NaturalRestingScale(&value)); + return value; +} + +template Windows::UI::Composition::Interactions::IInteractionTrackerOwner impl_IInteractionTracker::Owner() const +{ + Windows::UI::Composition::Interactions::IInteractionTrackerOwner value; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_Owner(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTracker::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IInteractionTracker::PositionInertiaDecayRate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_PositionInertiaDecayRate(put_abi(value))); + return value; +} + +template void impl_IInteractionTracker::PositionInertiaDecayRate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->put_PositionInertiaDecayRate(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTracker::PositionVelocityInPixelsPerSecond() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_PositionVelocityInPixelsPerSecond(put_abi(value))); + return value; +} + +template float impl_IInteractionTracker::Scale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_Scale(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IInteractionTracker::ScaleInertiaDecayRate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_ScaleInertiaDecayRate(put_abi(value))); + return value; +} + +template void impl_IInteractionTracker::ScaleInertiaDecayRate(const optional & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->put_ScaleInertiaDecayRate(get_abi(value))); +} + +template float impl_IInteractionTracker::ScaleVelocityInPercentPerSecond() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->get_ScaleVelocityInPercentPerSecond(&value)); + return value; +} + +template void impl_IInteractionTracker::AdjustPositionXIfGreaterThanThreshold(float adjustment, float positionThreshold) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_AdjustPositionXIfGreaterThanThreshold(adjustment, positionThreshold)); +} + +template void impl_IInteractionTracker::AdjustPositionYIfGreaterThanThreshold(float adjustment, float positionThreshold) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_AdjustPositionYIfGreaterThanThreshold(adjustment, positionThreshold)); +} + +template void impl_IInteractionTracker::ConfigurePositionXInertiaModifiers(iterable modifiers) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_ConfigurePositionXInertiaModifiers(get_abi(modifiers))); +} + +template void impl_IInteractionTracker::ConfigurePositionYInertiaModifiers(iterable modifiers) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_ConfigurePositionYInertiaModifiers(get_abi(modifiers))); +} + +template void impl_IInteractionTracker::ConfigureScaleInertiaModifiers(iterable modifiers) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_ConfigureScaleInertiaModifiers(get_abi(modifiers))); +} + +template int32_t impl_IInteractionTracker::TryUpdatePosition(const Windows::Foundation::Numerics::float3 & value) const +{ + int32_t requestId {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_TryUpdatePosition(get_abi(value), &requestId)); + return requestId; +} + +template int32_t impl_IInteractionTracker::TryUpdatePositionBy(const Windows::Foundation::Numerics::float3 & amount) const +{ + int32_t requestId {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_TryUpdatePositionBy(get_abi(amount), &requestId)); + return requestId; +} + +template int32_t impl_IInteractionTracker::TryUpdatePositionWithAnimation(const Windows::UI::Composition::CompositionAnimation & animation) const +{ + int32_t requestId {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_TryUpdatePositionWithAnimation(get_abi(animation), &requestId)); + return requestId; +} + +template int32_t impl_IInteractionTracker::TryUpdatePositionWithAdditionalVelocity(const Windows::Foundation::Numerics::float3 & velocityInPixelsPerSecond) const +{ + int32_t requestId {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_TryUpdatePositionWithAdditionalVelocity(get_abi(velocityInPixelsPerSecond), &requestId)); + return requestId; +} + +template int32_t impl_IInteractionTracker::TryUpdateScale(float value, const Windows::Foundation::Numerics::float3 & centerPoint) const +{ + int32_t requestId {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_TryUpdateScale(value, get_abi(centerPoint), &requestId)); + return requestId; +} + +template int32_t impl_IInteractionTracker::TryUpdateScaleWithAnimation(const Windows::UI::Composition::CompositionAnimation & animation, const Windows::Foundation::Numerics::float3 & centerPoint) const +{ + int32_t requestId {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_TryUpdateScaleWithAnimation(get_abi(animation), get_abi(centerPoint), &requestId)); + return requestId; +} + +template int32_t impl_IInteractionTracker::TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, const Windows::Foundation::Numerics::float3 & centerPoint) const +{ + int32_t requestId {}; + check_hresult(WINRT_SHIM(IInteractionTracker)->abi_TryUpdateScaleWithAdditionalVelocity(velocityInPercentPerSecond, get_abi(centerPoint), &requestId)); + return requestId; +} + +template void impl_IInteractionTracker2::ConfigureCenterPointXInertiaModifiers(iterable conditionalValues) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker2)->abi_ConfigureCenterPointXInertiaModifiers(get_abi(conditionalValues))); +} + +template void impl_IInteractionTracker2::ConfigureCenterPointYInertiaModifiers(iterable conditionalValues) const +{ + check_hresult(WINRT_SHIM(IInteractionTracker2)->abi_ConfigureCenterPointYInertiaModifiers(get_abi(conditionalValues))); +} + +template int32_t impl_IInteractionTrackerCustomAnimationStateEnteredArgs::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerCustomAnimationStateEnteredArgs)->get_RequestId(&value)); + return value; +} + +template int32_t impl_IInteractionTrackerIdleStateEnteredArgs::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerIdleStateEnteredArgs)->get_RequestId(&value)); + return value; +} + +template int32_t impl_IInteractionTrackerInteractingStateEnteredArgs::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerInteractingStateEnteredArgs)->get_RequestId(&value)); + return value; +} + +template Windows::UI::Composition::Interactions::InteractionTrackerInertiaRestingValue impl_IInteractionTrackerInertiaRestingValueStatics::Create(const Windows::UI::Composition::Compositor & compositor) const +{ + Windows::UI::Composition::Interactions::InteractionTrackerInertiaRestingValue result { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaRestingValueStatics)->abi_Create(get_abi(compositor), put_abi(result))); + return result; +} + +template Windows::UI::Composition::ExpressionAnimation impl_IInteractionTrackerInertiaRestingValue::Condition() const +{ + Windows::UI::Composition::ExpressionAnimation value { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaRestingValue)->get_Condition(put_abi(value))); + return value; +} + +template void impl_IInteractionTrackerInertiaRestingValue::Condition(const Windows::UI::Composition::ExpressionAnimation & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaRestingValue)->put_Condition(get_abi(value))); +} + +template Windows::UI::Composition::ExpressionAnimation impl_IInteractionTrackerInertiaRestingValue::RestingValue() const +{ + Windows::UI::Composition::ExpressionAnimation value { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaRestingValue)->get_RestingValue(put_abi(value))); + return value; +} + +template void impl_IInteractionTrackerInertiaRestingValue::RestingValue(const Windows::UI::Composition::ExpressionAnimation & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaRestingValue)->put_RestingValue(get_abi(value))); +} + +template Windows::UI::Composition::Interactions::InteractionTrackerInertiaMotion impl_IInteractionTrackerInertiaMotionStatics::Create(const Windows::UI::Composition::Compositor & compositor) const +{ + Windows::UI::Composition::Interactions::InteractionTrackerInertiaMotion result { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaMotionStatics)->abi_Create(get_abi(compositor), put_abi(result))); + return result; +} + +template Windows::UI::Composition::ExpressionAnimation impl_IInteractionTrackerInertiaMotion::Condition() const +{ + Windows::UI::Composition::ExpressionAnimation value { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaMotion)->get_Condition(put_abi(value))); + return value; +} + +template void impl_IInteractionTrackerInertiaMotion::Condition(const Windows::UI::Composition::ExpressionAnimation & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaMotion)->put_Condition(get_abi(value))); +} + +template Windows::UI::Composition::ExpressionAnimation impl_IInteractionTrackerInertiaMotion::Motion() const +{ + Windows::UI::Composition::ExpressionAnimation value { nullptr }; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaMotion)->get_Motion(put_abi(value))); + return value; +} + +template void impl_IInteractionTrackerInertiaMotion::Motion(const Windows::UI::Composition::ExpressionAnimation & value) const +{ + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaMotion)->put_Motion(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IInteractionTrackerInertiaStateEnteredArgs::ModifiedRestingPosition() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaStateEnteredArgs)->get_ModifiedRestingPosition(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IInteractionTrackerInertiaStateEnteredArgs::ModifiedRestingScale() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaStateEnteredArgs)->get_ModifiedRestingScale(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTrackerInertiaStateEnteredArgs::NaturalRestingPosition() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaStateEnteredArgs)->get_NaturalRestingPosition(put_abi(value))); + return value; +} + +template float impl_IInteractionTrackerInertiaStateEnteredArgs::NaturalRestingScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaStateEnteredArgs)->get_NaturalRestingScale(&value)); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTrackerInertiaStateEnteredArgs::PositionVelocityInPixelsPerSecond() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaStateEnteredArgs)->get_PositionVelocityInPixelsPerSecond(put_abi(value))); + return value; +} + +template int32_t impl_IInteractionTrackerInertiaStateEnteredArgs::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaStateEnteredArgs)->get_RequestId(&value)); + return value; +} + +template float impl_IInteractionTrackerInertiaStateEnteredArgs::ScaleVelocityInPercentPerSecond() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerInertiaStateEnteredArgs)->get_ScaleVelocityInPercentPerSecond(&value)); + return value; +} + +template int32_t impl_IInteractionTrackerRequestIgnoredArgs::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerRequestIgnoredArgs)->get_RequestId(&value)); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IInteractionTrackerValuesChangedArgs::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerValuesChangedArgs)->get_Position(put_abi(value))); + return value; +} + +template int32_t impl_IInteractionTrackerValuesChangedArgs::RequestId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerValuesChangedArgs)->get_RequestId(&value)); + return value; +} + +template float impl_IInteractionTrackerValuesChangedArgs::Scale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInteractionTrackerValuesChangedArgs)->get_Scale(&value)); + return value; +} + +template Windows::UI::Composition::Interactions::VisualInteractionSource impl_IVisualInteractionSourceStatics::Create(const Windows::UI::Composition::Visual & source) const +{ + Windows::UI::Composition::Interactions::VisualInteractionSource result { nullptr }; + check_hresult(WINRT_SHIM(IVisualInteractionSourceStatics)->abi_Create(get_abi(source), put_abi(result))); + return result; +} + +template bool impl_IVisualInteractionSource::IsPositionXRailsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_IsPositionXRailsEnabled(&value)); + return value; +} + +template void impl_IVisualInteractionSource::IsPositionXRailsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_IsPositionXRailsEnabled(value)); +} + +template bool impl_IVisualInteractionSource::IsPositionYRailsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_IsPositionYRailsEnabled(&value)); + return value; +} + +template void impl_IVisualInteractionSource::IsPositionYRailsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_IsPositionYRailsEnabled(value)); +} + +template Windows::UI::Composition::Interactions::VisualInteractionSourceRedirectionMode impl_IVisualInteractionSource::ManipulationRedirectionMode() const +{ + Windows::UI::Composition::Interactions::VisualInteractionSourceRedirectionMode value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_ManipulationRedirectionMode(&value)); + return value; +} + +template void impl_IVisualInteractionSource::ManipulationRedirectionMode(Windows::UI::Composition::Interactions::VisualInteractionSourceRedirectionMode value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_ManipulationRedirectionMode(value)); +} + +template Windows::UI::Composition::Interactions::InteractionChainingMode impl_IVisualInteractionSource::PositionXChainingMode() const +{ + Windows::UI::Composition::Interactions::InteractionChainingMode value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_PositionXChainingMode(&value)); + return value; +} + +template void impl_IVisualInteractionSource::PositionXChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_PositionXChainingMode(value)); +} + +template Windows::UI::Composition::Interactions::InteractionSourceMode impl_IVisualInteractionSource::PositionXSourceMode() const +{ + Windows::UI::Composition::Interactions::InteractionSourceMode value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_PositionXSourceMode(&value)); + return value; +} + +template void impl_IVisualInteractionSource::PositionXSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_PositionXSourceMode(value)); +} + +template Windows::UI::Composition::Interactions::InteractionChainingMode impl_IVisualInteractionSource::PositionYChainingMode() const +{ + Windows::UI::Composition::Interactions::InteractionChainingMode value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_PositionYChainingMode(&value)); + return value; +} + +template void impl_IVisualInteractionSource::PositionYChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_PositionYChainingMode(value)); +} + +template Windows::UI::Composition::Interactions::InteractionSourceMode impl_IVisualInteractionSource::PositionYSourceMode() const +{ + Windows::UI::Composition::Interactions::InteractionSourceMode value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_PositionYSourceMode(&value)); + return value; +} + +template void impl_IVisualInteractionSource::PositionYSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_PositionYSourceMode(value)); +} + +template Windows::UI::Composition::Interactions::InteractionChainingMode impl_IVisualInteractionSource::ScaleChainingMode() const +{ + Windows::UI::Composition::Interactions::InteractionChainingMode value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_ScaleChainingMode(&value)); + return value; +} + +template void impl_IVisualInteractionSource::ScaleChainingMode(Windows::UI::Composition::Interactions::InteractionChainingMode value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_ScaleChainingMode(value)); +} + +template Windows::UI::Composition::Interactions::InteractionSourceMode impl_IVisualInteractionSource::ScaleSourceMode() const +{ + Windows::UI::Composition::Interactions::InteractionSourceMode value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_ScaleSourceMode(&value)); + return value; +} + +template void impl_IVisualInteractionSource::ScaleSourceMode(Windows::UI::Composition::Interactions::InteractionSourceMode value) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->put_ScaleSourceMode(value)); +} + +template Windows::UI::Composition::Visual impl_IVisualInteractionSource::Source() const +{ + Windows::UI::Composition::Visual value { nullptr }; + check_hresult(WINRT_SHIM(IVisualInteractionSource)->get_Source(put_abi(value))); + return value; +} + +template void impl_IVisualInteractionSource::TryRedirectForManipulation(const Windows::UI::Input::PointerPoint & pointerPoint) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource)->abi_TryRedirectForManipulation(get_abi(pointerPoint))); +} + +template Windows::Foundation::Numerics::float3 impl_IVisualInteractionSource2::DeltaPosition() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->get_DeltaPosition(put_abi(value))); + return value; +} + +template float impl_IVisualInteractionSource2::DeltaScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->get_DeltaScale(&value)); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IVisualInteractionSource2::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_IVisualInteractionSource2::PositionVelocity() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->get_PositionVelocity(put_abi(value))); + return value; +} + +template float impl_IVisualInteractionSource2::Scale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->get_Scale(&value)); + return value; +} + +template float impl_IVisualInteractionSource2::ScaleVelocity() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->get_ScaleVelocity(&value)); + return value; +} + +template void impl_IVisualInteractionSource2::ConfigureCenterPointXModifiers(iterable conditionalValues) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->abi_ConfigureCenterPointXModifiers(get_abi(conditionalValues))); +} + +template void impl_IVisualInteractionSource2::ConfigureCenterPointYModifiers(iterable conditionalValues) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->abi_ConfigureCenterPointYModifiers(get_abi(conditionalValues))); +} + +template void impl_IVisualInteractionSource2::ConfigureDeltaPositionXModifiers(iterable conditionalValues) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->abi_ConfigureDeltaPositionXModifiers(get_abi(conditionalValues))); +} + +template void impl_IVisualInteractionSource2::ConfigureDeltaPositionYModifiers(iterable conditionalValues) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->abi_ConfigureDeltaPositionYModifiers(get_abi(conditionalValues))); +} + +template void impl_IVisualInteractionSource2::ConfigureDeltaScaleModifiers(iterable conditionalValues) const +{ + check_hresult(WINRT_SHIM(IVisualInteractionSource2)->abi_ConfigureDeltaScaleModifiers(get_abi(conditionalValues))); +} + +inline Windows::UI::Composition::Interactions::CompositionConditionalValue CompositionConditionalValue::Create(const Windows::UI::Composition::Compositor & compositor) +{ + return get_activation_factory().Create(compositor); +} + +inline Windows::UI::Composition::Interactions::InteractionTracker InteractionTracker::Create(const Windows::UI::Composition::Compositor & compositor) +{ + return get_activation_factory().Create(compositor); +} + +inline Windows::UI::Composition::Interactions::InteractionTracker InteractionTracker::CreateWithOwner(const Windows::UI::Composition::Compositor & compositor, const Windows::UI::Composition::Interactions::IInteractionTrackerOwner & owner) +{ + return get_activation_factory().CreateWithOwner(compositor, owner); +} + +inline Windows::UI::Composition::Interactions::InteractionTrackerInertiaMotion InteractionTrackerInertiaMotion::Create(const Windows::UI::Composition::Compositor & compositor) +{ + return get_activation_factory().Create(compositor); +} + +inline Windows::UI::Composition::Interactions::InteractionTrackerInertiaRestingValue InteractionTrackerInertiaRestingValue::Create(const Windows::UI::Composition::Compositor & compositor) +{ + return get_activation_factory().Create(compositor); +} + +inline Windows::UI::Composition::Interactions::VisualInteractionSource VisualInteractionSource::Create(const Windows::UI::Composition::Visual & source) +{ + return get_activation_factory().Create(source); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::ICompositionConditionalValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::ICompositionConditionalValueStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::ICompositionInteractionSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::ICompositionInteractionSourceCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTracker2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerCustomAnimationStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerIdleStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInertiaModifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInertiaModifierFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInertiaMotion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInertiaMotionStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInertiaRestingValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInertiaRestingValueStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInertiaStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerInteractingStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerOwner & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerRequestIgnoredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IInteractionTrackerValuesChangedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IVisualInteractionSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IVisualInteractionSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IVisualInteractionSourceObjectFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::IVisualInteractionSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::CompositionConditionalValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::CompositionInteractionSourceCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTracker & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerCustomAnimationStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerIdleStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaModifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaMotion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaRestingValue & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerInertiaStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerInteractingStateEnteredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerRequestIgnoredArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::InteractionTrackerValuesChangedArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Interactions::VisualInteractionSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Composition.h b/10.0.15042.0/winrt/Windows.UI.Composition.h new file mode 100644 index 000000000..bad134788 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Composition.h @@ -0,0 +1,8832 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Graphics.DirectX.3.h" +#include "internal/Windows.Graphics.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "internal/Windows.Graphics.Effects.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Composition.3.h" +#include "Windows.UI.h" +#include "Windows.Foundation.h" +#include "Windows.Foundation.Collections.h" +#include "Windows.Graphics.Effects.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InterpolationColorSpace(Windows::UI::Composition::CompositionColorSpace * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InterpolationColorSpace()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InterpolationColorSpace(Windows::UI::Composition::CompositionColorSpace value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InterpolationColorSpace(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertKeyFrame(float normalizedProgressKey, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertKeyFrameWithEasingFunction(float normalizedProgressKey, impl::abi_arg_in value, impl::abi_arg_in easingFunction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value), *reinterpret_cast(&easingFunction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ClearAllParameters() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearAllParameters(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearParameter(impl::abi_arg_in key) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearParameter(*reinterpret_cast(&key)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetColorParameter(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetColorParameter(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMatrix3x2Parameter(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetMatrix3x2Parameter(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMatrix4x4Parameter(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetMatrix4x4Parameter(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetQuaternionParameter(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetQuaternionParameter(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetReferenceParameter(impl::abi_arg_in key, impl::abi_arg_in compositionObject) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetReferenceParameter(*reinterpret_cast(&key), *reinterpret_cast(&compositionObject)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetScalarParameter(impl::abi_arg_in key, float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetScalarParameter(*reinterpret_cast(&key), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVector2Parameter(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVector2Parameter(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVector3Parameter(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVector3Parameter(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVector4Parameter(impl::abi_arg_in key, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVector4Parameter(*reinterpret_cast(&key), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetBooleanParameter(impl::abi_arg_in key, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBooleanParameter(*reinterpret_cast(&key), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Target(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Target()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Target(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Target(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Count(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Count()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Add(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Add(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AreEffectsSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreEffectsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AreEffectsFast(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreEffectsFast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Changed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Changed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Changed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Changed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AnchorPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnchorPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AnchorPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AnchorPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CenterPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CenterPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CenterPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CenterPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Offset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Offset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationAngle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationAngle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationAngle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationAngleInDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAngleInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationAngleInDegrees(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationAngleInDegrees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scale(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Scale(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scale(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransformMatrix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransformMatrix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransformMatrix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransformMatrix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Completed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlphaMode(Windows::Graphics::DirectX::DirectXAlphaMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlphaMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PixelFormat(Windows::Graphics::DirectX::DirectXPixelFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Size(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SizeInt32(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeInt32()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resize(impl::abi_arg_in sizePixels) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resize(*reinterpret_cast(&sizePixels)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Scroll(impl::abi_arg_in offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scroll(*reinterpret_cast(&offset)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollRect(impl::abi_arg_in offset, impl::abi_arg_in scrollRect) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scroll(*reinterpret_cast(&offset), *reinterpret_cast(&scrollRect)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollWithClip(impl::abi_arg_in offset, impl::abi_arg_in clipRect) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollWithClip(*reinterpret_cast(&offset), *reinterpret_cast(&clipRect)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollRectWithClip(impl::abi_arg_in offset, impl::abi_arg_in clipRect, impl::abi_arg_in scrollRect) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollWithClip(*reinterpret_cast(&offset), *reinterpret_cast(&clipRect), *reinterpret_cast(&scrollRect)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetSourceParameter(impl::abi_arg_in name, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSourceParameter(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSourceParameter(impl::abi_arg_in name, impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSourceParameter(*reinterpret_cast(&name), *reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateBrush(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateBrush()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtendedError(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LoadStatus(Windows::UI::Composition::CompositionEffectFactoryLoadStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LoadStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in name, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().Create(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDrawingSurface(impl::abi_arg_in sizePixels, Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat, Windows::Graphics::DirectX::DirectXAlphaMode alphaMode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDrawingSurface(*reinterpret_cast(&sizePixels), pixelFormat, alphaMode)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RenderingDeviceReplaced(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RenderingDeviceReplaced(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RenderingDeviceReplaced(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RenderingDeviceReplaced(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDrawingSurface2(impl::abi_arg_in sizePixels, Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat, Windows::Graphics::DirectX::DirectXAlphaMode alphaMode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDrawingSurface2(*reinterpret_cast(&sizePixels), pixelFormat, alphaMode)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateVirtualDrawingSurface(impl::abi_arg_in sizePixels, Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat, Windows::Graphics::DirectX::DirectXAlphaMode alphaMode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateVirtualDrawingSurface(*reinterpret_cast(&sizePixels), pixelFormat, alphaMode)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Targets(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Targets()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mask(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mask()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mask(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mask(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BottomInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BottomInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BottomInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BottomInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BottomInsetScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BottomInsetScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BottomInsetScale(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BottomInsetScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCenterHollow(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCenterHollow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCenterHollow(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCenterHollow(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LeftInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeftInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftInsetScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftInsetScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LeftInsetScale(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeftInsetScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightInsetScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightInsetScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightInsetScale(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightInsetScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TopInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TopInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopInsetScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopInsetScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TopInsetScale(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TopInsetScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetInsets(float inset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetInsets(inset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetInsetsWithValues(float left, float top, float right, float bottom) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetInsets(left, top, right, bottom); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetInsetScales(float scale) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetInsetScales(scale); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetInsetScalesWithValues(float left, float top, float right, float bottom) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetInsetScales(left, top, right, bottom); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Compositor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Compositor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Dispatcher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dispatcher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAnimation(impl::abi_arg_in propertyName, impl::abi_arg_in animation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartAnimation(*reinterpret_cast(&propertyName), *reinterpret_cast(&animation)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAnimation(impl::abi_arg_in propertyName) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopAnimation(*reinterpret_cast(&propertyName)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Comment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Comment()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Comment(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Comment(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ImplicitAnimations(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ImplicitAnimations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ImplicitAnimations(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ImplicitAnimations(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAnimationGroup(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartAnimationGroup(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopAnimationGroup(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopAnimationGroup(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InsertColor(impl::abi_arg_in propertyName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertColor(*reinterpret_cast(&propertyName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertMatrix3x2(impl::abi_arg_in propertyName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertMatrix3x2(*reinterpret_cast(&propertyName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertMatrix4x4(impl::abi_arg_in propertyName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertMatrix4x4(*reinterpret_cast(&propertyName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertQuaternion(impl::abi_arg_in propertyName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertQuaternion(*reinterpret_cast(&propertyName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertScalar(impl::abi_arg_in propertyName, float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertScalar(*reinterpret_cast(&propertyName), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertVector2(impl::abi_arg_in propertyName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertVector2(*reinterpret_cast(&propertyName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertVector3(impl::abi_arg_in propertyName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertVector3(*reinterpret_cast(&propertyName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertVector4(impl::abi_arg_in propertyName, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertVector4(*reinterpret_cast(&propertyName), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetColor(impl::abi_arg_in propertyName, impl::abi_arg_out value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetColor(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetMatrix3x2(impl::abi_arg_in propertyName, impl::abi_arg_out value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetMatrix3x2(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetMatrix4x4(impl::abi_arg_in propertyName, impl::abi_arg_out value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetMatrix4x4(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetQuaternion(impl::abi_arg_in propertyName, impl::abi_arg_out value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetQuaternion(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetScalar(impl::abi_arg_in propertyName, float * value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetScalar(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetVector2(impl::abi_arg_in propertyName, impl::abi_arg_out value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetVector2(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetVector3(impl::abi_arg_in propertyName, impl::abi_arg_out value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetVector3(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetVector4(impl::abi_arg_in propertyName, impl::abi_arg_out value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetVector4(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InsertBoolean(impl::abi_arg_in propertyName, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertBoolean(*reinterpret_cast(&propertyName), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetBoolean(impl::abi_arg_in propertyName, bool * value, Windows::UI::Composition::CompositionGetValueStatus * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryGetBoolean(*reinterpret_cast(&propertyName), *value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnded(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_End() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().End(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resume() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resume(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Suspend() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Suspend(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Completed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BitmapInterpolationMode(Windows::UI::Composition::CompositionBitmapInterpolationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BitmapInterpolationMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BitmapInterpolationMode(Windows::UI::Composition::CompositionBitmapInterpolationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BitmapInterpolationMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalAlignmentRatio(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalAlignmentRatio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalAlignmentRatio(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalAlignmentRatio(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stretch(Windows::UI::Composition::CompositionStretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stretch(Windows::UI::Composition::CompositionStretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Surface(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Surface()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Surface(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Surface(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalAlignmentRatio(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalAlignmentRatio()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalAlignmentRatio(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalAlignmentRatio(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AnchorPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnchorPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AnchorPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AnchorPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CenterPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CenterPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CenterPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CenterPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Offset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Offset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationAngle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationAngle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationAngle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationAngleInDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAngleInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationAngleInDegrees(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationAngleInDegrees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scale(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Scale(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scale(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransformMatrix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransformMatrix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransformMatrix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransformMatrix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Root(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Root()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Root(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Root(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Trim(uint32_t __rectsSize, impl::abi_arg_in * rects) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Trim(*reinterpret_cast(&rects)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateColorKeyFrameAnimation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateColorKeyFrameAnimation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateColorBrush(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateColorBrush()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateColorBrushWithColor(impl::abi_arg_in color, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateColorBrush(*reinterpret_cast(&color))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateContainerVisual(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateContainerVisual()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCubicBezierEasingFunction(impl::abi_arg_in controlPoint1, impl::abi_arg_in controlPoint2, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateCubicBezierEasingFunction(*reinterpret_cast(&controlPoint1), *reinterpret_cast(&controlPoint2))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateEffectFactory(impl::abi_arg_in graphicsEffect, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateEffectFactory(*reinterpret_cast(&graphicsEffect))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateEffectFactoryWithProperties(impl::abi_arg_in graphicsEffect, impl::abi_arg_in> animatableProperties, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateEffectFactory(*reinterpret_cast(&graphicsEffect), *reinterpret_cast *>(&animatableProperties))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateExpressionAnimation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateExpressionAnimation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateExpressionAnimationWithExpression(impl::abi_arg_in expression, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateExpressionAnimation(*reinterpret_cast(&expression))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInsetClip(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateInsetClip()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInsetClipWithInsets(float leftInset, float topInset, float rightInset, float bottomInset, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateInsetClip(leftInset, topInset, rightInset, bottomInset)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateLinearEasingFunction(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateLinearEasingFunction()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePropertySet(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreatePropertySet()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateQuaternionKeyFrameAnimation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateQuaternionKeyFrameAnimation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateScalarKeyFrameAnimation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateScalarKeyFrameAnimation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateScopedBatch(Windows::UI::Composition::CompositionBatchTypes batchType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateScopedBatch(batchType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSpriteVisual(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateSpriteVisual()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSurfaceBrush(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateSurfaceBrush()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSurfaceBrushWithSurface(impl::abi_arg_in surface, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateSurfaceBrush(*reinterpret_cast(&surface))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTargetForCurrentView(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateTargetForCurrentView()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateVector2KeyFrameAnimation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateVector2KeyFrameAnimation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateVector3KeyFrameAnimation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateVector3KeyFrameAnimation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateVector4KeyFrameAnimation(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateVector4KeyFrameAnimation()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCommitBatch(Windows::UI::Composition::CompositionBatchTypes batchType, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetCommitBatch(batchType)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAmbientLight(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateAmbientLight()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateAnimationGroup(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateAnimationGroup()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBackdropBrush(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateBackdropBrush()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDistantLight(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDistantLight()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateDropShadow(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDropShadow()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateImplicitAnimationCollection(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateImplicitAnimationCollection()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateLayerVisual(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateLayerVisual()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateMaskBrush(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateMaskBrush()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateNineGridBrush(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateNineGridBrush()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePointLight(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreatePointLight()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSpotLight(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateSpotLight()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStepEasingFunction(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateStepEasingFunction()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStepEasingFunctionWithStepCount(int32_t stepCount, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateStepEasingFunction(stepCount)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateHostBackdropBrush(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateHostBackdropBrush()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Children(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Children()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ControlPoint1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlPoint1()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlPoint2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlPoint2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CoordinateSpace(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSpace()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CoordinateSpace(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CoordinateSpace(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direction(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Direction(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Direction(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BlurRadius(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BlurRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BlurRadius(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BlurRadius(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Mask(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mask()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mask(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mask(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Offset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Offset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Opacity(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Opacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Opacity(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Expression(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Expression()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Expression(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Expression(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BottomInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BottomInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BottomInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BottomInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LeftInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeftInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopInset(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopInset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TopInset(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TopInset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DelayTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DelayTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DelayTime(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DelayTime(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Duration(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Duration(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IterationBehavior(Windows::UI::Composition::AnimationIterationBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IterationBehavior()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IterationBehavior(Windows::UI::Composition::AnimationIterationBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IterationBehavior(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IterationCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IterationCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IterationCount(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IterationCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyFrameCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyFrameCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StopBehavior(Windows::UI::Composition::AnimationStopBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StopBehavior()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StopBehavior(Windows::UI::Composition::AnimationStopBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopBehavior(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertExpressionKeyFrame(float normalizedProgressKey, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertExpressionKeyFrame(normalizedProgressKey, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertExpressionKeyFrameWithEasingFunction(float normalizedProgressKey, impl::abi_arg_in value, impl::abi_arg_in easingFunction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertExpressionKeyFrame(normalizedProgressKey, *reinterpret_cast(&value), *reinterpret_cast(&easingFunction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Direction(Windows::UI::Composition::AnimationDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Direction(Windows::UI::Composition::AnimationDirection value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Direction(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DelayBehavior(Windows::UI::Composition::AnimationDelayBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DelayBehavior()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DelayBehavior(Windows::UI::Composition::AnimationDelayBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DelayBehavior(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Effect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Effect()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Effect(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Effect(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConstantAttenuation(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConstantAttenuation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ConstantAttenuation(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConstantAttenuation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CoordinateSpace(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSpace()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CoordinateSpace(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CoordinateSpace(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinearAttenuation(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinearAttenuation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LinearAttenuation(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LinearAttenuation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Offset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Offset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QuadraticAttenuation(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QuadraticAttenuation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QuadraticAttenuation(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuadraticAttenuation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InsertKeyFrame(float normalizedProgressKey, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertKeyFrameWithEasingFunction(float normalizedProgressKey, impl::abi_arg_in value, impl::abi_arg_in easingFunction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value), *reinterpret_cast(&easingFunction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GraphicsDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GraphicsDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InsertKeyFrame(float normalizedProgressKey, float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertKeyFrameWithEasingFunction(float normalizedProgressKey, float value, impl::abi_arg_in easingFunction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, value, *reinterpret_cast(&easingFunction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConstantAttenuation(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConstantAttenuation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ConstantAttenuation(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConstantAttenuation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CoordinateSpace(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CoordinateSpace()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CoordinateSpace(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CoordinateSpace(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Direction(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Direction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Direction(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Direction(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InnerConeAngle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InnerConeAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InnerConeAngle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InnerConeAngle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InnerConeAngleInDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InnerConeAngleInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InnerConeAngleInDegrees(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InnerConeAngleInDegrees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InnerConeColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InnerConeColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InnerConeColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InnerConeColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinearAttenuation(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinearAttenuation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LinearAttenuation(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LinearAttenuation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Offset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Offset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OuterConeAngle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OuterConeAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OuterConeAngle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OuterConeAngle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OuterConeAngleInDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OuterConeAngleInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OuterConeAngleInDegrees(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OuterConeAngleInDegrees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OuterConeColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OuterConeColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OuterConeColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OuterConeColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QuadraticAttenuation(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QuadraticAttenuation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QuadraticAttenuation(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuadraticAttenuation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Brush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Brush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Brush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Brush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Shadow(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Shadow()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Shadow(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Shadow(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FinalStep(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FinalStep()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FinalStep(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FinalStep(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InitialStep(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialStep()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InitialStep(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialStep(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFinalStepSingleFrame(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFinalStepSingleFrame()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFinalStepSingleFrame(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFinalStepSingleFrame(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInitialStepSingleFrame(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInitialStepSingleFrame()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInitialStepSingleFrame(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInitialStepSingleFrame(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StepCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StepCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StepCount(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StepCount(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InsertKeyFrame(float normalizedProgressKey, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertKeyFrameWithEasingFunction(float normalizedProgressKey, impl::abi_arg_in value, impl::abi_arg_in easingFunction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value), *reinterpret_cast(&easingFunction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InsertKeyFrame(float normalizedProgressKey, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertKeyFrameWithEasingFunction(float normalizedProgressKey, impl::abi_arg_in value, impl::abi_arg_in easingFunction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value), *reinterpret_cast(&easingFunction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InsertKeyFrame(float normalizedProgressKey, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertKeyFrameWithEasingFunction(float normalizedProgressKey, impl::abi_arg_in value, impl::abi_arg_in easingFunction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertKeyFrame(normalizedProgressKey, *reinterpret_cast(&value), *reinterpret_cast(&easingFunction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AnchorPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnchorPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AnchorPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AnchorPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackfaceVisibility(Windows::UI::Composition::CompositionBackfaceVisibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackfaceVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackfaceVisibility(Windows::UI::Composition::CompositionBackfaceVisibility value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackfaceVisibility(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderMode(Windows::UI::Composition::CompositionBorderMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderMode(Windows::UI::Composition::CompositionBorderMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CenterPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CenterPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CenterPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CenterPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Clip(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Clip()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Clip(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clip(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompositeMode(Windows::UI::Composition::CompositionCompositeMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositeMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CompositeMode(Windows::UI::Composition::CompositionCompositeMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompositeMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Offset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Offset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Offset(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Offset(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Opacity(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Opacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Opacity(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Parent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Parent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationAngle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationAngle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationAngle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationAngleInDegrees(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAngleInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationAngleInDegrees(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationAngleInDegrees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationAxis(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationAxis()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationAxis(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationAxis(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scale(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Scale(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scale(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Size(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Size(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Size(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransformMatrix(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransformMatrix()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransformMatrix(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransformMatrix(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ParentForTransform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParentForTransform()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ParentForTransform(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ParentForTransform(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelativeOffsetAdjustment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeOffsetAdjustment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelativeOffsetAdjustment(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelativeOffsetAdjustment(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RelativeSizeAdjustment(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RelativeSizeAdjustment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RelativeSizeAdjustment(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RelativeSizeAdjustment(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Count(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Count()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertAbove(impl::abi_arg_in newChild, impl::abi_arg_in sibling) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertAbove(*reinterpret_cast(&newChild), *reinterpret_cast(&sibling)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertAtBottom(impl::abi_arg_in newChild) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertAtBottom(*reinterpret_cast(&newChild)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertAtTop(impl::abi_arg_in newChild) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertAtTop(*reinterpret_cast(&newChild)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertBelow(impl::abi_arg_in newChild, impl::abi_arg_in sibling) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertBelow(*reinterpret_cast(&newChild), *reinterpret_cast(&sibling)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in child) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&child)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Count(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Count()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Add(impl::abi_arg_in newVisual) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Add(*reinterpret_cast(&newVisual)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in visual) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&visual)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Composition { + +template Windows::UI::Color impl_IAmbientLight::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IAmbientLight)->get_Color(put_abi(value))); + return value; +} + +template void impl_IAmbientLight::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IAmbientLight)->put_Color(get_abi(value))); +} + +template Windows::UI::Composition::CompositionColorSpace impl_IColorKeyFrameAnimation::InterpolationColorSpace() const +{ + Windows::UI::Composition::CompositionColorSpace value {}; + check_hresult(WINRT_SHIM(IColorKeyFrameAnimation)->get_InterpolationColorSpace(&value)); + return value; +} + +template void impl_IColorKeyFrameAnimation::InterpolationColorSpace(Windows::UI::Composition::CompositionColorSpace value) const +{ + check_hresult(WINRT_SHIM(IColorKeyFrameAnimation)->put_InterpolationColorSpace(value)); +} + +template void impl_IColorKeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IColorKeyFrameAnimation)->abi_InsertKeyFrame(normalizedProgressKey, get_abi(value))); +} + +template void impl_IColorKeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::UI::Color & value, const Windows::UI::Composition::CompositionEasingFunction & easingFunction) const +{ + check_hresult(WINRT_SHIM(IColorKeyFrameAnimation)->abi_InsertKeyFrameWithEasingFunction(normalizedProgressKey, get_abi(value), get_abi(easingFunction))); +} + +template void impl_ICompositionAnimation::ClearAllParameters() const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_ClearAllParameters()); +} + +template void impl_ICompositionAnimation::ClearParameter(hstring_view key) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_ClearParameter(get_abi(key))); +} + +template void impl_ICompositionAnimation::SetColorParameter(hstring_view key, const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetColorParameter(get_abi(key), get_abi(value))); +} + +template void impl_ICompositionAnimation::SetMatrix3x2Parameter(hstring_view key, const Windows::Foundation::Numerics::float3x2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetMatrix3x2Parameter(get_abi(key), get_abi(value))); +} + +template void impl_ICompositionAnimation::SetMatrix4x4Parameter(hstring_view key, const Windows::Foundation::Numerics::float4x4 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetMatrix4x4Parameter(get_abi(key), get_abi(value))); +} + +template void impl_ICompositionAnimation::SetQuaternionParameter(hstring_view key, const Windows::Foundation::Numerics::quaternion & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetQuaternionParameter(get_abi(key), get_abi(value))); +} + +template void impl_ICompositionAnimation::SetReferenceParameter(hstring_view key, const Windows::UI::Composition::CompositionObject & compositionObject) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetReferenceParameter(get_abi(key), get_abi(compositionObject))); +} + +template void impl_ICompositionAnimation::SetScalarParameter(hstring_view key, float value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetScalarParameter(get_abi(key), value)); +} + +template void impl_ICompositionAnimation::SetVector2Parameter(hstring_view key, const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetVector2Parameter(get_abi(key), get_abi(value))); +} + +template void impl_ICompositionAnimation::SetVector3Parameter(hstring_view key, const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetVector3Parameter(get_abi(key), get_abi(value))); +} + +template void impl_ICompositionAnimation::SetVector4Parameter(hstring_view key, const Windows::Foundation::Numerics::float4 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation)->abi_SetVector4Parameter(get_abi(key), get_abi(value))); +} + +template void impl_ICompositionAnimation2::SetBooleanParameter(hstring_view key, bool value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation2)->abi_SetBooleanParameter(get_abi(key), value)); +} + +template hstring impl_ICompositionAnimation2::Target() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICompositionAnimation2)->get_Target(put_abi(value))); + return value; +} + +template void impl_ICompositionAnimation2::Target(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimation2)->put_Target(get_abi(value))); +} + +template int32_t impl_ICompositionAnimationGroup::Count() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICompositionAnimationGroup)->get_Count(&value)); + return value; +} + +template void impl_ICompositionAnimationGroup::Add(const Windows::UI::Composition::CompositionAnimation & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimationGroup)->abi_Add(get_abi(value))); +} + +template void impl_ICompositionAnimationGroup::Remove(const Windows::UI::Composition::CompositionAnimation & value) const +{ + check_hresult(WINRT_SHIM(ICompositionAnimationGroup)->abi_Remove(get_abi(value))); +} + +template void impl_ICompositionAnimationGroup::RemoveAll() const +{ + check_hresult(WINRT_SHIM(ICompositionAnimationGroup)->abi_RemoveAll()); +} + +template bool impl_ICompositionCapabilities::AreEffectsSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICompositionCapabilities)->abi_AreEffectsSupported(&value)); + return value; +} + +template bool impl_ICompositionCapabilities::AreEffectsFast() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICompositionCapabilities)->abi_AreEffectsFast(&value)); + return value; +} + +template event_token impl_ICompositionCapabilities::Changed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICompositionCapabilities)->add_Changed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICompositionCapabilities::Changed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Composition::ICompositionCapabilities::remove_Changed, Changed(handler)); +} + +template void impl_ICompositionCapabilities::Changed(event_token token) const +{ + check_hresult(WINRT_SHIM(ICompositionCapabilities)->remove_Changed(token)); +} + +template Windows::UI::Composition::CompositionCapabilities impl_ICompositionCapabilitiesStatics::GetForCurrentView() const +{ + Windows::UI::Composition::CompositionCapabilities current { nullptr }; + check_hresult(WINRT_SHIM(ICompositionCapabilitiesStatics)->abi_GetForCurrentView(put_abi(current))); + return current; +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionClip2::AnchorPoint() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionClip2)->get_AnchorPoint(put_abi(value))); + return value; +} + +template void impl_ICompositionClip2::AnchorPoint(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionClip2)->put_AnchorPoint(get_abi(value))); +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionClip2::CenterPoint() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionClip2)->get_CenterPoint(put_abi(value))); + return value; +} + +template void impl_ICompositionClip2::CenterPoint(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionClip2)->put_CenterPoint(get_abi(value))); +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionClip2::Offset() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionClip2)->get_Offset(put_abi(value))); + return value; +} + +template void impl_ICompositionClip2::Offset(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionClip2)->put_Offset(get_abi(value))); +} + +template float impl_ICompositionClip2::RotationAngle() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionClip2)->get_RotationAngle(&value)); + return value; +} + +template void impl_ICompositionClip2::RotationAngle(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionClip2)->put_RotationAngle(value)); +} + +template float impl_ICompositionClip2::RotationAngleInDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionClip2)->get_RotationAngleInDegrees(&value)); + return value; +} + +template void impl_ICompositionClip2::RotationAngleInDegrees(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionClip2)->put_RotationAngleInDegrees(value)); +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionClip2::Scale() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionClip2)->get_Scale(put_abi(value))); + return value; +} + +template void impl_ICompositionClip2::Scale(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionClip2)->put_Scale(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3x2 impl_ICompositionClip2::TransformMatrix() const +{ + Windows::Foundation::Numerics::float3x2 value {}; + check_hresult(WINRT_SHIM(ICompositionClip2)->get_TransformMatrix(put_abi(value))); + return value; +} + +template void impl_ICompositionClip2::TransformMatrix(const Windows::Foundation::Numerics::float3x2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionClip2)->put_TransformMatrix(get_abi(value))); +} + +template Windows::UI::Color impl_ICompositionColorBrush::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ICompositionColorBrush)->get_Color(put_abi(value))); + return value; +} + +template void impl_ICompositionColorBrush::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ICompositionColorBrush)->put_Color(get_abi(value))); +} + +template bool impl_ICompositionCommitBatch::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICompositionCommitBatch)->get_IsActive(&value)); + return value; +} + +template bool impl_ICompositionCommitBatch::IsEnded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICompositionCommitBatch)->get_IsEnded(&value)); + return value; +} + +template event_token impl_ICompositionCommitBatch::Completed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICompositionCommitBatch)->add_Completed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICompositionCommitBatch::Completed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Composition::ICompositionCommitBatch::remove_Completed, Completed(handler)); +} + +template void impl_ICompositionCommitBatch::Completed(event_token token) const +{ + check_hresult(WINRT_SHIM(ICompositionCommitBatch)->remove_Completed(token)); +} + +template Windows::Graphics::DirectX::DirectXAlphaMode impl_ICompositionDrawingSurface::AlphaMode() const +{ + Windows::Graphics::DirectX::DirectXAlphaMode value {}; + check_hresult(WINRT_SHIM(ICompositionDrawingSurface)->get_AlphaMode(&value)); + return value; +} + +template Windows::Graphics::DirectX::DirectXPixelFormat impl_ICompositionDrawingSurface::PixelFormat() const +{ + Windows::Graphics::DirectX::DirectXPixelFormat value {}; + check_hresult(WINRT_SHIM(ICompositionDrawingSurface)->get_PixelFormat(&value)); + return value; +} + +template Windows::Foundation::Size impl_ICompositionDrawingSurface::Size() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ICompositionDrawingSurface)->get_Size(put_abi(value))); + return value; +} + +template Windows::Graphics::SizeInt32 impl_ICompositionDrawingSurface2::SizeInt32() const +{ + Windows::Graphics::SizeInt32 value {}; + check_hresult(WINRT_SHIM(ICompositionDrawingSurface2)->get_SizeInt32(put_abi(value))); + return value; +} + +template void impl_ICompositionDrawingSurface2::Resize(const Windows::Graphics::SizeInt32 & sizePixels) const +{ + check_hresult(WINRT_SHIM(ICompositionDrawingSurface2)->abi_Resize(get_abi(sizePixels))); +} + +template void impl_ICompositionDrawingSurface2::Scroll(const Windows::Graphics::PointInt32 & offset) const +{ + check_hresult(WINRT_SHIM(ICompositionDrawingSurface2)->abi_Scroll(get_abi(offset))); +} + +template void impl_ICompositionDrawingSurface2::Scroll(const Windows::Graphics::PointInt32 & offset, const Windows::Graphics::RectInt32 & scrollRect) const +{ + check_hresult(WINRT_SHIM(ICompositionDrawingSurface2)->abi_ScrollRect(get_abi(offset), get_abi(scrollRect))); +} + +template void impl_ICompositionDrawingSurface2::ScrollWithClip(const Windows::Graphics::PointInt32 & offset, const Windows::Graphics::RectInt32 & clipRect) const +{ + check_hresult(WINRT_SHIM(ICompositionDrawingSurface2)->abi_ScrollWithClip(get_abi(offset), get_abi(clipRect))); +} + +template void impl_ICompositionDrawingSurface2::ScrollWithClip(const Windows::Graphics::PointInt32 & offset, const Windows::Graphics::RectInt32 & clipRect, const Windows::Graphics::RectInt32 & scrollRect) const +{ + check_hresult(WINRT_SHIM(ICompositionDrawingSurface2)->abi_ScrollRectWithClip(get_abi(offset), get_abi(clipRect), get_abi(scrollRect))); +} + +template Windows::UI::Composition::CompositionBrush impl_ICompositionEffectBrush::GetSourceParameter(hstring_view name) const +{ + Windows::UI::Composition::CompositionBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositionEffectBrush)->abi_GetSourceParameter(get_abi(name), put_abi(result))); + return result; +} + +template void impl_ICompositionEffectBrush::SetSourceParameter(hstring_view name, const Windows::UI::Composition::CompositionBrush & source) const +{ + check_hresult(WINRT_SHIM(ICompositionEffectBrush)->abi_SetSourceParameter(get_abi(name), get_abi(source))); +} + +template Windows::UI::Composition::CompositionEffectBrush impl_ICompositionEffectFactory::CreateBrush() const +{ + Windows::UI::Composition::CompositionEffectBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositionEffectFactory)->abi_CreateBrush(put_abi(result))); + return result; +} + +template HRESULT impl_ICompositionEffectFactory::ExtendedError() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(ICompositionEffectFactory)->get_ExtendedError(&value)); + return value; +} + +template Windows::UI::Composition::CompositionEffectFactoryLoadStatus impl_ICompositionEffectFactory::LoadStatus() const +{ + Windows::UI::Composition::CompositionEffectFactoryLoadStatus value {}; + check_hresult(WINRT_SHIM(ICompositionEffectFactory)->get_LoadStatus(&value)); + return value; +} + +template hstring impl_ICompositionEffectSourceParameter::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICompositionEffectSourceParameter)->get_Name(put_abi(value))); + return value; +} + +template Windows::UI::Composition::CompositionEffectSourceParameter impl_ICompositionEffectSourceParameterFactory::Create(hstring_view name) const +{ + Windows::UI::Composition::CompositionEffectSourceParameter instance { nullptr }; + check_hresult(WINRT_SHIM(ICompositionEffectSourceParameterFactory)->abi_Create(get_abi(name), put_abi(instance))); + return instance; +} + +template Windows::UI::Composition::CompositionDrawingSurface impl_ICompositionGraphicsDevice::CreateDrawingSurface(const Windows::Foundation::Size & sizePixels, Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat, Windows::Graphics::DirectX::DirectXAlphaMode alphaMode) const +{ + Windows::UI::Composition::CompositionDrawingSurface result { nullptr }; + check_hresult(WINRT_SHIM(ICompositionGraphicsDevice)->abi_CreateDrawingSurface(get_abi(sizePixels), pixelFormat, alphaMode, put_abi(result))); + return result; +} + +template event_token impl_ICompositionGraphicsDevice::RenderingDeviceReplaced(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICompositionGraphicsDevice)->add_RenderingDeviceReplaced(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICompositionGraphicsDevice::RenderingDeviceReplaced(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Composition::ICompositionGraphicsDevice::remove_RenderingDeviceReplaced, RenderingDeviceReplaced(handler)); +} + +template void impl_ICompositionGraphicsDevice::RenderingDeviceReplaced(event_token token) const +{ + check_hresult(WINRT_SHIM(ICompositionGraphicsDevice)->remove_RenderingDeviceReplaced(token)); +} + +template Windows::UI::Composition::CompositionDrawingSurface impl_ICompositionGraphicsDevice2::CreateDrawingSurface2(const Windows::Graphics::SizeInt32 & sizePixels, Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat, Windows::Graphics::DirectX::DirectXAlphaMode alphaMode) const +{ + Windows::UI::Composition::CompositionDrawingSurface result { nullptr }; + check_hresult(WINRT_SHIM(ICompositionGraphicsDevice2)->abi_CreateDrawingSurface2(get_abi(sizePixels), pixelFormat, alphaMode, put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionVirtualDrawingSurface impl_ICompositionGraphicsDevice2::CreateVirtualDrawingSurface(const Windows::Graphics::SizeInt32 & sizePixels, Windows::Graphics::DirectX::DirectXPixelFormat pixelFormat, Windows::Graphics::DirectX::DirectXAlphaMode alphaMode) const +{ + Windows::UI::Composition::CompositionVirtualDrawingSurface result { nullptr }; + check_hresult(WINRT_SHIM(ICompositionGraphicsDevice2)->abi_CreateVirtualDrawingSurface(get_abi(sizePixels), pixelFormat, alphaMode, put_abi(result))); + return result; +} + +template Windows::UI::Composition::VisualUnorderedCollection impl_ICompositionLight::Targets() const +{ + Windows::UI::Composition::VisualUnorderedCollection value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionLight)->get_Targets(put_abi(value))); + return value; +} + +template Windows::UI::Composition::CompositionBrush impl_ICompositionMaskBrush::Mask() const +{ + Windows::UI::Composition::CompositionBrush value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionMaskBrush)->get_Mask(put_abi(value))); + return value; +} + +template void impl_ICompositionMaskBrush::Mask(const Windows::UI::Composition::CompositionBrush & value) const +{ + check_hresult(WINRT_SHIM(ICompositionMaskBrush)->put_Mask(get_abi(value))); +} + +template Windows::UI::Composition::CompositionBrush impl_ICompositionMaskBrush::Source() const +{ + Windows::UI::Composition::CompositionBrush value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionMaskBrush)->get_Source(put_abi(value))); + return value; +} + +template void impl_ICompositionMaskBrush::Source(const Windows::UI::Composition::CompositionBrush & value) const +{ + check_hresult(WINRT_SHIM(ICompositionMaskBrush)->put_Source(get_abi(value))); +} + +template float impl_ICompositionNineGridBrush::BottomInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_BottomInset(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::BottomInset(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_BottomInset(value)); +} + +template float impl_ICompositionNineGridBrush::BottomInsetScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_BottomInsetScale(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::BottomInsetScale(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_BottomInsetScale(value)); +} + +template bool impl_ICompositionNineGridBrush::IsCenterHollow() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_IsCenterHollow(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::IsCenterHollow(bool value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_IsCenterHollow(value)); +} + +template float impl_ICompositionNineGridBrush::LeftInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_LeftInset(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::LeftInset(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_LeftInset(value)); +} + +template float impl_ICompositionNineGridBrush::LeftInsetScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_LeftInsetScale(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::LeftInsetScale(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_LeftInsetScale(value)); +} + +template float impl_ICompositionNineGridBrush::RightInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_RightInset(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::RightInset(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_RightInset(value)); +} + +template float impl_ICompositionNineGridBrush::RightInsetScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_RightInsetScale(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::RightInsetScale(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_RightInsetScale(value)); +} + +template Windows::UI::Composition::CompositionBrush impl_ICompositionNineGridBrush::Source() const +{ + Windows::UI::Composition::CompositionBrush value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_Source(put_abi(value))); + return value; +} + +template void impl_ICompositionNineGridBrush::Source(const Windows::UI::Composition::CompositionBrush & value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_Source(get_abi(value))); +} + +template float impl_ICompositionNineGridBrush::TopInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_TopInset(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::TopInset(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_TopInset(value)); +} + +template float impl_ICompositionNineGridBrush::TopInsetScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->get_TopInsetScale(&value)); + return value; +} + +template void impl_ICompositionNineGridBrush::TopInsetScale(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->put_TopInsetScale(value)); +} + +template void impl_ICompositionNineGridBrush::SetInsets(float inset) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->abi_SetInsets(inset)); +} + +template void impl_ICompositionNineGridBrush::SetInsets(float left, float top, float right, float bottom) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->abi_SetInsetsWithValues(left, top, right, bottom)); +} + +template void impl_ICompositionNineGridBrush::SetInsetScales(float scale) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->abi_SetInsetScales(scale)); +} + +template void impl_ICompositionNineGridBrush::SetInsetScales(float left, float top, float right, float bottom) const +{ + check_hresult(WINRT_SHIM(ICompositionNineGridBrush)->abi_SetInsetScalesWithValues(left, top, right, bottom)); +} + +template Windows::UI::Composition::Compositor impl_ICompositionObject::Compositor() const +{ + Windows::UI::Composition::Compositor value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionObject)->get_Compositor(put_abi(value))); + return value; +} + +template Windows::UI::Core::CoreDispatcher impl_ICompositionObject::Dispatcher() const +{ + Windows::UI::Core::CoreDispatcher value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionObject)->get_Dispatcher(put_abi(value))); + return value; +} + +template Windows::UI::Composition::CompositionPropertySet impl_ICompositionObject::Properties() const +{ + Windows::UI::Composition::CompositionPropertySet value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionObject)->get_Properties(put_abi(value))); + return value; +} + +template void impl_ICompositionObject::StartAnimation(hstring_view propertyName, const Windows::UI::Composition::CompositionAnimation & animation) const +{ + check_hresult(WINRT_SHIM(ICompositionObject)->abi_StartAnimation(get_abi(propertyName), get_abi(animation))); +} + +template void impl_ICompositionObject::StopAnimation(hstring_view propertyName) const +{ + check_hresult(WINRT_SHIM(ICompositionObject)->abi_StopAnimation(get_abi(propertyName))); +} + +template hstring impl_ICompositionObject2::Comment() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICompositionObject2)->get_Comment(put_abi(value))); + return value; +} + +template void impl_ICompositionObject2::Comment(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICompositionObject2)->put_Comment(get_abi(value))); +} + +template Windows::UI::Composition::ImplicitAnimationCollection impl_ICompositionObject2::ImplicitAnimations() const +{ + Windows::UI::Composition::ImplicitAnimationCollection value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionObject2)->get_ImplicitAnimations(put_abi(value))); + return value; +} + +template void impl_ICompositionObject2::ImplicitAnimations(const Windows::UI::Composition::ImplicitAnimationCollection & value) const +{ + check_hresult(WINRT_SHIM(ICompositionObject2)->put_ImplicitAnimations(get_abi(value))); +} + +template void impl_ICompositionObject2::StartAnimationGroup(const Windows::UI::Composition::ICompositionAnimationBase & value) const +{ + check_hresult(WINRT_SHIM(ICompositionObject2)->abi_StartAnimationGroup(get_abi(value))); +} + +template void impl_ICompositionObject2::StopAnimationGroup(const Windows::UI::Composition::ICompositionAnimationBase & value) const +{ + check_hresult(WINRT_SHIM(ICompositionObject2)->abi_StopAnimationGroup(get_abi(value))); +} + +template void impl_ICompositionPropertySet::InsertColor(hstring_view propertyName, const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertColor(get_abi(propertyName), get_abi(value))); +} + +template void impl_ICompositionPropertySet::InsertMatrix3x2(hstring_view propertyName, const Windows::Foundation::Numerics::float3x2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertMatrix3x2(get_abi(propertyName), get_abi(value))); +} + +template void impl_ICompositionPropertySet::InsertMatrix4x4(hstring_view propertyName, const Windows::Foundation::Numerics::float4x4 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertMatrix4x4(get_abi(propertyName), get_abi(value))); +} + +template void impl_ICompositionPropertySet::InsertQuaternion(hstring_view propertyName, const Windows::Foundation::Numerics::quaternion & value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertQuaternion(get_abi(propertyName), get_abi(value))); +} + +template void impl_ICompositionPropertySet::InsertScalar(hstring_view propertyName, float value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertScalar(get_abi(propertyName), value)); +} + +template void impl_ICompositionPropertySet::InsertVector2(hstring_view propertyName, const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertVector2(get_abi(propertyName), get_abi(value))); +} + +template void impl_ICompositionPropertySet::InsertVector3(hstring_view propertyName, const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertVector3(get_abi(propertyName), get_abi(value))); +} + +template void impl_ICompositionPropertySet::InsertVector4(hstring_view propertyName, const Windows::Foundation::Numerics::float4 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_InsertVector4(get_abi(propertyName), get_abi(value))); +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetColor(hstring_view propertyName, Windows::UI::Color & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetColor(get_abi(propertyName), put_abi(value), &result)); + return result; +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetMatrix3x2(hstring_view propertyName, Windows::Foundation::Numerics::float3x2 & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetMatrix3x2(get_abi(propertyName), put_abi(value), &result)); + return result; +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetMatrix4x4(hstring_view propertyName, Windows::Foundation::Numerics::float4x4 & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetMatrix4x4(get_abi(propertyName), put_abi(value), &result)); + return result; +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetQuaternion(hstring_view propertyName, Windows::Foundation::Numerics::quaternion & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetQuaternion(get_abi(propertyName), put_abi(value), &result)); + return result; +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetScalar(hstring_view propertyName, float & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetScalar(get_abi(propertyName), &value, &result)); + return result; +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetVector2(hstring_view propertyName, Windows::Foundation::Numerics::float2 & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetVector2(get_abi(propertyName), put_abi(value), &result)); + return result; +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetVector3(hstring_view propertyName, Windows::Foundation::Numerics::float3 & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetVector3(get_abi(propertyName), put_abi(value), &result)); + return result; +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet::TryGetVector4(hstring_view propertyName, Windows::Foundation::Numerics::float4 & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet)->abi_TryGetVector4(get_abi(propertyName), put_abi(value), &result)); + return result; +} + +template void impl_ICompositionPropertySet2::InsertBoolean(hstring_view propertyName, bool value) const +{ + check_hresult(WINRT_SHIM(ICompositionPropertySet2)->abi_InsertBoolean(get_abi(propertyName), value)); +} + +template Windows::UI::Composition::CompositionGetValueStatus impl_ICompositionPropertySet2::TryGetBoolean(hstring_view propertyName, bool & value) const +{ + Windows::UI::Composition::CompositionGetValueStatus result {}; + check_hresult(WINRT_SHIM(ICompositionPropertySet2)->abi_TryGetBoolean(get_abi(propertyName), &value, &result)); + return result; +} + +template bool impl_ICompositionScopedBatch::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICompositionScopedBatch)->get_IsActive(&value)); + return value; +} + +template bool impl_ICompositionScopedBatch::IsEnded() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICompositionScopedBatch)->get_IsEnded(&value)); + return value; +} + +template void impl_ICompositionScopedBatch::End() const +{ + check_hresult(WINRT_SHIM(ICompositionScopedBatch)->abi_End()); +} + +template void impl_ICompositionScopedBatch::Resume() const +{ + check_hresult(WINRT_SHIM(ICompositionScopedBatch)->abi_Resume()); +} + +template void impl_ICompositionScopedBatch::Suspend() const +{ + check_hresult(WINRT_SHIM(ICompositionScopedBatch)->abi_Suspend()); +} + +template event_token impl_ICompositionScopedBatch::Completed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICompositionScopedBatch)->add_Completed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ICompositionScopedBatch::Completed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Composition::ICompositionScopedBatch::remove_Completed, Completed(handler)); +} + +template void impl_ICompositionScopedBatch::Completed(event_token token) const +{ + check_hresult(WINRT_SHIM(ICompositionScopedBatch)->remove_Completed(token)); +} + +template Windows::UI::Composition::CompositionBitmapInterpolationMode impl_ICompositionSurfaceBrush::BitmapInterpolationMode() const +{ + Windows::UI::Composition::CompositionBitmapInterpolationMode value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->get_BitmapInterpolationMode(&value)); + return value; +} + +template void impl_ICompositionSurfaceBrush::BitmapInterpolationMode(Windows::UI::Composition::CompositionBitmapInterpolationMode value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->put_BitmapInterpolationMode(value)); +} + +template float impl_ICompositionSurfaceBrush::HorizontalAlignmentRatio() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->get_HorizontalAlignmentRatio(&value)); + return value; +} + +template void impl_ICompositionSurfaceBrush::HorizontalAlignmentRatio(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->put_HorizontalAlignmentRatio(value)); +} + +template Windows::UI::Composition::CompositionStretch impl_ICompositionSurfaceBrush::Stretch() const +{ + Windows::UI::Composition::CompositionStretch value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->get_Stretch(&value)); + return value; +} + +template void impl_ICompositionSurfaceBrush::Stretch(Windows::UI::Composition::CompositionStretch value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->put_Stretch(value)); +} + +template Windows::UI::Composition::ICompositionSurface impl_ICompositionSurfaceBrush::Surface() const +{ + Windows::UI::Composition::ICompositionSurface value; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->get_Surface(put_abi(value))); + return value; +} + +template void impl_ICompositionSurfaceBrush::Surface(const Windows::UI::Composition::ICompositionSurface & value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->put_Surface(get_abi(value))); +} + +template float impl_ICompositionSurfaceBrush::VerticalAlignmentRatio() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->get_VerticalAlignmentRatio(&value)); + return value; +} + +template void impl_ICompositionSurfaceBrush::VerticalAlignmentRatio(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush)->put_VerticalAlignmentRatio(value)); +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionSurfaceBrush2::AnchorPoint() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->get_AnchorPoint(put_abi(value))); + return value; +} + +template void impl_ICompositionSurfaceBrush2::AnchorPoint(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->put_AnchorPoint(get_abi(value))); +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionSurfaceBrush2::CenterPoint() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->get_CenterPoint(put_abi(value))); + return value; +} + +template void impl_ICompositionSurfaceBrush2::CenterPoint(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->put_CenterPoint(get_abi(value))); +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionSurfaceBrush2::Offset() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->get_Offset(put_abi(value))); + return value; +} + +template void impl_ICompositionSurfaceBrush2::Offset(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->put_Offset(get_abi(value))); +} + +template float impl_ICompositionSurfaceBrush2::RotationAngle() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->get_RotationAngle(&value)); + return value; +} + +template void impl_ICompositionSurfaceBrush2::RotationAngle(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->put_RotationAngle(value)); +} + +template float impl_ICompositionSurfaceBrush2::RotationAngleInDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->get_RotationAngleInDegrees(&value)); + return value; +} + +template void impl_ICompositionSurfaceBrush2::RotationAngleInDegrees(float value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->put_RotationAngleInDegrees(value)); +} + +template Windows::Foundation::Numerics::float2 impl_ICompositionSurfaceBrush2::Scale() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->get_Scale(put_abi(value))); + return value; +} + +template void impl_ICompositionSurfaceBrush2::Scale(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->put_Scale(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3x2 impl_ICompositionSurfaceBrush2::TransformMatrix() const +{ + Windows::Foundation::Numerics::float3x2 value {}; + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->get_TransformMatrix(put_abi(value))); + return value; +} + +template void impl_ICompositionSurfaceBrush2::TransformMatrix(const Windows::Foundation::Numerics::float3x2 & value) const +{ + check_hresult(WINRT_SHIM(ICompositionSurfaceBrush2)->put_TransformMatrix(get_abi(value))); +} + +template Windows::UI::Composition::Visual impl_ICompositionTarget::Root() const +{ + Windows::UI::Composition::Visual value { nullptr }; + check_hresult(WINRT_SHIM(ICompositionTarget)->get_Root(put_abi(value))); + return value; +} + +template void impl_ICompositionTarget::Root(const Windows::UI::Composition::Visual & value) const +{ + check_hresult(WINRT_SHIM(ICompositionTarget)->put_Root(get_abi(value))); +} + +template void impl_ICompositionVirtualDrawingSurface::Trim(array_view rects) const +{ + check_hresult(WINRT_SHIM(ICompositionVirtualDrawingSurface)->abi_Trim(rects.size(), get_abi(rects))); +} + +template Windows::UI::Composition::ColorKeyFrameAnimation impl_ICompositor::CreateColorKeyFrameAnimation() const +{ + Windows::UI::Composition::ColorKeyFrameAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateColorKeyFrameAnimation(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionColorBrush impl_ICompositor::CreateColorBrush() const +{ + Windows::UI::Composition::CompositionColorBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateColorBrush(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionColorBrush impl_ICompositor::CreateColorBrush(const Windows::UI::Color & color) const +{ + Windows::UI::Composition::CompositionColorBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateColorBrushWithColor(get_abi(color), put_abi(result))); + return result; +} + +template Windows::UI::Composition::ContainerVisual impl_ICompositor::CreateContainerVisual() const +{ + Windows::UI::Composition::ContainerVisual result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateContainerVisual(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CubicBezierEasingFunction impl_ICompositor::CreateCubicBezierEasingFunction(const Windows::Foundation::Numerics::float2 & controlPoint1, const Windows::Foundation::Numerics::float2 & controlPoint2) const +{ + Windows::UI::Composition::CubicBezierEasingFunction result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateCubicBezierEasingFunction(get_abi(controlPoint1), get_abi(controlPoint2), put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionEffectFactory impl_ICompositor::CreateEffectFactory(const Windows::Graphics::Effects::IGraphicsEffect & graphicsEffect) const +{ + Windows::UI::Composition::CompositionEffectFactory result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateEffectFactory(get_abi(graphicsEffect), put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionEffectFactory impl_ICompositor::CreateEffectFactory(const Windows::Graphics::Effects::IGraphicsEffect & graphicsEffect, iterable animatableProperties) const +{ + Windows::UI::Composition::CompositionEffectFactory result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateEffectFactoryWithProperties(get_abi(graphicsEffect), get_abi(animatableProperties), put_abi(result))); + return result; +} + +template Windows::UI::Composition::ExpressionAnimation impl_ICompositor::CreateExpressionAnimation() const +{ + Windows::UI::Composition::ExpressionAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateExpressionAnimation(put_abi(result))); + return result; +} + +template Windows::UI::Composition::ExpressionAnimation impl_ICompositor::CreateExpressionAnimation(hstring_view expression) const +{ + Windows::UI::Composition::ExpressionAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateExpressionAnimationWithExpression(get_abi(expression), put_abi(result))); + return result; +} + +template Windows::UI::Composition::InsetClip impl_ICompositor::CreateInsetClip() const +{ + Windows::UI::Composition::InsetClip result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateInsetClip(put_abi(result))); + return result; +} + +template Windows::UI::Composition::InsetClip impl_ICompositor::CreateInsetClip(float leftInset, float topInset, float rightInset, float bottomInset) const +{ + Windows::UI::Composition::InsetClip result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateInsetClipWithInsets(leftInset, topInset, rightInset, bottomInset, put_abi(result))); + return result; +} + +template Windows::UI::Composition::LinearEasingFunction impl_ICompositor::CreateLinearEasingFunction() const +{ + Windows::UI::Composition::LinearEasingFunction result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateLinearEasingFunction(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionPropertySet impl_ICompositor::CreatePropertySet() const +{ + Windows::UI::Composition::CompositionPropertySet result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreatePropertySet(put_abi(result))); + return result; +} + +template Windows::UI::Composition::QuaternionKeyFrameAnimation impl_ICompositor::CreateQuaternionKeyFrameAnimation() const +{ + Windows::UI::Composition::QuaternionKeyFrameAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateQuaternionKeyFrameAnimation(put_abi(result))); + return result; +} + +template Windows::UI::Composition::ScalarKeyFrameAnimation impl_ICompositor::CreateScalarKeyFrameAnimation() const +{ + Windows::UI::Composition::ScalarKeyFrameAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateScalarKeyFrameAnimation(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionScopedBatch impl_ICompositor::CreateScopedBatch(Windows::UI::Composition::CompositionBatchTypes batchType) const +{ + Windows::UI::Composition::CompositionScopedBatch result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateScopedBatch(batchType, put_abi(result))); + return result; +} + +template Windows::UI::Composition::SpriteVisual impl_ICompositor::CreateSpriteVisual() const +{ + Windows::UI::Composition::SpriteVisual result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateSpriteVisual(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionSurfaceBrush impl_ICompositor::CreateSurfaceBrush() const +{ + Windows::UI::Composition::CompositionSurfaceBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateSurfaceBrush(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionSurfaceBrush impl_ICompositor::CreateSurfaceBrush(const Windows::UI::Composition::ICompositionSurface & surface) const +{ + Windows::UI::Composition::CompositionSurfaceBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateSurfaceBrushWithSurface(get_abi(surface), put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionTarget impl_ICompositor::CreateTargetForCurrentView() const +{ + Windows::UI::Composition::CompositionTarget result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateTargetForCurrentView(put_abi(result))); + return result; +} + +template Windows::UI::Composition::Vector2KeyFrameAnimation impl_ICompositor::CreateVector2KeyFrameAnimation() const +{ + Windows::UI::Composition::Vector2KeyFrameAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateVector2KeyFrameAnimation(put_abi(result))); + return result; +} + +template Windows::UI::Composition::Vector3KeyFrameAnimation impl_ICompositor::CreateVector3KeyFrameAnimation() const +{ + Windows::UI::Composition::Vector3KeyFrameAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateVector3KeyFrameAnimation(put_abi(result))); + return result; +} + +template Windows::UI::Composition::Vector4KeyFrameAnimation impl_ICompositor::CreateVector4KeyFrameAnimation() const +{ + Windows::UI::Composition::Vector4KeyFrameAnimation result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_CreateVector4KeyFrameAnimation(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionCommitBatch impl_ICompositor::GetCommitBatch(Windows::UI::Composition::CompositionBatchTypes batchType) const +{ + Windows::UI::Composition::CompositionCommitBatch result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor)->abi_GetCommitBatch(batchType, put_abi(result))); + return result; +} + +template Windows::UI::Composition::AmbientLight impl_ICompositor2::CreateAmbientLight() const +{ + Windows::UI::Composition::AmbientLight result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateAmbientLight(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionAnimationGroup impl_ICompositor2::CreateAnimationGroup() const +{ + Windows::UI::Composition::CompositionAnimationGroup result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateAnimationGroup(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionBackdropBrush impl_ICompositor2::CreateBackdropBrush() const +{ + Windows::UI::Composition::CompositionBackdropBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateBackdropBrush(put_abi(result))); + return result; +} + +template Windows::UI::Composition::DistantLight impl_ICompositor2::CreateDistantLight() const +{ + Windows::UI::Composition::DistantLight result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateDistantLight(put_abi(result))); + return result; +} + +template Windows::UI::Composition::DropShadow impl_ICompositor2::CreateDropShadow() const +{ + Windows::UI::Composition::DropShadow result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateDropShadow(put_abi(result))); + return result; +} + +template Windows::UI::Composition::ImplicitAnimationCollection impl_ICompositor2::CreateImplicitAnimationCollection() const +{ + Windows::UI::Composition::ImplicitAnimationCollection result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateImplicitAnimationCollection(put_abi(result))); + return result; +} + +template Windows::UI::Composition::LayerVisual impl_ICompositor2::CreateLayerVisual() const +{ + Windows::UI::Composition::LayerVisual result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateLayerVisual(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionMaskBrush impl_ICompositor2::CreateMaskBrush() const +{ + Windows::UI::Composition::CompositionMaskBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateMaskBrush(put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionNineGridBrush impl_ICompositor2::CreateNineGridBrush() const +{ + Windows::UI::Composition::CompositionNineGridBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateNineGridBrush(put_abi(result))); + return result; +} + +template Windows::UI::Composition::PointLight impl_ICompositor2::CreatePointLight() const +{ + Windows::UI::Composition::PointLight result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreatePointLight(put_abi(result))); + return result; +} + +template Windows::UI::Composition::SpotLight impl_ICompositor2::CreateSpotLight() const +{ + Windows::UI::Composition::SpotLight result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateSpotLight(put_abi(result))); + return result; +} + +template Windows::UI::Composition::StepEasingFunction impl_ICompositor2::CreateStepEasingFunction() const +{ + Windows::UI::Composition::StepEasingFunction result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateStepEasingFunction(put_abi(result))); + return result; +} + +template Windows::UI::Composition::StepEasingFunction impl_ICompositor2::CreateStepEasingFunction(int32_t stepCount) const +{ + Windows::UI::Composition::StepEasingFunction result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor2)->abi_CreateStepEasingFunctionWithStepCount(stepCount, put_abi(result))); + return result; +} + +template Windows::UI::Composition::CompositionBackdropBrush impl_ICompositor3::CreateHostBackdropBrush() const +{ + Windows::UI::Composition::CompositionBackdropBrush result { nullptr }; + check_hresult(WINRT_SHIM(ICompositor3)->abi_CreateHostBackdropBrush(put_abi(result))); + return result; +} + +template Windows::UI::Composition::VisualCollection impl_IContainerVisual::Children() const +{ + Windows::UI::Composition::VisualCollection value { nullptr }; + check_hresult(WINRT_SHIM(IContainerVisual)->get_Children(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float2 impl_ICubicBezierEasingFunction::ControlPoint1() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICubicBezierEasingFunction)->get_ControlPoint1(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float2 impl_ICubicBezierEasingFunction::ControlPoint2() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(ICubicBezierEasingFunction)->get_ControlPoint2(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IDistantLight::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDistantLight)->get_Color(put_abi(value))); + return value; +} + +template void impl_IDistantLight::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDistantLight)->put_Color(get_abi(value))); +} + +template Windows::UI::Composition::Visual impl_IDistantLight::CoordinateSpace() const +{ + Windows::UI::Composition::Visual value { nullptr }; + check_hresult(WINRT_SHIM(IDistantLight)->get_CoordinateSpace(put_abi(value))); + return value; +} + +template void impl_IDistantLight::CoordinateSpace(const Windows::UI::Composition::Visual & value) const +{ + check_hresult(WINRT_SHIM(IDistantLight)->put_CoordinateSpace(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3 impl_IDistantLight::Direction() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IDistantLight)->get_Direction(put_abi(value))); + return value; +} + +template void impl_IDistantLight::Direction(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IDistantLight)->put_Direction(get_abi(value))); +} + +template float impl_IDropShadow::BlurRadius() const +{ + float value {}; + check_hresult(WINRT_SHIM(IDropShadow)->get_BlurRadius(&value)); + return value; +} + +template void impl_IDropShadow::BlurRadius(float value) const +{ + check_hresult(WINRT_SHIM(IDropShadow)->put_BlurRadius(value)); +} + +template Windows::UI::Color impl_IDropShadow::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IDropShadow)->get_Color(put_abi(value))); + return value; +} + +template void impl_IDropShadow::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IDropShadow)->put_Color(get_abi(value))); +} + +template Windows::UI::Composition::CompositionBrush impl_IDropShadow::Mask() const +{ + Windows::UI::Composition::CompositionBrush value { nullptr }; + check_hresult(WINRT_SHIM(IDropShadow)->get_Mask(put_abi(value))); + return value; +} + +template void impl_IDropShadow::Mask(const Windows::UI::Composition::CompositionBrush & value) const +{ + check_hresult(WINRT_SHIM(IDropShadow)->put_Mask(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3 impl_IDropShadow::Offset() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IDropShadow)->get_Offset(put_abi(value))); + return value; +} + +template void impl_IDropShadow::Offset(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IDropShadow)->put_Offset(get_abi(value))); +} + +template float impl_IDropShadow::Opacity() const +{ + float value {}; + check_hresult(WINRT_SHIM(IDropShadow)->get_Opacity(&value)); + return value; +} + +template void impl_IDropShadow::Opacity(float value) const +{ + check_hresult(WINRT_SHIM(IDropShadow)->put_Opacity(value)); +} + +template hstring impl_IExpressionAnimation::Expression() const +{ + hstring value; + check_hresult(WINRT_SHIM(IExpressionAnimation)->get_Expression(put_abi(value))); + return value; +} + +template void impl_IExpressionAnimation::Expression(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IExpressionAnimation)->put_Expression(get_abi(value))); +} + +template float impl_IInsetClip::BottomInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInsetClip)->get_BottomInset(&value)); + return value; +} + +template void impl_IInsetClip::BottomInset(float value) const +{ + check_hresult(WINRT_SHIM(IInsetClip)->put_BottomInset(value)); +} + +template float impl_IInsetClip::LeftInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInsetClip)->get_LeftInset(&value)); + return value; +} + +template void impl_IInsetClip::LeftInset(float value) const +{ + check_hresult(WINRT_SHIM(IInsetClip)->put_LeftInset(value)); +} + +template float impl_IInsetClip::RightInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInsetClip)->get_RightInset(&value)); + return value; +} + +template void impl_IInsetClip::RightInset(float value) const +{ + check_hresult(WINRT_SHIM(IInsetClip)->put_RightInset(value)); +} + +template float impl_IInsetClip::TopInset() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInsetClip)->get_TopInset(&value)); + return value; +} + +template void impl_IInsetClip::TopInset(float value) const +{ + check_hresult(WINRT_SHIM(IInsetClip)->put_TopInset(value)); +} + +template Windows::Foundation::TimeSpan impl_IKeyFrameAnimation::DelayTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->get_DelayTime(put_abi(value))); + return value; +} + +template void impl_IKeyFrameAnimation::DelayTime(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->put_DelayTime(get_abi(value))); +} + +template Windows::Foundation::TimeSpan impl_IKeyFrameAnimation::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->get_Duration(put_abi(value))); + return value; +} + +template void impl_IKeyFrameAnimation::Duration(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->put_Duration(get_abi(value))); +} + +template Windows::UI::Composition::AnimationIterationBehavior impl_IKeyFrameAnimation::IterationBehavior() const +{ + Windows::UI::Composition::AnimationIterationBehavior value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->get_IterationBehavior(&value)); + return value; +} + +template void impl_IKeyFrameAnimation::IterationBehavior(Windows::UI::Composition::AnimationIterationBehavior value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->put_IterationBehavior(value)); +} + +template int32_t impl_IKeyFrameAnimation::IterationCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->get_IterationCount(&value)); + return value; +} + +template void impl_IKeyFrameAnimation::IterationCount(int32_t value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->put_IterationCount(value)); +} + +template int32_t impl_IKeyFrameAnimation::KeyFrameCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->get_KeyFrameCount(&value)); + return value; +} + +template Windows::UI::Composition::AnimationStopBehavior impl_IKeyFrameAnimation::StopBehavior() const +{ + Windows::UI::Composition::AnimationStopBehavior value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->get_StopBehavior(&value)); + return value; +} + +template void impl_IKeyFrameAnimation::StopBehavior(Windows::UI::Composition::AnimationStopBehavior value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->put_StopBehavior(value)); +} + +template void impl_IKeyFrameAnimation::InsertExpressionKeyFrame(float normalizedProgressKey, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->abi_InsertExpressionKeyFrame(normalizedProgressKey, get_abi(value))); +} + +template void impl_IKeyFrameAnimation::InsertExpressionKeyFrame(float normalizedProgressKey, hstring_view value, const Windows::UI::Composition::CompositionEasingFunction & easingFunction) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation)->abi_InsertExpressionKeyFrameWithEasingFunction(normalizedProgressKey, get_abi(value), get_abi(easingFunction))); +} + +template Windows::UI::Composition::AnimationDirection impl_IKeyFrameAnimation2::Direction() const +{ + Windows::UI::Composition::AnimationDirection value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation2)->get_Direction(&value)); + return value; +} + +template void impl_IKeyFrameAnimation2::Direction(Windows::UI::Composition::AnimationDirection value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation2)->put_Direction(value)); +} + +template Windows::UI::Composition::AnimationDelayBehavior impl_IKeyFrameAnimation3::DelayBehavior() const +{ + Windows::UI::Composition::AnimationDelayBehavior value {}; + check_hresult(WINRT_SHIM(IKeyFrameAnimation3)->get_DelayBehavior(&value)); + return value; +} + +template void impl_IKeyFrameAnimation3::DelayBehavior(Windows::UI::Composition::AnimationDelayBehavior value) const +{ + check_hresult(WINRT_SHIM(IKeyFrameAnimation3)->put_DelayBehavior(value)); +} + +template Windows::UI::Composition::CompositionEffectBrush impl_ILayerVisual::Effect() const +{ + Windows::UI::Composition::CompositionEffectBrush value { nullptr }; + check_hresult(WINRT_SHIM(ILayerVisual)->get_Effect(put_abi(value))); + return value; +} + +template void impl_ILayerVisual::Effect(const Windows::UI::Composition::CompositionEffectBrush & value) const +{ + check_hresult(WINRT_SHIM(ILayerVisual)->put_Effect(get_abi(value))); +} + +template Windows::UI::Color impl_IPointLight::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IPointLight)->get_Color(put_abi(value))); + return value; +} + +template void impl_IPointLight::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IPointLight)->put_Color(get_abi(value))); +} + +template float impl_IPointLight::ConstantAttenuation() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointLight)->get_ConstantAttenuation(&value)); + return value; +} + +template void impl_IPointLight::ConstantAttenuation(float value) const +{ + check_hresult(WINRT_SHIM(IPointLight)->put_ConstantAttenuation(value)); +} + +template Windows::UI::Composition::Visual impl_IPointLight::CoordinateSpace() const +{ + Windows::UI::Composition::Visual value { nullptr }; + check_hresult(WINRT_SHIM(IPointLight)->get_CoordinateSpace(put_abi(value))); + return value; +} + +template void impl_IPointLight::CoordinateSpace(const Windows::UI::Composition::Visual & value) const +{ + check_hresult(WINRT_SHIM(IPointLight)->put_CoordinateSpace(get_abi(value))); +} + +template float impl_IPointLight::LinearAttenuation() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointLight)->get_LinearAttenuation(&value)); + return value; +} + +template void impl_IPointLight::LinearAttenuation(float value) const +{ + check_hresult(WINRT_SHIM(IPointLight)->put_LinearAttenuation(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IPointLight::Offset() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IPointLight)->get_Offset(put_abi(value))); + return value; +} + +template void impl_IPointLight::Offset(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IPointLight)->put_Offset(get_abi(value))); +} + +template float impl_IPointLight::QuadraticAttenuation() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointLight)->get_QuadraticAttenuation(&value)); + return value; +} + +template void impl_IPointLight::QuadraticAttenuation(float value) const +{ + check_hresult(WINRT_SHIM(IPointLight)->put_QuadraticAttenuation(value)); +} + +template void impl_IQuaternionKeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::quaternion & value) const +{ + check_hresult(WINRT_SHIM(IQuaternionKeyFrameAnimation)->abi_InsertKeyFrame(normalizedProgressKey, get_abi(value))); +} + +template void impl_IQuaternionKeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::quaternion & value, const Windows::UI::Composition::CompositionEasingFunction & easingFunction) const +{ + check_hresult(WINRT_SHIM(IQuaternionKeyFrameAnimation)->abi_InsertKeyFrameWithEasingFunction(normalizedProgressKey, get_abi(value), get_abi(easingFunction))); +} + +template Windows::UI::Composition::CompositionGraphicsDevice impl_IRenderingDeviceReplacedEventArgs::GraphicsDevice() const +{ + Windows::UI::Composition::CompositionGraphicsDevice value { nullptr }; + check_hresult(WINRT_SHIM(IRenderingDeviceReplacedEventArgs)->get_GraphicsDevice(put_abi(value))); + return value; +} + +template void impl_IScalarKeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, float value) const +{ + check_hresult(WINRT_SHIM(IScalarKeyFrameAnimation)->abi_InsertKeyFrame(normalizedProgressKey, value)); +} + +template void impl_IScalarKeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, float value, const Windows::UI::Composition::CompositionEasingFunction & easingFunction) const +{ + check_hresult(WINRT_SHIM(IScalarKeyFrameAnimation)->abi_InsertKeyFrameWithEasingFunction(normalizedProgressKey, value, get_abi(easingFunction))); +} + +template float impl_ISpotLight::ConstantAttenuation() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_ConstantAttenuation(&value)); + return value; +} + +template void impl_ISpotLight::ConstantAttenuation(float value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_ConstantAttenuation(value)); +} + +template Windows::UI::Composition::Visual impl_ISpotLight::CoordinateSpace() const +{ + Windows::UI::Composition::Visual value { nullptr }; + check_hresult(WINRT_SHIM(ISpotLight)->get_CoordinateSpace(put_abi(value))); + return value; +} + +template void impl_ISpotLight::CoordinateSpace(const Windows::UI::Composition::Visual & value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_CoordinateSpace(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3 impl_ISpotLight::Direction() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_Direction(put_abi(value))); + return value; +} + +template void impl_ISpotLight::Direction(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_Direction(get_abi(value))); +} + +template float impl_ISpotLight::InnerConeAngle() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_InnerConeAngle(&value)); + return value; +} + +template void impl_ISpotLight::InnerConeAngle(float value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_InnerConeAngle(value)); +} + +template float impl_ISpotLight::InnerConeAngleInDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_InnerConeAngleInDegrees(&value)); + return value; +} + +template void impl_ISpotLight::InnerConeAngleInDegrees(float value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_InnerConeAngleInDegrees(value)); +} + +template Windows::UI::Color impl_ISpotLight::InnerConeColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_InnerConeColor(put_abi(value))); + return value; +} + +template void impl_ISpotLight::InnerConeColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_InnerConeColor(get_abi(value))); +} + +template float impl_ISpotLight::LinearAttenuation() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_LinearAttenuation(&value)); + return value; +} + +template void impl_ISpotLight::LinearAttenuation(float value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_LinearAttenuation(value)); +} + +template Windows::Foundation::Numerics::float3 impl_ISpotLight::Offset() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_Offset(put_abi(value))); + return value; +} + +template void impl_ISpotLight::Offset(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_Offset(get_abi(value))); +} + +template float impl_ISpotLight::OuterConeAngle() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_OuterConeAngle(&value)); + return value; +} + +template void impl_ISpotLight::OuterConeAngle(float value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_OuterConeAngle(value)); +} + +template float impl_ISpotLight::OuterConeAngleInDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_OuterConeAngleInDegrees(&value)); + return value; +} + +template void impl_ISpotLight::OuterConeAngleInDegrees(float value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_OuterConeAngleInDegrees(value)); +} + +template Windows::UI::Color impl_ISpotLight::OuterConeColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_OuterConeColor(put_abi(value))); + return value; +} + +template void impl_ISpotLight::OuterConeColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_OuterConeColor(get_abi(value))); +} + +template float impl_ISpotLight::QuadraticAttenuation() const +{ + float value {}; + check_hresult(WINRT_SHIM(ISpotLight)->get_QuadraticAttenuation(&value)); + return value; +} + +template void impl_ISpotLight::QuadraticAttenuation(float value) const +{ + check_hresult(WINRT_SHIM(ISpotLight)->put_QuadraticAttenuation(value)); +} + +template Windows::UI::Composition::CompositionBrush impl_ISpriteVisual::Brush() const +{ + Windows::UI::Composition::CompositionBrush value { nullptr }; + check_hresult(WINRT_SHIM(ISpriteVisual)->get_Brush(put_abi(value))); + return value; +} + +template void impl_ISpriteVisual::Brush(const Windows::UI::Composition::CompositionBrush & value) const +{ + check_hresult(WINRT_SHIM(ISpriteVisual)->put_Brush(get_abi(value))); +} + +template Windows::UI::Composition::CompositionShadow impl_ISpriteVisual2::Shadow() const +{ + Windows::UI::Composition::CompositionShadow value { nullptr }; + check_hresult(WINRT_SHIM(ISpriteVisual2)->get_Shadow(put_abi(value))); + return value; +} + +template void impl_ISpriteVisual2::Shadow(const Windows::UI::Composition::CompositionShadow & value) const +{ + check_hresult(WINRT_SHIM(ISpriteVisual2)->put_Shadow(get_abi(value))); +} + +template int32_t impl_IStepEasingFunction::FinalStep() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IStepEasingFunction)->get_FinalStep(&value)); + return value; +} + +template void impl_IStepEasingFunction::FinalStep(int32_t value) const +{ + check_hresult(WINRT_SHIM(IStepEasingFunction)->put_FinalStep(value)); +} + +template int32_t impl_IStepEasingFunction::InitialStep() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IStepEasingFunction)->get_InitialStep(&value)); + return value; +} + +template void impl_IStepEasingFunction::InitialStep(int32_t value) const +{ + check_hresult(WINRT_SHIM(IStepEasingFunction)->put_InitialStep(value)); +} + +template bool impl_IStepEasingFunction::IsFinalStepSingleFrame() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStepEasingFunction)->get_IsFinalStepSingleFrame(&value)); + return value; +} + +template void impl_IStepEasingFunction::IsFinalStepSingleFrame(bool value) const +{ + check_hresult(WINRT_SHIM(IStepEasingFunction)->put_IsFinalStepSingleFrame(value)); +} + +template bool impl_IStepEasingFunction::IsInitialStepSingleFrame() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStepEasingFunction)->get_IsInitialStepSingleFrame(&value)); + return value; +} + +template void impl_IStepEasingFunction::IsInitialStepSingleFrame(bool value) const +{ + check_hresult(WINRT_SHIM(IStepEasingFunction)->put_IsInitialStepSingleFrame(value)); +} + +template int32_t impl_IStepEasingFunction::StepCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IStepEasingFunction)->get_StepCount(&value)); + return value; +} + +template void impl_IStepEasingFunction::StepCount(int32_t value) const +{ + check_hresult(WINRT_SHIM(IStepEasingFunction)->put_StepCount(value)); +} + +template void impl_IVector2KeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(IVector2KeyFrameAnimation)->abi_InsertKeyFrame(normalizedProgressKey, get_abi(value))); +} + +template void impl_IVector2KeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::float2 & value, const Windows::UI::Composition::CompositionEasingFunction & easingFunction) const +{ + check_hresult(WINRT_SHIM(IVector2KeyFrameAnimation)->abi_InsertKeyFrameWithEasingFunction(normalizedProgressKey, get_abi(value), get_abi(easingFunction))); +} + +template void impl_IVector3KeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IVector3KeyFrameAnimation)->abi_InsertKeyFrame(normalizedProgressKey, get_abi(value))); +} + +template void impl_IVector3KeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::float3 & value, const Windows::UI::Composition::CompositionEasingFunction & easingFunction) const +{ + check_hresult(WINRT_SHIM(IVector3KeyFrameAnimation)->abi_InsertKeyFrameWithEasingFunction(normalizedProgressKey, get_abi(value), get_abi(easingFunction))); +} + +template void impl_IVector4KeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::float4 & value) const +{ + check_hresult(WINRT_SHIM(IVector4KeyFrameAnimation)->abi_InsertKeyFrame(normalizedProgressKey, get_abi(value))); +} + +template void impl_IVector4KeyFrameAnimation::InsertKeyFrame(float normalizedProgressKey, const Windows::Foundation::Numerics::float4 & value, const Windows::UI::Composition::CompositionEasingFunction & easingFunction) const +{ + check_hresult(WINRT_SHIM(IVector4KeyFrameAnimation)->abi_InsertKeyFrameWithEasingFunction(normalizedProgressKey, get_abi(value), get_abi(easingFunction))); +} + +template Windows::Foundation::Numerics::float2 impl_IVisual::AnchorPoint() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(IVisual)->get_AnchorPoint(put_abi(value))); + return value; +} + +template void impl_IVisual::AnchorPoint(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_AnchorPoint(get_abi(value))); +} + +template Windows::UI::Composition::CompositionBackfaceVisibility impl_IVisual::BackfaceVisibility() const +{ + Windows::UI::Composition::CompositionBackfaceVisibility value {}; + check_hresult(WINRT_SHIM(IVisual)->get_BackfaceVisibility(&value)); + return value; +} + +template void impl_IVisual::BackfaceVisibility(Windows::UI::Composition::CompositionBackfaceVisibility value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_BackfaceVisibility(value)); +} + +template Windows::UI::Composition::CompositionBorderMode impl_IVisual::BorderMode() const +{ + Windows::UI::Composition::CompositionBorderMode value {}; + check_hresult(WINRT_SHIM(IVisual)->get_BorderMode(&value)); + return value; +} + +template void impl_IVisual::BorderMode(Windows::UI::Composition::CompositionBorderMode value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_BorderMode(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IVisual::CenterPoint() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisual)->get_CenterPoint(put_abi(value))); + return value; +} + +template void impl_IVisual::CenterPoint(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_CenterPoint(get_abi(value))); +} + +template Windows::UI::Composition::CompositionClip impl_IVisual::Clip() const +{ + Windows::UI::Composition::CompositionClip value { nullptr }; + check_hresult(WINRT_SHIM(IVisual)->get_Clip(put_abi(value))); + return value; +} + +template void impl_IVisual::Clip(const Windows::UI::Composition::CompositionClip & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_Clip(get_abi(value))); +} + +template Windows::UI::Composition::CompositionCompositeMode impl_IVisual::CompositeMode() const +{ + Windows::UI::Composition::CompositionCompositeMode value {}; + check_hresult(WINRT_SHIM(IVisual)->get_CompositeMode(&value)); + return value; +} + +template void impl_IVisual::CompositeMode(Windows::UI::Composition::CompositionCompositeMode value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_CompositeMode(value)); +} + +template bool impl_IVisual::IsVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVisual)->get_IsVisible(&value)); + return value; +} + +template void impl_IVisual::IsVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_IsVisible(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IVisual::Offset() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisual)->get_Offset(put_abi(value))); + return value; +} + +template void impl_IVisual::Offset(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_Offset(get_abi(value))); +} + +template float impl_IVisual::Opacity() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVisual)->get_Opacity(&value)); + return value; +} + +template void impl_IVisual::Opacity(float value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_Opacity(value)); +} + +template Windows::Foundation::Numerics::quaternion impl_IVisual::Orientation() const +{ + Windows::Foundation::Numerics::quaternion value {}; + check_hresult(WINRT_SHIM(IVisual)->get_Orientation(put_abi(value))); + return value; +} + +template void impl_IVisual::Orientation(const Windows::Foundation::Numerics::quaternion & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_Orientation(get_abi(value))); +} + +template Windows::UI::Composition::ContainerVisual impl_IVisual::Parent() const +{ + Windows::UI::Composition::ContainerVisual value { nullptr }; + check_hresult(WINRT_SHIM(IVisual)->get_Parent(put_abi(value))); + return value; +} + +template float impl_IVisual::RotationAngle() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVisual)->get_RotationAngle(&value)); + return value; +} + +template void impl_IVisual::RotationAngle(float value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_RotationAngle(value)); +} + +template float impl_IVisual::RotationAngleInDegrees() const +{ + float value {}; + check_hresult(WINRT_SHIM(IVisual)->get_RotationAngleInDegrees(&value)); + return value; +} + +template void impl_IVisual::RotationAngleInDegrees(float value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_RotationAngleInDegrees(value)); +} + +template Windows::Foundation::Numerics::float3 impl_IVisual::RotationAxis() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisual)->get_RotationAxis(put_abi(value))); + return value; +} + +template void impl_IVisual::RotationAxis(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_RotationAxis(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3 impl_IVisual::Scale() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisual)->get_Scale(put_abi(value))); + return value; +} + +template void impl_IVisual::Scale(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_Scale(get_abi(value))); +} + +template Windows::Foundation::Numerics::float2 impl_IVisual::Size() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(IVisual)->get_Size(put_abi(value))); + return value; +} + +template void impl_IVisual::Size(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_Size(get_abi(value))); +} + +template Windows::Foundation::Numerics::float4x4 impl_IVisual::TransformMatrix() const +{ + Windows::Foundation::Numerics::float4x4 value {}; + check_hresult(WINRT_SHIM(IVisual)->get_TransformMatrix(put_abi(value))); + return value; +} + +template void impl_IVisual::TransformMatrix(const Windows::Foundation::Numerics::float4x4 & value) const +{ + check_hresult(WINRT_SHIM(IVisual)->put_TransformMatrix(get_abi(value))); +} + +template Windows::UI::Composition::Visual impl_IVisual2::ParentForTransform() const +{ + Windows::UI::Composition::Visual value { nullptr }; + check_hresult(WINRT_SHIM(IVisual2)->get_ParentForTransform(put_abi(value))); + return value; +} + +template void impl_IVisual2::ParentForTransform(const Windows::UI::Composition::Visual & value) const +{ + check_hresult(WINRT_SHIM(IVisual2)->put_ParentForTransform(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3 impl_IVisual2::RelativeOffsetAdjustment() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(IVisual2)->get_RelativeOffsetAdjustment(put_abi(value))); + return value; +} + +template void impl_IVisual2::RelativeOffsetAdjustment(const Windows::Foundation::Numerics::float3 & value) const +{ + check_hresult(WINRT_SHIM(IVisual2)->put_RelativeOffsetAdjustment(get_abi(value))); +} + +template Windows::Foundation::Numerics::float2 impl_IVisual2::RelativeSizeAdjustment() const +{ + Windows::Foundation::Numerics::float2 value {}; + check_hresult(WINRT_SHIM(IVisual2)->get_RelativeSizeAdjustment(put_abi(value))); + return value; +} + +template void impl_IVisual2::RelativeSizeAdjustment(const Windows::Foundation::Numerics::float2 & value) const +{ + check_hresult(WINRT_SHIM(IVisual2)->put_RelativeSizeAdjustment(get_abi(value))); +} + +template int32_t impl_IVisualCollection::Count() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IVisualCollection)->get_Count(&value)); + return value; +} + +template void impl_IVisualCollection::InsertAbove(const Windows::UI::Composition::Visual & newChild, const Windows::UI::Composition::Visual & sibling) const +{ + check_hresult(WINRT_SHIM(IVisualCollection)->abi_InsertAbove(get_abi(newChild), get_abi(sibling))); +} + +template void impl_IVisualCollection::InsertAtBottom(const Windows::UI::Composition::Visual & newChild) const +{ + check_hresult(WINRT_SHIM(IVisualCollection)->abi_InsertAtBottom(get_abi(newChild))); +} + +template void impl_IVisualCollection::InsertAtTop(const Windows::UI::Composition::Visual & newChild) const +{ + check_hresult(WINRT_SHIM(IVisualCollection)->abi_InsertAtTop(get_abi(newChild))); +} + +template void impl_IVisualCollection::InsertBelow(const Windows::UI::Composition::Visual & newChild, const Windows::UI::Composition::Visual & sibling) const +{ + check_hresult(WINRT_SHIM(IVisualCollection)->abi_InsertBelow(get_abi(newChild), get_abi(sibling))); +} + +template void impl_IVisualCollection::Remove(const Windows::UI::Composition::Visual & child) const +{ + check_hresult(WINRT_SHIM(IVisualCollection)->abi_Remove(get_abi(child))); +} + +template void impl_IVisualCollection::RemoveAll() const +{ + check_hresult(WINRT_SHIM(IVisualCollection)->abi_RemoveAll()); +} + +template int32_t impl_IVisualUnorderedCollection::Count() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IVisualUnorderedCollection)->get_Count(&value)); + return value; +} + +template void impl_IVisualUnorderedCollection::Add(const Windows::UI::Composition::Visual & newVisual) const +{ + check_hresult(WINRT_SHIM(IVisualUnorderedCollection)->abi_Add(get_abi(newVisual))); +} + +template void impl_IVisualUnorderedCollection::Remove(const Windows::UI::Composition::Visual & visual) const +{ + check_hresult(WINRT_SHIM(IVisualUnorderedCollection)->abi_Remove(get_abi(visual))); +} + +template void impl_IVisualUnorderedCollection::RemoveAll() const +{ + check_hresult(WINRT_SHIM(IVisualUnorderedCollection)->abi_RemoveAll()); +} + +inline Windows::UI::Composition::CompositionCapabilities CompositionCapabilities::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline CompositionEffectSourceParameter::CompositionEffectSourceParameter(hstring_view name) : + CompositionEffectSourceParameter(get_activation_factory().Create(name)) +{} + +inline Compositor::Compositor() : + Compositor(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IAmbientLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IColorKeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionAnimation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionAnimationBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionAnimationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionAnimationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionBackdropBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionBatchCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionBrushFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionCapabilitiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionClip & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionClip2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionClipFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionColorBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionCommitBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionDrawingSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionDrawingSurface2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionDrawingSurfaceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionEasingFunctionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionEffectBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionEffectFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionEffectSourceParameter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionEffectSourceParameterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionGraphicsDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionGraphicsDevice2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionLightFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionMaskBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionNineGridBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionObject2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionObjectFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionPropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionPropertySet2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionScopedBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionShadow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionShadowFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionSurfaceBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionSurfaceBrush2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionTarget & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionVirtualDrawingSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositionVirtualDrawingSurfaceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositor2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICompositor3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IContainerVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IContainerVisualFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ICubicBezierEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IDistantLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IDropShadow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IExpressionAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IImplicitAnimationCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IInsetClip & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IKeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IKeyFrameAnimation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IKeyFrameAnimation3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IKeyFrameAnimationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ILayerVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ILinearEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IPointLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IQuaternionKeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IRenderingDeviceReplacedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IScalarKeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ISpotLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ISpriteVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ISpriteVisual2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IStepEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVector2KeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVector3KeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVector4KeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVisual2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVisualCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVisualFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::IVisualUnorderedCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::AmbientLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ColorKeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionAnimationGroup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionBackdropBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionBatchCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionCapabilities & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionClip & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionColorBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionCommitBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionDrawingSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionEffectBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionEffectFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionEffectSourceParameter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionGraphicsDevice & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionMaskBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionNineGridBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionObject & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionPropertySet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionScopedBatch & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionShadow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionSurfaceBrush & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionTarget & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CompositionVirtualDrawingSurface & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Compositor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ContainerVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::CubicBezierEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::DistantLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::DropShadow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ExpressionAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ImplicitAnimationCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::InsetClip & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::KeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::LayerVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::LinearEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::PointLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::QuaternionKeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::RenderingDeviceReplacedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::ScalarKeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::SpotLight & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::SpriteVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::StepEasingFunction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Vector2KeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Vector3KeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Vector4KeyFrameAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::Visual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::VisualCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Composition::VisualUnorderedCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Core.AnimationMetrics.h b/10.0.15042.0/winrt/Windows.UI.Core.AnimationMetrics.h new file mode 100644 index 000000000..6fd9fbd95 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Core.AnimationMetrics.h @@ -0,0 +1,523 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Core.AnimationMetrics.3.h" +#include "Windows.UI.Core.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Animations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Animations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StaggerDelay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StaggerDelay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StaggerDelayFactor(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StaggerDelayFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DelayLimit(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DelayLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZOrder(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(Windows::UI::Core::AnimationMetrics::AnimationEffect effect, Windows::UI::Core::AnimationMetrics::AnimationEffectTarget target, impl::abi_arg_out animation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *animation = detach_abi(this->shim().CreateInstance(effect, target)); + return S_OK; + } + catch (...) + { + *animation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InitialOpacity(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialOpacity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FinalOpacity(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FinalOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::UI::Core::AnimationMetrics::PropertyAnimationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Delay(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Duration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Duration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Control1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Control1()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Control2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Control2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InitialScaleX(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialScaleX()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InitialScaleY(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialScaleY()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FinalScaleX(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FinalScaleX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FinalScaleY(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FinalScaleY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedOrigin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedOrigin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Core::AnimationMetrics { + +template Windows::UI::Core::AnimationMetrics::PropertyAnimationType impl_IPropertyAnimation::Type() const +{ + Windows::UI::Core::AnimationMetrics::PropertyAnimationType value {}; + check_hresult(WINRT_SHIM(IPropertyAnimation)->get_Type(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPropertyAnimation::Delay() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPropertyAnimation)->get_Delay(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IPropertyAnimation::Duration() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IPropertyAnimation)->get_Duration(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IPropertyAnimation::Control1() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IPropertyAnimation)->get_Control1(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IPropertyAnimation::Control2() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IPropertyAnimation)->get_Control2(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IScaleAnimation::InitialScaleX() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IScaleAnimation)->get_InitialScaleX(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IScaleAnimation::InitialScaleY() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IScaleAnimation)->get_InitialScaleY(put_abi(value))); + return value; +} + +template float impl_IScaleAnimation::FinalScaleX() const +{ + float value {}; + check_hresult(WINRT_SHIM(IScaleAnimation)->get_FinalScaleX(&value)); + return value; +} + +template float impl_IScaleAnimation::FinalScaleY() const +{ + float value {}; + check_hresult(WINRT_SHIM(IScaleAnimation)->get_FinalScaleY(&value)); + return value; +} + +template Windows::Foundation::Point impl_IScaleAnimation::NormalizedOrigin() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IScaleAnimation)->get_NormalizedOrigin(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IOpacityAnimation::InitialOpacity() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IOpacityAnimation)->get_InitialOpacity(put_abi(value))); + return value; +} + +template float impl_IOpacityAnimation::FinalOpacity() const +{ + float value {}; + check_hresult(WINRT_SHIM(IOpacityAnimation)->get_FinalOpacity(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IAnimationDescription::Animations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IAnimationDescription)->get_Animations(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAnimationDescription::StaggerDelay() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAnimationDescription)->get_StaggerDelay(put_abi(value))); + return value; +} + +template float impl_IAnimationDescription::StaggerDelayFactor() const +{ + float value {}; + check_hresult(WINRT_SHIM(IAnimationDescription)->get_StaggerDelayFactor(&value)); + return value; +} + +template Windows::Foundation::TimeSpan impl_IAnimationDescription::DelayLimit() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IAnimationDescription)->get_DelayLimit(put_abi(value))); + return value; +} + +template int32_t impl_IAnimationDescription::ZOrder() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAnimationDescription)->get_ZOrder(&value)); + return value; +} + +template Windows::UI::Core::AnimationMetrics::AnimationDescription impl_IAnimationDescriptionFactory::CreateInstance(Windows::UI::Core::AnimationMetrics::AnimationEffect effect, Windows::UI::Core::AnimationMetrics::AnimationEffectTarget target) const +{ + Windows::UI::Core::AnimationMetrics::AnimationDescription animation { nullptr }; + check_hresult(WINRT_SHIM(IAnimationDescriptionFactory)->abi_CreateInstance(effect, target, put_abi(animation))); + return animation; +} + +inline AnimationDescription::AnimationDescription(Windows::UI::Core::AnimationMetrics::AnimationEffect effect, Windows::UI::Core::AnimationMetrics::AnimationEffectTarget target) : + AnimationDescription(get_activation_factory().CreateInstance(effect, target)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::IAnimationDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::IAnimationDescriptionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::IOpacityAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::IPropertyAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::IScaleAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::AnimationDescription & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::OpacityAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::PropertyAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::ScaleAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AnimationMetrics::TranslationAnimation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Core.Preview.h b/10.0.15042.0/winrt/Windows.UI.Core.Preview.h new file mode 100644 index 000000000..16177ce80 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Core.Preview.h @@ -0,0 +1,216 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Core.Preview.3.h" +#include "Windows.UI.Core.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CloseRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CloseRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CloseRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Core::Preview { + +template event_token impl_ISystemNavigationManagerPreview::CloseRequested(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemNavigationManagerPreview)->add_CloseRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemNavigationManagerPreview::CloseRequested(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::Preview::ISystemNavigationManagerPreview::remove_CloseRequested, CloseRequested(handler)); +} + +template void impl_ISystemNavigationManagerPreview::CloseRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemNavigationManagerPreview)->remove_CloseRequested(token)); +} + +template Windows::UI::Core::Preview::SystemNavigationManagerPreview impl_ISystemNavigationManagerPreviewStatics::GetForCurrentView() const +{ + Windows::UI::Core::Preview::SystemNavigationManagerPreview loader { nullptr }; + check_hresult(WINRT_SHIM(ISystemNavigationManagerPreviewStatics)->abi_GetForCurrentView(put_abi(loader))); + return loader; +} + +template bool impl_ISystemNavigationCloseRequestedPreviewEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemNavigationCloseRequestedPreviewEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_ISystemNavigationCloseRequestedPreviewEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemNavigationCloseRequestedPreviewEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_ISystemNavigationCloseRequestedPreviewEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(ISystemNavigationCloseRequestedPreviewEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +inline Windows::UI::Core::Preview::SystemNavigationManagerPreview SystemNavigationManagerPreview::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::Preview::ISystemNavigationCloseRequestedPreviewEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::Preview::ISystemNavigationManagerPreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::Preview::ISystemNavigationManagerPreviewStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::Preview::SystemNavigationCloseRequestedPreviewEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::Preview::SystemNavigationManagerPreview & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Core.h b/10.0.15042.0/winrt/Windows.UI.Core.h new file mode 100644 index 000000000..15e0449bc --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Core.h @@ -0,0 +1,5412 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.UI.Input.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "Windows.UI.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::UI::Core { + +template DispatchedHandler::DispatchedHandler(L lambda) : + DispatchedHandler(impl::make_delegate, DispatchedHandler>(std::forward(lambda))) +{} + +template DispatchedHandler::DispatchedHandler(F * function) : + DispatchedHandler([=](auto && ... args) { function(args ...); }) +{} + +template DispatchedHandler::DispatchedHandler(O * object, M method) : + DispatchedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DispatchedHandler::operator()() const +{ + check_hresult((*(abi **)this)->abi_Invoke()); +} + +template IdleDispatchedHandler::IdleDispatchedHandler(L lambda) : + IdleDispatchedHandler(impl::make_delegate, IdleDispatchedHandler>(std::forward(lambda))) +{} + +template IdleDispatchedHandler::IdleDispatchedHandler(F * function) : + IdleDispatchedHandler([=](auto && ... args) { function(args ...); }) +{} + +template IdleDispatchedHandler::IdleDispatchedHandler(O * object, M method) : + IdleDispatchedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void IdleDispatchedHandler::operator()(const Windows::UI::Core::IdleDispatchedHandlerArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(e))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EventType(Windows::UI::Core::CoreAcceleratorKeyEventType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EventType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VirtualKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VirtualKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyStatus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AutomationProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutomationProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutomationProvider(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutomationProvider(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KeyCode(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyStatus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchBounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClosestInteractiveBounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClosestInteractiveBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClosestInteractiveBounds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClosestInteractiveBounds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_AcceleratorKeyActivated(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().AcceleratorKeyActivated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AcceleratorKeyActivated(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceleratorKeyActivated(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ClosestInteractiveBoundsRequested(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ClosestInteractiveBoundsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ClosestInteractiveBoundsRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClosestInteractiveBoundsRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_GotFocus(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().GotFocus(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_GotFocus(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GotFocus(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LostFocus(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().LostFocus(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LostFocus(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LostFocus(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::UI::Core::CoreCursorType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCursor(Windows::UI::Core::CoreCursorType type, uint32_t id, impl::abi_arg_out cursor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cursor = detach_abi(this->shim().CreateCursor(type, id)); + return S_OK; + } + catch (...) + { + *cursor = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasThreadAccess(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasThreadAccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessEvents(Windows::UI::Core::CoreProcessEventsOption options) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessEvents(options); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RunAsync(Windows::UI::Core::CoreDispatcherPriority priority, impl::abi_arg_in agileCallback, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().RunAsync(priority, *reinterpret_cast(&agileCallback))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RunIdleAsync(impl::abi_arg_in agileCallback, impl::abi_arg_out asyncAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncAction = detach_abi(this->shim().RunIdleAsync(*reinterpret_cast(&agileCallback))); + return S_OK; + } + catch (...) + { + *asyncAction = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryRunAsync(Windows::UI::Core::CoreDispatcherPriority priority, impl::abi_arg_in agileCallback, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().TryRunAsync(priority, *reinterpret_cast(&agileCallback))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRunIdleAsync(impl::abi_arg_in agileCallback, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().TryRunIdleAsync(*reinterpret_cast(&agileCallback))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentPriority(Windows::UI::Core::CoreDispatcherPriority * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentPriority()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CurrentPriority(Windows::UI::Core::CoreDispatcherPriority value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrentPriority(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShouldYield(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldYield()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShouldYieldToPriority(Windows::UI::Core::CoreDispatcherPriority priority, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldYield(priority)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopProcessEvents() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopProcessEvents(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Dispatcher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dispatcher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInputEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInputEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInputEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInputEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_InputEnabled(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().InputEnabled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_InputEnabled(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputEnabled(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentKeyState(Windows::System::VirtualKey virtualKey, Windows::UI::Core::CoreVirtualKeyStates * KeyState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *KeyState = detach_abi(this->shim().GetCurrentKeyState(virtualKey)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CharacterReceived(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().CharacterReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CharacterReceived(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterReceived(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_KeyDown(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().KeyDown(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_KeyDown(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyDown(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_KeyUp(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().KeyUp(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_KeyUp(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyUp(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentKeyEventDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentKeyEventDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ReleasePointerCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleasePointerCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPointerCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPointerCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasCapture(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasCapture()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerCursor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerCursor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerCursor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerCursor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerCaptureLost(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerCaptureLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerCaptureLost(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerCaptureLost(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerEntered(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerEntered(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerEntered(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerEntered(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerExited(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerExited(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerExited(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerExited(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerMoved(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerMoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerMoved(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerMoved(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerReleased(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerReleased(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerReleased(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerWheelChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerWheelChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerWheelChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerWheelChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PointerRoutedAway(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerRoutedAway(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerRoutedAway(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerRoutedAway(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerRoutedTo(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerRoutedTo(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerRoutedTo(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerRoutedTo(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerRoutedReleased(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerRoutedReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerRoutedReleased(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerRoutedReleased(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_TouchHitTesting(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().TouchHitTesting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TouchHitTesting(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TouchHitTesting(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AutomationHostProvider(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutomationHostProvider()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Dispatcher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dispatcher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlowDirection(Windows::UI::Core::CoreWindowFlowDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlowDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FlowDirection(Windows::UI::Core::CoreWindowFlowDirection value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlowDirection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInputEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInputEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInputEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInputEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerCursor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerCursor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerCursor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerCursor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Activate() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Activate(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAsyncKeyState(Windows::System::VirtualKey virtualKey, Windows::UI::Core::CoreVirtualKeyStates * KeyState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *KeyState = detach_abi(this->shim().GetAsyncKeyState(virtualKey)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetKeyState(Windows::System::VirtualKey virtualKey, Windows::UI::Core::CoreVirtualKeyStates * KeyState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *KeyState = detach_abi(this->shim().GetKeyState(virtualKey)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReleasePointerCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReleasePointerCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPointerCapture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPointerCapture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Activated(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().Activated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Activated(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Activated(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AutomationProviderRequested(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AutomationProviderRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AutomationProviderRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutomationProviderRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CharacterReceived(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().CharacterReceived(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CharacterReceived(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterReceived(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().Closed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_InputEnabled(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().InputEnabled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_InputEnabled(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputEnabled(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_KeyDown(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().KeyDown(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_KeyDown(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyDown(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_KeyUp(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().KeyUp(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_KeyUp(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyUp(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerCaptureLost(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerCaptureLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerCaptureLost(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerCaptureLost(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerEntered(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerEntered(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerEntered(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerEntered(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerExited(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerExited(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerExited(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerExited(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerMoved(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerMoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerMoved(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerMoved(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerReleased(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerReleased(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerReleased(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TouchHitTesting(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().TouchHitTesting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TouchHitTesting(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TouchHitTesting(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerWheelChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerWheelChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerWheelChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerWheelChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SizeChanged(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().SizeChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SizeChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SizeChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VisibilityChanged(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().VisibilityChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VisibilityChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VisibilityChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_PointerPosition(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerPosition(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ClosestInteractiveBoundsRequested(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ClosestInteractiveBoundsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ClosestInteractiveBoundsRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClosestInteractiveBoundsRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentKeyEventDeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCurrentKeyEventDeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ResizeStarted(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ResizeStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ResizeStarted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResizeStarted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ResizeCompleted(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ResizeCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ResizeCompleted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResizeCompleted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Showing(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Showing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Showing(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Showing(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInteractionDelayed(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInteractionDelayed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInteractionDelayed(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInteractionDelayed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Commands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Commands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultCommandIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultCommandIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultCommandIndex(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultCommandIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CancelCommandIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CancelCommandIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CancelCommandIndex(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelCommandIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackButtonCommand(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackButtonCommand()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackButtonCommand(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackButtonCommand(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ShowAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithTitle(impl::abi_arg_in title, impl::abi_arg_out coreWindowDialog) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *coreWindowDialog = detach_abi(this->shim().CreateWithTitle(*reinterpret_cast(&title))); + return S_OK; + } + catch (...) + { + *coreWindowDialog = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Showing(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Showing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Showing(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Showing(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInteractionDelayed(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInteractionDelayed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInteractionDelayed(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInteractionDelayed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Commands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Commands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultCommandIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultCommandIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultCommandIndex(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultCommandIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackButtonCommand(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackButtonCommand()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackButtonCommand(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackButtonCommand(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_out> asyncInfo) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncInfo = detach_abi(this->shim().ShowAsync()); + return S_OK; + } + catch (...) + { + *asyncInfo = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in position, impl::abi_arg_out coreWindowFlyout) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *coreWindowFlyout = detach_abi(this->shim().Create(*reinterpret_cast(&position))); + return S_OK; + } + catch (...) + { + *coreWindowFlyout = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTitle(impl::abi_arg_in position, impl::abi_arg_in title, impl::abi_arg_out coreWindowFlyout) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *coreWindowFlyout = detach_abi(this->shim().CreateWithTitle(*reinterpret_cast(&position), *reinterpret_cast(&title))); + return S_OK; + } + catch (...) + { + *coreWindowFlyout = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetDesiredSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDesiredSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_NotifyLayoutCompleted() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyLayoutCompleted(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ShouldWaitForLayoutCompletion(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShouldWaitForLayoutCompletion(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShouldWaitForLayoutCompletion(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldWaitForLayoutCompletion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out CoreWindowResizeManager) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *CoreWindowResizeManager = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *CoreWindowResizeManager = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentThread(impl::abi_arg_out ppWindow) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *ppWindow = detach_abi(this->shim().GetForCurrentThread()); + return S_OK; + } + catch (...) + { + *ppWindow = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDispatcherIdle(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDispatcherIdle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Initialize(impl::abi_arg_in window) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Initialize(*reinterpret_cast(&window)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VirtualKey(Windows::System::VirtualKey * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VirtualKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyStatus(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DeviceId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeviceId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentPoint()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIntermediatePoints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIntermediatePoints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BackRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BackRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BackRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AppViewBackButtonVisibility(Windows::UI::Core::AppViewBackButtonVisibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppViewBackButtonVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AppViewBackButtonVisibility(Windows::UI::Core::AppViewBackButtonVisibility value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AppViewBackButtonVisibility(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_CloseRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CloseRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CloseRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out loader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loader = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *loader = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ProximityEvaluation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProximityEvaluation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProximityEvaluation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProximityEvaluation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Point(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Point()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BoundingBox(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingBox()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EvaluateProximityToRect(impl::abi_arg_in controlBoundingBox, impl::abi_arg_out proximityEvaluation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *proximityEvaluation = detach_abi(this->shim().EvaluateProximity(*reinterpret_cast(&controlBoundingBox))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EvaluateProximityToPolygon(uint32_t __controlVerticesSize, impl::abi_arg_in * controlVertices, impl::abi_arg_out proximityEvaluation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *proximityEvaluation = detach_abi(this->shim().EvaluateProximity(*reinterpret_cast(&controlVertices))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WindowActivationState(Windows::UI::Core::CoreWindowActivationState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WindowActivationState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Size(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Core { + +template event_token impl_ISystemNavigationManager::BackRequested(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemNavigationManager)->add_BackRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemNavigationManager::BackRequested(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ISystemNavigationManager::remove_BackRequested, BackRequested(handler)); +} + +template void impl_ISystemNavigationManager::BackRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemNavigationManager)->remove_BackRequested(token)); +} + +template Windows::UI::Core::AppViewBackButtonVisibility impl_ISystemNavigationManager2::AppViewBackButtonVisibility() const +{ + Windows::UI::Core::AppViewBackButtonVisibility value {}; + check_hresult(WINRT_SHIM(ISystemNavigationManager2)->get_AppViewBackButtonVisibility(&value)); + return value; +} + +template void impl_ISystemNavigationManager2::AppViewBackButtonVisibility(Windows::UI::Core::AppViewBackButtonVisibility value) const +{ + check_hresult(WINRT_SHIM(ISystemNavigationManager2)->put_AppViewBackButtonVisibility(value)); +} + +template event_token impl_ISystemNavigationManager3::CloseRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISystemNavigationManager3)->add_CloseRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISystemNavigationManager3::CloseRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ISystemNavigationManager3::remove_CloseRequested, CloseRequested(handler)); +} + +template void impl_ISystemNavigationManager3::CloseRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISystemNavigationManager3)->remove_CloseRequested(token)); +} + +template Windows::UI::Core::SystemNavigationManager impl_ISystemNavigationManagerStatics::GetForCurrentView() const +{ + Windows::UI::Core::SystemNavigationManager loader { nullptr }; + check_hresult(WINRT_SHIM(ISystemNavigationManagerStatics)->abi_GetForCurrentView(put_abi(loader))); + return loader; +} + +template bool impl_IBackRequestedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBackRequestedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IBackRequestedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IBackRequestedEventArgs)->put_Handled(value)); +} + +template bool impl_ISystemNavigationCloseRequestedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISystemNavigationCloseRequestedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_ISystemNavigationCloseRequestedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(ISystemNavigationCloseRequestedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Deferral impl_ISystemNavigationCloseRequestedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral result { nullptr }; + check_hresult(WINRT_SHIM(ISystemNavigationCloseRequestedEventArgs)->abi_GetDeferral(put_abi(result))); + return result; +} + +template bool impl_ICoreWindowEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreWindowEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_ICoreWindowEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::IInspectable impl_IAutomationProviderRequestedEventArgs::AutomationProvider() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IAutomationProviderRequestedEventArgs)->get_AutomationProvider(put_abi(value))); + return value; +} + +template void impl_IAutomationProviderRequestedEventArgs::AutomationProvider(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IAutomationProviderRequestedEventArgs)->put_AutomationProvider(get_abi(value))); +} + +template uint32_t impl_ICharacterReceivedEventArgs::KeyCode() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICharacterReceivedEventArgs)->get_KeyCode(&value)); + return value; +} + +template Windows::UI::Core::CorePhysicalKeyStatus impl_ICharacterReceivedEventArgs::KeyStatus() const +{ + Windows::UI::Core::CorePhysicalKeyStatus value {}; + check_hresult(WINRT_SHIM(ICharacterReceivedEventArgs)->get_KeyStatus(put_abi(value))); + return value; +} + +template bool impl_IInputEnabledEventArgs::InputEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInputEnabledEventArgs)->get_InputEnabled(&value)); + return value; +} + +template Windows::System::VirtualKey impl_IKeyEventArgs::VirtualKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IKeyEventArgs)->get_VirtualKey(&value)); + return value; +} + +template Windows::UI::Core::CorePhysicalKeyStatus impl_IKeyEventArgs::KeyStatus() const +{ + Windows::UI::Core::CorePhysicalKeyStatus value {}; + check_hresult(WINRT_SHIM(IKeyEventArgs)->get_KeyStatus(put_abi(value))); + return value; +} + +template hstring impl_IKeyEventArgs2::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKeyEventArgs2)->get_DeviceId(put_abi(value))); + return value; +} + +template Windows::UI::Input::PointerPoint impl_IPointerEventArgs::CurrentPoint() const +{ + Windows::UI::Input::PointerPoint value { nullptr }; + check_hresult(WINRT_SHIM(IPointerEventArgs)->get_CurrentPoint(put_abi(value))); + return value; +} + +template Windows::System::VirtualKeyModifiers impl_IPointerEventArgs::KeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(IPointerEventArgs)->get_KeyModifiers(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IPointerEventArgs::GetIntermediatePoints() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPointerEventArgs)->abi_GetIntermediatePoints(put_abi(value))); + return value; +} + +template Windows::UI::Core::CoreProximityEvaluation impl_ITouchHitTestingEventArgs::ProximityEvaluation() const +{ + Windows::UI::Core::CoreProximityEvaluation value {}; + check_hresult(WINRT_SHIM(ITouchHitTestingEventArgs)->get_ProximityEvaluation(put_abi(value))); + return value; +} + +template void impl_ITouchHitTestingEventArgs::ProximityEvaluation(const Windows::UI::Core::CoreProximityEvaluation & value) const +{ + check_hresult(WINRT_SHIM(ITouchHitTestingEventArgs)->put_ProximityEvaluation(get_abi(value))); +} + +template Windows::Foundation::Point impl_ITouchHitTestingEventArgs::Point() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(ITouchHitTestingEventArgs)->get_Point(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_ITouchHitTestingEventArgs::BoundingBox() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ITouchHitTestingEventArgs)->get_BoundingBox(put_abi(value))); + return value; +} + +template Windows::UI::Core::CoreProximityEvaluation impl_ITouchHitTestingEventArgs::EvaluateProximity(const Windows::Foundation::Rect & controlBoundingBox) const +{ + Windows::UI::Core::CoreProximityEvaluation proximityEvaluation {}; + check_hresult(WINRT_SHIM(ITouchHitTestingEventArgs)->abi_EvaluateProximityToRect(get_abi(controlBoundingBox), put_abi(proximityEvaluation))); + return proximityEvaluation; +} + +template Windows::UI::Core::CoreProximityEvaluation impl_ITouchHitTestingEventArgs::EvaluateProximity(array_view controlVertices) const +{ + Windows::UI::Core::CoreProximityEvaluation proximityEvaluation {}; + check_hresult(WINRT_SHIM(ITouchHitTestingEventArgs)->abi_EvaluateProximityToPolygon(controlVertices.size(), get_abi(controlVertices), put_abi(proximityEvaluation))); + return proximityEvaluation; +} + +template Windows::Foundation::Point impl_IClosestInteractiveBoundsRequestedEventArgs::PointerPosition() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IClosestInteractiveBoundsRequestedEventArgs)->get_PointerPosition(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IClosestInteractiveBoundsRequestedEventArgs::SearchBounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IClosestInteractiveBoundsRequestedEventArgs)->get_SearchBounds(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IClosestInteractiveBoundsRequestedEventArgs::ClosestInteractiveBounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IClosestInteractiveBoundsRequestedEventArgs)->get_ClosestInteractiveBounds(put_abi(value))); + return value; +} + +template void impl_IClosestInteractiveBoundsRequestedEventArgs::ClosestInteractiveBounds(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(IClosestInteractiveBoundsRequestedEventArgs)->put_ClosestInteractiveBounds(get_abi(value))); +} + +template Windows::UI::Core::CoreWindowActivationState impl_IWindowActivatedEventArgs::WindowActivationState() const +{ + Windows::UI::Core::CoreWindowActivationState value {}; + check_hresult(WINRT_SHIM(IWindowActivatedEventArgs)->get_WindowActivationState(&value)); + return value; +} + +template Windows::Foundation::Size impl_IWindowSizeChangedEventArgs::Size() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IWindowSizeChangedEventArgs)->get_Size(put_abi(value))); + return value; +} + +template bool impl_IVisibilityChangedEventArgs::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVisibilityChangedEventArgs)->get_Visible(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_ICoreWindow::AutomationHostProvider() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ICoreWindow)->get_AutomationHostProvider(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_ICoreWindow::Bounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ICoreWindow)->get_Bounds(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IPropertySet impl_ICoreWindow::CustomProperties() const +{ + Windows::Foundation::Collections::IPropertySet value; + check_hresult(WINRT_SHIM(ICoreWindow)->get_CustomProperties(put_abi(value))); + return value; +} + +template Windows::UI::Core::CoreDispatcher impl_ICoreWindow::Dispatcher() const +{ + Windows::UI::Core::CoreDispatcher value { nullptr }; + check_hresult(WINRT_SHIM(ICoreWindow)->get_Dispatcher(put_abi(value))); + return value; +} + +template Windows::UI::Core::CoreWindowFlowDirection impl_ICoreWindow::FlowDirection() const +{ + Windows::UI::Core::CoreWindowFlowDirection value {}; + check_hresult(WINRT_SHIM(ICoreWindow)->get_FlowDirection(&value)); + return value; +} + +template void impl_ICoreWindow::FlowDirection(Windows::UI::Core::CoreWindowFlowDirection value) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->put_FlowDirection(value)); +} + +template bool impl_ICoreWindow::IsInputEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreWindow)->get_IsInputEnabled(&value)); + return value; +} + +template void impl_ICoreWindow::IsInputEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->put_IsInputEnabled(value)); +} + +template Windows::UI::Core::CoreCursor impl_ICoreWindow::PointerCursor() const +{ + Windows::UI::Core::CoreCursor value { nullptr }; + check_hresult(WINRT_SHIM(ICoreWindow)->get_PointerCursor(put_abi(value))); + return value; +} + +template void impl_ICoreWindow::PointerCursor(const Windows::UI::Core::CoreCursor & value) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->put_PointerCursor(get_abi(value))); +} + +template Windows::Foundation::Point impl_ICoreWindow::PointerPosition() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(ICoreWindow)->get_PointerPosition(put_abi(value))); + return value; +} + +template bool impl_ICoreWindow::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreWindow)->get_Visible(&value)); + return value; +} + +template void impl_ICoreWindow::Activate() const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->abi_Activate()); +} + +template void impl_ICoreWindow::Close() const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->abi_Close()); +} + +template Windows::UI::Core::CoreVirtualKeyStates impl_ICoreWindow::GetAsyncKeyState(Windows::System::VirtualKey virtualKey) const +{ + Windows::UI::Core::CoreVirtualKeyStates KeyState {}; + check_hresult(WINRT_SHIM(ICoreWindow)->abi_GetAsyncKeyState(virtualKey, &KeyState)); + return KeyState; +} + +template Windows::UI::Core::CoreVirtualKeyStates impl_ICoreWindow::GetKeyState(Windows::System::VirtualKey virtualKey) const +{ + Windows::UI::Core::CoreVirtualKeyStates KeyState {}; + check_hresult(WINRT_SHIM(ICoreWindow)->abi_GetKeyState(virtualKey, &KeyState)); + return KeyState; +} + +template void impl_ICoreWindow::ReleasePointerCapture() const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->abi_ReleasePointerCapture()); +} + +template void impl_ICoreWindow::SetPointerCapture() const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->abi_SetPointerCapture()); +} + +template event_token impl_ICoreWindow::Activated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_Activated(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::Activated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_Activated, Activated(handler)); +} + +template void impl_ICoreWindow::Activated(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_Activated(cookie)); +} + +template event_token impl_ICoreWindow::AutomationProviderRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_AutomationProviderRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::AutomationProviderRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_AutomationProviderRequested, AutomationProviderRequested(handler)); +} + +template void impl_ICoreWindow::AutomationProviderRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_AutomationProviderRequested(cookie)); +} + +template event_token impl_ICoreWindow::CharacterReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_CharacterReceived(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::CharacterReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_CharacterReceived, CharacterReceived(handler)); +} + +template void impl_ICoreWindow::CharacterReceived(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_CharacterReceived(cookie)); +} + +template event_token impl_ICoreWindow::Closed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_Closed(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_Closed, Closed(handler)); +} + +template void impl_ICoreWindow::Closed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_Closed(cookie)); +} + +template event_token impl_ICoreWindow::InputEnabled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_InputEnabled(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::InputEnabled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_InputEnabled, InputEnabled(handler)); +} + +template void impl_ICoreWindow::InputEnabled(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_InputEnabled(cookie)); +} + +template event_token impl_ICoreWindow::KeyDown(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_KeyDown(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::KeyDown(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_KeyDown, KeyDown(handler)); +} + +template void impl_ICoreWindow::KeyDown(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_KeyDown(cookie)); +} + +template event_token impl_ICoreWindow::KeyUp(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_KeyUp(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::KeyUp(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_KeyUp, KeyUp(handler)); +} + +template void impl_ICoreWindow::KeyUp(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_KeyUp(cookie)); +} + +template event_token impl_ICoreWindow::PointerCaptureLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_PointerCaptureLost(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::PointerCaptureLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_PointerCaptureLost, PointerCaptureLost(handler)); +} + +template void impl_ICoreWindow::PointerCaptureLost(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_PointerCaptureLost(cookie)); +} + +template event_token impl_ICoreWindow::PointerEntered(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_PointerEntered(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::PointerEntered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_PointerEntered, PointerEntered(handler)); +} + +template void impl_ICoreWindow::PointerEntered(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_PointerEntered(cookie)); +} + +template event_token impl_ICoreWindow::PointerExited(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_PointerExited(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::PointerExited(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_PointerExited, PointerExited(handler)); +} + +template void impl_ICoreWindow::PointerExited(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_PointerExited(cookie)); +} + +template event_token impl_ICoreWindow::PointerMoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_PointerMoved(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::PointerMoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_PointerMoved, PointerMoved(handler)); +} + +template void impl_ICoreWindow::PointerMoved(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_PointerMoved(cookie)); +} + +template event_token impl_ICoreWindow::PointerPressed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_PointerPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::PointerPressed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_PointerPressed, PointerPressed(handler)); +} + +template void impl_ICoreWindow::PointerPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_PointerPressed(cookie)); +} + +template event_token impl_ICoreWindow::PointerReleased(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_PointerReleased(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::PointerReleased(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_PointerReleased, PointerReleased(handler)); +} + +template void impl_ICoreWindow::PointerReleased(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_PointerReleased(cookie)); +} + +template event_token impl_ICoreWindow::TouchHitTesting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_TouchHitTesting(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::TouchHitTesting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_TouchHitTesting, TouchHitTesting(handler)); +} + +template void impl_ICoreWindow::TouchHitTesting(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_TouchHitTesting(cookie)); +} + +template event_token impl_ICoreWindow::PointerWheelChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_PointerWheelChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindow::PointerWheelChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_PointerWheelChanged, PointerWheelChanged(handler)); +} + +template void impl_ICoreWindow::PointerWheelChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_PointerWheelChanged(cookie)); +} + +template event_token impl_ICoreWindow::SizeChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_SizeChanged(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::SizeChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_SizeChanged, SizeChanged(handler)); +} + +template void impl_ICoreWindow::SizeChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_SizeChanged(cookie)); +} + +template event_token impl_ICoreWindow::VisibilityChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow)->add_VisibilityChanged(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow::VisibilityChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow::remove_VisibilityChanged, VisibilityChanged(handler)); +} + +template void impl_ICoreWindow::VisibilityChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow)->remove_VisibilityChanged(cookie)); +} + +template void impl_ICoreWindow2::PointerPosition(const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(ICoreWindow2)->put_PointerPosition(get_abi(value))); +} + +template event_token impl_ICoreWindow3::ClosestInteractiveBoundsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow3)->add_ClosestInteractiveBoundsRequested(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow3::ClosestInteractiveBoundsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow3::remove_ClosestInteractiveBoundsRequested, ClosestInteractiveBoundsRequested(handler)); +} + +template void impl_ICoreWindow3::ClosestInteractiveBoundsRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow3)->remove_ClosestInteractiveBoundsRequested(cookie)); +} + +template hstring impl_ICoreWindow3::GetCurrentKeyEventDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreWindow3)->abi_GetCurrentKeyEventDeviceId(put_abi(value))); + return value; +} + +template event_token impl_ICoreWindow4::ResizeStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow4)->add_ResizeStarted(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow4::ResizeStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow4::remove_ResizeStarted, ResizeStarted(handler)); +} + +template void impl_ICoreWindow4::ResizeStarted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow4)->remove_ResizeStarted(cookie)); +} + +template event_token impl_ICoreWindow4::ResizeCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreWindow4)->add_ResizeCompleted(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreWindow4::ResizeCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindow4::remove_ResizeCompleted, ResizeCompleted(handler)); +} + +template void impl_ICoreWindow4::ResizeCompleted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindow4)->remove_ResizeCompleted(cookie)); +} + +template Windows::UI::Core::CoreWindow impl_ICoreWindowStatic::GetForCurrentThread() const +{ + Windows::UI::Core::CoreWindow ppWindow { nullptr }; + check_hresult(WINRT_SHIM(ICoreWindowStatic)->abi_GetForCurrentThread(put_abi(ppWindow))); + return ppWindow; +} + +template Windows::UI::Core::CoreAcceleratorKeyEventType impl_IAcceleratorKeyEventArgs::EventType() const +{ + Windows::UI::Core::CoreAcceleratorKeyEventType value {}; + check_hresult(WINRT_SHIM(IAcceleratorKeyEventArgs)->get_EventType(&value)); + return value; +} + +template Windows::System::VirtualKey impl_IAcceleratorKeyEventArgs::VirtualKey() const +{ + Windows::System::VirtualKey value {}; + check_hresult(WINRT_SHIM(IAcceleratorKeyEventArgs)->get_VirtualKey(&value)); + return value; +} + +template Windows::UI::Core::CorePhysicalKeyStatus impl_IAcceleratorKeyEventArgs::KeyStatus() const +{ + Windows::UI::Core::CorePhysicalKeyStatus value {}; + check_hresult(WINRT_SHIM(IAcceleratorKeyEventArgs)->get_KeyStatus(put_abi(value))); + return value; +} + +template hstring impl_IAcceleratorKeyEventArgs2::DeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAcceleratorKeyEventArgs2)->get_DeviceId(put_abi(value))); + return value; +} + +template event_token impl_ICoreAcceleratorKeys::AcceleratorKeyActivated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreAcceleratorKeys)->add_AcceleratorKeyActivated(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreAcceleratorKeys::AcceleratorKeyActivated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreAcceleratorKeys::remove_AcceleratorKeyActivated, AcceleratorKeyActivated(handler)); +} + +template void impl_ICoreAcceleratorKeys::AcceleratorKeyActivated(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreAcceleratorKeys)->remove_AcceleratorKeyActivated(cookie)); +} + +template bool impl_ICoreDispatcher::HasThreadAccess() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreDispatcher)->get_HasThreadAccess(&value)); + return value; +} + +template void impl_ICoreDispatcher::ProcessEvents(Windows::UI::Core::CoreProcessEventsOption options) const +{ + check_hresult(WINRT_SHIM(ICoreDispatcher)->abi_ProcessEvents(options)); +} + +template Windows::Foundation::IAsyncAction impl_ICoreDispatcher::RunAsync(Windows::UI::Core::CoreDispatcherPriority priority, const Windows::UI::Core::DispatchedHandler & agileCallback) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(ICoreDispatcher)->abi_RunAsync(priority, get_abi(agileCallback), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncAction impl_ICoreDispatcher::RunIdleAsync(const Windows::UI::Core::IdleDispatchedHandler & agileCallback) const +{ + Windows::Foundation::IAsyncAction asyncAction; + check_hresult(WINRT_SHIM(ICoreDispatcher)->abi_RunIdleAsync(get_abi(agileCallback), put_abi(asyncAction))); + return asyncAction; +} + +template Windows::Foundation::IAsyncOperation impl_ICoreDispatcher2::TryRunAsync(Windows::UI::Core::CoreDispatcherPriority priority, const Windows::UI::Core::DispatchedHandler & agileCallback) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ICoreDispatcher2)->abi_TryRunAsync(priority, get_abi(agileCallback), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_ICoreDispatcher2::TryRunIdleAsync(const Windows::UI::Core::IdleDispatchedHandler & agileCallback) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(ICoreDispatcher2)->abi_TryRunIdleAsync(get_abi(agileCallback), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::UI::Core::CoreDispatcherPriority impl_ICoreDispatcherWithTaskPriority::CurrentPriority() const +{ + Windows::UI::Core::CoreDispatcherPriority value {}; + check_hresult(WINRT_SHIM(ICoreDispatcherWithTaskPriority)->get_CurrentPriority(&value)); + return value; +} + +template void impl_ICoreDispatcherWithTaskPriority::CurrentPriority(Windows::UI::Core::CoreDispatcherPriority value) const +{ + check_hresult(WINRT_SHIM(ICoreDispatcherWithTaskPriority)->put_CurrentPriority(value)); +} + +template bool impl_ICoreDispatcherWithTaskPriority::ShouldYield() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreDispatcherWithTaskPriority)->abi_ShouldYield(&value)); + return value; +} + +template bool impl_ICoreDispatcherWithTaskPriority::ShouldYield(Windows::UI::Core::CoreDispatcherPriority priority) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreDispatcherWithTaskPriority)->abi_ShouldYieldToPriority(priority, &value)); + return value; +} + +template void impl_ICoreDispatcherWithTaskPriority::StopProcessEvents() const +{ + check_hresult(WINRT_SHIM(ICoreDispatcherWithTaskPriority)->abi_StopProcessEvents()); +} + +template bool impl_IIdleDispatchedHandlerArgs::IsDispatcherIdle() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IIdleDispatchedHandlerArgs)->get_IsDispatcherIdle(&value)); + return value; +} + +template uint32_t impl_ICoreCursor::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICoreCursor)->get_Id(&value)); + return value; +} + +template Windows::UI::Core::CoreCursorType impl_ICoreCursor::Type() const +{ + Windows::UI::Core::CoreCursorType value {}; + check_hresult(WINRT_SHIM(ICoreCursor)->get_Type(&value)); + return value; +} + +template Windows::UI::Core::CoreCursor impl_ICoreCursorFactory::CreateCursor(Windows::UI::Core::CoreCursorType type, uint32_t id) const +{ + Windows::UI::Core::CoreCursor cursor { nullptr }; + check_hresult(WINRT_SHIM(ICoreCursorFactory)->abi_CreateCursor(type, id, put_abi(cursor))); + return cursor; +} + +template void impl_IInitializeWithCoreWindow::Initialize(const Windows::UI::Core::CoreWindow & window) const +{ + check_hresult(WINRT_SHIM(IInitializeWithCoreWindow)->abi_Initialize(get_abi(window))); +} + +template void impl_ICoreWindowResizeManager::NotifyLayoutCompleted() const +{ + check_hresult(WINRT_SHIM(ICoreWindowResizeManager)->abi_NotifyLayoutCompleted()); +} + +template void impl_ICoreWindowResizeManagerLayoutCapability::ShouldWaitForLayoutCompletion(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowResizeManagerLayoutCapability)->put_ShouldWaitForLayoutCompletion(value)); +} + +template bool impl_ICoreWindowResizeManagerLayoutCapability::ShouldWaitForLayoutCompletion() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreWindowResizeManagerLayoutCapability)->get_ShouldWaitForLayoutCompletion(&value)); + return value; +} + +template Windows::UI::Core::CoreWindowResizeManager impl_ICoreWindowResizeManagerStatics::GetForCurrentView() const +{ + Windows::UI::Core::CoreWindowResizeManager CoreWindowResizeManager { nullptr }; + check_hresult(WINRT_SHIM(ICoreWindowResizeManagerStatics)->abi_GetForCurrentView(put_abi(CoreWindowResizeManager))); + return CoreWindowResizeManager; +} + +template Windows::UI::Core::CoreDispatcher impl_ICoreInputSourceBase::Dispatcher() const +{ + Windows::UI::Core::CoreDispatcher value { nullptr }; + check_hresult(WINRT_SHIM(ICoreInputSourceBase)->get_Dispatcher(put_abi(value))); + return value; +} + +template bool impl_ICoreInputSourceBase::IsInputEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreInputSourceBase)->get_IsInputEnabled(&value)); + return value; +} + +template void impl_ICoreInputSourceBase::IsInputEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreInputSourceBase)->put_IsInputEnabled(value)); +} + +template event_token impl_ICoreInputSourceBase::InputEnabled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreInputSourceBase)->add_InputEnabled(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreInputSourceBase::InputEnabled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreInputSourceBase::remove_InputEnabled, InputEnabled(handler)); +} + +template void impl_ICoreInputSourceBase::InputEnabled(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInputSourceBase)->remove_InputEnabled(cookie)); +} + +template void impl_ICorePointerInputSource::ReleasePointerCapture() const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->abi_ReleasePointerCapture()); +} + +template void impl_ICorePointerInputSource::SetPointerCapture() const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->abi_SetPointerCapture()); +} + +template bool impl_ICorePointerInputSource::HasCapture() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->get_HasCapture(&value)); + return value; +} + +template Windows::Foundation::Point impl_ICorePointerInputSource::PointerPosition() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->get_PointerPosition(put_abi(value))); + return value; +} + +template Windows::UI::Core::CoreCursor impl_ICorePointerInputSource::PointerCursor() const +{ + Windows::UI::Core::CoreCursor value { nullptr }; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->get_PointerCursor(put_abi(value))); + return value; +} + +template void impl_ICorePointerInputSource::PointerCursor(const Windows::UI::Core::CoreCursor & value) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->put_PointerCursor(get_abi(value))); +} + +template event_token impl_ICorePointerInputSource::PointerCaptureLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->add_PointerCaptureLost(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerInputSource::PointerCaptureLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerInputSource::remove_PointerCaptureLost, PointerCaptureLost(handler)); +} + +template void impl_ICorePointerInputSource::PointerCaptureLost(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->remove_PointerCaptureLost(cookie)); +} + +template event_token impl_ICorePointerInputSource::PointerEntered(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->add_PointerEntered(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerInputSource::PointerEntered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerInputSource::remove_PointerEntered, PointerEntered(handler)); +} + +template void impl_ICorePointerInputSource::PointerEntered(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->remove_PointerEntered(cookie)); +} + +template event_token impl_ICorePointerInputSource::PointerExited(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->add_PointerExited(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerInputSource::PointerExited(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerInputSource::remove_PointerExited, PointerExited(handler)); +} + +template void impl_ICorePointerInputSource::PointerExited(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->remove_PointerExited(cookie)); +} + +template event_token impl_ICorePointerInputSource::PointerMoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->add_PointerMoved(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerInputSource::PointerMoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerInputSource::remove_PointerMoved, PointerMoved(handler)); +} + +template void impl_ICorePointerInputSource::PointerMoved(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->remove_PointerMoved(cookie)); +} + +template event_token impl_ICorePointerInputSource::PointerPressed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->add_PointerPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerInputSource::PointerPressed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerInputSource::remove_PointerPressed, PointerPressed(handler)); +} + +template void impl_ICorePointerInputSource::PointerPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->remove_PointerPressed(cookie)); +} + +template event_token impl_ICorePointerInputSource::PointerReleased(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->add_PointerReleased(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerInputSource::PointerReleased(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerInputSource::remove_PointerReleased, PointerReleased(handler)); +} + +template void impl_ICorePointerInputSource::PointerReleased(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->remove_PointerReleased(cookie)); +} + +template event_token impl_ICorePointerInputSource::PointerWheelChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerInputSource)->add_PointerWheelChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerInputSource::PointerWheelChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerInputSource::remove_PointerWheelChanged, PointerWheelChanged(handler)); +} + +template void impl_ICorePointerInputSource::PointerWheelChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerInputSource)->remove_PointerWheelChanged(cookie)); +} + +template Windows::UI::Core::CoreVirtualKeyStates impl_ICoreKeyboardInputSource::GetCurrentKeyState(Windows::System::VirtualKey virtualKey) const +{ + Windows::UI::Core::CoreVirtualKeyStates KeyState {}; + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource)->abi_GetCurrentKeyState(virtualKey, &KeyState)); + return KeyState; +} + +template event_token impl_ICoreKeyboardInputSource::CharacterReceived(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource)->add_CharacterReceived(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreKeyboardInputSource::CharacterReceived(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreKeyboardInputSource::remove_CharacterReceived, CharacterReceived(handler)); +} + +template void impl_ICoreKeyboardInputSource::CharacterReceived(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource)->remove_CharacterReceived(cookie)); +} + +template event_token impl_ICoreKeyboardInputSource::KeyDown(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource)->add_KeyDown(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreKeyboardInputSource::KeyDown(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreKeyboardInputSource::remove_KeyDown, KeyDown(handler)); +} + +template void impl_ICoreKeyboardInputSource::KeyDown(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource)->remove_KeyDown(cookie)); +} + +template event_token impl_ICoreKeyboardInputSource::KeyUp(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource)->add_KeyUp(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreKeyboardInputSource::KeyUp(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreKeyboardInputSource::remove_KeyUp, KeyUp(handler)); +} + +template void impl_ICoreKeyboardInputSource::KeyUp(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource)->remove_KeyUp(cookie)); +} + +template hstring impl_ICoreKeyboardInputSource2::GetCurrentKeyEventDeviceId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreKeyboardInputSource2)->abi_GetCurrentKeyEventDeviceId(put_abi(value))); + return value; +} + +template bool impl_ICoreComponentFocusable::HasFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreComponentFocusable)->get_HasFocus(&value)); + return value; +} + +template event_token impl_ICoreComponentFocusable::GotFocus(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreComponentFocusable)->add_GotFocus(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreComponentFocusable::GotFocus(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreComponentFocusable::remove_GotFocus, GotFocus(handler)); +} + +template void impl_ICoreComponentFocusable::GotFocus(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreComponentFocusable)->remove_GotFocus(cookie)); +} + +template event_token impl_ICoreComponentFocusable::LostFocus(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreComponentFocusable)->add_LostFocus(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreComponentFocusable::LostFocus(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreComponentFocusable::remove_LostFocus, LostFocus(handler)); +} + +template void impl_ICoreComponentFocusable::LostFocus(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreComponentFocusable)->remove_LostFocus(cookie)); +} + +template event_token impl_ICoreTouchHitTesting::TouchHitTesting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreTouchHitTesting)->add_TouchHitTesting(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreTouchHitTesting::TouchHitTesting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreTouchHitTesting::remove_TouchHitTesting, TouchHitTesting(handler)); +} + +template void impl_ICoreTouchHitTesting::TouchHitTesting(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTouchHitTesting)->remove_TouchHitTesting(cookie)); +} + +template event_token impl_ICoreClosestInteractiveBoundsRequested::ClosestInteractiveBoundsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(ICoreClosestInteractiveBoundsRequested)->add_ClosestInteractiveBoundsRequested(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_ICoreClosestInteractiveBoundsRequested::ClosestInteractiveBoundsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreClosestInteractiveBoundsRequested::remove_ClosestInteractiveBoundsRequested, ClosestInteractiveBoundsRequested(handler)); +} + +template void impl_ICoreClosestInteractiveBoundsRequested::ClosestInteractiveBoundsRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreClosestInteractiveBoundsRequested)->remove_ClosestInteractiveBoundsRequested(cookie)); +} + +template event_token impl_ICorePointerRedirector::PointerRoutedAway(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerRedirector)->add_PointerRoutedAway(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerRedirector::PointerRoutedAway(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerRedirector::remove_PointerRoutedAway, PointerRoutedAway(handler)); +} + +template void impl_ICorePointerRedirector::PointerRoutedAway(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerRedirector)->remove_PointerRoutedAway(cookie)); +} + +template event_token impl_ICorePointerRedirector::PointerRoutedTo(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerRedirector)->add_PointerRoutedTo(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerRedirector::PointerRoutedTo(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerRedirector::remove_PointerRoutedTo, PointerRoutedTo(handler)); +} + +template void impl_ICorePointerRedirector::PointerRoutedTo(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerRedirector)->remove_PointerRoutedTo(cookie)); +} + +template event_token impl_ICorePointerRedirector::PointerRoutedReleased(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICorePointerRedirector)->add_PointerRoutedReleased(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICorePointerRedirector::PointerRoutedReleased(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICorePointerRedirector::remove_PointerRoutedReleased, PointerRoutedReleased(handler)); +} + +template void impl_ICorePointerRedirector::PointerRoutedReleased(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICorePointerRedirector)->remove_PointerRoutedReleased(cookie)); +} + +template void impl_ICoreWindowPopupShowingEventArgs::SetDesiredSize(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowPopupShowingEventArgs)->abi_SetDesiredSize(get_abi(value))); +} + +template event_token impl_ICoreWindowDialog::Showing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->add_Showing(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindowDialog::Showing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindowDialog::remove_Showing, Showing(handler)); +} + +template void impl_ICoreWindowDialog::Showing(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindowDialog)->remove_Showing(cookie)); +} + +template Windows::Foundation::Size impl_ICoreWindowDialog::MaxSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_MaxSize(put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_ICoreWindowDialog::MinSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_MinSize(put_abi(value))); + return value; +} + +template hstring impl_ICoreWindowDialog::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_Title(put_abi(value))); + return value; +} + +template void impl_ICoreWindowDialog::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowDialog)->put_Title(get_abi(value))); +} + +template int32_t impl_ICoreWindowDialog::IsInteractionDelayed() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_IsInteractionDelayed(&value)); + return value; +} + +template void impl_ICoreWindowDialog::IsInteractionDelayed(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowDialog)->put_IsInteractionDelayed(value)); +} + +template Windows::Foundation::Collections::IVector impl_ICoreWindowDialog::Commands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_Commands(put_abi(value))); + return value; +} + +template uint32_t impl_ICoreWindowDialog::DefaultCommandIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_DefaultCommandIndex(&value)); + return value; +} + +template void impl_ICoreWindowDialog::DefaultCommandIndex(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowDialog)->put_DefaultCommandIndex(value)); +} + +template uint32_t impl_ICoreWindowDialog::CancelCommandIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_CancelCommandIndex(&value)); + return value; +} + +template void impl_ICoreWindowDialog::CancelCommandIndex(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowDialog)->put_CancelCommandIndex(value)); +} + +template Windows::UI::Popups::UICommandInvokedHandler impl_ICoreWindowDialog::BackButtonCommand() const +{ + Windows::UI::Popups::UICommandInvokedHandler value {}; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->get_BackButtonCommand(put_abi(value))); + return value; +} + +template void impl_ICoreWindowDialog::BackButtonCommand(const Windows::UI::Popups::UICommandInvokedHandler & value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowDialog)->put_BackButtonCommand(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_ICoreWindowDialog::ShowAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ICoreWindowDialog)->abi_ShowAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::UI::Core::CoreWindowDialog impl_ICoreWindowDialogFactory::CreateWithTitle(hstring_view title) const +{ + Windows::UI::Core::CoreWindowDialog coreWindowDialog { nullptr }; + check_hresult(WINRT_SHIM(ICoreWindowDialogFactory)->abi_CreateWithTitle(get_abi(title), put_abi(coreWindowDialog))); + return coreWindowDialog; +} + +template event_token impl_ICoreWindowFlyout::Showing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->add_Showing(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWindowFlyout::Showing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Core::ICoreWindowFlyout::remove_Showing, Showing(handler)); +} + +template void impl_ICoreWindowFlyout::Showing(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->remove_Showing(cookie)); +} + +template Windows::Foundation::Size impl_ICoreWindowFlyout::MaxSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->get_MaxSize(put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_ICoreWindowFlyout::MinSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->get_MinSize(put_abi(value))); + return value; +} + +template hstring impl_ICoreWindowFlyout::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->get_Title(put_abi(value))); + return value; +} + +template void impl_ICoreWindowFlyout::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->put_Title(get_abi(value))); +} + +template int32_t impl_ICoreWindowFlyout::IsInteractionDelayed() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->get_IsInteractionDelayed(&value)); + return value; +} + +template void impl_ICoreWindowFlyout::IsInteractionDelayed(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->put_IsInteractionDelayed(value)); +} + +template Windows::Foundation::Collections::IVector impl_ICoreWindowFlyout::Commands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->get_Commands(put_abi(value))); + return value; +} + +template uint32_t impl_ICoreWindowFlyout::DefaultCommandIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->get_DefaultCommandIndex(&value)); + return value; +} + +template void impl_ICoreWindowFlyout::DefaultCommandIndex(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->put_DefaultCommandIndex(value)); +} + +template Windows::UI::Popups::UICommandInvokedHandler impl_ICoreWindowFlyout::BackButtonCommand() const +{ + Windows::UI::Popups::UICommandInvokedHandler value {}; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->get_BackButtonCommand(put_abi(value))); + return value; +} + +template void impl_ICoreWindowFlyout::BackButtonCommand(const Windows::UI::Popups::UICommandInvokedHandler & value) const +{ + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->put_BackButtonCommand(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_ICoreWindowFlyout::ShowAsync() const +{ + Windows::Foundation::IAsyncOperation asyncInfo; + check_hresult(WINRT_SHIM(ICoreWindowFlyout)->abi_ShowAsync(put_abi(asyncInfo))); + return asyncInfo; +} + +template Windows::UI::Core::CoreWindowFlyout impl_ICoreWindowFlyoutFactory::Create(const Windows::Foundation::Point & position) const +{ + Windows::UI::Core::CoreWindowFlyout coreWindowFlyout { nullptr }; + check_hresult(WINRT_SHIM(ICoreWindowFlyoutFactory)->abi_Create(get_abi(position), put_abi(coreWindowFlyout))); + return coreWindowFlyout; +} + +template Windows::UI::Core::CoreWindowFlyout impl_ICoreWindowFlyoutFactory::CreateWithTitle(const Windows::Foundation::Point & position, hstring_view title) const +{ + Windows::UI::Core::CoreWindowFlyout coreWindowFlyout { nullptr }; + check_hresult(WINRT_SHIM(ICoreWindowFlyoutFactory)->abi_CreateWithTitle(get_abi(position), get_abi(title), put_abi(coreWindowFlyout))); + return coreWindowFlyout; +} + +inline CoreCursor::CoreCursor(Windows::UI::Core::CoreCursorType type, uint32_t id) : + CoreCursor(get_activation_factory().CreateCursor(type, id)) +{} + +inline Windows::UI::Core::CoreWindow CoreWindow::GetForCurrentThread() +{ + return get_activation_factory().GetForCurrentThread(); +} + +inline CoreWindowDialog::CoreWindowDialog() : + CoreWindowDialog(activate_instance()) +{} + +inline CoreWindowDialog::CoreWindowDialog(hstring_view title) : + CoreWindowDialog(get_activation_factory().CreateWithTitle(title)) +{} + +inline CoreWindowFlyout::CoreWindowFlyout(const Windows::Foundation::Point & position) : + CoreWindowFlyout(get_activation_factory().Create(position)) +{} + +inline CoreWindowFlyout::CoreWindowFlyout(const Windows::Foundation::Point & position, hstring_view title) : + CoreWindowFlyout(get_activation_factory().CreateWithTitle(position, title)) +{} + +inline Windows::UI::Core::CoreWindowResizeManager CoreWindowResizeManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::UI::Core::SystemNavigationManager SystemNavigationManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IAcceleratorKeyEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IAcceleratorKeyEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IAutomationProviderRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IBackRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICharacterReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IClosestInteractiveBoundsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreAcceleratorKeys & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreClosestInteractiveBoundsRequested & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreComponentFocusable & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreCursor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreCursorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreDispatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreDispatcher2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreDispatcherWithTaskPriority & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreInputSourceBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreKeyboardInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreKeyboardInputSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICorePointerInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICorePointerRedirector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreTouchHitTesting & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindow2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindow3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindow4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowDialog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowDialogFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowFlyout & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowFlyoutFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowPopupShowingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowResizeManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowResizeManagerLayoutCapability & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowResizeManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ICoreWindowStatic & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IIdleDispatchedHandlerArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IInitializeWithCoreWindow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IInputEnabledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IKeyEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IKeyEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IPointerEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ISystemNavigationCloseRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ISystemNavigationManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ISystemNavigationManager2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ISystemNavigationManager3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ISystemNavigationManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ITouchHitTestingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IVisibilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IWindowActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IWindowSizeChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AcceleratorKeyEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::AutomationProviderRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::BackRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CharacterReceivedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::ClosestInteractiveBoundsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreAcceleratorKeys & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreComponentInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreCursor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreDispatcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreIndependentInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreWindow & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreWindowDialog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreWindowEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreWindowFlyout & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreWindowPopupShowingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::CoreWindowResizeManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::IdleDispatchedHandlerArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::InputEnabledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::KeyEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::PointerEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::SystemNavigationCloseRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::SystemNavigationManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::TouchHitTestingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::VisibilityChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::WindowActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Core::WindowSizeChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Input.Core.h b/10.0.15042.0/winrt/Windows.UI.Input.Core.h new file mode 100644 index 000000000..e251191bb --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Input.Core.h @@ -0,0 +1,133 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.Core.3.h" +#include "internal/Windows.UI.Input.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "internal/Windows.UI.Input.Core.3.h" +#include "Windows.UI.Input.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Controller(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Controller()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Dispatcher(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Dispatcher()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateForView(impl::abi_arg_in view, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateForView(*reinterpret_cast(&view))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Input::Core { + +template Windows::UI::Input::Core::RadialControllerIndependentInputSource impl_IRadialControllerIndependentInputSourceStatics::CreateForView(const Windows::ApplicationModel::Core::CoreApplicationView & view) const +{ + Windows::UI::Input::Core::RadialControllerIndependentInputSource result { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerIndependentInputSourceStatics)->abi_CreateForView(get_abi(view), put_abi(result))); + return result; +} + +template Windows::UI::Input::RadialController impl_IRadialControllerIndependentInputSource::Controller() const +{ + Windows::UI::Input::RadialController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerIndependentInputSource)->get_Controller(put_abi(value))); + return value; +} + +template Windows::UI::Core::CoreDispatcher impl_IRadialControllerIndependentInputSource::Dispatcher() const +{ + Windows::UI::Core::CoreDispatcher value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerIndependentInputSource)->get_Dispatcher(put_abi(value))); + return value; +} + +inline Windows::UI::Input::Core::RadialControllerIndependentInputSource RadialControllerIndependentInputSource::CreateForView(const Windows::ApplicationModel::Core::CoreApplicationView & view) +{ + return get_activation_factory().CreateForView(view); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Core::IRadialControllerIndependentInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Core::IRadialControllerIndependentInputSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Core::RadialControllerIndependentInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Input.Inking.Analysis.h b/10.0.15042.0/winrt/Windows.UI.Input.Inking.Analysis.h new file mode 100644 index 000000000..0767ede54 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Input.Inking.Analysis.h @@ -0,0 +1,961 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.Input.Inking.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Input.Inking.Analysis.3.h" +#include "Windows.UI.Input.Inking.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecognizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DrawingKind(Windows::UI::Input::Inking::Analysis::InkAnalysisDrawingKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DrawingKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Center(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Center()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Points(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Points()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecognizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlternates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlternates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecognizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndentLevel(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndentLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecognizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::UI::Input::Inking::Analysis::InkAnalysisNodeKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BoundingRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotatedBoundingRect(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotatedBoundingRect()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Children(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Children()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Parent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Parent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStrokeIds(impl::abi_arg_out> strokeIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *strokeIds = detach_abi(this->shim().GetStrokeIds()); + return S_OK; + } + catch (...) + { + *strokeIds = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecognizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Status(Windows::UI::Input::Inking::Analysis::InkAnalysisStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Status()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecognizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindNodes(Windows::UI::Input::Inking::Analysis::InkAnalysisNodeKind nodeKind, impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().FindNodes(nodeKind)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RecognizedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RecognizedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AnalysisRoot(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnalysisRoot()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAnalyzing(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAnalyzing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDataForStroke(impl::abi_arg_in stroke) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDataForStroke(*reinterpret_cast(&stroke)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddDataForStrokes(impl::abi_arg_in> strokes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddDataForStrokes(*reinterpret_cast *>(&strokes)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearDataForAllStrokes() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearDataForAllStrokes(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveDataForStroke(uint32_t strokeId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveDataForStroke(strokeId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveDataForStrokes(impl::abi_arg_in> strokeIds) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveDataForStrokes(*reinterpret_cast *>(&strokeIds)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ReplaceDataForStroke(impl::abi_arg_in stroke) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReplaceDataForStroke(*reinterpret_cast(&stroke)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetStrokeDataKind(uint32_t strokeId, Windows::UI::Input::Inking::Analysis::InkAnalysisStrokeKind strokeKind) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetStrokeDataKind(strokeId, strokeKind); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AnalyzeAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().AnalyzeAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateAnalyzer(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateAnalyzer()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Input::Inking::Analysis { + +template Windows::UI::Input::Inking::Analysis::InkAnalysisRoot impl_IInkAnalyzer::AnalysisRoot() const +{ + Windows::UI::Input::Inking::Analysis::InkAnalysisRoot value { nullptr }; + check_hresult(WINRT_SHIM(IInkAnalyzer)->get_AnalysisRoot(put_abi(value))); + return value; +} + +template bool impl_IInkAnalyzer::IsAnalyzing() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkAnalyzer)->get_IsAnalyzing(&value)); + return value; +} + +template void impl_IInkAnalyzer::AddDataForStroke(const Windows::UI::Input::Inking::InkStroke & stroke) const +{ + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_AddDataForStroke(get_abi(stroke))); +} + +template void impl_IInkAnalyzer::AddDataForStrokes(iterable strokes) const +{ + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_AddDataForStrokes(get_abi(strokes))); +} + +template void impl_IInkAnalyzer::ClearDataForAllStrokes() const +{ + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_ClearDataForAllStrokes()); +} + +template void impl_IInkAnalyzer::RemoveDataForStroke(uint32_t strokeId) const +{ + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_RemoveDataForStroke(strokeId)); +} + +template void impl_IInkAnalyzer::RemoveDataForStrokes(iterable strokeIds) const +{ + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_RemoveDataForStrokes(get_abi(strokeIds))); +} + +template void impl_IInkAnalyzer::ReplaceDataForStroke(const Windows::UI::Input::Inking::InkStroke & stroke) const +{ + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_ReplaceDataForStroke(get_abi(stroke))); +} + +template void impl_IInkAnalyzer::SetStrokeDataKind(uint32_t strokeId, Windows::UI::Input::Inking::Analysis::InkAnalysisStrokeKind strokeKind) const +{ + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_SetStrokeDataKind(strokeId, strokeKind)); +} + +template Windows::Foundation::IAsyncOperation impl_IInkAnalyzer::AnalyzeAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IInkAnalyzer)->abi_AnalyzeAsync(put_abi(result))); + return result; +} + +template Windows::UI::Input::Inking::Analysis::InkAnalyzer impl_IInkAnalyzerFactory::CreateAnalyzer() const +{ + Windows::UI::Input::Inking::Analysis::InkAnalyzer result { nullptr }; + check_hresult(WINRT_SHIM(IInkAnalyzerFactory)->abi_CreateAnalyzer(put_abi(result))); + return result; +} + +template Windows::UI::Input::Inking::Analysis::InkAnalysisStatus impl_IInkAnalysisResult::Status() const +{ + Windows::UI::Input::Inking::Analysis::InkAnalysisStatus value {}; + check_hresult(WINRT_SHIM(IInkAnalysisResult)->get_Status(&value)); + return value; +} + +template uint32_t impl_IInkAnalysisNode::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IInkAnalysisNode)->get_Id(&value)); + return value; +} + +template Windows::UI::Input::Inking::Analysis::InkAnalysisNodeKind impl_IInkAnalysisNode::Kind() const +{ + Windows::UI::Input::Inking::Analysis::InkAnalysisNodeKind value {}; + check_hresult(WINRT_SHIM(IInkAnalysisNode)->get_Kind(&value)); + return value; +} + +template Windows::Foundation::Rect impl_IInkAnalysisNode::BoundingRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IInkAnalysisNode)->get_BoundingRect(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkAnalysisNode::RotatedBoundingRect() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IInkAnalysisNode)->get_RotatedBoundingRect(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkAnalysisNode::Children() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IInkAnalysisNode)->get_Children(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::Analysis::IInkAnalysisNode impl_IInkAnalysisNode::Parent() const +{ + Windows::UI::Input::Inking::Analysis::IInkAnalysisNode value; + check_hresult(WINRT_SHIM(IInkAnalysisNode)->get_Parent(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkAnalysisNode::GetStrokeIds() const +{ + Windows::Foundation::Collections::IVectorView strokeIds; + check_hresult(WINRT_SHIM(IInkAnalysisNode)->abi_GetStrokeIds(put_abi(strokeIds))); + return strokeIds; +} + +template hstring impl_IInkAnalysisRoot::RecognizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkAnalysisRoot)->get_RecognizedText(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkAnalysisRoot::FindNodes(Windows::UI::Input::Inking::Analysis::InkAnalysisNodeKind nodeKind) const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(IInkAnalysisRoot)->abi_FindNodes(nodeKind, put_abi(result))); + return result; +} + +template hstring impl_IInkAnalysisWritingRegion::RecognizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkAnalysisWritingRegion)->get_RecognizedText(put_abi(value))); + return value; +} + +template hstring impl_IInkAnalysisParagraph::RecognizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkAnalysisParagraph)->get_RecognizedText(put_abi(value))); + return value; +} + +template hstring impl_IInkAnalysisListItem::RecognizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkAnalysisListItem)->get_RecognizedText(put_abi(value))); + return value; +} + +template hstring impl_IInkAnalysisInkBullet::RecognizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkAnalysisInkBullet)->get_RecognizedText(put_abi(value))); + return value; +} + +template hstring impl_IInkAnalysisLine::RecognizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkAnalysisLine)->get_RecognizedText(put_abi(value))); + return value; +} + +template int32_t impl_IInkAnalysisLine::IndentLevel() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInkAnalysisLine)->get_IndentLevel(&value)); + return value; +} + +template hstring impl_IInkAnalysisInkWord::RecognizedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkAnalysisInkWord)->get_RecognizedText(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkAnalysisInkWord::TextAlternates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IInkAnalysisInkWord)->get_TextAlternates(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::Analysis::InkAnalysisDrawingKind impl_IInkAnalysisInkDrawing::DrawingKind() const +{ + Windows::UI::Input::Inking::Analysis::InkAnalysisDrawingKind value {}; + check_hresult(WINRT_SHIM(IInkAnalysisInkDrawing)->get_DrawingKind(&value)); + return value; +} + +template Windows::Foundation::Point impl_IInkAnalysisInkDrawing::Center() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IInkAnalysisInkDrawing)->get_Center(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkAnalysisInkDrawing::Points() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IInkAnalysisInkDrawing)->get_Points(put_abi(value))); + return value; +} + +inline InkAnalyzer::InkAnalyzer() : + InkAnalyzer(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisInkBullet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisInkDrawing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisInkWord & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisListItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisParagraph & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisRoot & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalysisWritingRegion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalyzer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::IInkAnalyzerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisInkBullet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisInkDrawing & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisInkWord & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisLine & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisListItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisNode & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisParagraph & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisRoot & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalysisWritingRegion & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Analysis::InkAnalyzer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Input.Inking.Core.h b/10.0.15042.0/winrt/Windows.UI.Input.Inking.Core.h new file mode 100644 index 000000000..7e2ed31cb --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Input.Inking.Core.h @@ -0,0 +1,840 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Input.Inking.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Input.Inking.Core.3.h" +#include "Windows.UI.Input.Inking.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PointerEntering(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerEntering(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerEntering(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerEntering(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerHovering(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerHovering(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerHovering(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerHovering(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerExiting(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerExiting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerExiting(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerExiting(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerPressing(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerPressing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerPressing(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerPressing(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerMoving(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerMoving(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerMoving(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerMoving(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerReleasing(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerReleasing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerReleasing(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerReleasing(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerLost(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerLost(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerLost(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InkPresenter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InkPresenter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in inkPresenter, impl::abi_arg_out inkIndependentInputSource) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inkIndependentInputSource = detach_abi(this->shim().Create(*reinterpret_cast(&inkPresenter))); + return S_OK; + } + catch (...) + { + *inkIndependentInputSource = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NewInkPoints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewInkPoints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Disposition(Windows::UI::Input::Inking::Core::CoreWetStrokeDisposition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Disposition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Disposition(Windows::UI::Input::Inking::Core::CoreWetStrokeDisposition value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disposition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_WetStrokeStarting(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().WetStrokeStarting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_WetStrokeStarting(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WetStrokeStarting(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_WetStrokeContinuing(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().WetStrokeContinuing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_WetStrokeContinuing(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WetStrokeContinuing(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_WetStrokeStopping(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().WetStrokeStopping(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_WetStrokeStopping(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WetStrokeStopping(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_WetStrokeCompleted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().WetStrokeCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_WetStrokeCompleted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WetStrokeCompleted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_WetStrokeCanceled(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().WetStrokeCanceled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_WetStrokeCanceled(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WetStrokeCanceled(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InkPresenter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InkPresenter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in inkPresenter, impl::abi_arg_out WetStrokeUpdateSource) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *WetStrokeUpdateSource = detach_abi(this->shim().Create(*reinterpret_cast(&inkPresenter))); + return S_OK; + } + catch (...) + { + *WetStrokeUpdateSource = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Input::Inking::Core { + +template event_token impl_ICoreInkIndependentInputSource::PointerEntering(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->add_PointerEntering(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreInkIndependentInputSource::PointerEntering(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource::remove_PointerEntering, PointerEntering(handler)); +} + +template void impl_ICoreInkIndependentInputSource::PointerEntering(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->remove_PointerEntering(cookie)); +} + +template event_token impl_ICoreInkIndependentInputSource::PointerHovering(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->add_PointerHovering(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreInkIndependentInputSource::PointerHovering(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource::remove_PointerHovering, PointerHovering(handler)); +} + +template void impl_ICoreInkIndependentInputSource::PointerHovering(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->remove_PointerHovering(cookie)); +} + +template event_token impl_ICoreInkIndependentInputSource::PointerExiting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->add_PointerExiting(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreInkIndependentInputSource::PointerExiting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource::remove_PointerExiting, PointerExiting(handler)); +} + +template void impl_ICoreInkIndependentInputSource::PointerExiting(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->remove_PointerExiting(cookie)); +} + +template event_token impl_ICoreInkIndependentInputSource::PointerPressing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->add_PointerPressing(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreInkIndependentInputSource::PointerPressing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource::remove_PointerPressing, PointerPressing(handler)); +} + +template void impl_ICoreInkIndependentInputSource::PointerPressing(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->remove_PointerPressing(cookie)); +} + +template event_token impl_ICoreInkIndependentInputSource::PointerMoving(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->add_PointerMoving(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreInkIndependentInputSource::PointerMoving(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource::remove_PointerMoving, PointerMoving(handler)); +} + +template void impl_ICoreInkIndependentInputSource::PointerMoving(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->remove_PointerMoving(cookie)); +} + +template event_token impl_ICoreInkIndependentInputSource::PointerReleasing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->add_PointerReleasing(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreInkIndependentInputSource::PointerReleasing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource::remove_PointerReleasing, PointerReleasing(handler)); +} + +template void impl_ICoreInkIndependentInputSource::PointerReleasing(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->remove_PointerReleasing(cookie)); +} + +template event_token impl_ICoreInkIndependentInputSource::PointerLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->add_PointerLost(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreInkIndependentInputSource::PointerLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource::remove_PointerLost, PointerLost(handler)); +} + +template void impl_ICoreInkIndependentInputSource::PointerLost(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->remove_PointerLost(cookie)); +} + +template Windows::UI::Input::Inking::InkPresenter impl_ICoreInkIndependentInputSource::InkPresenter() const +{ + Windows::UI::Input::Inking::InkPresenter value { nullptr }; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSource)->get_InkPresenter(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::Core::CoreInkIndependentInputSource impl_ICoreInkIndependentInputSourceStatics::Create(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) const +{ + Windows::UI::Input::Inking::Core::CoreInkIndependentInputSource inkIndependentInputSource { nullptr }; + check_hresult(WINRT_SHIM(ICoreInkIndependentInputSourceStatics)->abi_Create(get_abi(inkPresenter), put_abi(inkIndependentInputSource))); + return inkIndependentInputSource; +} + +template Windows::Foundation::Collections::IVector impl_ICoreWetStrokeUpdateEventArgs::NewInkPoints() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateEventArgs)->get_NewInkPoints(put_abi(value))); + return value; +} + +template uint32_t impl_ICoreWetStrokeUpdateEventArgs::PointerId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateEventArgs)->get_PointerId(&value)); + return value; +} + +template Windows::UI::Input::Inking::Core::CoreWetStrokeDisposition impl_ICoreWetStrokeUpdateEventArgs::Disposition() const +{ + Windows::UI::Input::Inking::Core::CoreWetStrokeDisposition value {}; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateEventArgs)->get_Disposition(&value)); + return value; +} + +template void impl_ICoreWetStrokeUpdateEventArgs::Disposition(Windows::UI::Input::Inking::Core::CoreWetStrokeDisposition value) const +{ + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateEventArgs)->put_Disposition(value)); +} + +template event_token impl_ICoreWetStrokeUpdateSource::WetStrokeStarting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->add_WetStrokeStarting(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWetStrokeUpdateSource::WetStrokeStarting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSource::remove_WetStrokeStarting, WetStrokeStarting(handler)); +} + +template void impl_ICoreWetStrokeUpdateSource::WetStrokeStarting(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->remove_WetStrokeStarting(cookie)); +} + +template event_token impl_ICoreWetStrokeUpdateSource::WetStrokeContinuing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->add_WetStrokeContinuing(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWetStrokeUpdateSource::WetStrokeContinuing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSource::remove_WetStrokeContinuing, WetStrokeContinuing(handler)); +} + +template void impl_ICoreWetStrokeUpdateSource::WetStrokeContinuing(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->remove_WetStrokeContinuing(cookie)); +} + +template event_token impl_ICoreWetStrokeUpdateSource::WetStrokeStopping(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->add_WetStrokeStopping(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWetStrokeUpdateSource::WetStrokeStopping(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSource::remove_WetStrokeStopping, WetStrokeStopping(handler)); +} + +template void impl_ICoreWetStrokeUpdateSource::WetStrokeStopping(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->remove_WetStrokeStopping(cookie)); +} + +template event_token impl_ICoreWetStrokeUpdateSource::WetStrokeCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->add_WetStrokeCompleted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWetStrokeUpdateSource::WetStrokeCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSource::remove_WetStrokeCompleted, WetStrokeCompleted(handler)); +} + +template void impl_ICoreWetStrokeUpdateSource::WetStrokeCompleted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->remove_WetStrokeCompleted(cookie)); +} + +template event_token impl_ICoreWetStrokeUpdateSource::WetStrokeCanceled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->add_WetStrokeCanceled(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreWetStrokeUpdateSource::WetStrokeCanceled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSource::remove_WetStrokeCanceled, WetStrokeCanceled(handler)); +} + +template void impl_ICoreWetStrokeUpdateSource::WetStrokeCanceled(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->remove_WetStrokeCanceled(cookie)); +} + +template Windows::UI::Input::Inking::InkPresenter impl_ICoreWetStrokeUpdateSource::InkPresenter() const +{ + Windows::UI::Input::Inking::InkPresenter value { nullptr }; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSource)->get_InkPresenter(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::Core::CoreWetStrokeUpdateSource impl_ICoreWetStrokeUpdateSourceStatics::Create(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) const +{ + Windows::UI::Input::Inking::Core::CoreWetStrokeUpdateSource WetStrokeUpdateSource { nullptr }; + check_hresult(WINRT_SHIM(ICoreWetStrokeUpdateSourceStatics)->abi_Create(get_abi(inkPresenter), put_abi(WetStrokeUpdateSource))); + return WetStrokeUpdateSource; +} + +inline Windows::UI::Input::Inking::Core::CoreInkIndependentInputSource CoreInkIndependentInputSource::Create(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) +{ + return get_activation_factory().Create(inkPresenter); +} + +inline Windows::UI::Input::Inking::Core::CoreWetStrokeUpdateSource CoreWetStrokeUpdateSource::Create(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) +{ + return get_activation_factory().Create(inkPresenter); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::ICoreInkIndependentInputSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::ICoreWetStrokeUpdateSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::CoreInkIndependentInputSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::CoreWetStrokeUpdateEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::Core::CoreWetStrokeUpdateSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Input.Inking.h b/10.0.15042.0/winrt/Windows.UI.Input.Inking.h new file mode 100644 index 000000000..b24302828 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Input.Inking.h @@ -0,0 +1,4381 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.UI.Input.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.UI.Input.Inking.3.h" +#include "Windows.UI.Input.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Color(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Color()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Color(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Color(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PenTip(Windows::UI::Input::Inking::PenTipShape * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PenTip()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PenTip(Windows::UI::Input::Inking::PenTipShape value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PenTip(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Size(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Size(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Size(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IgnorePressure(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IgnorePressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IgnorePressure(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IgnorePressure(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FitToCurve(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FitToCurve()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FitToCurve(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FitToCurve(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PenTipTransform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PenTipTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PenTipTransform(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PenTipTransform(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DrawAsHighlighter(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DrawAsHighlighter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DrawAsHighlighter(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DrawAsHighlighter(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::UI::Input::Inking::InkDrawingAttributesKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PencilProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PencilProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IgnoreTilt(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IgnoreTilt()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IgnoreTilt(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IgnoreTilt(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Opacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Opacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Opacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateForPencil(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateForPencil()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::UI::Input::Inking::InkInputProcessingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::UI::Input::Inking::InkInputProcessingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightDragAction(Windows::UI::Input::Inking::InkInputRightDragAction * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightDragAction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightDragAction(Windows::UI::Input::Inking::InkInputRightDragAction value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightDragAction(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Mode(Windows::UI::Input::Inking::InkManipulationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Mode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Mode(Windows::UI::Input::Inking::InkManipulationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Mode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessPointerDown(impl::abi_arg_in pointerPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessPointerDown(*reinterpret_cast(&pointerPoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessPointerUpdate(impl::abi_arg_in pointerPoint, impl::abi_arg_out updateInformation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updateInformation = detach_abi(this->shim().ProcessPointerUpdate(*reinterpret_cast(&pointerPoint))); + return S_OK; + } + catch (...) + { + *updateInformation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessPointerUp(impl::abi_arg_in pointerPoint, impl::abi_arg_out updateRectangle) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updateRectangle = detach_abi(this->shim().ProcessPointerUp(*reinterpret_cast(&pointerPoint))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDefaultDrawingAttributes(impl::abi_arg_in drawingAttributes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDefaultDrawingAttributes(*reinterpret_cast(&drawingAttributes)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RecognizeAsync2(Windows::UI::Input::Inking::InkRecognitionTarget recognitionTarget, impl::abi_arg_out>> recognitionResults) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *recognitionResults = detach_abi(this->shim().RecognizeAsync(recognitionTarget)); + return S_OK; + } + catch (...) + { + *recognitionResults = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pressure(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TiltX(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiltY(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInkPoint(impl::abi_arg_in position, float pressure, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateInkPoint(*reinterpret_cast(&position), pressure)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInkPointWithTiltAndTimestamp(impl::abi_arg_in position, float pressure, float tiltX, float tiltY, uint64_t timestamp, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateInkPointWithTiltAndTimestamp(*reinterpret_cast(&position), pressure, tiltX, tiltY, timestamp)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsInputEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInputEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInputEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInputEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputDeviceTypes(Windows::UI::Core::CoreInputDeviceTypes * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputDeviceTypes()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputDeviceTypes(Windows::UI::Core::CoreInputDeviceTypes value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputDeviceTypes(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnprocessedInput(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnprocessedInput()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeInput(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeInput()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputProcessingConfiguration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputProcessingConfiguration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeContainer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeContainer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeContainer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeContainer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopyDefaultDrawingAttributes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CopyDefaultDrawingAttributes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateDefaultDrawingAttributes(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateDefaultDrawingAttributes(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ActivateCustomDrying(impl::abi_arg_out inkSynchronizer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inkSynchronizer = detach_abi(this->shim().ActivateCustomDrying()); + return S_OK; + } + catch (...) + { + *inkSynchronizer = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPredefinedConfiguration(Windows::UI::Input::Inking::InkPresenterPredefinedConfiguration value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPredefinedConfiguration(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StrokesCollected(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StrokesCollected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StrokesCollected(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokesCollected(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StrokesErased(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StrokesErased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StrokesErased(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokesErased(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HighContrastAdjustment(Windows::UI::Input::Inking::InkHighContrastAdjustment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HighContrastAdjustment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HighContrastAdjustment(Windows::UI::Input::Inking::InkHighContrastAdjustment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HighContrastAdjustment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreTickMarksVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreTickMarksVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreTickMarksVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreTickMarksVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AreRaysVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreRaysVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreRaysVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreRaysVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCenterMarkerVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCenterMarkerVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCenterMarkerVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCenterMarkerVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAngleReadoutVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAngleReadoutVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsAngleReadoutVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsAngleReadoutVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsResizable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsResizable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsResizable(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsResizable(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Radius(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Radius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Radius(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Radius(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccentColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccentColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AccentColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AccentColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in inkPresenter, impl::abi_arg_out inkPresenterProtractor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inkPresenterProtractor = detach_abi(this->shim().Create(*reinterpret_cast(&inkPresenter))); + return S_OK; + } + catch (...) + { + *inkPresenterProtractor = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Length(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Length(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Length(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Width(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Width(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Width(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreTickMarksVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreTickMarksVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreTickMarksVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreTickMarksVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCompassVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompassVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCompassVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCompassVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in inkPresenter, impl::abi_arg_out inkPresenterRuler) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inkPresenterRuler = detach_abi(this->shim().Create(*reinterpret_cast(&inkPresenter))); + return S_OK; + } + catch (...) + { + *inkPresenterRuler = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::UI::Input::Inking::InkPresenterStencilKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ForegroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Transform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Transform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Transform(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Transform(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BoundingRect(impl::abi_arg_out boundingRect) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *boundingRect = detach_abi(this->shim().BoundingRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTextCandidates(impl::abi_arg_out> textCandidates) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *textCandidates = detach_abi(this->shim().GetTextCandidates()); + return S_OK; + } + catch (...) + { + *textCandidates = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStrokes(impl::abi_arg_out> strokes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *strokes = detach_abi(this->shim().GetStrokes()); + return S_OK; + } + catch (...) + { + *strokes = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetDefaultRecognizer(impl::abi_arg_in recognizer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDefaultRecognizer(*reinterpret_cast(&recognizer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RecognizeAsync(impl::abi_arg_in strokeCollection, Windows::UI::Input::Inking::InkRecognitionTarget recognitionTarget, impl::abi_arg_out>> recognitionResults) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *recognitionResults = detach_abi(this->shim().RecognizeAsync(*reinterpret_cast(&strokeCollection), recognitionTarget)); + return S_OK; + } + catch (...) + { + *recognitionResults = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRecognizers(impl::abi_arg_out> recognizerView) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *recognizerView = detach_abi(this->shim().GetRecognizers()); + return S_OK; + } + catch (...) + { + *recognizerView = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DrawingAttributes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DrawingAttributes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DrawingAttributes(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DrawingAttributes(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BoundingRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Selected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Selected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Selected(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Selected(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Recognized(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Recognized()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRenderingSegments(impl::abi_arg_out> renderingSegments) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *renderingSegments = detach_abi(this->shim().GetRenderingSegments()); + return S_OK; + } + catch (...) + { + *renderingSegments = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clone(impl::abi_arg_out clonedStroke) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *clonedStroke = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *clonedStroke = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointTransform(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointTransform()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointTransform(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointTransform(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetInkPoints(impl::abi_arg_out> inkPoints) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inkPoints = detach_abi(this->shim().GetInkPoints()); + return S_OK; + } + catch (...) + { + *inkPoints = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeStartedTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeStartedTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeStartedTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeStartedTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeDuration(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeDuration()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeDuration(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeDuration(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BeginStroke(impl::abi_arg_in pointerPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeginStroke(*reinterpret_cast(&pointerPoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AppendToStroke(impl::abi_arg_in pointerPoint, impl::abi_arg_out previousPointerPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *previousPointerPoint = detach_abi(this->shim().AppendToStroke(*reinterpret_cast(&pointerPoint))); + return S_OK; + } + catch (...) + { + *previousPointerPoint = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndStroke(impl::abi_arg_in pointerPoint, impl::abi_arg_out stroke) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stroke = detach_abi(this->shim().EndStroke(*reinterpret_cast(&pointerPoint))); + return S_OK; + } + catch (...) + { + *stroke = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateStroke(impl::abi_arg_in> points, impl::abi_arg_out stroke) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stroke = detach_abi(this->shim().CreateStroke(*reinterpret_cast *>(&points))); + return S_OK; + } + catch (...) + { + *stroke = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDefaultDrawingAttributes(impl::abi_arg_in drawingAttributes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDefaultDrawingAttributes(*reinterpret_cast(&drawingAttributes)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateStrokeFromInkPoints(impl::abi_arg_in> inkPoints, impl::abi_arg_in transform, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateStrokeFromInkPoints(*reinterpret_cast *>(&inkPoints), *reinterpret_cast(&transform))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateStrokeFromInkPoints(impl::abi_arg_in> inkPoints, impl::abi_arg_in transform, impl::abi_arg_in> strokeStartedTime, impl::abi_arg_in> strokeDuration, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateStrokeFromInkPoints(*reinterpret_cast *>(&inkPoints), *reinterpret_cast(&transform), *reinterpret_cast *>(&strokeStartedTime), *reinterpret_cast *>(&strokeDuration))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BoundingRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddStroke(impl::abi_arg_in stroke) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddStroke(*reinterpret_cast(&stroke)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteSelected(impl::abi_arg_out invalidatedRect) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *invalidatedRect = detach_abi(this->shim().DeleteSelected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveSelected(impl::abi_arg_in translation, impl::abi_arg_out invalidatedRectangle) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *invalidatedRectangle = detach_abi(this->shim().MoveSelected(*reinterpret_cast(&translation))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectWithPolyLine(impl::abi_arg_in> polyline, impl::abi_arg_out invalidatedRectangle) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *invalidatedRectangle = detach_abi(this->shim().SelectWithPolyLine(*reinterpret_cast *>(&polyline))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectWithLine(impl::abi_arg_in from, impl::abi_arg_in to, impl::abi_arg_out invalidatedRectangle) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *invalidatedRectangle = detach_abi(this->shim().SelectWithLine(*reinterpret_cast(&from), *reinterpret_cast(&to))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CopySelectedToClipboard() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CopySelectedToClipboard(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PasteFromClipboard(impl::abi_arg_in position, impl::abi_arg_out invalidatedRectangle) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *invalidatedRectangle = detach_abi(this->shim().PasteFromClipboard(*reinterpret_cast(&position))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanPasteFromClipboard(bool * canPaste) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *canPaste = detach_abi(this->shim().CanPasteFromClipboard()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadAsync(impl::abi_arg_in inputStream, impl::abi_arg_out> loadAction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *loadAction = detach_abi(this->shim().LoadAsync(*reinterpret_cast(&inputStream))); + return S_OK; + } + catch (...) + { + *loadAction = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_in outputStream, impl::abi_arg_out> outputStreamOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outputStreamOperation = detach_abi(this->shim().SaveAsync(*reinterpret_cast(&outputStream))); + return S_OK; + } + catch (...) + { + *outputStreamOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateRecognitionResults(impl::abi_arg_in> recognitionResults) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateRecognitionResults(*reinterpret_cast *>(&recognitionResults)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStrokes(impl::abi_arg_out> strokeView) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *strokeView = detach_abi(this->shim().GetStrokes()); + return S_OK; + } + catch (...) + { + *strokeView = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRecognitionResults(impl::abi_arg_out> recognitionResults) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *recognitionResults = detach_abi(this->shim().GetRecognitionResults()); + return S_OK; + } + catch (...) + { + *recognitionResults = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddStrokes(impl::abi_arg_in> strokes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddStrokes(*reinterpret_cast *>(&strokes)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SaveWithFormatAsync(impl::abi_arg_in outputStream, Windows::UI::Input::Inking::InkPersistenceFormat inkPersistenceFormat, impl::abi_arg_out> outputStreamOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *outputStreamOperation = detach_abi(this->shim().SaveAsync(*reinterpret_cast(&outputStream), inkPersistenceFormat)); + return S_OK; + } + catch (...) + { + *outputStreamOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetStrokeById(uint32_t id, impl::abi_arg_out stroke) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *stroke = detach_abi(this->shim().GetStrokeById(id)); + return S_OK; + } + catch (...) + { + *stroke = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_StrokeStarted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StrokeStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StrokeStarted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeStarted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StrokeContinued(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StrokeContinued(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StrokeContinued(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeContinued(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StrokeEnded(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StrokeEnded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StrokeEnded(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeEnded(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_StrokeCanceled(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().StrokeCanceled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_StrokeCanceled(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeCanceled(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InkPresenter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InkPresenter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BezierControlPoint1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BezierControlPoint1()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BezierControlPoint2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BezierControlPoint2()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pressure(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiltX(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiltY(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Twist(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Twist()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Strokes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Strokes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Strokes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Strokes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_BeginDry(impl::abi_arg_out> inkStrokes) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inkStrokes = detach_abi(this->shim().BeginDry()); + return S_OK; + } + catch (...) + { + *inkStrokes = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndDry() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndDry(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_PointerEntered(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerEntered(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerEntered(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerEntered(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerHovered(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerHovered(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerHovered(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerHovered(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerExited(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerExited(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerExited(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerExited(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerPressed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerPressed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerPressed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerMoved(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerMoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerMoved(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerMoved(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerReleased(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerReleased(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerReleased(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PointerLost(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().PointerLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PointerLost(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerLost(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InkPresenter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InkPresenter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Input::Inking { + +template Windows::Foundation::Collections::IVectorView impl_IInkStrokesCollectedEventArgs::Strokes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IInkStrokesCollectedEventArgs)->get_Strokes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkStrokesErasedEventArgs::Strokes() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IInkStrokesErasedEventArgs)->get_Strokes(put_abi(value))); + return value; +} + +template bool impl_IInkPresenter::IsInputEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenter)->get_IsInputEnabled(&value)); + return value; +} + +template void impl_IInkPresenter::IsInputEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenter)->put_IsInputEnabled(value)); +} + +template Windows::UI::Core::CoreInputDeviceTypes impl_IInkPresenter::InputDeviceTypes() const +{ + Windows::UI::Core::CoreInputDeviceTypes value {}; + check_hresult(WINRT_SHIM(IInkPresenter)->get_InputDeviceTypes(&value)); + return value; +} + +template void impl_IInkPresenter::InputDeviceTypes(Windows::UI::Core::CoreInputDeviceTypes value) const +{ + check_hresult(WINRT_SHIM(IInkPresenter)->put_InputDeviceTypes(value)); +} + +template Windows::UI::Input::Inking::InkUnprocessedInput impl_IInkPresenter::UnprocessedInput() const +{ + Windows::UI::Input::Inking::InkUnprocessedInput value { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenter)->get_UnprocessedInput(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::InkStrokeInput impl_IInkPresenter::StrokeInput() const +{ + Windows::UI::Input::Inking::InkStrokeInput value { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenter)->get_StrokeInput(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::InkInputProcessingConfiguration impl_IInkPresenter::InputProcessingConfiguration() const +{ + Windows::UI::Input::Inking::InkInputProcessingConfiguration value { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenter)->get_InputProcessingConfiguration(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::InkStrokeContainer impl_IInkPresenter::StrokeContainer() const +{ + Windows::UI::Input::Inking::InkStrokeContainer value { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenter)->get_StrokeContainer(put_abi(value))); + return value; +} + +template void impl_IInkPresenter::StrokeContainer(const Windows::UI::Input::Inking::InkStrokeContainer & value) const +{ + check_hresult(WINRT_SHIM(IInkPresenter)->put_StrokeContainer(get_abi(value))); +} + +template Windows::UI::Input::Inking::InkDrawingAttributes impl_IInkPresenter::CopyDefaultDrawingAttributes() const +{ + Windows::UI::Input::Inking::InkDrawingAttributes value { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenter)->abi_CopyDefaultDrawingAttributes(put_abi(value))); + return value; +} + +template void impl_IInkPresenter::UpdateDefaultDrawingAttributes(const Windows::UI::Input::Inking::InkDrawingAttributes & value) const +{ + check_hresult(WINRT_SHIM(IInkPresenter)->abi_UpdateDefaultDrawingAttributes(get_abi(value))); +} + +template Windows::UI::Input::Inking::InkSynchronizer impl_IInkPresenter::ActivateCustomDrying() const +{ + Windows::UI::Input::Inking::InkSynchronizer inkSynchronizer { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenter)->abi_ActivateCustomDrying(put_abi(inkSynchronizer))); + return inkSynchronizer; +} + +template void impl_IInkPresenter::SetPredefinedConfiguration(Windows::UI::Input::Inking::InkPresenterPredefinedConfiguration value) const +{ + check_hresult(WINRT_SHIM(IInkPresenter)->abi_SetPredefinedConfiguration(value)); +} + +template event_token impl_IInkPresenter::StrokesCollected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkPresenter)->add_StrokesCollected(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkPresenter::StrokesCollected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkPresenter::remove_StrokesCollected, StrokesCollected(handler)); +} + +template void impl_IInkPresenter::StrokesCollected(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkPresenter)->remove_StrokesCollected(cookie)); +} + +template event_token impl_IInkPresenter::StrokesErased(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkPresenter)->add_StrokesErased(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkPresenter::StrokesErased(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkPresenter::remove_StrokesErased, StrokesErased(handler)); +} + +template void impl_IInkPresenter::StrokesErased(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkPresenter)->remove_StrokesErased(cookie)); +} + +template Windows::UI::Input::Inking::InkHighContrastAdjustment impl_IInkPresenter2::HighContrastAdjustment() const +{ + Windows::UI::Input::Inking::InkHighContrastAdjustment value {}; + check_hresult(WINRT_SHIM(IInkPresenter2)->get_HighContrastAdjustment(&value)); + return value; +} + +template void impl_IInkPresenter2::HighContrastAdjustment(Windows::UI::Input::Inking::InkHighContrastAdjustment value) const +{ + check_hresult(WINRT_SHIM(IInkPresenter2)->put_HighContrastAdjustment(value)); +} + +template Windows::UI::Input::Inking::InkInputProcessingMode impl_IInkInputProcessingConfiguration::Mode() const +{ + Windows::UI::Input::Inking::InkInputProcessingMode value {}; + check_hresult(WINRT_SHIM(IInkInputProcessingConfiguration)->get_Mode(&value)); + return value; +} + +template void impl_IInkInputProcessingConfiguration::Mode(Windows::UI::Input::Inking::InkInputProcessingMode value) const +{ + check_hresult(WINRT_SHIM(IInkInputProcessingConfiguration)->put_Mode(value)); +} + +template Windows::UI::Input::Inking::InkInputRightDragAction impl_IInkInputProcessingConfiguration::RightDragAction() const +{ + Windows::UI::Input::Inking::InkInputRightDragAction value {}; + check_hresult(WINRT_SHIM(IInkInputProcessingConfiguration)->get_RightDragAction(&value)); + return value; +} + +template void impl_IInkInputProcessingConfiguration::RightDragAction(Windows::UI::Input::Inking::InkInputRightDragAction value) const +{ + check_hresult(WINRT_SHIM(IInkInputProcessingConfiguration)->put_RightDragAction(value)); +} + +template Windows::Foundation::Collections::IVectorView impl_IInkSynchronizer::BeginDry() const +{ + Windows::Foundation::Collections::IVectorView inkStrokes; + check_hresult(WINRT_SHIM(IInkSynchronizer)->abi_BeginDry(put_abi(inkStrokes))); + return inkStrokes; +} + +template void impl_IInkSynchronizer::EndDry() const +{ + check_hresult(WINRT_SHIM(IInkSynchronizer)->abi_EndDry()); +} + +template event_token impl_IInkUnprocessedInput::PointerEntered(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->add_PointerEntered(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkUnprocessedInput::PointerEntered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkUnprocessedInput::remove_PointerEntered, PointerEntered(handler)); +} + +template void impl_IInkUnprocessedInput::PointerEntered(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->remove_PointerEntered(cookie)); +} + +template event_token impl_IInkUnprocessedInput::PointerHovered(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->add_PointerHovered(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkUnprocessedInput::PointerHovered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkUnprocessedInput::remove_PointerHovered, PointerHovered(handler)); +} + +template void impl_IInkUnprocessedInput::PointerHovered(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->remove_PointerHovered(cookie)); +} + +template event_token impl_IInkUnprocessedInput::PointerExited(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->add_PointerExited(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkUnprocessedInput::PointerExited(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkUnprocessedInput::remove_PointerExited, PointerExited(handler)); +} + +template void impl_IInkUnprocessedInput::PointerExited(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->remove_PointerExited(cookie)); +} + +template event_token impl_IInkUnprocessedInput::PointerPressed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->add_PointerPressed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkUnprocessedInput::PointerPressed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkUnprocessedInput::remove_PointerPressed, PointerPressed(handler)); +} + +template void impl_IInkUnprocessedInput::PointerPressed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->remove_PointerPressed(cookie)); +} + +template event_token impl_IInkUnprocessedInput::PointerMoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->add_PointerMoved(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkUnprocessedInput::PointerMoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkUnprocessedInput::remove_PointerMoved, PointerMoved(handler)); +} + +template void impl_IInkUnprocessedInput::PointerMoved(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->remove_PointerMoved(cookie)); +} + +template event_token impl_IInkUnprocessedInput::PointerReleased(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->add_PointerReleased(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkUnprocessedInput::PointerReleased(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkUnprocessedInput::remove_PointerReleased, PointerReleased(handler)); +} + +template void impl_IInkUnprocessedInput::PointerReleased(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->remove_PointerReleased(cookie)); +} + +template event_token impl_IInkUnprocessedInput::PointerLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->add_PointerLost(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkUnprocessedInput::PointerLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkUnprocessedInput::remove_PointerLost, PointerLost(handler)); +} + +template void impl_IInkUnprocessedInput::PointerLost(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->remove_PointerLost(cookie)); +} + +template Windows::UI::Input::Inking::InkPresenter impl_IInkUnprocessedInput::InkPresenter() const +{ + Windows::UI::Input::Inking::InkPresenter value { nullptr }; + check_hresult(WINRT_SHIM(IInkUnprocessedInput)->get_InkPresenter(put_abi(value))); + return value; +} + +template event_token impl_IInkStrokeInput::StrokeStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkStrokeInput)->add_StrokeStarted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkStrokeInput::StrokeStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkStrokeInput::remove_StrokeStarted, StrokeStarted(handler)); +} + +template void impl_IInkStrokeInput::StrokeStarted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkStrokeInput)->remove_StrokeStarted(cookie)); +} + +template event_token impl_IInkStrokeInput::StrokeContinued(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkStrokeInput)->add_StrokeContinued(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkStrokeInput::StrokeContinued(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkStrokeInput::remove_StrokeContinued, StrokeContinued(handler)); +} + +template void impl_IInkStrokeInput::StrokeContinued(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkStrokeInput)->remove_StrokeContinued(cookie)); +} + +template event_token impl_IInkStrokeInput::StrokeEnded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkStrokeInput)->add_StrokeEnded(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkStrokeInput::StrokeEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkStrokeInput::remove_StrokeEnded, StrokeEnded(handler)); +} + +template void impl_IInkStrokeInput::StrokeEnded(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkStrokeInput)->remove_StrokeEnded(cookie)); +} + +template event_token impl_IInkStrokeInput::StrokeCanceled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IInkStrokeInput)->add_StrokeCanceled(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IInkStrokeInput::StrokeCanceled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Inking::IInkStrokeInput::remove_StrokeCanceled, StrokeCanceled(handler)); +} + +template void impl_IInkStrokeInput::StrokeCanceled(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IInkStrokeInput)->remove_StrokeCanceled(cookie)); +} + +template Windows::UI::Input::Inking::InkPresenter impl_IInkStrokeInput::InkPresenter() const +{ + Windows::UI::Input::Inking::InkPresenter value { nullptr }; + check_hresult(WINRT_SHIM(IInkStrokeInput)->get_InkPresenter(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::InkPresenterStencilKind impl_IInkPresenterStencil::Kind() const +{ + Windows::UI::Input::Inking::InkPresenterStencilKind value {}; + check_hresult(WINRT_SHIM(IInkPresenterStencil)->get_Kind(&value)); + return value; +} + +template bool impl_IInkPresenterStencil::IsVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterStencil)->get_IsVisible(&value)); + return value; +} + +template void impl_IInkPresenterStencil::IsVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterStencil)->put_IsVisible(value)); +} + +template Windows::UI::Color impl_IInkPresenterStencil::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IInkPresenterStencil)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_IInkPresenterStencil::BackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterStencil)->put_BackgroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_IInkPresenterStencil::ForegroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IInkPresenterStencil)->get_ForegroundColor(put_abi(value))); + return value; +} + +template void impl_IInkPresenterStencil::ForegroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterStencil)->put_ForegroundColor(get_abi(value))); +} + +template Windows::Foundation::Numerics::float3x2 impl_IInkPresenterStencil::Transform() const +{ + Windows::Foundation::Numerics::float3x2 value {}; + check_hresult(WINRT_SHIM(IInkPresenterStencil)->get_Transform(put_abi(value))); + return value; +} + +template void impl_IInkPresenterStencil::Transform(const Windows::Foundation::Numerics::float3x2 & value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterStencil)->put_Transform(get_abi(value))); +} + +template double impl_IInkPresenterRuler::Length() const +{ + double value {}; + check_hresult(WINRT_SHIM(IInkPresenterRuler)->get_Length(&value)); + return value; +} + +template void impl_IInkPresenterRuler::Length(double value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterRuler)->put_Length(value)); +} + +template double impl_IInkPresenterRuler::Width() const +{ + double value {}; + check_hresult(WINRT_SHIM(IInkPresenterRuler)->get_Width(&value)); + return value; +} + +template void impl_IInkPresenterRuler::Width(double value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterRuler)->put_Width(value)); +} + +template bool impl_IInkPresenterRuler2::AreTickMarksVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterRuler2)->get_AreTickMarksVisible(&value)); + return value; +} + +template void impl_IInkPresenterRuler2::AreTickMarksVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterRuler2)->put_AreTickMarksVisible(value)); +} + +template bool impl_IInkPresenterRuler2::IsCompassVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterRuler2)->get_IsCompassVisible(&value)); + return value; +} + +template void impl_IInkPresenterRuler2::IsCompassVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterRuler2)->put_IsCompassVisible(value)); +} + +template bool impl_IInkPresenterProtractor::AreTickMarksVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->get_AreTickMarksVisible(&value)); + return value; +} + +template void impl_IInkPresenterProtractor::AreTickMarksVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->put_AreTickMarksVisible(value)); +} + +template bool impl_IInkPresenterProtractor::AreRaysVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->get_AreRaysVisible(&value)); + return value; +} + +template void impl_IInkPresenterProtractor::AreRaysVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->put_AreRaysVisible(value)); +} + +template bool impl_IInkPresenterProtractor::IsCenterMarkerVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->get_IsCenterMarkerVisible(&value)); + return value; +} + +template void impl_IInkPresenterProtractor::IsCenterMarkerVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->put_IsCenterMarkerVisible(value)); +} + +template bool impl_IInkPresenterProtractor::IsAngleReadoutVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->get_IsAngleReadoutVisible(&value)); + return value; +} + +template void impl_IInkPresenterProtractor::IsAngleReadoutVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->put_IsAngleReadoutVisible(value)); +} + +template bool impl_IInkPresenterProtractor::IsResizable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->get_IsResizable(&value)); + return value; +} + +template void impl_IInkPresenterProtractor::IsResizable(bool value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->put_IsResizable(value)); +} + +template double impl_IInkPresenterProtractor::Radius() const +{ + double value {}; + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->get_Radius(&value)); + return value; +} + +template void impl_IInkPresenterProtractor::Radius(double value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->put_Radius(value)); +} + +template Windows::UI::Color impl_IInkPresenterProtractor::AccentColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->get_AccentColor(put_abi(value))); + return value; +} + +template void impl_IInkPresenterProtractor::AccentColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IInkPresenterProtractor)->put_AccentColor(get_abi(value))); +} + +template Windows::UI::Input::Inking::InkPresenterRuler impl_IInkPresenterRulerFactory::Create(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) const +{ + Windows::UI::Input::Inking::InkPresenterRuler inkPresenterRuler { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenterRulerFactory)->abi_Create(get_abi(inkPresenter), put_abi(inkPresenterRuler))); + return inkPresenterRuler; +} + +template Windows::UI::Input::Inking::InkPresenterProtractor impl_IInkPresenterProtractorFactory::Create(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) const +{ + Windows::UI::Input::Inking::InkPresenterProtractor inkPresenterProtractor { nullptr }; + check_hresult(WINRT_SHIM(IInkPresenterProtractorFactory)->abi_Create(get_abi(inkPresenter), put_abi(inkPresenterProtractor))); + return inkPresenterProtractor; +} + +template Windows::Foundation::Point impl_IInkPoint::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IInkPoint)->get_Position(put_abi(value))); + return value; +} + +template float impl_IInkPoint::Pressure() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInkPoint)->get_Pressure(&value)); + return value; +} + +template float impl_IInkPoint2::TiltX() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInkPoint2)->get_TiltX(&value)); + return value; +} + +template float impl_IInkPoint2::TiltY() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInkPoint2)->get_TiltY(&value)); + return value; +} + +template uint64_t impl_IInkPoint2::Timestamp() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IInkPoint2)->get_Timestamp(&value)); + return value; +} + +template Windows::UI::Input::Inking::InkPoint impl_IInkPointFactory::CreateInkPoint(const Windows::Foundation::Point & position, float pressure) const +{ + Windows::UI::Input::Inking::InkPoint result { nullptr }; + check_hresult(WINRT_SHIM(IInkPointFactory)->abi_CreateInkPoint(get_abi(position), pressure, put_abi(result))); + return result; +} + +template Windows::UI::Input::Inking::InkPoint impl_IInkPointFactory2::CreateInkPointWithTiltAndTimestamp(const Windows::Foundation::Point & position, float pressure, float tiltX, float tiltY, uint64_t timestamp) const +{ + Windows::UI::Input::Inking::InkPoint result { nullptr }; + check_hresult(WINRT_SHIM(IInkPointFactory2)->abi_CreateInkPointWithTiltAndTimestamp(get_abi(position), pressure, tiltX, tiltY, timestamp, put_abi(result))); + return result; +} + +template Windows::UI::Color impl_IInkDrawingAttributes::Color() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->get_Color(put_abi(value))); + return value; +} + +template void impl_IInkDrawingAttributes::Color(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->put_Color(get_abi(value))); +} + +template Windows::UI::Input::Inking::PenTipShape impl_IInkDrawingAttributes::PenTip() const +{ + Windows::UI::Input::Inking::PenTipShape value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->get_PenTip(&value)); + return value; +} + +template void impl_IInkDrawingAttributes::PenTip(Windows::UI::Input::Inking::PenTipShape value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->put_PenTip(value)); +} + +template Windows::Foundation::Size impl_IInkDrawingAttributes::Size() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->get_Size(put_abi(value))); + return value; +} + +template void impl_IInkDrawingAttributes::Size(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->put_Size(get_abi(value))); +} + +template bool impl_IInkDrawingAttributes::IgnorePressure() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->get_IgnorePressure(&value)); + return value; +} + +template void impl_IInkDrawingAttributes::IgnorePressure(bool value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->put_IgnorePressure(value)); +} + +template bool impl_IInkDrawingAttributes::FitToCurve() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->get_FitToCurve(&value)); + return value; +} + +template void impl_IInkDrawingAttributes::FitToCurve(bool value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes)->put_FitToCurve(value)); +} + +template Windows::Foundation::Numerics::float3x2 impl_IInkDrawingAttributes2::PenTipTransform() const +{ + Windows::Foundation::Numerics::float3x2 value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes2)->get_PenTipTransform(put_abi(value))); + return value; +} + +template void impl_IInkDrawingAttributes2::PenTipTransform(const Windows::Foundation::Numerics::float3x2 & value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes2)->put_PenTipTransform(get_abi(value))); +} + +template bool impl_IInkDrawingAttributes2::DrawAsHighlighter() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes2)->get_DrawAsHighlighter(&value)); + return value; +} + +template void impl_IInkDrawingAttributes2::DrawAsHighlighter(bool value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes2)->put_DrawAsHighlighter(value)); +} + +template double impl_IInkDrawingAttributesPencilProperties::Opacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributesPencilProperties)->get_Opacity(&value)); + return value; +} + +template void impl_IInkDrawingAttributesPencilProperties::Opacity(double value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributesPencilProperties)->put_Opacity(value)); +} + +template Windows::UI::Input::Inking::InkDrawingAttributesKind impl_IInkDrawingAttributes3::Kind() const +{ + Windows::UI::Input::Inking::InkDrawingAttributesKind value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes3)->get_Kind(&value)); + return value; +} + +template Windows::UI::Input::Inking::InkDrawingAttributesPencilProperties impl_IInkDrawingAttributes3::PencilProperties() const +{ + Windows::UI::Input::Inking::InkDrawingAttributesPencilProperties value { nullptr }; + check_hresult(WINRT_SHIM(IInkDrawingAttributes3)->get_PencilProperties(put_abi(value))); + return value; +} + +template bool impl_IInkDrawingAttributes4::IgnoreTilt() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkDrawingAttributes4)->get_IgnoreTilt(&value)); + return value; +} + +template void impl_IInkDrawingAttributes4::IgnoreTilt(bool value) const +{ + check_hresult(WINRT_SHIM(IInkDrawingAttributes4)->put_IgnoreTilt(value)); +} + +template Windows::UI::Input::Inking::InkDrawingAttributes impl_IInkDrawingAttributesStatics::CreateForPencil() const +{ + Windows::UI::Input::Inking::InkDrawingAttributes result { nullptr }; + check_hresult(WINRT_SHIM(IInkDrawingAttributesStatics)->abi_CreateForPencil(put_abi(result))); + return result; +} + +template Windows::Foundation::Point impl_IInkStrokeRenderingSegment::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IInkStrokeRenderingSegment)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IInkStrokeRenderingSegment::BezierControlPoint1() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IInkStrokeRenderingSegment)->get_BezierControlPoint1(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IInkStrokeRenderingSegment::BezierControlPoint2() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IInkStrokeRenderingSegment)->get_BezierControlPoint2(put_abi(value))); + return value; +} + +template float impl_IInkStrokeRenderingSegment::Pressure() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInkStrokeRenderingSegment)->get_Pressure(&value)); + return value; +} + +template float impl_IInkStrokeRenderingSegment::TiltX() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInkStrokeRenderingSegment)->get_TiltX(&value)); + return value; +} + +template float impl_IInkStrokeRenderingSegment::TiltY() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInkStrokeRenderingSegment)->get_TiltY(&value)); + return value; +} + +template float impl_IInkStrokeRenderingSegment::Twist() const +{ + float value {}; + check_hresult(WINRT_SHIM(IInkStrokeRenderingSegment)->get_Twist(&value)); + return value; +} + +template Windows::UI::Input::Inking::InkDrawingAttributes impl_IInkStroke::DrawingAttributes() const +{ + Windows::UI::Input::Inking::InkDrawingAttributes value { nullptr }; + check_hresult(WINRT_SHIM(IInkStroke)->get_DrawingAttributes(put_abi(value))); + return value; +} + +template void impl_IInkStroke::DrawingAttributes(const Windows::UI::Input::Inking::InkDrawingAttributes & value) const +{ + check_hresult(WINRT_SHIM(IInkStroke)->put_DrawingAttributes(get_abi(value))); +} + +template Windows::Foundation::Rect impl_IInkStroke::BoundingRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IInkStroke)->get_BoundingRect(put_abi(value))); + return value; +} + +template bool impl_IInkStroke::Selected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkStroke)->get_Selected(&value)); + return value; +} + +template void impl_IInkStroke::Selected(bool value) const +{ + check_hresult(WINRT_SHIM(IInkStroke)->put_Selected(value)); +} + +template bool impl_IInkStroke::Recognized() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInkStroke)->get_Recognized(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkStroke::GetRenderingSegments() const +{ + Windows::Foundation::Collections::IVectorView renderingSegments; + check_hresult(WINRT_SHIM(IInkStroke)->abi_GetRenderingSegments(put_abi(renderingSegments))); + return renderingSegments; +} + +template Windows::UI::Input::Inking::InkStroke impl_IInkStroke::Clone() const +{ + Windows::UI::Input::Inking::InkStroke clonedStroke { nullptr }; + check_hresult(WINRT_SHIM(IInkStroke)->abi_Clone(put_abi(clonedStroke))); + return clonedStroke; +} + +template Windows::Foundation::Numerics::float3x2 impl_IInkStroke2::PointTransform() const +{ + Windows::Foundation::Numerics::float3x2 value {}; + check_hresult(WINRT_SHIM(IInkStroke2)->get_PointTransform(put_abi(value))); + return value; +} + +template void impl_IInkStroke2::PointTransform(const Windows::Foundation::Numerics::float3x2 & value) const +{ + check_hresult(WINRT_SHIM(IInkStroke2)->put_PointTransform(get_abi(value))); +} + +template Windows::Foundation::Collections::IVectorView impl_IInkStroke2::GetInkPoints() const +{ + Windows::Foundation::Collections::IVectorView inkPoints; + check_hresult(WINRT_SHIM(IInkStroke2)->abi_GetInkPoints(put_abi(inkPoints))); + return inkPoints; +} + +template uint32_t impl_IInkStroke3::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IInkStroke3)->get_Id(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IInkStroke3::StrokeStartedTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IInkStroke3)->get_StrokeStartedTime(put_abi(value))); + return value; +} + +template void impl_IInkStroke3::StrokeStartedTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IInkStroke3)->put_StrokeStartedTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IInkStroke3::StrokeDuration() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IInkStroke3)->get_StrokeDuration(put_abi(value))); + return value; +} + +template void impl_IInkStroke3::StrokeDuration(const optional & value) const +{ + check_hresult(WINRT_SHIM(IInkStroke3)->put_StrokeDuration(get_abi(value))); +} + +template void impl_IInkStrokeBuilder::BeginStroke(const Windows::UI::Input::PointerPoint & pointerPoint) const +{ + check_hresult(WINRT_SHIM(IInkStrokeBuilder)->abi_BeginStroke(get_abi(pointerPoint))); +} + +template Windows::UI::Input::PointerPoint impl_IInkStrokeBuilder::AppendToStroke(const Windows::UI::Input::PointerPoint & pointerPoint) const +{ + Windows::UI::Input::PointerPoint previousPointerPoint { nullptr }; + check_hresult(WINRT_SHIM(IInkStrokeBuilder)->abi_AppendToStroke(get_abi(pointerPoint), put_abi(previousPointerPoint))); + return previousPointerPoint; +} + +template Windows::UI::Input::Inking::InkStroke impl_IInkStrokeBuilder::EndStroke(const Windows::UI::Input::PointerPoint & pointerPoint) const +{ + Windows::UI::Input::Inking::InkStroke stroke { nullptr }; + check_hresult(WINRT_SHIM(IInkStrokeBuilder)->abi_EndStroke(get_abi(pointerPoint), put_abi(stroke))); + return stroke; +} + +template Windows::UI::Input::Inking::InkStroke impl_IInkStrokeBuilder::CreateStroke(iterable points) const +{ + Windows::UI::Input::Inking::InkStroke stroke { nullptr }; + check_hresult(WINRT_SHIM(IInkStrokeBuilder)->abi_CreateStroke(get_abi(points), put_abi(stroke))); + return stroke; +} + +template void impl_IInkStrokeBuilder::SetDefaultDrawingAttributes(const Windows::UI::Input::Inking::InkDrawingAttributes & drawingAttributes) const +{ + check_hresult(WINRT_SHIM(IInkStrokeBuilder)->abi_SetDefaultDrawingAttributes(get_abi(drawingAttributes))); +} + +template Windows::UI::Input::Inking::InkStroke impl_IInkStrokeBuilder2::CreateStrokeFromInkPoints(iterable inkPoints, const Windows::Foundation::Numerics::float3x2 & transform) const +{ + Windows::UI::Input::Inking::InkStroke result { nullptr }; + check_hresult(WINRT_SHIM(IInkStrokeBuilder2)->abi_CreateStrokeFromInkPoints(get_abi(inkPoints), get_abi(transform), put_abi(result))); + return result; +} + +template Windows::UI::Input::Inking::InkStroke impl_IInkStrokeBuilder3::CreateStrokeFromInkPoints(iterable inkPoints, const Windows::Foundation::Numerics::float3x2 & transform, const optional & strokeStartedTime, const optional & strokeDuration) const +{ + Windows::UI::Input::Inking::InkStroke result { nullptr }; + check_hresult(WINRT_SHIM(IInkStrokeBuilder3)->abi_CreateStrokeFromInkPoints(get_abi(inkPoints), get_abi(transform), get_abi(strokeStartedTime), get_abi(strokeDuration), put_abi(result))); + return result; +} + +template Windows::Foundation::Rect impl_IInkRecognitionResult::BoundingRect() const +{ + Windows::Foundation::Rect boundingRect {}; + check_hresult(WINRT_SHIM(IInkRecognitionResult)->get_BoundingRect(put_abi(boundingRect))); + return boundingRect; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkRecognitionResult::GetTextCandidates() const +{ + Windows::Foundation::Collections::IVectorView textCandidates; + check_hresult(WINRT_SHIM(IInkRecognitionResult)->abi_GetTextCandidates(put_abi(textCandidates))); + return textCandidates; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkRecognitionResult::GetStrokes() const +{ + Windows::Foundation::Collections::IVectorView strokes; + check_hresult(WINRT_SHIM(IInkRecognitionResult)->abi_GetStrokes(put_abi(strokes))); + return strokes; +} + +template Windows::Foundation::Rect impl_IInkStrokeContainer::BoundingRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->get_BoundingRect(put_abi(value))); + return value; +} + +template void impl_IInkStrokeContainer::AddStroke(const Windows::UI::Input::Inking::InkStroke & stroke) const +{ + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_AddStroke(get_abi(stroke))); +} + +template Windows::Foundation::Rect impl_IInkStrokeContainer::DeleteSelected() const +{ + Windows::Foundation::Rect invalidatedRect {}; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_DeleteSelected(put_abi(invalidatedRect))); + return invalidatedRect; +} + +template Windows::Foundation::Rect impl_IInkStrokeContainer::MoveSelected(const Windows::Foundation::Point & translation) const +{ + Windows::Foundation::Rect invalidatedRectangle {}; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_MoveSelected(get_abi(translation), put_abi(invalidatedRectangle))); + return invalidatedRectangle; +} + +template Windows::Foundation::Rect impl_IInkStrokeContainer::SelectWithPolyLine(iterable polyline) const +{ + Windows::Foundation::Rect invalidatedRectangle {}; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_SelectWithPolyLine(get_abi(polyline), put_abi(invalidatedRectangle))); + return invalidatedRectangle; +} + +template Windows::Foundation::Rect impl_IInkStrokeContainer::SelectWithLine(const Windows::Foundation::Point & from, const Windows::Foundation::Point & to) const +{ + Windows::Foundation::Rect invalidatedRectangle {}; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_SelectWithLine(get_abi(from), get_abi(to), put_abi(invalidatedRectangle))); + return invalidatedRectangle; +} + +template void impl_IInkStrokeContainer::CopySelectedToClipboard() const +{ + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_CopySelectedToClipboard()); +} + +template Windows::Foundation::Rect impl_IInkStrokeContainer::PasteFromClipboard(const Windows::Foundation::Point & position) const +{ + Windows::Foundation::Rect invalidatedRectangle {}; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_PasteFromClipboard(get_abi(position), put_abi(invalidatedRectangle))); + return invalidatedRectangle; +} + +template bool impl_IInkStrokeContainer::CanPasteFromClipboard() const +{ + bool canPaste {}; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_CanPasteFromClipboard(&canPaste)); + return canPaste; +} + +template Windows::Foundation::IAsyncActionWithProgress impl_IInkStrokeContainer::LoadAsync(const Windows::Storage::Streams::IInputStream & inputStream) const +{ + Windows::Foundation::IAsyncActionWithProgress loadAction; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_LoadAsync(get_abi(inputStream), put_abi(loadAction))); + return loadAction; +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IInkStrokeContainer::SaveAsync(const Windows::Storage::Streams::IOutputStream & outputStream) const +{ + Windows::Foundation::IAsyncOperationWithProgress outputStreamOperation; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_SaveAsync(get_abi(outputStream), put_abi(outputStreamOperation))); + return outputStreamOperation; +} + +template void impl_IInkStrokeContainer::UpdateRecognitionResults(vector_view recognitionResults) const +{ + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_UpdateRecognitionResults(get_abi(recognitionResults))); +} + +template Windows::Foundation::Collections::IVectorView impl_IInkStrokeContainer::GetStrokes() const +{ + Windows::Foundation::Collections::IVectorView strokeView; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_GetStrokes(put_abi(strokeView))); + return strokeView; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkStrokeContainer::GetRecognitionResults() const +{ + Windows::Foundation::Collections::IVectorView recognitionResults; + check_hresult(WINRT_SHIM(IInkStrokeContainer)->abi_GetRecognitionResults(put_abi(recognitionResults))); + return recognitionResults; +} + +template void impl_IInkStrokeContainer2::AddStrokes(iterable strokes) const +{ + check_hresult(WINRT_SHIM(IInkStrokeContainer2)->abi_AddStrokes(get_abi(strokes))); +} + +template void impl_IInkStrokeContainer2::Clear() const +{ + check_hresult(WINRT_SHIM(IInkStrokeContainer2)->abi_Clear()); +} + +template Windows::Foundation::IAsyncOperationWithProgress impl_IInkStrokeContainer3::SaveAsync(const Windows::Storage::Streams::IOutputStream & outputStream, Windows::UI::Input::Inking::InkPersistenceFormat inkPersistenceFormat) const +{ + Windows::Foundation::IAsyncOperationWithProgress outputStreamOperation; + check_hresult(WINRT_SHIM(IInkStrokeContainer3)->abi_SaveWithFormatAsync(get_abi(outputStream), inkPersistenceFormat, put_abi(outputStreamOperation))); + return outputStreamOperation; +} + +template Windows::UI::Input::Inking::InkStroke impl_IInkStrokeContainer3::GetStrokeById(uint32_t id) const +{ + Windows::UI::Input::Inking::InkStroke stroke { nullptr }; + check_hresult(WINRT_SHIM(IInkStrokeContainer3)->abi_GetStrokeById(id, put_abi(stroke))); + return stroke; +} + +template hstring impl_IInkRecognizer::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(IInkRecognizer)->get_Name(put_abi(value))); + return value; +} + +template void impl_IInkRecognizerContainer::SetDefaultRecognizer(const Windows::UI::Input::Inking::InkRecognizer & recognizer) const +{ + check_hresult(WINRT_SHIM(IInkRecognizerContainer)->abi_SetDefaultRecognizer(get_abi(recognizer))); +} + +template Windows::Foundation::IAsyncOperation> impl_IInkRecognizerContainer::RecognizeAsync(const Windows::UI::Input::Inking::InkStrokeContainer & strokeCollection, Windows::UI::Input::Inking::InkRecognitionTarget recognitionTarget) const +{ + Windows::Foundation::IAsyncOperation> recognitionResults; + check_hresult(WINRT_SHIM(IInkRecognizerContainer)->abi_RecognizeAsync(get_abi(strokeCollection), recognitionTarget, put_abi(recognitionResults))); + return recognitionResults; +} + +template Windows::Foundation::Collections::IVectorView impl_IInkRecognizerContainer::GetRecognizers() const +{ + Windows::Foundation::Collections::IVectorView recognizerView; + check_hresult(WINRT_SHIM(IInkRecognizerContainer)->abi_GetRecognizers(put_abi(recognizerView))); + return recognizerView; +} + +template Windows::UI::Input::Inking::InkManipulationMode impl_IInkManager::Mode() const +{ + Windows::UI::Input::Inking::InkManipulationMode value {}; + check_hresult(WINRT_SHIM(IInkManager)->get_Mode(&value)); + return value; +} + +template void impl_IInkManager::Mode(Windows::UI::Input::Inking::InkManipulationMode value) const +{ + check_hresult(WINRT_SHIM(IInkManager)->put_Mode(value)); +} + +template void impl_IInkManager::ProcessPointerDown(const Windows::UI::Input::PointerPoint & pointerPoint) const +{ + check_hresult(WINRT_SHIM(IInkManager)->abi_ProcessPointerDown(get_abi(pointerPoint))); +} + +template Windows::Foundation::IInspectable impl_IInkManager::ProcessPointerUpdate(const Windows::UI::Input::PointerPoint & pointerPoint) const +{ + Windows::Foundation::IInspectable updateInformation; + check_hresult(WINRT_SHIM(IInkManager)->abi_ProcessPointerUpdate(get_abi(pointerPoint), put_abi(updateInformation))); + return updateInformation; +} + +template Windows::Foundation::Rect impl_IInkManager::ProcessPointerUp(const Windows::UI::Input::PointerPoint & pointerPoint) const +{ + Windows::Foundation::Rect updateRectangle {}; + check_hresult(WINRT_SHIM(IInkManager)->abi_ProcessPointerUp(get_abi(pointerPoint), put_abi(updateRectangle))); + return updateRectangle; +} + +template void impl_IInkManager::SetDefaultDrawingAttributes(const Windows::UI::Input::Inking::InkDrawingAttributes & drawingAttributes) const +{ + check_hresult(WINRT_SHIM(IInkManager)->abi_SetDefaultDrawingAttributes(get_abi(drawingAttributes))); +} + +template Windows::Foundation::IAsyncOperation> impl_IInkManager::RecognizeAsync(Windows::UI::Input::Inking::InkRecognitionTarget recognitionTarget) const +{ + Windows::Foundation::IAsyncOperation> recognitionResults; + check_hresult(WINRT_SHIM(IInkManager)->abi_RecognizeAsync2(recognitionTarget, put_abi(recognitionResults))); + return recognitionResults; +} + +inline InkDrawingAttributes::InkDrawingAttributes() : + InkDrawingAttributes(activate_instance()) +{} + +inline Windows::UI::Input::Inking::InkDrawingAttributes InkDrawingAttributes::CreateForPencil() +{ + return get_activation_factory().CreateForPencil(); +} + +inline InkManager::InkManager() : + InkManager(activate_instance()) +{} + +inline InkPoint::InkPoint(const Windows::Foundation::Point & position, float pressure, float tiltX, float tiltY, uint64_t timestamp) : + InkPoint(get_activation_factory().CreateInkPointWithTiltAndTimestamp(position, pressure, tiltX, tiltY, timestamp)) +{} + +inline InkPoint::InkPoint(const Windows::Foundation::Point & position, float pressure) : + InkPoint(get_activation_factory().CreateInkPoint(position, pressure)) +{} + +inline InkPresenterProtractor::InkPresenterProtractor(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) : + InkPresenterProtractor(get_activation_factory().Create(inkPresenter)) +{} + +inline InkPresenterRuler::InkPresenterRuler(const Windows::UI::Input::Inking::InkPresenter & inkPresenter) : + InkPresenterRuler(get_activation_factory().Create(inkPresenter)) +{} + +inline InkRecognizerContainer::InkRecognizerContainer() : + InkRecognizerContainer(activate_instance()) +{} + +inline InkStrokeBuilder::InkStrokeBuilder() : + InkStrokeBuilder(activate_instance()) +{} + +inline InkStrokeContainer::InkStrokeContainer() : + InkStrokeContainer(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkDrawingAttributes & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkDrawingAttributes2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkDrawingAttributes3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkDrawingAttributes4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkDrawingAttributesPencilProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkDrawingAttributesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkInputProcessingConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPoint2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPointFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPointFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenter2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenterProtractor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenterProtractorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenterRuler & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenterRuler2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenterRulerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkPresenterStencil & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkRecognitionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkRecognizerContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStroke & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStroke2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStroke3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeBuilder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeBuilder2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeBuilder3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeContainer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeContainer3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokeRenderingSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokesCollectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkStrokesErasedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkSynchronizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::IInkUnprocessedInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkDrawingAttributes & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkDrawingAttributesPencilProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkInputProcessingConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkPoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkPresenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkPresenterProtractor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkPresenterRuler & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkRecognitionResult & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkRecognizerContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkStroke & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkStrokeBuilder & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkStrokeContainer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkStrokeInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkStrokeRenderingSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkStrokesCollectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkStrokesErasedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkSynchronizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Inking::InkUnprocessedInput & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Input.Preview.Injection.h b/10.0.15042.0/winrt/Windows.UI.Input.Preview.Injection.h new file mode 100644 index 000000000..e3773c59a --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Input.Preview.Injection.h @@ -0,0 +1,1162 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Input.Preview.Injection.3.h" +#include "Windows.UI.Input.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KeyOptions(Windows::UI::Input::Preview::Injection::InjectedInputKeyOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeyOptions(Windows::UI::Input::Preview::Injection::InjectedInputKeyOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScanCode(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScanCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScanCode(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScanCode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VirtualKey(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VirtualKey()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VirtualKey(uint16_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VirtualKey(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MouseOptions(Windows::UI::Input::Preview::Injection::InjectedInputMouseOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MouseOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MouseOptions(Windows::UI::Input::Preview::Injection::InjectedInputMouseOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MouseData(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MouseData()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MouseData(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseData(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeltaY(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeltaY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeltaY(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeltaY(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeltaX(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeltaX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeltaX(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeltaX(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeOffsetInMilliseconds(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeOffsetInMilliseconds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TimeOffsetInMilliseconds(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimeOffsetInMilliseconds(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerInfo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PenButtons(Windows::UI::Input::Preview::Injection::InjectedInputPenButtons * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PenButtons()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PenButtons(Windows::UI::Input::Preview::Injection::InjectedInputPenButtons value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PenButtons(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PenParameters(Windows::UI::Input::Preview::Injection::InjectedInputPenParameters * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PenParameters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PenParameters(Windows::UI::Input::Preview::Injection::InjectedInputPenParameters value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PenParameters(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pressure(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Pressure(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pressure(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Rotation(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Rotation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Rotation(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rotation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiltX(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TiltX(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TiltX(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiltY(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TiltY(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TiltY(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Contact(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Contact(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerInfo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerInfo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerInfo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pressure(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Pressure(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pressure(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TouchParameters(Windows::UI::Input::Preview::Injection::InjectedInputTouchParameters * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TouchParameters()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TouchParameters(Windows::UI::Input::Preview::Injection::InjectedInputTouchParameters value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TouchParameters(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_InjectKeyboardInput(impl::abi_arg_in> input) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InjectKeyboardInput(*reinterpret_cast *>(&input)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InjectMouseInput(impl::abi_arg_in> input) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InjectMouseInput(*reinterpret_cast *>(&input)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InitializeTouchInjection(Windows::UI::Input::Preview::Injection::InjectedInputVisualizationMode visualMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitializeTouchInjection(visualMode); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InjectTouchInput(impl::abi_arg_in> input) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InjectTouchInput(*reinterpret_cast *>(&input)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UninitializeTouchInjection() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UninitializeTouchInjection(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InitializePenInjection(Windows::UI::Input::Preview::Injection::InjectedInputVisualizationMode visualMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitializePenInjection(visualMode); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InjectPenInput(impl::abi_arg_in input) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InjectPenInput(*reinterpret_cast(&input)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UninitializePenInjection() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UninitializePenInjection(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InjectShortcut(Windows::UI::Input::Preview::Injection::InjectedInputShortcut shortcut) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InjectShortcut(shortcut); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryCreate(impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().TryCreate()); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Input::Preview::Injection { + +template Windows::UI::Input::Preview::Injection::InjectedInputRectangle impl_IInjectedInputTouchInfo::Contact() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputRectangle value {}; + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->get_Contact(put_abi(value))); + return value; +} + +template void impl_IInjectedInputTouchInfo::Contact(const Windows::UI::Input::Preview::Injection::InjectedInputRectangle & value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->put_Contact(get_abi(value))); +} + +template int32_t impl_IInjectedInputTouchInfo::Orientation() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->get_Orientation(&value)); + return value; +} + +template void impl_IInjectedInputTouchInfo::Orientation(int32_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->put_Orientation(value)); +} + +template Windows::UI::Input::Preview::Injection::InjectedInputPointerInfo impl_IInjectedInputTouchInfo::PointerInfo() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputPointerInfo value {}; + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->get_PointerInfo(put_abi(value))); + return value; +} + +template void impl_IInjectedInputTouchInfo::PointerInfo(const Windows::UI::Input::Preview::Injection::InjectedInputPointerInfo & value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->put_PointerInfo(get_abi(value))); +} + +template double impl_IInjectedInputTouchInfo::Pressure() const +{ + double value {}; + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->get_Pressure(&value)); + return value; +} + +template void impl_IInjectedInputTouchInfo::Pressure(double value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->put_Pressure(value)); +} + +template Windows::UI::Input::Preview::Injection::InjectedInputTouchParameters impl_IInjectedInputTouchInfo::TouchParameters() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputTouchParameters value {}; + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->get_TouchParameters(&value)); + return value; +} + +template void impl_IInjectedInputTouchInfo::TouchParameters(Windows::UI::Input::Preview::Injection::InjectedInputTouchParameters value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputTouchInfo)->put_TouchParameters(value)); +} + +template Windows::UI::Input::Preview::Injection::InjectedInputPointerInfo impl_IInjectedInputPenInfo::PointerInfo() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputPointerInfo value {}; + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->get_PointerInfo(put_abi(value))); + return value; +} + +template void impl_IInjectedInputPenInfo::PointerInfo(const Windows::UI::Input::Preview::Injection::InjectedInputPointerInfo & value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->put_PointerInfo(get_abi(value))); +} + +template Windows::UI::Input::Preview::Injection::InjectedInputPenButtons impl_IInjectedInputPenInfo::PenButtons() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputPenButtons value {}; + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->get_PenButtons(&value)); + return value; +} + +template void impl_IInjectedInputPenInfo::PenButtons(Windows::UI::Input::Preview::Injection::InjectedInputPenButtons value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->put_PenButtons(value)); +} + +template Windows::UI::Input::Preview::Injection::InjectedInputPenParameters impl_IInjectedInputPenInfo::PenParameters() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputPenParameters value {}; + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->get_PenParameters(&value)); + return value; +} + +template void impl_IInjectedInputPenInfo::PenParameters(Windows::UI::Input::Preview::Injection::InjectedInputPenParameters value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->put_PenParameters(value)); +} + +template double impl_IInjectedInputPenInfo::Pressure() const +{ + double value {}; + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->get_Pressure(&value)); + return value; +} + +template void impl_IInjectedInputPenInfo::Pressure(double value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->put_Pressure(value)); +} + +template double impl_IInjectedInputPenInfo::Rotation() const +{ + double value {}; + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->get_Rotation(&value)); + return value; +} + +template void impl_IInjectedInputPenInfo::Rotation(double value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->put_Rotation(value)); +} + +template int32_t impl_IInjectedInputPenInfo::TiltX() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->get_TiltX(&value)); + return value; +} + +template void impl_IInjectedInputPenInfo::TiltX(int32_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->put_TiltX(value)); +} + +template int32_t impl_IInjectedInputPenInfo::TiltY() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->get_TiltY(&value)); + return value; +} + +template void impl_IInjectedInputPenInfo::TiltY(int32_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputPenInfo)->put_TiltY(value)); +} + +template Windows::UI::Input::Preview::Injection::InjectedInputMouseOptions impl_IInjectedInputMouseInfo::MouseOptions() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputMouseOptions value {}; + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->get_MouseOptions(&value)); + return value; +} + +template void impl_IInjectedInputMouseInfo::MouseOptions(Windows::UI::Input::Preview::Injection::InjectedInputMouseOptions value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->put_MouseOptions(value)); +} + +template uint32_t impl_IInjectedInputMouseInfo::MouseData() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->get_MouseData(&value)); + return value; +} + +template void impl_IInjectedInputMouseInfo::MouseData(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->put_MouseData(value)); +} + +template int32_t impl_IInjectedInputMouseInfo::DeltaY() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->get_DeltaY(&value)); + return value; +} + +template void impl_IInjectedInputMouseInfo::DeltaY(int32_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->put_DeltaY(value)); +} + +template int32_t impl_IInjectedInputMouseInfo::DeltaX() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->get_DeltaX(&value)); + return value; +} + +template void impl_IInjectedInputMouseInfo::DeltaX(int32_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->put_DeltaX(value)); +} + +template uint32_t impl_IInjectedInputMouseInfo::TimeOffsetInMilliseconds() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->get_TimeOffsetInMilliseconds(&value)); + return value; +} + +template void impl_IInjectedInputMouseInfo::TimeOffsetInMilliseconds(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputMouseInfo)->put_TimeOffsetInMilliseconds(value)); +} + +template Windows::UI::Input::Preview::Injection::InjectedInputKeyOptions impl_IInjectedInputKeyboardInfo::KeyOptions() const +{ + Windows::UI::Input::Preview::Injection::InjectedInputKeyOptions value {}; + check_hresult(WINRT_SHIM(IInjectedInputKeyboardInfo)->get_KeyOptions(&value)); + return value; +} + +template void impl_IInjectedInputKeyboardInfo::KeyOptions(Windows::UI::Input::Preview::Injection::InjectedInputKeyOptions value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputKeyboardInfo)->put_KeyOptions(value)); +} + +template uint16_t impl_IInjectedInputKeyboardInfo::ScanCode() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputKeyboardInfo)->get_ScanCode(&value)); + return value; +} + +template void impl_IInjectedInputKeyboardInfo::ScanCode(uint16_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputKeyboardInfo)->put_ScanCode(value)); +} + +template uint16_t impl_IInjectedInputKeyboardInfo::VirtualKey() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(IInjectedInputKeyboardInfo)->get_VirtualKey(&value)); + return value; +} + +template void impl_IInjectedInputKeyboardInfo::VirtualKey(uint16_t value) const +{ + check_hresult(WINRT_SHIM(IInjectedInputKeyboardInfo)->put_VirtualKey(value)); +} + +template void impl_IInputInjector::InjectKeyboardInput(iterable input) const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_InjectKeyboardInput(get_abi(input))); +} + +template void impl_IInputInjector::InjectMouseInput(iterable input) const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_InjectMouseInput(get_abi(input))); +} + +template void impl_IInputInjector::InitializeTouchInjection(Windows::UI::Input::Preview::Injection::InjectedInputVisualizationMode visualMode) const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_InitializeTouchInjection(visualMode)); +} + +template void impl_IInputInjector::InjectTouchInput(iterable input) const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_InjectTouchInput(get_abi(input))); +} + +template void impl_IInputInjector::UninitializeTouchInjection() const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_UninitializeTouchInjection()); +} + +template void impl_IInputInjector::InitializePenInjection(Windows::UI::Input::Preview::Injection::InjectedInputVisualizationMode visualMode) const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_InitializePenInjection(visualMode)); +} + +template void impl_IInputInjector::InjectPenInput(const Windows::UI::Input::Preview::Injection::InjectedInputPenInfo & input) const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_InjectPenInput(get_abi(input))); +} + +template void impl_IInputInjector::UninitializePenInjection() const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_UninitializePenInjection()); +} + +template void impl_IInputInjector::InjectShortcut(Windows::UI::Input::Preview::Injection::InjectedInputShortcut shortcut) const +{ + check_hresult(WINRT_SHIM(IInputInjector)->abi_InjectShortcut(shortcut)); +} + +template Windows::UI::Input::Preview::Injection::InputInjector impl_IInputInjectorStatics::TryCreate() const +{ + Windows::UI::Input::Preview::Injection::InputInjector instance { nullptr }; + check_hresult(WINRT_SHIM(IInputInjectorStatics)->abi_TryCreate(put_abi(instance))); + return instance; +} + +inline InjectedInputKeyboardInfo::InjectedInputKeyboardInfo() : + InjectedInputKeyboardInfo(activate_instance()) +{} + +inline InjectedInputMouseInfo::InjectedInputMouseInfo() : + InjectedInputMouseInfo(activate_instance()) +{} + +inline InjectedInputPenInfo::InjectedInputPenInfo() : + InjectedInputPenInfo(activate_instance()) +{} + +inline InjectedInputTouchInfo::InjectedInputTouchInfo() : + InjectedInputTouchInfo(activate_instance()) +{} + +inline Windows::UI::Input::Preview::Injection::InputInjector InputInjector::TryCreate() +{ + return get_activation_factory().TryCreate(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::IInjectedInputKeyboardInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::IInjectedInputMouseInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::IInjectedInputPenInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::IInjectedInputTouchInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::IInputInjector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::IInputInjectorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::InjectedInputKeyboardInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::InjectedInputMouseInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::InjectedInputPenInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::InjectedInputTouchInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Preview::Injection::InputInjector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Input.Spatial.h b/10.0.15042.0/winrt/Windows.UI.Input.Spatial.h new file mode 100644 index 000000000..01499ae2b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Input.Spatial.h @@ -0,0 +1,3511 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Perception.Spatial.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Perception.3.h" +#include "internal/Windows.Devices.Haptics.3.h" +#include "internal/Windows.Perception.People.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Input.Spatial.3.h" +#include "Windows.UI.Input.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_RecognitionStarted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RecognitionStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecognitionStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecognitionStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RecognitionEnded(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RecognitionEnded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RecognitionEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RecognitionEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Tapped(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Tapped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Tapped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tapped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HoldStarted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HoldStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HoldStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HoldStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HoldCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HoldCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HoldCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HoldCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HoldCanceled(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HoldCanceled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HoldCanceled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HoldCanceled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationStarted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ManipulationStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ManipulationUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ManipulationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationCanceled(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ManipulationCanceled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationCanceled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationCanceled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationStarted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationCompleted(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationCanceled(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationCanceled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationCanceled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationCanceled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CaptureInteraction(impl::abi_arg_in interaction) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CaptureInteraction(*reinterpret_cast(&interaction)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CancelPendingGestures() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelPendingGestures(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetGestureSettings(Windows::UI::Input::Spatial::SpatialGestureSettings settings, bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().TrySetGestureSettings(settings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GestureSettings(Windows::UI::Input::Spatial::SpatialGestureSettings * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GestureSettings()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(Windows::UI::Input::Spatial::SpatialGestureSettings settings, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Create(settings)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPointerPose(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceState(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceState()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HasTouchpad(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasTouchpad()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasThumbstick(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasThumbstick()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VendorId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VendorId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProductId(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProductId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Version(uint16_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Version()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTouchpadTouched(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTouchpadTouched()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTouchpadPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTouchpadPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsThumbstickPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsThumbstickPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbstickX(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbstickX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbstickY(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbstickY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TouchpadX(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TouchpadX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TouchpadY(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TouchpadY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPointerPose(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Interaction(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Interaction()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_SourceDetected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceDetected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceDetected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceDetected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceLost(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceLost(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceLost(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceUpdated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceUpdated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceUpdated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourcePressed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourcePressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourcePressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourcePressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SourceReleased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SourceReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SourceReleased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceReleased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_InteractionDetected(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().InteractionDetected(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_InteractionDetected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InteractionDetected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDetectedSourcesAtTimestamp(impl::abi_arg_in timeStamp, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDetectedSourcesAtTimestamp(*reinterpret_cast(&timeStamp))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPointingSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPointingSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMenuSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMenuSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGraspSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGraspSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Controller(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Controller()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetStateAtTimestamp(impl::abi_arg_in timestamp, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetStateAtTimestamp(*reinterpret_cast(×tamp))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_State(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PressKind(Windows::UI::Input::Spatial::SpatialInteractionPressKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PressKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Velocity(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Velocity()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Orientation(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetSourceLossMitigationDirection(impl::abi_arg_in coordinateSystem, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetSourceLossMitigationDirection(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceLossRisk(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceLossRisk()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetLocation(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetLocation(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPointerPose(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSelectPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelectPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMenuPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMenuPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGrasped(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGrasped()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectPressedValue(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectPressedValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControllerProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControllerProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetCumulativeDelta(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetCumulativeDelta(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Translation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Translation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPointerPose(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetCumulativeDelta(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetCumulativeDelta(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPointerPose(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNavigatingX(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNavigatingX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNavigatingY(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNavigatingY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNavigatingZ(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNavigatingZ()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForwardDirection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForwardDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpDirection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Timestamp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Head(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Head()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetInteractionSourcePose(impl::abi_arg_in source, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetInteractionSourcePose(*reinterpret_cast(&source))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryGetAtTimestamp(impl::abi_arg_in coordinateSystem, impl::abi_arg_in timestamp, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetAtTimestamp(*reinterpret_cast(&coordinateSystem), *reinterpret_cast(×tamp))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPointerPose(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsGesturePossible(Windows::UI::Input::Spatial::SpatialGestureSettings gesture, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGesturePossible(gesture)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InteractionSourceKind(Windows::UI::Input::Spatial::SpatialInteractionSourceKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionSourceKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryGetPointerPose(impl::abi_arg_in coordinateSystem, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TryGetPointerPose(*reinterpret_cast(&coordinateSystem))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TapCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TapCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Input::Spatial { + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialRecognitionStartedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialRecognitionStartedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialRecognitionStartedEventArgs::TryGetPointerPose(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialRecognitionStartedEventArgs)->abi_TryGetPointerPose(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template bool impl_ISpatialRecognitionStartedEventArgs::IsGesturePossible(Windows::UI::Input::Spatial::SpatialGestureSettings gesture) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialRecognitionStartedEventArgs)->abi_IsGesturePossible(gesture, &value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialRecognitionEndedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialRecognitionEndedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialTappedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialTappedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialTappedEventArgs::TryGetPointerPose(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialTappedEventArgs)->abi_TryGetPointerPose(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template uint32_t impl_ISpatialTappedEventArgs::TapCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISpatialTappedEventArgs)->get_TapCount(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialHoldStartedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialHoldStartedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialHoldStartedEventArgs::TryGetPointerPose(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialHoldStartedEventArgs)->abi_TryGetPointerPose(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialHoldCompletedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialHoldCompletedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialHoldCanceledEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialHoldCanceledEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialManipulationDelta::Translation() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialManipulationDelta)->get_Translation(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialManipulationStartedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialManipulationStartedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialManipulationStartedEventArgs::TryGetPointerPose(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialManipulationStartedEventArgs)->abi_TryGetPointerPose(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialManipulationUpdatedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialManipulationUpdatedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialManipulationDelta impl_ISpatialManipulationUpdatedEventArgs::TryGetCumulativeDelta(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialManipulationDelta value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialManipulationUpdatedEventArgs)->abi_TryGetCumulativeDelta(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialManipulationCompletedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialManipulationCompletedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialManipulationDelta impl_ISpatialManipulationCompletedEventArgs::TryGetCumulativeDelta(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialManipulationDelta value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialManipulationCompletedEventArgs)->abi_TryGetCumulativeDelta(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialManipulationCanceledEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialManipulationCanceledEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialNavigationStartedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationStartedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialNavigationStartedEventArgs::TryGetPointerPose(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialNavigationStartedEventArgs)->abi_TryGetPointerPose(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template bool impl_ISpatialNavigationStartedEventArgs::IsNavigatingX() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationStartedEventArgs)->get_IsNavigatingX(&value)); + return value; +} + +template bool impl_ISpatialNavigationStartedEventArgs::IsNavigatingY() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationStartedEventArgs)->get_IsNavigatingY(&value)); + return value; +} + +template bool impl_ISpatialNavigationStartedEventArgs::IsNavigatingZ() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationStartedEventArgs)->get_IsNavigatingZ(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialNavigationUpdatedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationUpdatedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialNavigationUpdatedEventArgs::NormalizedOffset() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationUpdatedEventArgs)->get_NormalizedOffset(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialNavigationCompletedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationCompletedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialNavigationCompletedEventArgs::NormalizedOffset() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationCompletedEventArgs)->get_NormalizedOffset(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialNavigationCanceledEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialNavigationCanceledEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template event_token impl_ISpatialGestureRecognizer::RecognitionStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_RecognitionStarted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::RecognitionStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_RecognitionStarted, RecognitionStarted(handler)); +} + +template void impl_ISpatialGestureRecognizer::RecognitionStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_RecognitionStarted(token)); +} + +template event_token impl_ISpatialGestureRecognizer::RecognitionEnded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_RecognitionEnded(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::RecognitionEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_RecognitionEnded, RecognitionEnded(handler)); +} + +template void impl_ISpatialGestureRecognizer::RecognitionEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_RecognitionEnded(token)); +} + +template event_token impl_ISpatialGestureRecognizer::Tapped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_Tapped(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::Tapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_Tapped, Tapped(handler)); +} + +template void impl_ISpatialGestureRecognizer::Tapped(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_Tapped(token)); +} + +template event_token impl_ISpatialGestureRecognizer::HoldStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_HoldStarted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::HoldStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_HoldStarted, HoldStarted(handler)); +} + +template void impl_ISpatialGestureRecognizer::HoldStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_HoldStarted(token)); +} + +template event_token impl_ISpatialGestureRecognizer::HoldCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_HoldCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::HoldCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_HoldCompleted, HoldCompleted(handler)); +} + +template void impl_ISpatialGestureRecognizer::HoldCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_HoldCompleted(token)); +} + +template event_token impl_ISpatialGestureRecognizer::HoldCanceled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_HoldCanceled(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::HoldCanceled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_HoldCanceled, HoldCanceled(handler)); +} + +template void impl_ISpatialGestureRecognizer::HoldCanceled(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_HoldCanceled(token)); +} + +template event_token impl_ISpatialGestureRecognizer::ManipulationStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_ManipulationStarted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::ManipulationStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_ManipulationStarted, ManipulationStarted(handler)); +} + +template void impl_ISpatialGestureRecognizer::ManipulationStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_ManipulationStarted(token)); +} + +template event_token impl_ISpatialGestureRecognizer::ManipulationUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_ManipulationUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::ManipulationUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_ManipulationUpdated, ManipulationUpdated(handler)); +} + +template void impl_ISpatialGestureRecognizer::ManipulationUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_ManipulationUpdated(token)); +} + +template event_token impl_ISpatialGestureRecognizer::ManipulationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_ManipulationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::ManipulationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_ManipulationCompleted, ManipulationCompleted(handler)); +} + +template void impl_ISpatialGestureRecognizer::ManipulationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_ManipulationCompleted(token)); +} + +template event_token impl_ISpatialGestureRecognizer::ManipulationCanceled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_ManipulationCanceled(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::ManipulationCanceled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_ManipulationCanceled, ManipulationCanceled(handler)); +} + +template void impl_ISpatialGestureRecognizer::ManipulationCanceled(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_ManipulationCanceled(token)); +} + +template event_token impl_ISpatialGestureRecognizer::NavigationStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_NavigationStarted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::NavigationStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_NavigationStarted, NavigationStarted(handler)); +} + +template void impl_ISpatialGestureRecognizer::NavigationStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_NavigationStarted(token)); +} + +template event_token impl_ISpatialGestureRecognizer::NavigationUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_NavigationUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::NavigationUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_NavigationUpdated, NavigationUpdated(handler)); +} + +template void impl_ISpatialGestureRecognizer::NavigationUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_NavigationUpdated(token)); +} + +template event_token impl_ISpatialGestureRecognizer::NavigationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_NavigationCompleted(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::NavigationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_NavigationCompleted, NavigationCompleted(handler)); +} + +template void impl_ISpatialGestureRecognizer::NavigationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_NavigationCompleted(token)); +} + +template event_token impl_ISpatialGestureRecognizer::NavigationCanceled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->add_NavigationCanceled(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialGestureRecognizer::NavigationCanceled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialGestureRecognizer::remove_NavigationCanceled, NavigationCanceled(handler)); +} + +template void impl_ISpatialGestureRecognizer::NavigationCanceled(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->remove_NavigationCanceled(token)); +} + +template void impl_ISpatialGestureRecognizer::CaptureInteraction(const Windows::UI::Input::Spatial::SpatialInteraction & interaction) const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->abi_CaptureInteraction(get_abi(interaction))); +} + +template void impl_ISpatialGestureRecognizer::CancelPendingGestures() const +{ + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->abi_CancelPendingGestures()); +} + +template bool impl_ISpatialGestureRecognizer::TrySetGestureSettings(Windows::UI::Input::Spatial::SpatialGestureSettings settings) const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->abi_TrySetGestureSettings(settings, &succeeded)); + return succeeded; +} + +template Windows::UI::Input::Spatial::SpatialGestureSettings impl_ISpatialGestureRecognizer::GestureSettings() const +{ + Windows::UI::Input::Spatial::SpatialGestureSettings value {}; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizer)->get_GestureSettings(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialGestureRecognizer impl_ISpatialGestureRecognizerFactory::Create(Windows::UI::Input::Spatial::SpatialGestureSettings settings) const +{ + Windows::UI::Input::Spatial::SpatialGestureRecognizer value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialGestureRecognizerFactory)->abi_Create(settings, put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISpatialInteractionSourceLocation::Position() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceLocation)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISpatialInteractionSourceLocation::Velocity() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceLocation)->get_Velocity(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISpatialInteractionSourceLocation2::Orientation() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceLocation2)->get_Orientation(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialPointerInteractionSourcePose::Position() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialPointerInteractionSourcePose)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialPointerInteractionSourcePose::ForwardDirection() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialPointerInteractionSourcePose)->get_ForwardDirection(put_abi(value))); + return value; +} + +template Windows::Foundation::Numerics::float3 impl_ISpatialPointerInteractionSourcePose::UpDirection() const +{ + Windows::Foundation::Numerics::float3 value {}; + check_hresult(WINRT_SHIM(ISpatialPointerInteractionSourcePose)->get_UpDirection(put_abi(value))); + return value; +} + +template uint32_t impl_ISpatialInteractionSource::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSource)->get_Id(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialInteractionSource::Kind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSource)->get_Kind(&value)); + return value; +} + +template bool impl_ISpatialInteractionSource2::IsPointingSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSource2)->get_IsPointingSupported(&value)); + return value; +} + +template bool impl_ISpatialInteractionSource2::IsMenuSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSource2)->get_IsMenuSupported(&value)); + return value; +} + +template bool impl_ISpatialInteractionSource2::IsGraspSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSource2)->get_IsGraspSupported(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionController impl_ISpatialInteractionSource2::Controller() const +{ + Windows::UI::Input::Spatial::SpatialInteractionController value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSource2)->get_Controller(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceState impl_ISpatialInteractionSource2::TryGetStateAtTimestamp(const Windows::Perception::PerceptionTimestamp & timestamp) const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceState value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSource2)->abi_TryGetStateAtTimestamp(get_abi(timestamp), put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ISpatialInteractionSourceProperties::TryGetSourceLossMitigationDirection(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceProperties)->abi_TryGetSourceLossMitigationDirection(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template double impl_ISpatialInteractionSourceProperties::SourceLossRisk() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceProperties)->get_SourceLossRisk(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceLocation impl_ISpatialInteractionSourceProperties::TryGetLocation(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceLocation value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceProperties)->abi_TryGetLocation(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template bool impl_ISpatialInteractionController::HasTouchpad() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionController)->get_HasTouchpad(&value)); + return value; +} + +template bool impl_ISpatialInteractionController::HasThumbstick() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionController)->get_HasThumbstick(&value)); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_ISpatialInteractionController::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionController)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template uint16_t impl_ISpatialInteractionController::VendorId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionController)->get_VendorId(&value)); + return value; +} + +template uint16_t impl_ISpatialInteractionController::ProductId() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionController)->get_ProductId(&value)); + return value; +} + +template uint16_t impl_ISpatialInteractionController::Version() const +{ + uint16_t value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionController)->get_Version(&value)); + return value; +} + +template Windows::Perception::PerceptionTimestamp impl_ISpatialPointerPose::Timestamp() const +{ + Windows::Perception::PerceptionTimestamp value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialPointerPose)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::Perception::People::HeadPose impl_ISpatialPointerPose::Head() const +{ + Windows::Perception::People::HeadPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialPointerPose)->get_Head(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerInteractionSourcePose impl_ISpatialPointerPose2::TryGetInteractionSourcePose(const Windows::UI::Input::Spatial::SpatialInteractionSource & source) const +{ + Windows::UI::Input::Spatial::SpatialPointerInteractionSourcePose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialPointerPose2)->abi_TryGetInteractionSourcePose(get_abi(source), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialPointerPoseStatics::TryGetAtTimestamp(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::PerceptionTimestamp & timestamp) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialPointerPoseStatics)->abi_TryGetAtTimestamp(get_abi(coordinateSystem), get_abi(timestamp), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSource impl_ISpatialInteractionSourceState::Source() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSource value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState)->get_Source(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceProperties impl_ISpatialInteractionSourceState::Properties() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState)->get_Properties(put_abi(value))); + return value; +} + +template bool impl_ISpatialInteractionSourceState::IsPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState)->get_IsPressed(&value)); + return value; +} + +template Windows::Perception::PerceptionTimestamp impl_ISpatialInteractionSourceState::Timestamp() const +{ + Windows::Perception::PerceptionTimestamp value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState)->get_Timestamp(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialInteractionSourceState::TryGetPointerPose(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState)->abi_TryGetPointerPose(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template bool impl_ISpatialInteractionSourceState2::IsSelectPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState2)->get_IsSelectPressed(&value)); + return value; +} + +template bool impl_ISpatialInteractionSourceState2::IsMenuPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState2)->get_IsMenuPressed(&value)); + return value; +} + +template bool impl_ISpatialInteractionSourceState2::IsGrasped() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState2)->get_IsGrasped(&value)); + return value; +} + +template double impl_ISpatialInteractionSourceState2::SelectPressedValue() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState2)->get_SelectPressedValue(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionControllerProperties impl_ISpatialInteractionSourceState2::ControllerProperties() const +{ + Windows::UI::Input::Spatial::SpatialInteractionControllerProperties value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceState2)->get_ControllerProperties(put_abi(value))); + return value; +} + +template bool impl_ISpatialInteractionControllerProperties::IsTouchpadTouched() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionControllerProperties)->get_IsTouchpadTouched(&value)); + return value; +} + +template bool impl_ISpatialInteractionControllerProperties::IsTouchpadPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionControllerProperties)->get_IsTouchpadPressed(&value)); + return value; +} + +template bool impl_ISpatialInteractionControllerProperties::IsThumbstickPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionControllerProperties)->get_IsThumbstickPressed(&value)); + return value; +} + +template double impl_ISpatialInteractionControllerProperties::ThumbstickX() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionControllerProperties)->get_ThumbstickX(&value)); + return value; +} + +template double impl_ISpatialInteractionControllerProperties::ThumbstickY() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionControllerProperties)->get_ThumbstickY(&value)); + return value; +} + +template double impl_ISpatialInteractionControllerProperties::TouchpadX() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionControllerProperties)->get_TouchpadX(&value)); + return value; +} + +template double impl_ISpatialInteractionControllerProperties::TouchpadY() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionControllerProperties)->get_TouchpadY(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceState impl_ISpatialInteraction::SourceState() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceState value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteraction)->get_SourceState(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceKind impl_ISpatialInteractionDetectedEventArgs::InteractionSourceKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceKind value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionDetectedEventArgs)->get_InteractionSourceKind(&value)); + return value; +} + +template Windows::UI::Input::Spatial::SpatialPointerPose impl_ISpatialInteractionDetectedEventArgs::TryGetPointerPose(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem) const +{ + Windows::UI::Input::Spatial::SpatialPointerPose value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionDetectedEventArgs)->abi_TryGetPointerPose(get_abi(coordinateSystem), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteraction impl_ISpatialInteractionDetectedEventArgs::Interaction() const +{ + Windows::UI::Input::Spatial::SpatialInteraction value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionDetectedEventArgs)->get_Interaction(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSource impl_ISpatialInteractionDetectedEventArgs2::InteractionSource() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSource value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionDetectedEventArgs2)->get_InteractionSource(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionSourceState impl_ISpatialInteractionSourceEventArgs::State() const +{ + Windows::UI::Input::Spatial::SpatialInteractionSourceState value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceEventArgs)->get_State(put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionPressKind impl_ISpatialInteractionSourceEventArgs2::PressKind() const +{ + Windows::UI::Input::Spatial::SpatialInteractionPressKind value {}; + check_hresult(WINRT_SHIM(ISpatialInteractionSourceEventArgs2)->get_PressKind(&value)); + return value; +} + +template event_token impl_ISpatialInteractionManager::SourceDetected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->add_SourceDetected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialInteractionManager::SourceDetected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialInteractionManager::remove_SourceDetected, SourceDetected(handler)); +} + +template void impl_ISpatialInteractionManager::SourceDetected(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->remove_SourceDetected(token)); +} + +template event_token impl_ISpatialInteractionManager::SourceLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->add_SourceLost(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialInteractionManager::SourceLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialInteractionManager::remove_SourceLost, SourceLost(handler)); +} + +template void impl_ISpatialInteractionManager::SourceLost(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->remove_SourceLost(token)); +} + +template event_token impl_ISpatialInteractionManager::SourceUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->add_SourceUpdated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialInteractionManager::SourceUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialInteractionManager::remove_SourceUpdated, SourceUpdated(handler)); +} + +template void impl_ISpatialInteractionManager::SourceUpdated(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->remove_SourceUpdated(token)); +} + +template event_token impl_ISpatialInteractionManager::SourcePressed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->add_SourcePressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialInteractionManager::SourcePressed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialInteractionManager::remove_SourcePressed, SourcePressed(handler)); +} + +template void impl_ISpatialInteractionManager::SourcePressed(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->remove_SourcePressed(token)); +} + +template event_token impl_ISpatialInteractionManager::SourceReleased(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->add_SourceReleased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialInteractionManager::SourceReleased(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialInteractionManager::remove_SourceReleased, SourceReleased(handler)); +} + +template void impl_ISpatialInteractionManager::SourceReleased(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->remove_SourceReleased(token)); +} + +template event_token impl_ISpatialInteractionManager::InteractionDetected(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->add_InteractionDetected(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISpatialInteractionManager::InteractionDetected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::Spatial::ISpatialInteractionManager::remove_InteractionDetected, InteractionDetected(handler)); +} + +template void impl_ISpatialInteractionManager::InteractionDetected(event_token token) const +{ + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->remove_InteractionDetected(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_ISpatialInteractionManager::GetDetectedSourcesAtTimestamp(const Windows::Perception::PerceptionTimestamp & timeStamp) const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ISpatialInteractionManager)->abi_GetDetectedSourcesAtTimestamp(get_abi(timeStamp), put_abi(value))); + return value; +} + +template Windows::UI::Input::Spatial::SpatialInteractionManager impl_ISpatialInteractionManagerStatics::GetForCurrentView() const +{ + Windows::UI::Input::Spatial::SpatialInteractionManager value { nullptr }; + check_hresult(WINRT_SHIM(ISpatialInteractionManagerStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +inline SpatialGestureRecognizer::SpatialGestureRecognizer(Windows::UI::Input::Spatial::SpatialGestureSettings settings) : + SpatialGestureRecognizer(get_activation_factory().Create(settings)) +{} + +inline Windows::UI::Input::Spatial::SpatialInteractionManager SpatialInteractionManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::UI::Input::Spatial::SpatialPointerPose SpatialPointerPose::TryGetAtTimestamp(const Windows::Perception::Spatial::SpatialCoordinateSystem & coordinateSystem, const Windows::Perception::PerceptionTimestamp & timestamp) +{ + return get_activation_factory().TryGetAtTimestamp(coordinateSystem, timestamp); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialGestureRecognizerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialHoldCanceledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialHoldCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialHoldStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteraction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionControllerProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionDetectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionDetectedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSource2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceLocation2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialInteractionSourceState2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialManipulationCanceledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialManipulationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialManipulationDelta & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialManipulationStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialManipulationUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialNavigationCanceledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialNavigationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialNavigationStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialNavigationUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialPointerInteractionSourcePose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialPointerPose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialPointerPose2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialPointerPoseStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialRecognitionEndedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialRecognitionStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::ISpatialTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialGestureRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialHoldCanceledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialHoldCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialHoldStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteraction & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionControllerProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionDetectedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceLocation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialInteractionSourceState & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialManipulationCanceledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialManipulationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialManipulationDelta & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialManipulationStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialManipulationUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialNavigationCanceledEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialNavigationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialNavigationStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialNavigationUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialPointerInteractionSourcePose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialPointerPose & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialRecognitionEndedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialRecognitionStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::Spatial::SpatialTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Input.h b/10.0.15042.0/winrt/Windows.UI.Input.h new file mode 100644 index 000000000..e33b32f1b --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Input.h @@ -0,0 +1,5920 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Input.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Devices.Haptics.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.UI.Input.3.h" +#include "Windows.UI.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CrossSlidingState(Windows::UI::Input::CrossSlidingState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CrossSlidingState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DraggingState(Windows::UI::Input::DraggingState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DraggingState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Starting(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Starting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Starting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Starting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Completed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Completed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Completed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Completed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Canceled(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Canceled(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Canceled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Canceled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::UI::Input::EdgeGestureKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GestureSettings(Windows::UI::Input::GestureSettings * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GestureSettings()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GestureSettings(Windows::UI::Input::GestureSettings value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GestureSettings(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInertial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInertial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowGestureFeedback(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowGestureFeedback()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowGestureFeedback(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowGestureFeedback(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PivotCenter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PivotCenter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PivotCenter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PivotCenter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PivotRadius(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PivotRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PivotRadius(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PivotRadius(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InertiaTranslationDeceleration(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InertiaTranslationDeceleration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InertiaTranslationDeceleration(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InertiaTranslationDeceleration(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InertiaRotationDeceleration(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InertiaRotationDeceleration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InertiaRotationDeceleration(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InertiaRotationDeceleration(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InertiaExpansionDeceleration(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InertiaExpansionDeceleration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InertiaExpansionDeceleration(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InertiaExpansionDeceleration(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InertiaTranslationDisplacement(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InertiaTranslationDisplacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InertiaTranslationDisplacement(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InertiaTranslationDisplacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InertiaRotationAngle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InertiaRotationAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InertiaRotationAngle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InertiaRotationAngle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InertiaExpansion(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InertiaExpansion()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InertiaExpansion(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InertiaExpansion(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ManipulationExact(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ManipulationExact()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ManipulationExact(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationExact(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CrossSlideThresholds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CrossSlideThresholds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CrossSlideThresholds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CrossSlideThresholds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CrossSlideHorizontally(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CrossSlideHorizontally()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CrossSlideHorizontally(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CrossSlideHorizontally(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CrossSlideExact(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CrossSlideExact()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CrossSlideExact(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CrossSlideExact(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoProcessInertia(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoProcessInertia()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoProcessInertia(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoProcessInertia(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MouseWheelParameters(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MouseWheelParameters()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanBeDoubleTap(impl::abi_arg_in value, bool * canBeDoubleTap) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *canBeDoubleTap = detach_abi(this->shim().CanBeDoubleTap(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessDownEvent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessDownEvent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessMoveEvents(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessMoveEvents(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessUpEvent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessUpEvent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessMouseWheelEvent(impl::abi_arg_in value, bool isShiftKeyDown, bool isControlKeyDown) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessMouseWheelEvent(*reinterpret_cast(&value), isShiftKeyDown, isControlKeyDown); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProcessInertia() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProcessInertia(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompleteGesture() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompleteGesture(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Tapped(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().Tapped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Tapped(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tapped(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RightTapped(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().RightTapped(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RightTapped(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightTapped(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Holding(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().Holding(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Holding(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Holding(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Dragging(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().Dragging(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Dragging(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Dragging(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationStarted(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ManipulationStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationStarted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationStarted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationUpdated(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ManipulationUpdated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationUpdated(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationUpdated(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationInertiaStarting(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ManipulationInertiaStarting(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationInertiaStarting(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationInertiaStarting(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ManipulationCompleted(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().ManipulationCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ManipulationCompleted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ManipulationCompleted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CrossSliding(impl::abi_arg_in> handler, event_token * pCookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pCookie = detach_abi(this->shim().CrossSliding(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CrossSliding(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CrossSliding(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HoldingState(Windows::UI::Input::HoldingState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HoldingState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsInterceptionEnabledWhenInForeground(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInterceptionEnabledWhenInForeground()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsInterceptionEnabledWhenInForeground(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsInterceptionEnabledWhenInForeground(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_KeyDown(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().KeyDown(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_KeyDown(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyDown(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_KeyUp(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().KeyUp(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_KeyUp(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeyUp(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out keyboardDeliverySettings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *keyboardDeliverySettings = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *keyboardDeliverySettings = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cumulative(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cumulative()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Velocities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Velocities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Delta(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cumulative(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cumulative()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Velocities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Velocities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cumulative(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cumulative()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Delta(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cumulative(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cumulative()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Velocities(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Velocities()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CharTranslation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharTranslation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharTranslation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharTranslation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeltaScale(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeltaScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeltaScale(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeltaScale(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeltaRotationAngle(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeltaRotationAngle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DeltaRotationAngle(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeltaRotationAngle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageTranslation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageTranslation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PageTranslation(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageTranslation(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDevice(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDevice()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RawPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RawPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FrameId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Timestamp(uint64_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Timestamp()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInContact(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInContact()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Properties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Properties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Pressure(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pressure()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInverted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInverted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEraser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEraser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XTilt(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XTilt()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YTilt(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YTilt()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Twist(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Twist()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContactRectRaw(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContactRectRaw()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TouchConfidence(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TouchConfidence()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLeftButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLeftButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRightButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRightButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMiddleButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMiddleButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MouseWheelDelta(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MouseWheelDelta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHorizontalMouseWheel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHorizontalMouseWheel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPrimary(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrimary()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInRange(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInRange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBarrelButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBarrelButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsXButton1Pressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsXButton1Pressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsXButton2Pressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsXButton2Pressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerUpdateKind(Windows::UI::Input::PointerUpdateKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerUpdateKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HasUsage(uint32_t usagePage, uint32_t usageId, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasUsage(usagePage, usageId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetUsageValue(uint32_t usagePage, uint32_t usageId, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetUsageValue(usagePage, usageId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ZDistance(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZDistance()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCurrentPoint(uint32_t pointerId, impl::abi_arg_out pointerPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pointerPoint = detach_abi(this->shim().GetCurrentPoint(pointerId)); + return S_OK; + } + catch (...) + { + *pointerPoint = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIntermediatePoints(uint32_t pointerId, impl::abi_arg_out> pointerPoints) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pointerPoints = detach_abi(this->shim().GetIntermediatePoints(pointerId)); + return S_OK; + } + catch (...) + { + *pointerPoints = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCurrentPointTransformed(uint32_t pointerId, impl::abi_arg_in transform, impl::abi_arg_out pointerPoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pointerPoint = detach_abi(this->shim().GetCurrentPoint(pointerId, *reinterpret_cast(&transform))); + return S_OK; + } + catch (...) + { + *pointerPoint = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIntermediatePointsTransformed(uint32_t pointerId, impl::abi_arg_in transform, impl::abi_arg_out> pointerPoints) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pointerPoints = detach_abi(this->shim().GetIntermediatePoints(pointerId, *reinterpret_cast(&transform))); + return S_OK; + } + catch (...) + { + *pointerPoints = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Inverse(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Inverse()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryTransform(impl::abi_arg_in inPoint, impl::abi_arg_out outPoint, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryTransform(*reinterpret_cast(&inPoint), *outPoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TransformBounds(impl::abi_arg_in rect, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TransformBounds(*reinterpret_cast(&rect))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_IsContactFeedbackEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsContactFeedbackEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsContactFeedbackEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContactFeedbackEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsBarrelButtonFeedbackEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsBarrelButtonFeedbackEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsBarrelButtonFeedbackEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBarrelButtonFeedbackEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out visualizationSettings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *visualizationSettings = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *visualizationSettings = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Menu(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Menu()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotationResolutionInDegrees(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationResolutionInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotationResolutionInDegrees(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationResolutionInDegrees(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UseAutomaticHapticFeedback(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseAutomaticHapticFeedback()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UseAutomaticHapticFeedback(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UseAutomaticHapticFeedback(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ScreenContactStarted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ScreenContactStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ScreenContactStarted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScreenContactStarted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ScreenContactEnded(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ScreenContactEnded(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ScreenContactEnded(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScreenContactEnded(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ScreenContactContinued(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ScreenContactContinued(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ScreenContactContinued(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScreenContactContinued(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ControlLost(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ControlLost(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ControlLost(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ControlLost(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RotationChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RotationChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RotationChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotationChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ButtonClicked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ButtonClicked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ButtonClicked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonClicked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ControlAcquired(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ControlAcquired(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ControlAcquired(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ControlAcquired(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ButtonPressed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ButtonPressed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ButtonPressed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonPressed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ButtonHolding(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ButtonHolding(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ButtonHolding(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonHolding(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ButtonReleased(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ButtonReleased(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ButtonReleased(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonReleased(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetDefaultMenuItems(impl::abi_arg_in> buttons) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDefaultMenuItems(*reinterpret_cast *>(&buttons)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ResetToDefaultMenuItems() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResetToDefaultMenuItems(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySelectDefaultMenuItem(Windows::UI::Input::RadialControllerSystemMenuItemKind type, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySelectDefaultMenuItem(type)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ActiveControllerWhenMenuIsSuppressed(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActiveControllerWhenMenuIsSuppressed(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActiveControllerWhenMenuIsSuppressed(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActiveControllerWhenMenuIsSuppressed()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMenuSuppressed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMenuSuppressed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMenuSuppressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMenuSuppressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out configuration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *configuration = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *configuration = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSelectedMenuItem(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetSelectedMenuItem()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectMenuItem(impl::abi_arg_in menuItem) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectMenuItem(*reinterpret_cast(&menuItem)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySelectPreviouslySelectedMenuItem(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TrySelectPreviouslySelectedMenuItem()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Invoked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Invoked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Invoked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Invoked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromIcon(impl::abi_arg_in displayText, impl::abi_arg_in icon, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromIcon(*reinterpret_cast(&displayText), *reinterpret_cast(&icon))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromKnownIcon(impl::abi_arg_in displayText, Windows::UI::Input::RadialControllerMenuKnownIcon value, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromKnownIcon(*reinterpret_cast(&displayText), value)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromFontGlyph(impl::abi_arg_in displayText, impl::abi_arg_in glyph, impl::abi_arg_in fontFamily, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromFontGlyph(*reinterpret_cast(&displayText), *reinterpret_cast(&glyph), *reinterpret_cast(&fontFamily))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromFontGlyphWithUri(impl::abi_arg_in displayText, impl::abi_arg_in glyph, impl::abi_arg_in fontFamily, impl::abi_arg_in fontUri, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateFromFontGlyph(*reinterpret_cast(&displayText), *reinterpret_cast(&glyph), *reinterpret_cast(&fontFamily), *reinterpret_cast(&fontUri))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RotationDeltaInDegrees(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotationDeltaInDegrees()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Bounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Contact(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Contact()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsButtonPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsButtonPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SimpleHapticsController(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SimpleHapticsController()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateForCurrentView(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateForCurrentView()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PointerDeviceType(Windows::Devices::Input::PointerDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TapCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TapCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Input { + +template Windows::UI::Input::EdgeGestureKind impl_IEdgeGestureEventArgs::Kind() const +{ + Windows::UI::Input::EdgeGestureKind value {}; + check_hresult(WINRT_SHIM(IEdgeGestureEventArgs)->get_Kind(&value)); + return value; +} + +template Windows::UI::Input::EdgeGesture impl_IEdgeGestureStatics::GetForCurrentView() const +{ + Windows::UI::Input::EdgeGesture current { nullptr }; + check_hresult(WINRT_SHIM(IEdgeGestureStatics)->abi_GetForCurrentView(put_abi(current))); + return current; +} + +template event_token impl_IEdgeGesture::Starting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEdgeGesture)->add_Starting(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEdgeGesture::Starting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IEdgeGesture::remove_Starting, Starting(handler)); +} + +template void impl_IEdgeGesture::Starting(event_token token) const +{ + check_hresult(WINRT_SHIM(IEdgeGesture)->remove_Starting(token)); +} + +template event_token impl_IEdgeGesture::Completed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEdgeGesture)->add_Completed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEdgeGesture::Completed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IEdgeGesture::remove_Completed, Completed(handler)); +} + +template void impl_IEdgeGesture::Completed(event_token token) const +{ + check_hresult(WINRT_SHIM(IEdgeGesture)->remove_Completed(token)); +} + +template event_token impl_IEdgeGesture::Canceled(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IEdgeGesture)->add_Canceled(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IEdgeGesture::Canceled(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IEdgeGesture::remove_Canceled, Canceled(handler)); +} + +template void impl_IEdgeGesture::Canceled(event_token token) const +{ + check_hresult(WINRT_SHIM(IEdgeGesture)->remove_Canceled(token)); +} + +template bool impl_IKeyboardDeliveryInterceptor::IsInterceptionEnabledWhenInForeground() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IKeyboardDeliveryInterceptor)->get_IsInterceptionEnabledWhenInForeground(&value)); + return value; +} + +template void impl_IKeyboardDeliveryInterceptor::IsInterceptionEnabledWhenInForeground(bool value) const +{ + check_hresult(WINRT_SHIM(IKeyboardDeliveryInterceptor)->put_IsInterceptionEnabledWhenInForeground(value)); +} + +template event_token impl_IKeyboardDeliveryInterceptor::KeyDown(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IKeyboardDeliveryInterceptor)->add_KeyDown(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IKeyboardDeliveryInterceptor::KeyDown(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IKeyboardDeliveryInterceptor::remove_KeyDown, KeyDown(handler)); +} + +template void impl_IKeyboardDeliveryInterceptor::KeyDown(event_token token) const +{ + check_hresult(WINRT_SHIM(IKeyboardDeliveryInterceptor)->remove_KeyDown(token)); +} + +template event_token impl_IKeyboardDeliveryInterceptor::KeyUp(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IKeyboardDeliveryInterceptor)->add_KeyUp(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IKeyboardDeliveryInterceptor::KeyUp(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IKeyboardDeliveryInterceptor::remove_KeyUp, KeyUp(handler)); +} + +template void impl_IKeyboardDeliveryInterceptor::KeyUp(event_token token) const +{ + check_hresult(WINRT_SHIM(IKeyboardDeliveryInterceptor)->remove_KeyUp(token)); +} + +template Windows::UI::Input::KeyboardDeliveryInterceptor impl_IKeyboardDeliveryInterceptorStatics::GetForCurrentView() const +{ + Windows::UI::Input::KeyboardDeliveryInterceptor keyboardDeliverySettings { nullptr }; + check_hresult(WINRT_SHIM(IKeyboardDeliveryInterceptorStatics)->abi_GetForCurrentView(put_abi(keyboardDeliverySettings))); + return keyboardDeliverySettings; +} + +template Windows::Devices::Input::PointerDeviceType impl_ITappedEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(ITappedEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_ITappedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(ITappedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template uint32_t impl_ITappedEventArgs::TapCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ITappedEventArgs)->get_TapCount(&value)); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_IRightTappedEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IRightTappedEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_IRightTappedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IRightTappedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_IHoldingEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IHoldingEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_IHoldingEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IHoldingEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Input::HoldingState impl_IHoldingEventArgs::HoldingState() const +{ + Windows::UI::Input::HoldingState value {}; + check_hresult(WINRT_SHIM(IHoldingEventArgs)->get_HoldingState(&value)); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_IDraggingEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IDraggingEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_IDraggingEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IDraggingEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Input::DraggingState impl_IDraggingEventArgs::DraggingState() const +{ + Windows::UI::Input::DraggingState value {}; + check_hresult(WINRT_SHIM(IDraggingEventArgs)->get_DraggingState(&value)); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_IManipulationStartedEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IManipulationStartedEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_IManipulationStartedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IManipulationStartedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationDelta impl_IManipulationStartedEventArgs::Cumulative() const +{ + Windows::UI::Input::ManipulationDelta value {}; + check_hresult(WINRT_SHIM(IManipulationStartedEventArgs)->get_Cumulative(put_abi(value))); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_IManipulationUpdatedEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IManipulationUpdatedEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_IManipulationUpdatedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IManipulationUpdatedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationDelta impl_IManipulationUpdatedEventArgs::Delta() const +{ + Windows::UI::Input::ManipulationDelta value {}; + check_hresult(WINRT_SHIM(IManipulationUpdatedEventArgs)->get_Delta(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationDelta impl_IManipulationUpdatedEventArgs::Cumulative() const +{ + Windows::UI::Input::ManipulationDelta value {}; + check_hresult(WINRT_SHIM(IManipulationUpdatedEventArgs)->get_Cumulative(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationVelocities impl_IManipulationUpdatedEventArgs::Velocities() const +{ + Windows::UI::Input::ManipulationVelocities value {}; + check_hresult(WINRT_SHIM(IManipulationUpdatedEventArgs)->get_Velocities(put_abi(value))); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_IManipulationInertiaStartingEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IManipulationInertiaStartingEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_IManipulationInertiaStartingEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IManipulationInertiaStartingEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationDelta impl_IManipulationInertiaStartingEventArgs::Delta() const +{ + Windows::UI::Input::ManipulationDelta value {}; + check_hresult(WINRT_SHIM(IManipulationInertiaStartingEventArgs)->get_Delta(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationDelta impl_IManipulationInertiaStartingEventArgs::Cumulative() const +{ + Windows::UI::Input::ManipulationDelta value {}; + check_hresult(WINRT_SHIM(IManipulationInertiaStartingEventArgs)->get_Cumulative(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationVelocities impl_IManipulationInertiaStartingEventArgs::Velocities() const +{ + Windows::UI::Input::ManipulationVelocities value {}; + check_hresult(WINRT_SHIM(IManipulationInertiaStartingEventArgs)->get_Velocities(put_abi(value))); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_IManipulationCompletedEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(IManipulationCompletedEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_IManipulationCompletedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IManipulationCompletedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationDelta impl_IManipulationCompletedEventArgs::Cumulative() const +{ + Windows::UI::Input::ManipulationDelta value {}; + check_hresult(WINRT_SHIM(IManipulationCompletedEventArgs)->get_Cumulative(put_abi(value))); + return value; +} + +template Windows::UI::Input::ManipulationVelocities impl_IManipulationCompletedEventArgs::Velocities() const +{ + Windows::UI::Input::ManipulationVelocities value {}; + check_hresult(WINRT_SHIM(IManipulationCompletedEventArgs)->get_Velocities(put_abi(value))); + return value; +} + +template Windows::Devices::Input::PointerDeviceType impl_ICrossSlidingEventArgs::PointerDeviceType() const +{ + Windows::Devices::Input::PointerDeviceType value {}; + check_hresult(WINRT_SHIM(ICrossSlidingEventArgs)->get_PointerDeviceType(&value)); + return value; +} + +template Windows::Foundation::Point impl_ICrossSlidingEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(ICrossSlidingEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Input::CrossSlidingState impl_ICrossSlidingEventArgs::CrossSlidingState() const +{ + Windows::UI::Input::CrossSlidingState value {}; + check_hresult(WINRT_SHIM(ICrossSlidingEventArgs)->get_CrossSlidingState(&value)); + return value; +} + +template Windows::Foundation::Point impl_IMouseWheelParameters::CharTranslation() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMouseWheelParameters)->get_CharTranslation(put_abi(value))); + return value; +} + +template void impl_IMouseWheelParameters::CharTranslation(const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(IMouseWheelParameters)->put_CharTranslation(get_abi(value))); +} + +template float impl_IMouseWheelParameters::DeltaScale() const +{ + float value {}; + check_hresult(WINRT_SHIM(IMouseWheelParameters)->get_DeltaScale(&value)); + return value; +} + +template void impl_IMouseWheelParameters::DeltaScale(float value) const +{ + check_hresult(WINRT_SHIM(IMouseWheelParameters)->put_DeltaScale(value)); +} + +template float impl_IMouseWheelParameters::DeltaRotationAngle() const +{ + float value {}; + check_hresult(WINRT_SHIM(IMouseWheelParameters)->get_DeltaRotationAngle(&value)); + return value; +} + +template void impl_IMouseWheelParameters::DeltaRotationAngle(float value) const +{ + check_hresult(WINRT_SHIM(IMouseWheelParameters)->put_DeltaRotationAngle(value)); +} + +template Windows::Foundation::Point impl_IMouseWheelParameters::PageTranslation() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMouseWheelParameters)->get_PageTranslation(put_abi(value))); + return value; +} + +template void impl_IMouseWheelParameters::PageTranslation(const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(IMouseWheelParameters)->put_PageTranslation(get_abi(value))); +} + +template Windows::UI::Input::GestureSettings impl_IGestureRecognizer::GestureSettings() const +{ + Windows::UI::Input::GestureSettings value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_GestureSettings(&value)); + return value; +} + +template void impl_IGestureRecognizer::GestureSettings(Windows::UI::Input::GestureSettings value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_GestureSettings(value)); +} + +template bool impl_IGestureRecognizer::IsInertial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_IsInertial(&value)); + return value; +} + +template bool impl_IGestureRecognizer::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_IsActive(&value)); + return value; +} + +template bool impl_IGestureRecognizer::ShowGestureFeedback() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_ShowGestureFeedback(&value)); + return value; +} + +template void impl_IGestureRecognizer::ShowGestureFeedback(bool value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_ShowGestureFeedback(value)); +} + +template Windows::Foundation::Point impl_IGestureRecognizer::PivotCenter() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_PivotCenter(put_abi(value))); + return value; +} + +template void impl_IGestureRecognizer::PivotCenter(const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_PivotCenter(get_abi(value))); +} + +template float impl_IGestureRecognizer::PivotRadius() const +{ + float value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_PivotRadius(&value)); + return value; +} + +template void impl_IGestureRecognizer::PivotRadius(float value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_PivotRadius(value)); +} + +template float impl_IGestureRecognizer::InertiaTranslationDeceleration() const +{ + float value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_InertiaTranslationDeceleration(&value)); + return value; +} + +template void impl_IGestureRecognizer::InertiaTranslationDeceleration(float value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_InertiaTranslationDeceleration(value)); +} + +template float impl_IGestureRecognizer::InertiaRotationDeceleration() const +{ + float value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_InertiaRotationDeceleration(&value)); + return value; +} + +template void impl_IGestureRecognizer::InertiaRotationDeceleration(float value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_InertiaRotationDeceleration(value)); +} + +template float impl_IGestureRecognizer::InertiaExpansionDeceleration() const +{ + float value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_InertiaExpansionDeceleration(&value)); + return value; +} + +template void impl_IGestureRecognizer::InertiaExpansionDeceleration(float value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_InertiaExpansionDeceleration(value)); +} + +template float impl_IGestureRecognizer::InertiaTranslationDisplacement() const +{ + float value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_InertiaTranslationDisplacement(&value)); + return value; +} + +template void impl_IGestureRecognizer::InertiaTranslationDisplacement(float value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_InertiaTranslationDisplacement(value)); +} + +template float impl_IGestureRecognizer::InertiaRotationAngle() const +{ + float value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_InertiaRotationAngle(&value)); + return value; +} + +template void impl_IGestureRecognizer::InertiaRotationAngle(float value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_InertiaRotationAngle(value)); +} + +template float impl_IGestureRecognizer::InertiaExpansion() const +{ + float value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_InertiaExpansion(&value)); + return value; +} + +template void impl_IGestureRecognizer::InertiaExpansion(float value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_InertiaExpansion(value)); +} + +template bool impl_IGestureRecognizer::ManipulationExact() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_ManipulationExact(&value)); + return value; +} + +template void impl_IGestureRecognizer::ManipulationExact(bool value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_ManipulationExact(value)); +} + +template Windows::UI::Input::CrossSlideThresholds impl_IGestureRecognizer::CrossSlideThresholds() const +{ + Windows::UI::Input::CrossSlideThresholds value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_CrossSlideThresholds(put_abi(value))); + return value; +} + +template void impl_IGestureRecognizer::CrossSlideThresholds(const Windows::UI::Input::CrossSlideThresholds & value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_CrossSlideThresholds(get_abi(value))); +} + +template bool impl_IGestureRecognizer::CrossSlideHorizontally() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_CrossSlideHorizontally(&value)); + return value; +} + +template void impl_IGestureRecognizer::CrossSlideHorizontally(bool value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_CrossSlideHorizontally(value)); +} + +template bool impl_IGestureRecognizer::CrossSlideExact() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_CrossSlideExact(&value)); + return value; +} + +template void impl_IGestureRecognizer::CrossSlideExact(bool value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_CrossSlideExact(value)); +} + +template bool impl_IGestureRecognizer::AutoProcessInertia() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_AutoProcessInertia(&value)); + return value; +} + +template void impl_IGestureRecognizer::AutoProcessInertia(bool value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->put_AutoProcessInertia(value)); +} + +template Windows::UI::Input::MouseWheelParameters impl_IGestureRecognizer::MouseWheelParameters() const +{ + Windows::UI::Input::MouseWheelParameters value { nullptr }; + check_hresult(WINRT_SHIM(IGestureRecognizer)->get_MouseWheelParameters(put_abi(value))); + return value; +} + +template bool impl_IGestureRecognizer::CanBeDoubleTap(const Windows::UI::Input::PointerPoint & value) const +{ + bool canBeDoubleTap {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->abi_CanBeDoubleTap(get_abi(value), &canBeDoubleTap)); + return canBeDoubleTap; +} + +template void impl_IGestureRecognizer::ProcessDownEvent(const Windows::UI::Input::PointerPoint & value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->abi_ProcessDownEvent(get_abi(value))); +} + +template void impl_IGestureRecognizer::ProcessMoveEvents(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->abi_ProcessMoveEvents(get_abi(value))); +} + +template void impl_IGestureRecognizer::ProcessUpEvent(const Windows::UI::Input::PointerPoint & value) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->abi_ProcessUpEvent(get_abi(value))); +} + +template void impl_IGestureRecognizer::ProcessMouseWheelEvent(const Windows::UI::Input::PointerPoint & value, bool isShiftKeyDown, bool isControlKeyDown) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->abi_ProcessMouseWheelEvent(get_abi(value), isShiftKeyDown, isControlKeyDown)); +} + +template void impl_IGestureRecognizer::ProcessInertia() const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->abi_ProcessInertia()); +} + +template void impl_IGestureRecognizer::CompleteGesture() const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->abi_CompleteGesture()); +} + +template event_token impl_IGestureRecognizer::Tapped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_Tapped(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::Tapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_Tapped, Tapped(handler)); +} + +template void impl_IGestureRecognizer::Tapped(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_Tapped(cookie)); +} + +template event_token impl_IGestureRecognizer::RightTapped(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_RightTapped(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::RightTapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_RightTapped, RightTapped(handler)); +} + +template void impl_IGestureRecognizer::RightTapped(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_RightTapped(cookie)); +} + +template event_token impl_IGestureRecognizer::Holding(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_Holding(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::Holding(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_Holding, Holding(handler)); +} + +template void impl_IGestureRecognizer::Holding(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_Holding(cookie)); +} + +template event_token impl_IGestureRecognizer::Dragging(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_Dragging(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::Dragging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_Dragging, Dragging(handler)); +} + +template void impl_IGestureRecognizer::Dragging(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_Dragging(cookie)); +} + +template event_token impl_IGestureRecognizer::ManipulationStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_ManipulationStarted(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::ManipulationStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_ManipulationStarted, ManipulationStarted(handler)); +} + +template void impl_IGestureRecognizer::ManipulationStarted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_ManipulationStarted(cookie)); +} + +template event_token impl_IGestureRecognizer::ManipulationUpdated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_ManipulationUpdated(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::ManipulationUpdated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_ManipulationUpdated, ManipulationUpdated(handler)); +} + +template void impl_IGestureRecognizer::ManipulationUpdated(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_ManipulationUpdated(cookie)); +} + +template event_token impl_IGestureRecognizer::ManipulationInertiaStarting(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_ManipulationInertiaStarting(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::ManipulationInertiaStarting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_ManipulationInertiaStarting, ManipulationInertiaStarting(handler)); +} + +template void impl_IGestureRecognizer::ManipulationInertiaStarting(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_ManipulationInertiaStarting(cookie)); +} + +template event_token impl_IGestureRecognizer::ManipulationCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_ManipulationCompleted(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::ManipulationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_ManipulationCompleted, ManipulationCompleted(handler)); +} + +template void impl_IGestureRecognizer::ManipulationCompleted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_ManipulationCompleted(cookie)); +} + +template event_token impl_IGestureRecognizer::CrossSliding(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token pCookie {}; + check_hresult(WINRT_SHIM(IGestureRecognizer)->add_CrossSliding(get_abi(handler), &pCookie)); + return pCookie; +} + +template event_revoker impl_IGestureRecognizer::CrossSliding(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IGestureRecognizer::remove_CrossSliding, CrossSliding(handler)); +} + +template void impl_IGestureRecognizer::CrossSliding(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IGestureRecognizer)->remove_CrossSliding(cookie)); +} + +template Windows::UI::Input::PointerPoint impl_IPointerPointStatics::GetCurrentPoint(uint32_t pointerId) const +{ + Windows::UI::Input::PointerPoint pointerPoint { nullptr }; + check_hresult(WINRT_SHIM(IPointerPointStatics)->abi_GetCurrentPoint(pointerId, put_abi(pointerPoint))); + return pointerPoint; +} + +template Windows::Foundation::Collections::IVector impl_IPointerPointStatics::GetIntermediatePoints(uint32_t pointerId) const +{ + Windows::Foundation::Collections::IVector pointerPoints; + check_hresult(WINRT_SHIM(IPointerPointStatics)->abi_GetIntermediatePoints(pointerId, put_abi(pointerPoints))); + return pointerPoints; +} + +template Windows::UI::Input::PointerPoint impl_IPointerPointStatics::GetCurrentPoint(uint32_t pointerId, const Windows::UI::Input::IPointerPointTransform & transform) const +{ + Windows::UI::Input::PointerPoint pointerPoint { nullptr }; + check_hresult(WINRT_SHIM(IPointerPointStatics)->abi_GetCurrentPointTransformed(pointerId, get_abi(transform), put_abi(pointerPoint))); + return pointerPoint; +} + +template Windows::Foundation::Collections::IVector impl_IPointerPointStatics::GetIntermediatePoints(uint32_t pointerId, const Windows::UI::Input::IPointerPointTransform & transform) const +{ + Windows::Foundation::Collections::IVector pointerPoints; + check_hresult(WINRT_SHIM(IPointerPointStatics)->abi_GetIntermediatePointsTransformed(pointerId, get_abi(transform), put_abi(pointerPoints))); + return pointerPoints; +} + +template Windows::UI::Input::IPointerPointTransform impl_IPointerPointTransform::Inverse() const +{ + Windows::UI::Input::IPointerPointTransform value; + check_hresult(WINRT_SHIM(IPointerPointTransform)->get_Inverse(put_abi(value))); + return value; +} + +template bool impl_IPointerPointTransform::TryTransform(const Windows::Foundation::Point & inPoint, Windows::Foundation::Point & outPoint) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IPointerPointTransform)->abi_TryTransform(get_abi(inPoint), put_abi(outPoint), &returnValue)); + return returnValue; +} + +template Windows::Foundation::Rect impl_IPointerPointTransform::TransformBounds(const Windows::Foundation::Rect & rect) const +{ + Windows::Foundation::Rect returnValue {}; + check_hresult(WINRT_SHIM(IPointerPointTransform)->abi_TransformBounds(get_abi(rect), put_abi(returnValue))); + return returnValue; +} + +template Windows::Devices::Input::PointerDevice impl_IPointerPoint::PointerDevice() const +{ + Windows::Devices::Input::PointerDevice value { nullptr }; + check_hresult(WINRT_SHIM(IPointerPoint)->get_PointerDevice(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IPointerPoint::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IPointerPoint)->get_Position(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IPointerPoint::RawPosition() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IPointerPoint)->get_RawPosition(put_abi(value))); + return value; +} + +template uint32_t impl_IPointerPoint::PointerId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPointerPoint)->get_PointerId(&value)); + return value; +} + +template uint32_t impl_IPointerPoint::FrameId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IPointerPoint)->get_FrameId(&value)); + return value; +} + +template uint64_t impl_IPointerPoint::Timestamp() const +{ + uint64_t value {}; + check_hresult(WINRT_SHIM(IPointerPoint)->get_Timestamp(&value)); + return value; +} + +template bool impl_IPointerPoint::IsInContact() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPoint)->get_IsInContact(&value)); + return value; +} + +template Windows::UI::Input::PointerPointProperties impl_IPointerPoint::Properties() const +{ + Windows::UI::Input::PointerPointProperties value { nullptr }; + check_hresult(WINRT_SHIM(IPointerPoint)->get_Properties(put_abi(value))); + return value; +} + +template float impl_IPointerPointProperties::Pressure() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_Pressure(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsInverted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsInverted(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsEraser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsEraser(&value)); + return value; +} + +template float impl_IPointerPointProperties::Orientation() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_Orientation(&value)); + return value; +} + +template float impl_IPointerPointProperties::XTilt() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_XTilt(&value)); + return value; +} + +template float impl_IPointerPointProperties::YTilt() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_YTilt(&value)); + return value; +} + +template float impl_IPointerPointProperties::Twist() const +{ + float value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_Twist(&value)); + return value; +} + +template Windows::Foundation::Rect impl_IPointerPointProperties::ContactRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_ContactRect(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IPointerPointProperties::ContactRectRaw() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_ContactRectRaw(put_abi(value))); + return value; +} + +template bool impl_IPointerPointProperties::TouchConfidence() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_TouchConfidence(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsLeftButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsLeftButtonPressed(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsRightButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsRightButtonPressed(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsMiddleButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsMiddleButtonPressed(&value)); + return value; +} + +template int32_t impl_IPointerPointProperties::MouseWheelDelta() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_MouseWheelDelta(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsHorizontalMouseWheel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsHorizontalMouseWheel(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsPrimary() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsPrimary(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsInRange() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsInRange(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsCanceled(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsBarrelButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsBarrelButtonPressed(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsXButton1Pressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsXButton1Pressed(&value)); + return value; +} + +template bool impl_IPointerPointProperties::IsXButton2Pressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_IsXButton2Pressed(&value)); + return value; +} + +template Windows::UI::Input::PointerUpdateKind impl_IPointerPointProperties::PointerUpdateKind() const +{ + Windows::UI::Input::PointerUpdateKind value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->get_PointerUpdateKind(&value)); + return value; +} + +template bool impl_IPointerPointProperties::HasUsage(uint32_t usagePage, uint32_t usageId) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->abi_HasUsage(usagePage, usageId, &value)); + return value; +} + +template int32_t impl_IPointerPointProperties::GetUsageValue(uint32_t usagePage, uint32_t usageId) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPointerPointProperties)->abi_GetUsageValue(usagePage, usageId, &value)); + return value; +} + +template Windows::Foundation::IReference impl_IPointerPointProperties2::ZDistance() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IPointerPointProperties2)->get_ZDistance(put_abi(value))); + return value; +} + +template void impl_IPointerVisualizationSettings::IsContactFeedbackEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPointerVisualizationSettings)->put_IsContactFeedbackEnabled(value)); +} + +template bool impl_IPointerVisualizationSettings::IsContactFeedbackEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerVisualizationSettings)->get_IsContactFeedbackEnabled(&value)); + return value; +} + +template void impl_IPointerVisualizationSettings::IsBarrelButtonFeedbackEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPointerVisualizationSettings)->put_IsBarrelButtonFeedbackEnabled(value)); +} + +template bool impl_IPointerVisualizationSettings::IsBarrelButtonFeedbackEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPointerVisualizationSettings)->get_IsBarrelButtonFeedbackEnabled(&value)); + return value; +} + +template Windows::UI::Input::PointerVisualizationSettings impl_IPointerVisualizationSettingsStatics::GetForCurrentView() const +{ + Windows::UI::Input::PointerVisualizationSettings visualizationSettings { nullptr }; + check_hresult(WINRT_SHIM(IPointerVisualizationSettingsStatics)->abi_GetForCurrentView(put_abi(visualizationSettings))); + return visualizationSettings; +} + +template Windows::Foundation::Rect impl_IRadialControllerScreenContact::Bounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IRadialControllerScreenContact)->get_Bounds(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IRadialControllerScreenContact::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IRadialControllerScreenContact)->get_Position(put_abi(value))); + return value; +} + +template double impl_IRadialControllerRotationChangedEventArgs::RotationDeltaInDegrees() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRadialControllerRotationChangedEventArgs)->get_RotationDeltaInDegrees(&value)); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerRotationChangedEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerRotationChangedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template bool impl_IRadialControllerRotationChangedEventArgs2::IsButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialControllerRotationChangedEventArgs2)->get_IsButtonPressed(&value)); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerRotationChangedEventArgs2::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerRotationChangedEventArgs2)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerButtonPressedEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonPressedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerButtonPressedEventArgs::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonPressedEventArgs)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerButtonHoldingEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonHoldingEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerButtonHoldingEventArgs::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonHoldingEventArgs)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerButtonReleasedEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonReleasedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerButtonReleasedEventArgs::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonReleasedEventArgs)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerScreenContactStartedEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactStartedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template bool impl_IRadialControllerScreenContactStartedEventArgs2::IsButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactStartedEventArgs2)->get_IsButtonPressed(&value)); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerScreenContactStartedEventArgs2::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactStartedEventArgs2)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerScreenContactContinuedEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactContinuedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template bool impl_IRadialControllerScreenContactContinuedEventArgs2::IsButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactContinuedEventArgs2)->get_IsButtonPressed(&value)); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerScreenContactContinuedEventArgs2::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactContinuedEventArgs2)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template bool impl_IRadialControllerScreenContactEndedEventArgs::IsButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactEndedEventArgs)->get_IsButtonPressed(&value)); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerScreenContactEndedEventArgs::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerScreenContactEndedEventArgs)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerButtonClickedEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonClickedEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerButtonClickedEventArgs2::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerButtonClickedEventArgs2)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerScreenContact impl_IRadialControllerControlAcquiredEventArgs::Contact() const +{ + Windows::UI::Input::RadialControllerScreenContact value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerControlAcquiredEventArgs)->get_Contact(put_abi(value))); + return value; +} + +template bool impl_IRadialControllerControlAcquiredEventArgs2::IsButtonPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialControllerControlAcquiredEventArgs2)->get_IsButtonPressed(&value)); + return value; +} + +template Windows::Devices::Haptics::SimpleHapticsController impl_IRadialControllerControlAcquiredEventArgs2::SimpleHapticsController() const +{ + Windows::Devices::Haptics::SimpleHapticsController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerControlAcquiredEventArgs2)->get_SimpleHapticsController(put_abi(value))); + return value; +} + +template Windows::UI::Input::RadialControllerMenu impl_IRadialController::Menu() const +{ + Windows::UI::Input::RadialControllerMenu value { nullptr }; + check_hresult(WINRT_SHIM(IRadialController)->get_Menu(put_abi(value))); + return value; +} + +template double impl_IRadialController::RotationResolutionInDegrees() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRadialController)->get_RotationResolutionInDegrees(&value)); + return value; +} + +template void impl_IRadialController::RotationResolutionInDegrees(double value) const +{ + check_hresult(WINRT_SHIM(IRadialController)->put_RotationResolutionInDegrees(value)); +} + +template bool impl_IRadialController::UseAutomaticHapticFeedback() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialController)->get_UseAutomaticHapticFeedback(&value)); + return value; +} + +template void impl_IRadialController::UseAutomaticHapticFeedback(bool value) const +{ + check_hresult(WINRT_SHIM(IRadialController)->put_UseAutomaticHapticFeedback(value)); +} + +template event_token impl_IRadialController::ScreenContactStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IRadialController)->add_ScreenContactStarted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IRadialController::ScreenContactStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController::remove_ScreenContactStarted, ScreenContactStarted(handler)); +} + +template void impl_IRadialController::ScreenContactStarted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IRadialController)->remove_ScreenContactStarted(cookie)); +} + +template event_token impl_IRadialController::ScreenContactEnded(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IRadialController)->add_ScreenContactEnded(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IRadialController::ScreenContactEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController::remove_ScreenContactEnded, ScreenContactEnded(handler)); +} + +template void impl_IRadialController::ScreenContactEnded(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IRadialController)->remove_ScreenContactEnded(cookie)); +} + +template event_token impl_IRadialController::ScreenContactContinued(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IRadialController)->add_ScreenContactContinued(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IRadialController::ScreenContactContinued(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController::remove_ScreenContactContinued, ScreenContactContinued(handler)); +} + +template void impl_IRadialController::ScreenContactContinued(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IRadialController)->remove_ScreenContactContinued(cookie)); +} + +template event_token impl_IRadialController::ControlLost(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IRadialController)->add_ControlLost(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IRadialController::ControlLost(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController::remove_ControlLost, ControlLost(handler)); +} + +template void impl_IRadialController::ControlLost(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IRadialController)->remove_ControlLost(cookie)); +} + +template event_token impl_IRadialController::RotationChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRadialController)->add_RotationChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRadialController::RotationChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController::remove_RotationChanged, RotationChanged(handler)); +} + +template void impl_IRadialController::RotationChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRadialController)->remove_RotationChanged(token)); +} + +template event_token impl_IRadialController::ButtonClicked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRadialController)->add_ButtonClicked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRadialController::ButtonClicked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController::remove_ButtonClicked, ButtonClicked(handler)); +} + +template void impl_IRadialController::ButtonClicked(event_token token) const +{ + check_hresult(WINRT_SHIM(IRadialController)->remove_ButtonClicked(token)); +} + +template event_token impl_IRadialController::ControlAcquired(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IRadialController)->add_ControlAcquired(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IRadialController::ControlAcquired(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController::remove_ControlAcquired, ControlAcquired(handler)); +} + +template void impl_IRadialController::ControlAcquired(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IRadialController)->remove_ControlAcquired(cookie)); +} + +template event_token impl_IRadialController2::ButtonPressed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRadialController2)->add_ButtonPressed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRadialController2::ButtonPressed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController2::remove_ButtonPressed, ButtonPressed(handler)); +} + +template void impl_IRadialController2::ButtonPressed(event_token token) const +{ + check_hresult(WINRT_SHIM(IRadialController2)->remove_ButtonPressed(token)); +} + +template event_token impl_IRadialController2::ButtonHolding(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRadialController2)->add_ButtonHolding(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRadialController2::ButtonHolding(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController2::remove_ButtonHolding, ButtonHolding(handler)); +} + +template void impl_IRadialController2::ButtonHolding(event_token token) const +{ + check_hresult(WINRT_SHIM(IRadialController2)->remove_ButtonHolding(token)); +} + +template event_token impl_IRadialController2::ButtonReleased(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRadialController2)->add_ButtonReleased(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRadialController2::ButtonReleased(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialController2::remove_ButtonReleased, ButtonReleased(handler)); +} + +template void impl_IRadialController2::ButtonReleased(event_token token) const +{ + check_hresult(WINRT_SHIM(IRadialController2)->remove_ButtonReleased(token)); +} + +template bool impl_IRadialControllerStatics::IsSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRadialControllerStatics)->abi_IsSupported(&result)); + return result; +} + +template Windows::UI::Input::RadialController impl_IRadialControllerStatics::CreateForCurrentView() const +{ + Windows::UI::Input::RadialController result { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerStatics)->abi_CreateForCurrentView(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IRadialControllerMenu::Items() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IRadialControllerMenu)->get_Items(put_abi(value))); + return value; +} + +template bool impl_IRadialControllerMenu::IsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialControllerMenu)->get_IsEnabled(&value)); + return value; +} + +template void impl_IRadialControllerMenu::IsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRadialControllerMenu)->put_IsEnabled(value)); +} + +template Windows::UI::Input::RadialControllerMenuItem impl_IRadialControllerMenu::GetSelectedMenuItem() const +{ + Windows::UI::Input::RadialControllerMenuItem result { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerMenu)->abi_GetSelectedMenuItem(put_abi(result))); + return result; +} + +template void impl_IRadialControllerMenu::SelectMenuItem(const Windows::UI::Input::RadialControllerMenuItem & menuItem) const +{ + check_hresult(WINRT_SHIM(IRadialControllerMenu)->abi_SelectMenuItem(get_abi(menuItem))); +} + +template bool impl_IRadialControllerMenu::TrySelectPreviouslySelectedMenuItem() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRadialControllerMenu)->abi_TrySelectPreviouslySelectedMenuItem(&result)); + return result; +} + +template Windows::UI::Input::RadialControllerMenuItem impl_IRadialControllerMenuItemStatics::CreateFromIcon(hstring_view displayText, const Windows::Storage::Streams::RandomAccessStreamReference & icon) const +{ + Windows::UI::Input::RadialControllerMenuItem result { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerMenuItemStatics)->abi_CreateFromIcon(get_abi(displayText), get_abi(icon), put_abi(result))); + return result; +} + +template Windows::UI::Input::RadialControllerMenuItem impl_IRadialControllerMenuItemStatics::CreateFromKnownIcon(hstring_view displayText, Windows::UI::Input::RadialControllerMenuKnownIcon value) const +{ + Windows::UI::Input::RadialControllerMenuItem result { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerMenuItemStatics)->abi_CreateFromKnownIcon(get_abi(displayText), value, put_abi(result))); + return result; +} + +template Windows::UI::Input::RadialControllerMenuItem impl_IRadialControllerMenuItemStatics2::CreateFromFontGlyph(hstring_view displayText, hstring_view glyph, hstring_view fontFamily) const +{ + Windows::UI::Input::RadialControllerMenuItem result { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerMenuItemStatics2)->abi_CreateFromFontGlyph(get_abi(displayText), get_abi(glyph), get_abi(fontFamily), put_abi(result))); + return result; +} + +template Windows::UI::Input::RadialControllerMenuItem impl_IRadialControllerMenuItemStatics2::CreateFromFontGlyph(hstring_view displayText, hstring_view glyph, hstring_view fontFamily, const Windows::Foundation::Uri & fontUri) const +{ + Windows::UI::Input::RadialControllerMenuItem result { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerMenuItemStatics2)->abi_CreateFromFontGlyphWithUri(get_abi(displayText), get_abi(glyph), get_abi(fontFamily), get_abi(fontUri), put_abi(result))); + return result; +} + +template hstring impl_IRadialControllerMenuItem::DisplayText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRadialControllerMenuItem)->get_DisplayText(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRadialControllerMenuItem::Tag() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRadialControllerMenuItem)->get_Tag(put_abi(value))); + return value; +} + +template void impl_IRadialControllerMenuItem::Tag(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRadialControllerMenuItem)->put_Tag(get_abi(value))); +} + +template event_token impl_IRadialControllerMenuItem::Invoked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRadialControllerMenuItem)->add_Invoked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IRadialControllerMenuItem::Invoked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Input::IRadialControllerMenuItem::remove_Invoked, Invoked(handler)); +} + +template void impl_IRadialControllerMenuItem::Invoked(event_token token) const +{ + check_hresult(WINRT_SHIM(IRadialControllerMenuItem)->remove_Invoked(token)); +} + +template void impl_IRadialControllerConfiguration::SetDefaultMenuItems(iterable buttons) const +{ + check_hresult(WINRT_SHIM(IRadialControllerConfiguration)->abi_SetDefaultMenuItems(get_abi(buttons))); +} + +template void impl_IRadialControllerConfiguration::ResetToDefaultMenuItems() const +{ + check_hresult(WINRT_SHIM(IRadialControllerConfiguration)->abi_ResetToDefaultMenuItems()); +} + +template bool impl_IRadialControllerConfiguration::TrySelectDefaultMenuItem(Windows::UI::Input::RadialControllerSystemMenuItemKind type) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IRadialControllerConfiguration)->abi_TrySelectDefaultMenuItem(type, &result)); + return result; +} + +template Windows::UI::Input::RadialControllerConfiguration impl_IRadialControllerConfigurationStatics::GetForCurrentView() const +{ + Windows::UI::Input::RadialControllerConfiguration configuration { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerConfigurationStatics)->abi_GetForCurrentView(put_abi(configuration))); + return configuration; +} + +template void impl_IRadialControllerConfiguration2::ActiveControllerWhenMenuIsSuppressed(const Windows::UI::Input::RadialController & value) const +{ + check_hresult(WINRT_SHIM(IRadialControllerConfiguration2)->put_ActiveControllerWhenMenuIsSuppressed(get_abi(value))); +} + +template Windows::UI::Input::RadialController impl_IRadialControllerConfiguration2::ActiveControllerWhenMenuIsSuppressed() const +{ + Windows::UI::Input::RadialController value { nullptr }; + check_hresult(WINRT_SHIM(IRadialControllerConfiguration2)->get_ActiveControllerWhenMenuIsSuppressed(put_abi(value))); + return value; +} + +template void impl_IRadialControllerConfiguration2::IsMenuSuppressed(bool value) const +{ + check_hresult(WINRT_SHIM(IRadialControllerConfiguration2)->put_IsMenuSuppressed(value)); +} + +template bool impl_IRadialControllerConfiguration2::IsMenuSuppressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRadialControllerConfiguration2)->get_IsMenuSuppressed(&value)); + return value; +} + +inline Windows::UI::Input::EdgeGesture EdgeGesture::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline GestureRecognizer::GestureRecognizer() : + GestureRecognizer(activate_instance()) +{} + +inline Windows::UI::Input::KeyboardDeliveryInterceptor KeyboardDeliveryInterceptor::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::UI::Input::PointerPoint PointerPoint::GetCurrentPoint(uint32_t pointerId) +{ + return get_activation_factory().GetCurrentPoint(pointerId); +} + +inline Windows::Foundation::Collections::IVector PointerPoint::GetIntermediatePoints(uint32_t pointerId) +{ + return get_activation_factory().GetIntermediatePoints(pointerId); +} + +inline Windows::UI::Input::PointerPoint PointerPoint::GetCurrentPoint(uint32_t pointerId, const Windows::UI::Input::IPointerPointTransform & transform) +{ + return get_activation_factory().GetCurrentPoint(pointerId, transform); +} + +inline Windows::Foundation::Collections::IVector PointerPoint::GetIntermediatePoints(uint32_t pointerId, const Windows::UI::Input::IPointerPointTransform & transform) +{ + return get_activation_factory().GetIntermediatePoints(pointerId, transform); +} + +inline Windows::UI::Input::PointerVisualizationSettings PointerVisualizationSettings::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline bool RadialController::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline Windows::UI::Input::RadialController RadialController::CreateForCurrentView() +{ + return get_activation_factory().CreateForCurrentView(); +} + +inline Windows::UI::Input::RadialControllerConfiguration RadialControllerConfiguration::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::UI::Input::RadialControllerMenuItem RadialControllerMenuItem::CreateFromIcon(hstring_view displayText, const Windows::Storage::Streams::RandomAccessStreamReference & icon) +{ + return get_activation_factory().CreateFromIcon(displayText, icon); +} + +inline Windows::UI::Input::RadialControllerMenuItem RadialControllerMenuItem::CreateFromKnownIcon(hstring_view displayText, Windows::UI::Input::RadialControllerMenuKnownIcon value) +{ + return get_activation_factory().CreateFromKnownIcon(displayText, value); +} + +inline Windows::UI::Input::RadialControllerMenuItem RadialControllerMenuItem::CreateFromFontGlyph(hstring_view displayText, hstring_view glyph, hstring_view fontFamily) +{ + return get_activation_factory().CreateFromFontGlyph(displayText, glyph, fontFamily); +} + +inline Windows::UI::Input::RadialControllerMenuItem RadialControllerMenuItem::CreateFromFontGlyph(hstring_view displayText, hstring_view glyph, hstring_view fontFamily, const Windows::Foundation::Uri & fontUri) +{ + return get_activation_factory().CreateFromFontGlyph(displayText, glyph, fontFamily, fontUri); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::ICrossSlidingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IDraggingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IEdgeGesture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IEdgeGestureEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IEdgeGestureStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IGestureRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IHoldingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IKeyboardDeliveryInterceptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IKeyboardDeliveryInterceptorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IManipulationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IManipulationInertiaStartingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IManipulationStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IManipulationUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IMouseWheelParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IPointerPoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IPointerPointProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IPointerPointProperties2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IPointerPointStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IPointerPointTransform & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IPointerVisualizationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IPointerVisualizationSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialController2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerButtonClickedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerButtonClickedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerButtonHoldingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerButtonPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerButtonReleasedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerConfiguration2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerConfigurationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerControlAcquiredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerControlAcquiredEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerMenu & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerMenuItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerMenuItemStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerMenuItemStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerRotationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerRotationChangedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerScreenContact & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerScreenContactContinuedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerScreenContactContinuedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerScreenContactEndedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerScreenContactStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerScreenContactStartedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRadialControllerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::IRightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::ITappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::CrossSlidingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::DraggingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::EdgeGesture & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::EdgeGestureEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::GestureRecognizer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::HoldingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::KeyboardDeliveryInterceptor & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::ManipulationCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::ManipulationInertiaStartingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::ManipulationStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::ManipulationUpdatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::MouseWheelParameters & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::PointerPoint & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::PointerPointProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::PointerVisualizationSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialController & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerButtonClickedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerButtonHoldingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerButtonPressedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerButtonReleasedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerConfiguration & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerControlAcquiredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerMenu & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerMenuItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerRotationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerScreenContact & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerScreenContactContinuedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerScreenContactEndedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RadialControllerScreenContactStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::RightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Input::TappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Notifications.Management.h b/10.0.15042.0/winrt/Windows.UI.Notifications.Management.h new file mode 100644 index 000000000..bc9cd555f --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Notifications.Management.h @@ -0,0 +1,258 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Notifications.3.h" +#include "internal/Windows.UI.Notifications.Management.3.h" +#include "Windows.UI.Notifications.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RequestAccessAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().RequestAccessAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessStatus(Windows::UI::Notifications::Management::UserNotificationListenerAccessStatus * accessStatus) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *accessStatus = detach_abi(this->shim().GetAccessStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NotificationChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NotificationChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NotificationChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotificationChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNotificationsAsync(Windows::UI::Notifications::NotificationKinds kinds, impl::abi_arg_out>> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetNotificationsAsync(kinds)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNotification(uint32_t notificationId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetNotification(notificationId)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearNotifications() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearNotifications(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveNotification(uint32_t notificationId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveNotification(notificationId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Notifications::Management { + +template Windows::UI::Notifications::Management::UserNotificationListener impl_IUserNotificationListenerStatics::Current() const +{ + Windows::UI::Notifications::Management::UserNotificationListener result { nullptr }; + check_hresult(WINRT_SHIM(IUserNotificationListenerStatics)->get_Current(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IUserNotificationListener::RequestAccessAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IUserNotificationListener)->abi_RequestAccessAsync(put_abi(result))); + return result; +} + +template Windows::UI::Notifications::Management::UserNotificationListenerAccessStatus impl_IUserNotificationListener::GetAccessStatus() const +{ + Windows::UI::Notifications::Management::UserNotificationListenerAccessStatus accessStatus {}; + check_hresult(WINRT_SHIM(IUserNotificationListener)->abi_GetAccessStatus(&accessStatus)); + return accessStatus; +} + +template event_token impl_IUserNotificationListener::NotificationChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IUserNotificationListener)->add_NotificationChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IUserNotificationListener::NotificationChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Notifications::Management::IUserNotificationListener::remove_NotificationChanged, NotificationChanged(handler)); +} + +template void impl_IUserNotificationListener::NotificationChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IUserNotificationListener)->remove_NotificationChanged(token)); +} + +template Windows::Foundation::IAsyncOperation> impl_IUserNotificationListener::GetNotificationsAsync(Windows::UI::Notifications::NotificationKinds kinds) const +{ + Windows::Foundation::IAsyncOperation> result; + check_hresult(WINRT_SHIM(IUserNotificationListener)->abi_GetNotificationsAsync(kinds, put_abi(result))); + return result; +} + +template Windows::UI::Notifications::UserNotification impl_IUserNotificationListener::GetNotification(uint32_t notificationId) const +{ + Windows::UI::Notifications::UserNotification result { nullptr }; + check_hresult(WINRT_SHIM(IUserNotificationListener)->abi_GetNotification(notificationId, put_abi(result))); + return result; +} + +template void impl_IUserNotificationListener::ClearNotifications() const +{ + check_hresult(WINRT_SHIM(IUserNotificationListener)->abi_ClearNotifications()); +} + +template void impl_IUserNotificationListener::RemoveNotification(uint32_t notificationId) const +{ + check_hresult(WINRT_SHIM(IUserNotificationListener)->abi_RemoveNotification(notificationId)); +} + +inline Windows::UI::Notifications::Management::UserNotificationListener UserNotificationListener::Current() +{ + return get_activation_factory().Current(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::Management::IUserNotificationListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::Management::IUserNotificationListenerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::Management::UserNotificationListener & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Notifications.h b/10.0.15042.0/winrt/Windows.UI.Notifications.h new file mode 100644 index 000000000..dc388ea55 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Notifications.h @@ -0,0 +1,6087 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Data.Xml.Dom.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.UI.Notifications.3.h" +#include "Windows.UI.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::UI::Notifications::AdaptiveNotificationContentKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Language(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Language(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateBadgeNotification(impl::abi_arg_in content, impl::abi_arg_out notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notification = detach_abi(this->shim().CreateBadgeNotification(*reinterpret_cast(&content))); + return S_OK; + } + catch (...) + { + *notification = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateBadgeUpdaterForApplication(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateBadgeUpdaterForApplication()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBadgeUpdaterForApplicationWithId(impl::abi_arg_in applicationId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateBadgeUpdaterForApplication(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBadgeUpdaterForSecondaryTile(impl::abi_arg_in tileId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateBadgeUpdaterForSecondaryTile(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateBadgeUpdaterForApplication(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateBadgeUpdaterForApplication()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBadgeUpdaterForApplicationWithId(impl::abi_arg_in applicationId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateBadgeUpdaterForApplication(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateBadgeUpdaterForSecondaryTile(impl::abi_arg_in tileId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateBadgeUpdaterForSecondaryTile(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTemplateContent(Windows::UI::Notifications::BadgeTemplateType type, impl::abi_arg_out content) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *content = detach_abi(this->shim().GetTemplateContent(type)); + return S_OK; + } + catch (...) + { + *content = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Update(impl::abi_arg_in notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Update(*reinterpret_cast(¬ification)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdate(impl::abi_arg_in badgeContent, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdate(*reinterpret_cast(&badgeContent), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdateAtTime(impl::abi_arg_in badgeContent, impl::abi_arg_in startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdate(*reinterpret_cast(&badgeContent), *reinterpret_cast(&startTime), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopPeriodicUpdate() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopPeriodicUpdate(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Style(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Style()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wrap(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wrap()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLines(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLines()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinLines(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinLines()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextStacking(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextStacking()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Align(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Align()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Caption(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Caption()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Body(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Body()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Base(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Base()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subtitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subtitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subheader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subheader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleNumeral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleNumeral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubheaderNumeral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubheaderNumeral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderNumeral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderNumeral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CaptionSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaptionSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BodySubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BodySubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BaseSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BaseSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubtitleSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubtitleSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubheaderSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubheaderSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SubheaderNumeralSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SubheaderNumeralSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderNumeralSubtle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderNumeralSubtle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ToastGeneric(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToastGeneric()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Visual(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visual()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Visual(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Visual(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Template(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Template()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Template(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Template(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Language(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Language(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTextElements(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetTextElements()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Values(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Values()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SequenceNumber(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SequenceNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SequenceNumber(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SequenceNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateNotificationDataWithValuesAndSequenceNumber(impl::abi_arg_in>> initialValues, uint32_t sequenceNumber, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateNotificationData(*reinterpret_cast> *>(&initialValues), sequenceNumber)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateNotificationDataWithValues(impl::abi_arg_in>> initialValues, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateNotificationData(*reinterpret_cast> *>(&initialValues))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Language(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Language(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bindings(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Bindings()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBinding(impl::abi_arg_in templateName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetBinding(*reinterpret_cast(&templateName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeliveryTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeliveryTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateScheduledTileNotification(impl::abi_arg_in content, impl::abi_arg_in deliveryTime, impl::abi_arg_out notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notification = detach_abi(this->shim().CreateScheduledTileNotification(*reinterpret_cast(&content), *reinterpret_cast(&deliveryTime))); + return S_OK; + } + catch (...) + { + *notification = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeliveryTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeliveryTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SnoozeInterval(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SnoozeInterval()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumSnoozeCount(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumSnoozeCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Group(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Group(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Group(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Group()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuppressPopup(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuppressPopup(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuppressPopup(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuppressPopup()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NotificationMirroring(Windows::UI::Notifications::NotificationMirroring * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotificationMirroring()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NotificationMirroring(Windows::UI::Notifications::NotificationMirroring value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotificationMirroring(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateScheduledToastNotification(impl::abi_arg_in content, impl::abi_arg_in deliveryTime, impl::abi_arg_out notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notification = detach_abi(this->shim().CreateScheduledToastNotification(*reinterpret_cast(&content), *reinterpret_cast(&deliveryTime))); + return S_OK; + } + catch (...) + { + *notification = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateScheduledToastNotificationRecurring(impl::abi_arg_in content, impl::abi_arg_in deliveryTime, impl::abi_arg_in snoozeInterval, uint32_t maximumSnoozeCount, impl::abi_arg_out notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notification = detach_abi(this->shim().CreateScheduledToastNotificationRecurring(*reinterpret_cast(&content), *reinterpret_cast(&deliveryTime), *reinterpret_cast(&snoozeInterval), maximumSnoozeCount)); + return S_OK; + } + catch (...) + { + *notification = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateTileFlyoutNotification(impl::abi_arg_in content, impl::abi_arg_out notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notification = detach_abi(this->shim().CreateTileFlyoutNotification(*reinterpret_cast(&content))); + return S_OK; + } + catch (...) + { + *notification = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateTileFlyoutUpdaterForApplication(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileFlyoutUpdaterForApplication()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileFlyoutUpdaterForApplicationWithId(impl::abi_arg_in applicationId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileFlyoutUpdaterForApplication(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileFlyoutUpdaterForSecondaryTile(impl::abi_arg_in tileId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileFlyoutUpdaterForSecondaryTile(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTemplateContent(Windows::UI::Notifications::TileFlyoutTemplateType type, impl::abi_arg_out content) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *content = detach_abi(this->shim().GetTemplateContent(type)); + return S_OK; + } + catch (...) + { + *content = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Update(impl::abi_arg_in notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Update(*reinterpret_cast(¬ification)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdate(impl::abi_arg_in tileFlyoutContent, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdate(*reinterpret_cast(&tileFlyoutContent), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdateAtTime(impl::abi_arg_in tileFlyoutContent, impl::abi_arg_in startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdate(*reinterpret_cast(&tileFlyoutContent), *reinterpret_cast(&startTime), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopPeriodicUpdate() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopPeriodicUpdate(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Setting(Windows::UI::Notifications::NotificationSetting * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Setting()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateTileNotification(impl::abi_arg_in content, impl::abi_arg_out notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notification = detach_abi(this->shim().CreateTileNotification(*reinterpret_cast(&content))); + return S_OK; + } + catch (...) + { + *notification = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateTileUpdaterForApplication(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForApplicationForUser()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileUpdaterForApplicationWithId(impl::abi_arg_in applicationId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForApplication(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileUpdaterForSecondaryTile(impl::abi_arg_in tileId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForSecondaryTile(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateTileUpdaterForApplication(impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForApplication()); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileUpdaterForApplicationWithId(impl::abi_arg_in applicationId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForApplication(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateTileUpdaterForSecondaryTile(impl::abi_arg_in tileId, impl::abi_arg_out updater) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *updater = detach_abi(this->shim().CreateTileUpdaterForSecondaryTile(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *updater = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTemplateContent(Windows::UI::Notifications::TileTemplateType type, impl::abi_arg_out content) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *content = detach_abi(this->shim().GetTemplateContent(type)); + return S_OK; + } + catch (...) + { + *content = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Update(impl::abi_arg_in notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Update(*reinterpret_cast(¬ification)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableNotificationQueue(bool enable) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableNotificationQueue(enable); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Setting(Windows::UI::Notifications::NotificationSetting * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Setting()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddToSchedule(impl::abi_arg_in scheduledTile) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddToSchedule(*reinterpret_cast(&scheduledTile)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveFromSchedule(impl::abi_arg_in scheduledTile) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveFromSchedule(*reinterpret_cast(&scheduledTile)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetScheduledTileNotifications(impl::abi_arg_out> scheduledTiles) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *scheduledTiles = detach_abi(this->shim().GetScheduledTileNotifications()); + return S_OK; + } + catch (...) + { + *scheduledTiles = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdate(impl::abi_arg_in tileContent, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdate(*reinterpret_cast(&tileContent), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdateAtTime(impl::abi_arg_in tileContent, impl::abi_arg_in startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdate(*reinterpret_cast(&tileContent), *reinterpret_cast(&startTime), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopPeriodicUpdate() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopPeriodicUpdate(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdateBatch(impl::abi_arg_in> tileContents, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdateBatch(*reinterpret_cast *>(&tileContents), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartPeriodicUpdateBatchAtTime(impl::abi_arg_in> tileContents, impl::abi_arg_in startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPeriodicUpdateBatch(*reinterpret_cast *>(&tileContents), *reinterpret_cast(&startTime), requestedInterval); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_EnableNotificationQueueForSquare150x150(bool enable) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableNotificationQueueForSquare150x150(enable); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableNotificationQueueForWide310x150(bool enable) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableNotificationQueueForWide310x150(enable); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnableNotificationQueueForSquare310x310(bool enable) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableNotificationQueueForSquare310x310(enable); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LaunchArgs(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LaunchArgs()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LaunchArgs(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LaunchArgs(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Icon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Icon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in collectionId, impl::abi_arg_in displayName, impl::abi_arg_in launchArgs, impl::abi_arg_in iconUri, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&collectionId), *reinterpret_cast(&displayName), *reinterpret_cast(&launchArgs), *reinterpret_cast(&iconUri))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SaveToastCollectionAsync(impl::abi_arg_in collection, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SaveToastCollectionAsync(*reinterpret_cast(&collection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllToastCollectionsAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllToastCollectionsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetToastCollectionAsync(impl::abi_arg_in collectionId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetToastCollectionAsync(*reinterpret_cast(&collectionId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveToastCollectionAsync(impl::abi_arg_in collectionId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RemoveToastCollectionAsync(*reinterpret_cast(&collectionId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAllToastCollectionsAsync(impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RemoveAllToastCollectionsAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::UI::Notifications::ToastDismissalReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ErrorCode(HRESULT * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ErrorCode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExpirationTime(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpirationTime(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExpirationTime(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpirationTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Dismissed(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Dismissed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Dismissed(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Dismissed(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Activated(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().Activated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Activated(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Activated(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Failed(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Failed(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Failed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Failed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Tag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Tag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Group(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Group(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Group(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Group()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuppressPopup(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuppressPopup(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SuppressPopup(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuppressPopup()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NotificationMirroring(Windows::UI::Notifications::NotificationMirroring * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NotificationMirroring()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NotificationMirroring(Windows::UI::Notifications::NotificationMirroring value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotificationMirroring(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemoteId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemoteId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RemoteId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoteId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Priority(Windows::UI::Notifications::ToastNotificationPriority * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Priority()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Priority(Windows::UI::Notifications::ToastNotificationPriority value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Priority(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Argument(impl::abi_arg_out argument) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *argument = detach_abi(this->shim().Argument()); + return S_OK; + } + catch (...) + { + *argument = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserInput(impl::abi_arg_out inputs) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inputs = detach_abi(this->shim().UserInput()); + return S_OK; + } + catch (...) + { + *inputs = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateToastNotification(impl::abi_arg_in content, impl::abi_arg_out notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notification = detach_abi(this->shim().CreateToastNotification(*reinterpret_cast(&content))); + return S_OK; + } + catch (...) + { + *notification = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RemoveGroup(impl::abi_arg_in group) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveGroup(*reinterpret_cast(&group)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveGroupWithId(impl::abi_arg_in group, impl::abi_arg_in applicationId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveGroup(*reinterpret_cast(&group), *reinterpret_cast(&applicationId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveGroupedTagWithId(impl::abi_arg_in tag, impl::abi_arg_in group, impl::abi_arg_in applicationId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&tag), *reinterpret_cast(&group), *reinterpret_cast(&applicationId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveGroupedTag(impl::abi_arg_in tag, impl::abi_arg_in group) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&tag), *reinterpret_cast(&group)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in tag) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&tag)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Clear() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearWithId(impl::abi_arg_in applicationId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Clear(*reinterpret_cast(&applicationId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetHistory(impl::abi_arg_out> toasts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *toasts = detach_abi(this->shim().GetHistory()); + return S_OK; + } + catch (...) + { + *toasts = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHistoryWithId(impl::abi_arg_in applicationId, impl::abi_arg_out> toasts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *toasts = detach_abi(this->shim().GetHistory(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *toasts = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeType(Windows::UI::Notifications::ToastHistoryChangedType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CollectionId(impl::abi_arg_out collectionId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *collectionId = detach_abi(this->shim().CollectionId()); + return S_OK; + } + catch (...) + { + *collectionId = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateToastNotifier(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateToastNotifier()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateToastNotifierWithId(impl::abi_arg_in applicationId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateToastNotifier(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_History(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().History()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetToastNotifierForToastCollectionIdAsync(impl::abi_arg_in collectionId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetToastNotifierForToastCollectionIdAsync(*reinterpret_cast(&collectionId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHistoryForToastCollectionIdAsync(impl::abi_arg_in collectionId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().GetHistoryForToastCollectionIdAsync(*reinterpret_cast(&collectionId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetToastCollectionManager(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetToastCollectionManager()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetToastCollectionManagerWithAppId(impl::abi_arg_in appId, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetToastCollectionManager(*reinterpret_cast(&appId))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateToastNotifier(impl::abi_arg_out notifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notifier = detach_abi(this->shim().CreateToastNotifier()); + return S_OK; + } + catch (...) + { + *notifier = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateToastNotifierWithId(impl::abi_arg_in applicationId, impl::abi_arg_out notifier) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *notifier = detach_abi(this->shim().CreateToastNotifier(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *notifier = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTemplateContent(Windows::UI::Notifications::ToastTemplateType type, impl::abi_arg_out content) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *content = detach_abi(this->shim().GetTemplateContent(type)); + return S_OK; + } + catch (...) + { + *content = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_History(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().History()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ConfigureNotificationMirroring(Windows::UI::Notifications::NotificationMirroring value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigureNotificationMirroring(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Show(impl::abi_arg_in notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(*reinterpret_cast(¬ification)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Hide(impl::abi_arg_in notification) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hide(*reinterpret_cast(¬ification)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Setting(Windows::UI::Notifications::NotificationSetting * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Setting()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddToSchedule(impl::abi_arg_in scheduledToast) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddToSchedule(*reinterpret_cast(&scheduledToast)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveFromSchedule(impl::abi_arg_in scheduledToast) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveFromSchedule(*reinterpret_cast(&scheduledToast)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetScheduledToastNotifications(impl::abi_arg_out> scheduledToasts) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *scheduledToasts = detach_abi(this->shim().GetScheduledToastNotifications()); + return S_OK; + } + catch (...) + { + *scheduledToasts = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_UpdateWithTagAndGroup(impl::abi_arg_in data, impl::abi_arg_in tag, impl::abi_arg_in group, Windows::UI::Notifications::NotificationUpdateResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Update(*reinterpret_cast(&data), *reinterpret_cast(&tag), *reinterpret_cast(&group))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateWithTag(impl::abi_arg_in data, impl::abi_arg_in tag, Windows::UI::Notifications::NotificationUpdateResult * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().Update(*reinterpret_cast(&data), *reinterpret_cast(&tag))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Notification(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Notification()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AppInfo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AppInfo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CreationTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreationTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeKind(Windows::UI::Notifications::UserNotificationChangedKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UserNotificationId(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserNotificationId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Notifications { + +template hstring impl_IShownTileNotification::Arguments() const +{ + hstring value; + check_hresult(WINRT_SHIM(IShownTileNotification)->get_Arguments(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::UserNotificationChangedKind impl_IUserNotificationChangedEventArgs::ChangeKind() const +{ + Windows::UI::Notifications::UserNotificationChangedKind value {}; + check_hresult(WINRT_SHIM(IUserNotificationChangedEventArgs)->get_ChangeKind(&value)); + return value; +} + +template uint32_t impl_IUserNotificationChangedEventArgs::UserNotificationId() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUserNotificationChangedEventArgs)->get_UserNotificationId(&value)); + return value; +} + +template Windows::UI::Notifications::Notification impl_IUserNotification::Notification() const +{ + Windows::UI::Notifications::Notification value { nullptr }; + check_hresult(WINRT_SHIM(IUserNotification)->get_Notification(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::AppInfo impl_IUserNotification::AppInfo() const +{ + Windows::ApplicationModel::AppInfo value { nullptr }; + check_hresult(WINRT_SHIM(IUserNotification)->get_AppInfo(put_abi(value))); + return value; +} + +template uint32_t impl_IUserNotification::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUserNotification)->get_Id(&value)); + return value; +} + +template Windows::Foundation::DateTime impl_IUserNotification::CreationTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IUserNotification)->get_CreationTime(put_abi(value))); + return value; +} + +template hstring impl_INotificationVisual::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(INotificationVisual)->get_Language(put_abi(value))); + return value; +} + +template void impl_INotificationVisual::Language(hstring_view value) const +{ + check_hresult(WINRT_SHIM(INotificationVisual)->put_Language(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_INotificationVisual::Bindings() const +{ + Windows::Foundation::Collections::IVector result; + check_hresult(WINRT_SHIM(INotificationVisual)->get_Bindings(put_abi(result))); + return result; +} + +template Windows::UI::Notifications::NotificationBinding impl_INotificationVisual::GetBinding(hstring_view templateName) const +{ + Windows::UI::Notifications::NotificationBinding result { nullptr }; + check_hresult(WINRT_SHIM(INotificationVisual)->abi_GetBinding(get_abi(templateName), put_abi(result))); + return result; +} + +template Windows::UI::Notifications::AdaptiveNotificationContentKind impl_IAdaptiveNotificationContent::Kind() const +{ + Windows::UI::Notifications::AdaptiveNotificationContentKind value {}; + check_hresult(WINRT_SHIM(IAdaptiveNotificationContent)->get_Kind(&value)); + return value; +} + +template Windows::Foundation::Collections::IMap impl_IAdaptiveNotificationContent::Hints() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IAdaptiveNotificationContent)->get_Hints(put_abi(value))); + return value; +} + +template hstring impl_INotificationBinding::Template() const +{ + hstring value; + check_hresult(WINRT_SHIM(INotificationBinding)->get_Template(put_abi(value))); + return value; +} + +template void impl_INotificationBinding::Template(hstring_view value) const +{ + check_hresult(WINRT_SHIM(INotificationBinding)->put_Template(get_abi(value))); +} + +template hstring impl_INotificationBinding::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(INotificationBinding)->get_Language(put_abi(value))); + return value; +} + +template void impl_INotificationBinding::Language(hstring_view value) const +{ + check_hresult(WINRT_SHIM(INotificationBinding)->put_Language(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_INotificationBinding::Hints() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(INotificationBinding)->get_Hints(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_INotificationBinding::GetTextElements() const +{ + Windows::Foundation::Collections::IVectorView result; + check_hresult(WINRT_SHIM(INotificationBinding)->abi_GetTextElements(put_abi(result))); + return result; +} + +template hstring impl_IKnownNotificationBindingsStatics::ToastGeneric() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownNotificationBindingsStatics)->get_ToastGeneric(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationHintsStatics::Style() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationHintsStatics)->get_Style(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationHintsStatics::Wrap() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationHintsStatics)->get_Wrap(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationHintsStatics::MaxLines() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationHintsStatics)->get_MaxLines(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationHintsStatics::MinLines() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationHintsStatics)->get_MinLines(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationHintsStatics::TextStacking() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationHintsStatics)->get_TextStacking(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationHintsStatics::Align() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationHintsStatics)->get_Align(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::Caption() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_Caption(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::Body() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_Body(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::Base() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_Base(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::Subtitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_Subtitle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_Title(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::Subheader() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_Subheader(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::Header() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_Header(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::TitleNumeral() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_TitleNumeral(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::SubheaderNumeral() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_SubheaderNumeral(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::HeaderNumeral() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_HeaderNumeral(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::CaptionSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_CaptionSubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::BodySubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_BodySubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::BaseSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_BaseSubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::SubtitleSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_SubtitleSubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::TitleSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_TitleSubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::SubheaderSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_SubheaderSubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::SubheaderNumeralSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_SubheaderNumeralSubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::HeaderSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_HeaderSubtle(put_abi(value))); + return value; +} + +template hstring impl_IKnownAdaptiveNotificationTextStylesStatics::HeaderNumeralSubtle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IKnownAdaptiveNotificationTextStylesStatics)->get_HeaderNumeralSubtle(put_abi(value))); + return value; +} + +template hstring impl_IAdaptiveNotificationText::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAdaptiveNotificationText)->get_Text(put_abi(value))); + return value; +} + +template void impl_IAdaptiveNotificationText::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveNotificationText)->put_Text(get_abi(value))); +} + +template hstring impl_IAdaptiveNotificationText::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAdaptiveNotificationText)->get_Language(put_abi(value))); + return value; +} + +template void impl_IAdaptiveNotificationText::Language(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAdaptiveNotificationText)->put_Language(get_abi(value))); +} + +template Windows::UI::Notifications::ToastDismissalReason impl_IToastDismissedEventArgs::Reason() const +{ + Windows::UI::Notifications::ToastDismissalReason value {}; + check_hresult(WINRT_SHIM(IToastDismissedEventArgs)->get_Reason(&value)); + return value; +} + +template HRESULT impl_IToastFailedEventArgs::ErrorCode() const +{ + HRESULT value {}; + check_hresult(WINRT_SHIM(IToastFailedEventArgs)->get_ErrorCode(&value)); + return value; +} + +template hstring impl_IToastActivatedEventArgs::Arguments() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastActivatedEventArgs)->get_Arguments(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::TileUpdater impl_ITileUpdateManagerStatics::CreateTileUpdaterForApplication() const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerStatics)->abi_CreateTileUpdaterForApplication(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::TileUpdater impl_ITileUpdateManagerStatics::CreateTileUpdaterForApplication(hstring_view applicationId) const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerStatics)->abi_CreateTileUpdaterForApplicationWithId(get_abi(applicationId), put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::TileUpdater impl_ITileUpdateManagerStatics::CreateTileUpdaterForSecondaryTile(hstring_view tileId) const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerStatics)->abi_CreateTileUpdaterForSecondaryTile(get_abi(tileId), put_abi(updater))); + return updater; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_ITileUpdateManagerStatics::GetTemplateContent(Windows::UI::Notifications::TileTemplateType type) const +{ + Windows::Data::Xml::Dom::XmlDocument content { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerStatics)->abi_GetTemplateContent(type, put_abi(content))); + return content; +} + +template Windows::UI::Notifications::TileUpdateManagerForUser impl_ITileUpdateManagerStatics2::GetForUser(const Windows::System::User & user) const +{ + Windows::UI::Notifications::TileUpdateManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerStatics2)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::UI::Notifications::TileUpdater impl_ITileUpdateManagerForUser::CreateTileUpdaterForApplicationForUser() const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerForUser)->abi_CreateTileUpdaterForApplication(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::TileUpdater impl_ITileUpdateManagerForUser::CreateTileUpdaterForApplication(hstring_view applicationId) const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerForUser)->abi_CreateTileUpdaterForApplicationWithId(get_abi(applicationId), put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::TileUpdater impl_ITileUpdateManagerForUser::CreateTileUpdaterForSecondaryTile(hstring_view tileId) const +{ + Windows::UI::Notifications::TileUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerForUser)->abi_CreateTileUpdaterForSecondaryTile(get_abi(tileId), put_abi(updater))); + return updater; +} + +template Windows::System::User impl_ITileUpdateManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(ITileUpdateManagerForUser)->get_User(put_abi(value))); + return value; +} + +template void impl_ITileUpdater::Update(const Windows::UI::Notifications::TileNotification & notification) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_Update(get_abi(notification))); +} + +template void impl_ITileUpdater::Clear() const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_Clear()); +} + +template void impl_ITileUpdater::EnableNotificationQueue(bool enable) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_EnableNotificationQueue(enable)); +} + +template Windows::UI::Notifications::NotificationSetting impl_ITileUpdater::Setting() const +{ + Windows::UI::Notifications::NotificationSetting value {}; + check_hresult(WINRT_SHIM(ITileUpdater)->get_Setting(&value)); + return value; +} + +template void impl_ITileUpdater::AddToSchedule(const Windows::UI::Notifications::ScheduledTileNotification & scheduledTile) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_AddToSchedule(get_abi(scheduledTile))); +} + +template void impl_ITileUpdater::RemoveFromSchedule(const Windows::UI::Notifications::ScheduledTileNotification & scheduledTile) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_RemoveFromSchedule(get_abi(scheduledTile))); +} + +template Windows::Foundation::Collections::IVectorView impl_ITileUpdater::GetScheduledTileNotifications() const +{ + Windows::Foundation::Collections::IVectorView scheduledTiles; + check_hresult(WINRT_SHIM(ITileUpdater)->abi_GetScheduledTileNotifications(put_abi(scheduledTiles))); + return scheduledTiles; +} + +template void impl_ITileUpdater::StartPeriodicUpdate(const Windows::Foundation::Uri & tileContent, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_StartPeriodicUpdate(get_abi(tileContent), requestedInterval)); +} + +template void impl_ITileUpdater::StartPeriodicUpdate(const Windows::Foundation::Uri & tileContent, const Windows::Foundation::DateTime & startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_StartPeriodicUpdateAtTime(get_abi(tileContent), get_abi(startTime), requestedInterval)); +} + +template void impl_ITileUpdater::StopPeriodicUpdate() const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_StopPeriodicUpdate()); +} + +template void impl_ITileUpdater::StartPeriodicUpdateBatch(iterable tileContents, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_StartPeriodicUpdateBatch(get_abi(tileContents), requestedInterval)); +} + +template void impl_ITileUpdater::StartPeriodicUpdateBatch(iterable tileContents, const Windows::Foundation::DateTime & startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(ITileUpdater)->abi_StartPeriodicUpdateBatchAtTime(get_abi(tileContents), get_abi(startTime), requestedInterval)); +} + +template void impl_ITileUpdater2::EnableNotificationQueueForSquare150x150(bool enable) const +{ + check_hresult(WINRT_SHIM(ITileUpdater2)->abi_EnableNotificationQueueForSquare150x150(enable)); +} + +template void impl_ITileUpdater2::EnableNotificationQueueForWide310x150(bool enable) const +{ + check_hresult(WINRT_SHIM(ITileUpdater2)->abi_EnableNotificationQueueForWide310x150(enable)); +} + +template void impl_ITileUpdater2::EnableNotificationQueueForSquare310x310(bool enable) const +{ + check_hresult(WINRT_SHIM(ITileUpdater2)->abi_EnableNotificationQueueForSquare310x310(enable)); +} + +template Windows::UI::Notifications::TileFlyoutUpdater impl_ITileFlyoutUpdateManagerStatics::CreateTileFlyoutUpdaterForApplication() const +{ + Windows::UI::Notifications::TileFlyoutUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileFlyoutUpdateManagerStatics)->abi_CreateTileFlyoutUpdaterForApplication(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::TileFlyoutUpdater impl_ITileFlyoutUpdateManagerStatics::CreateTileFlyoutUpdaterForApplication(hstring_view applicationId) const +{ + Windows::UI::Notifications::TileFlyoutUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileFlyoutUpdateManagerStatics)->abi_CreateTileFlyoutUpdaterForApplicationWithId(get_abi(applicationId), put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::TileFlyoutUpdater impl_ITileFlyoutUpdateManagerStatics::CreateTileFlyoutUpdaterForSecondaryTile(hstring_view tileId) const +{ + Windows::UI::Notifications::TileFlyoutUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(ITileFlyoutUpdateManagerStatics)->abi_CreateTileFlyoutUpdaterForSecondaryTile(get_abi(tileId), put_abi(updater))); + return updater; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_ITileFlyoutUpdateManagerStatics::GetTemplateContent(Windows::UI::Notifications::TileFlyoutTemplateType type) const +{ + Windows::Data::Xml::Dom::XmlDocument content { nullptr }; + check_hresult(WINRT_SHIM(ITileFlyoutUpdateManagerStatics)->abi_GetTemplateContent(type, put_abi(content))); + return content; +} + +template void impl_ITileFlyoutUpdater::Update(const Windows::UI::Notifications::TileFlyoutNotification & notification) const +{ + check_hresult(WINRT_SHIM(ITileFlyoutUpdater)->abi_Update(get_abi(notification))); +} + +template void impl_ITileFlyoutUpdater::Clear() const +{ + check_hresult(WINRT_SHIM(ITileFlyoutUpdater)->abi_Clear()); +} + +template void impl_ITileFlyoutUpdater::StartPeriodicUpdate(const Windows::Foundation::Uri & tileFlyoutContent, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(ITileFlyoutUpdater)->abi_StartPeriodicUpdate(get_abi(tileFlyoutContent), requestedInterval)); +} + +template void impl_ITileFlyoutUpdater::StartPeriodicUpdate(const Windows::Foundation::Uri & tileFlyoutContent, const Windows::Foundation::DateTime & startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(ITileFlyoutUpdater)->abi_StartPeriodicUpdateAtTime(get_abi(tileFlyoutContent), get_abi(startTime), requestedInterval)); +} + +template void impl_ITileFlyoutUpdater::StopPeriodicUpdate() const +{ + check_hresult(WINRT_SHIM(ITileFlyoutUpdater)->abi_StopPeriodicUpdate()); +} + +template Windows::UI::Notifications::NotificationSetting impl_ITileFlyoutUpdater::Setting() const +{ + Windows::UI::Notifications::NotificationSetting value {}; + check_hresult(WINRT_SHIM(ITileFlyoutUpdater)->get_Setting(&value)); + return value; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IBadgeUpdateManagerStatics::CreateBadgeUpdaterForApplication() const +{ + Windows::UI::Notifications::BadgeUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerStatics)->abi_CreateBadgeUpdaterForApplication(put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IBadgeUpdateManagerStatics::CreateBadgeUpdaterForApplication(hstring_view applicationId) const +{ + Windows::UI::Notifications::BadgeUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerStatics)->abi_CreateBadgeUpdaterForApplicationWithId(get_abi(applicationId), put_abi(updater))); + return updater; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IBadgeUpdateManagerStatics::CreateBadgeUpdaterForSecondaryTile(hstring_view tileId) const +{ + Windows::UI::Notifications::BadgeUpdater updater { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerStatics)->abi_CreateBadgeUpdaterForSecondaryTile(get_abi(tileId), put_abi(updater))); + return updater; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IBadgeUpdateManagerStatics::GetTemplateContent(Windows::UI::Notifications::BadgeTemplateType type) const +{ + Windows::Data::Xml::Dom::XmlDocument content { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerStatics)->abi_GetTemplateContent(type, put_abi(content))); + return content; +} + +template Windows::UI::Notifications::BadgeUpdateManagerForUser impl_IBadgeUpdateManagerStatics2::GetForUser(const Windows::System::User & user) const +{ + Windows::UI::Notifications::BadgeUpdateManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerStatics2)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IBadgeUpdateManagerForUser::CreateBadgeUpdaterForApplication() const +{ + Windows::UI::Notifications::BadgeUpdater result { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerForUser)->abi_CreateBadgeUpdaterForApplication(put_abi(result))); + return result; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IBadgeUpdateManagerForUser::CreateBadgeUpdaterForApplication(hstring_view applicationId) const +{ + Windows::UI::Notifications::BadgeUpdater result { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerForUser)->abi_CreateBadgeUpdaterForApplicationWithId(get_abi(applicationId), put_abi(result))); + return result; +} + +template Windows::UI::Notifications::BadgeUpdater impl_IBadgeUpdateManagerForUser::CreateBadgeUpdaterForSecondaryTile(hstring_view tileId) const +{ + Windows::UI::Notifications::BadgeUpdater result { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerForUser)->abi_CreateBadgeUpdaterForSecondaryTile(get_abi(tileId), put_abi(result))); + return result; +} + +template Windows::System::User impl_IBadgeUpdateManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IBadgeUpdateManagerForUser)->get_User(put_abi(value))); + return value; +} + +template void impl_IBadgeUpdater::Update(const Windows::UI::Notifications::BadgeNotification & notification) const +{ + check_hresult(WINRT_SHIM(IBadgeUpdater)->abi_Update(get_abi(notification))); +} + +template void impl_IBadgeUpdater::Clear() const +{ + check_hresult(WINRT_SHIM(IBadgeUpdater)->abi_Clear()); +} + +template void impl_IBadgeUpdater::StartPeriodicUpdate(const Windows::Foundation::Uri & badgeContent, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(IBadgeUpdater)->abi_StartPeriodicUpdate(get_abi(badgeContent), requestedInterval)); +} + +template void impl_IBadgeUpdater::StartPeriodicUpdate(const Windows::Foundation::Uri & badgeContent, const Windows::Foundation::DateTime & startTime, Windows::UI::Notifications::PeriodicUpdateRecurrence requestedInterval) const +{ + check_hresult(WINRT_SHIM(IBadgeUpdater)->abi_StartPeriodicUpdateAtTime(get_abi(badgeContent), get_abi(startTime), requestedInterval)); +} + +template void impl_IBadgeUpdater::StopPeriodicUpdate() const +{ + check_hresult(WINRT_SHIM(IBadgeUpdater)->abi_StopPeriodicUpdate()); +} + +template Windows::UI::Notifications::ToastNotifier impl_IToastNotificationManagerStatics::CreateToastNotifier() const +{ + Windows::UI::Notifications::ToastNotifier notifier { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics)->abi_CreateToastNotifier(put_abi(notifier))); + return notifier; +} + +template Windows::UI::Notifications::ToastNotifier impl_IToastNotificationManagerStatics::CreateToastNotifier(hstring_view applicationId) const +{ + Windows::UI::Notifications::ToastNotifier notifier { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics)->abi_CreateToastNotifierWithId(get_abi(applicationId), put_abi(notifier))); + return notifier; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IToastNotificationManagerStatics::GetTemplateContent(Windows::UI::Notifications::ToastTemplateType type) const +{ + Windows::Data::Xml::Dom::XmlDocument content { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics)->abi_GetTemplateContent(type, put_abi(content))); + return content; +} + +template void impl_IToastNotifier::Show(const Windows::UI::Notifications::ToastNotification & notification) const +{ + check_hresult(WINRT_SHIM(IToastNotifier)->abi_Show(get_abi(notification))); +} + +template void impl_IToastNotifier::Hide(const Windows::UI::Notifications::ToastNotification & notification) const +{ + check_hresult(WINRT_SHIM(IToastNotifier)->abi_Hide(get_abi(notification))); +} + +template Windows::UI::Notifications::NotificationSetting impl_IToastNotifier::Setting() const +{ + Windows::UI::Notifications::NotificationSetting value {}; + check_hresult(WINRT_SHIM(IToastNotifier)->get_Setting(&value)); + return value; +} + +template void impl_IToastNotifier::AddToSchedule(const Windows::UI::Notifications::ScheduledToastNotification & scheduledToast) const +{ + check_hresult(WINRT_SHIM(IToastNotifier)->abi_AddToSchedule(get_abi(scheduledToast))); +} + +template void impl_IToastNotifier::RemoveFromSchedule(const Windows::UI::Notifications::ScheduledToastNotification & scheduledToast) const +{ + check_hresult(WINRT_SHIM(IToastNotifier)->abi_RemoveFromSchedule(get_abi(scheduledToast))); +} + +template Windows::Foundation::Collections::IVectorView impl_IToastNotifier::GetScheduledToastNotifications() const +{ + Windows::Foundation::Collections::IVectorView scheduledToasts; + check_hresult(WINRT_SHIM(IToastNotifier)->abi_GetScheduledToastNotifications(put_abi(scheduledToasts))); + return scheduledToasts; +} + +template Windows::UI::Notifications::NotificationUpdateResult impl_IToastNotifier2::Update(const Windows::UI::Notifications::NotificationData & data, hstring_view tag, hstring_view group) const +{ + Windows::UI::Notifications::NotificationUpdateResult result {}; + check_hresult(WINRT_SHIM(IToastNotifier2)->abi_UpdateWithTagAndGroup(get_abi(data), get_abi(tag), get_abi(group), &result)); + return result; +} + +template Windows::UI::Notifications::NotificationUpdateResult impl_IToastNotifier2::Update(const Windows::UI::Notifications::NotificationData & data, hstring_view tag) const +{ + Windows::UI::Notifications::NotificationUpdateResult result {}; + check_hresult(WINRT_SHIM(IToastNotifier2)->abi_UpdateWithTag(get_abi(data), get_abi(tag), &result)); + return result; +} + +template Windows::Foundation::IAsyncAction impl_IToastCollectionManager::SaveToastCollectionAsync(const Windows::UI::Notifications::ToastCollection & collection) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IToastCollectionManager)->abi_SaveToastCollectionAsync(get_abi(collection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_IToastCollectionManager::FindAllToastCollectionsAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(IToastCollectionManager)->abi_FindAllToastCollectionsAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IToastCollectionManager::GetToastCollectionAsync(hstring_view collectionId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IToastCollectionManager)->abi_GetToastCollectionAsync(get_abi(collectionId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IToastCollectionManager::RemoveToastCollectionAsync(hstring_view collectionId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IToastCollectionManager)->abi_RemoveToastCollectionAsync(get_abi(collectionId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IToastCollectionManager::RemoveAllToastCollectionsAsync() const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IToastCollectionManager)->abi_RemoveAllToastCollectionsAsync(put_abi(operation))); + return operation; +} + +template Windows::System::User impl_IToastCollectionManager::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IToastCollectionManager)->get_User(put_abi(value))); + return value; +} + +template hstring impl_IToastCollectionManager::AppId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastCollectionManager)->get_AppId(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::TileNotification impl_ITileNotificationFactory::CreateTileNotification(const Windows::Data::Xml::Dom::XmlDocument & content) const +{ + Windows::UI::Notifications::TileNotification notification { nullptr }; + check_hresult(WINRT_SHIM(ITileNotificationFactory)->abi_CreateTileNotification(get_abi(content), put_abi(notification))); + return notification; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_ITileNotification::Content() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(ITileNotification)->get_Content(put_abi(value))); + return value; +} + +template void impl_ITileNotification::ExpirationTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(ITileNotification)->put_ExpirationTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ITileNotification::ExpirationTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ITileNotification)->get_ExpirationTime(put_abi(value))); + return value; +} + +template void impl_ITileNotification::Tag(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITileNotification)->put_Tag(get_abi(value))); +} + +template hstring impl_ITileNotification::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITileNotification)->get_Tag(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::TileFlyoutNotification impl_ITileFlyoutNotificationFactory::CreateTileFlyoutNotification(const Windows::Data::Xml::Dom::XmlDocument & content) const +{ + Windows::UI::Notifications::TileFlyoutNotification notification { nullptr }; + check_hresult(WINRT_SHIM(ITileFlyoutNotificationFactory)->abi_CreateTileFlyoutNotification(get_abi(content), put_abi(notification))); + return notification; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_ITileFlyoutNotification::Content() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(ITileFlyoutNotification)->get_Content(put_abi(value))); + return value; +} + +template void impl_ITileFlyoutNotification::ExpirationTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(ITileFlyoutNotification)->put_ExpirationTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ITileFlyoutNotification::ExpirationTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ITileFlyoutNotification)->get_ExpirationTime(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::BadgeNotification impl_IBadgeNotificationFactory::CreateBadgeNotification(const Windows::Data::Xml::Dom::XmlDocument & content) const +{ + Windows::UI::Notifications::BadgeNotification notification { nullptr }; + check_hresult(WINRT_SHIM(IBadgeNotificationFactory)->abi_CreateBadgeNotification(get_abi(content), put_abi(notification))); + return notification; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IBadgeNotification::Content() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(IBadgeNotification)->get_Content(put_abi(value))); + return value; +} + +template void impl_IBadgeNotification::ExpirationTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IBadgeNotification)->put_ExpirationTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IBadgeNotification::ExpirationTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IBadgeNotification)->get_ExpirationTime(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::ToastNotification impl_IToastNotificationFactory::CreateToastNotification(const Windows::Data::Xml::Dom::XmlDocument & content) const +{ + Windows::UI::Notifications::ToastNotification notification { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationFactory)->abi_CreateToastNotification(get_abi(content), put_abi(notification))); + return notification; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IToastNotification::Content() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(IToastNotification)->get_Content(put_abi(value))); + return value; +} + +template void impl_IToastNotification::ExpirationTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IToastNotification)->put_ExpirationTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IToastNotification::ExpirationTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IToastNotification)->get_ExpirationTime(put_abi(value))); + return value; +} + +template event_token impl_IToastNotification::Dismissed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IToastNotification)->add_Dismissed(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IToastNotification::Dismissed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Notifications::IToastNotification::remove_Dismissed, Dismissed(handler)); +} + +template void impl_IToastNotification::Dismissed(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IToastNotification)->remove_Dismissed(cookie)); +} + +template event_token impl_IToastNotification::Activated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IToastNotification)->add_Activated(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IToastNotification::Activated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Notifications::IToastNotification::remove_Activated, Activated(handler)); +} + +template void impl_IToastNotification::Activated(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IToastNotification)->remove_Activated(cookie)); +} + +template event_token impl_IToastNotification::Failed(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IToastNotification)->add_Failed(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IToastNotification::Failed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Notifications::IToastNotification::remove_Failed, Failed(handler)); +} + +template void impl_IToastNotification::Failed(event_token token) const +{ + check_hresult(WINRT_SHIM(IToastNotification)->remove_Failed(token)); +} + +template void impl_IToastNotification2::Tag(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IToastNotification2)->put_Tag(get_abi(value))); +} + +template hstring impl_IToastNotification2::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotification2)->get_Tag(put_abi(value))); + return value; +} + +template void impl_IToastNotification2::Group(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IToastNotification2)->put_Group(get_abi(value))); +} + +template hstring impl_IToastNotification2::Group() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotification2)->get_Group(put_abi(value))); + return value; +} + +template void impl_IToastNotification2::SuppressPopup(bool value) const +{ + check_hresult(WINRT_SHIM(IToastNotification2)->put_SuppressPopup(value)); +} + +template bool impl_IToastNotification2::SuppressPopup() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IToastNotification2)->get_SuppressPopup(&value)); + return value; +} + +template Windows::Foundation::IReference impl_INotification::ExpirationTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(INotification)->get_ExpirationTime(put_abi(value))); + return value; +} + +template void impl_INotification::ExpirationTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(INotification)->put_ExpirationTime(get_abi(value))); +} + +template Windows::UI::Notifications::NotificationVisual impl_INotification::Visual() const +{ + Windows::UI::Notifications::NotificationVisual value { nullptr }; + check_hresult(WINRT_SHIM(INotification)->get_Visual(put_abi(value))); + return value; +} + +template void impl_INotification::Visual(const Windows::UI::Notifications::NotificationVisual & value) const +{ + check_hresult(WINRT_SHIM(INotification)->put_Visual(get_abi(value))); +} + +template Windows::UI::Notifications::NotificationMirroring impl_IToastNotification3::NotificationMirroring() const +{ + Windows::UI::Notifications::NotificationMirroring value {}; + check_hresult(WINRT_SHIM(IToastNotification3)->get_NotificationMirroring(&value)); + return value; +} + +template void impl_IToastNotification3::NotificationMirroring(Windows::UI::Notifications::NotificationMirroring value) const +{ + check_hresult(WINRT_SHIM(IToastNotification3)->put_NotificationMirroring(value)); +} + +template hstring impl_IToastNotification3::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastNotification3)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IToastNotification3::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IToastNotification3)->put_RemoteId(get_abi(value))); +} + +template Windows::UI::Notifications::NotificationData impl_IToastNotification4::Data() const +{ + Windows::UI::Notifications::NotificationData value { nullptr }; + check_hresult(WINRT_SHIM(IToastNotification4)->get_Data(put_abi(value))); + return value; +} + +template void impl_IToastNotification4::Data(const Windows::UI::Notifications::NotificationData & value) const +{ + check_hresult(WINRT_SHIM(IToastNotification4)->put_Data(get_abi(value))); +} + +template Windows::UI::Notifications::ToastNotificationPriority impl_IToastNotification4::Priority() const +{ + Windows::UI::Notifications::ToastNotificationPriority value {}; + check_hresult(WINRT_SHIM(IToastNotification4)->get_Priority(&value)); + return value; +} + +template void impl_IToastNotification4::Priority(Windows::UI::Notifications::ToastNotificationPriority value) const +{ + check_hresult(WINRT_SHIM(IToastNotification4)->put_Priority(value)); +} + +template Windows::UI::Notifications::ToastCollection impl_IToastCollectionFactory::CreateInstance(hstring_view collectionId, hstring_view displayName, hstring_view launchArgs, const Windows::Foundation::Uri & iconUri) const +{ + Windows::UI::Notifications::ToastCollection result { nullptr }; + check_hresult(WINRT_SHIM(IToastCollectionFactory)->abi_CreateInstance(get_abi(collectionId), get_abi(displayName), get_abi(launchArgs), get_abi(iconUri), put_abi(result))); + return result; +} + +template Windows::UI::Notifications::NotificationData impl_INotificationDataFactory::CreateNotificationData(iterable> initialValues, uint32_t sequenceNumber) const +{ + Windows::UI::Notifications::NotificationData result { nullptr }; + check_hresult(WINRT_SHIM(INotificationDataFactory)->abi_CreateNotificationDataWithValuesAndSequenceNumber(get_abi(initialValues), sequenceNumber, put_abi(result))); + return result; +} + +template Windows::UI::Notifications::NotificationData impl_INotificationDataFactory::CreateNotificationData(iterable> initialValues) const +{ + Windows::UI::Notifications::NotificationData result { nullptr }; + check_hresult(WINRT_SHIM(INotificationDataFactory)->abi_CreateNotificationDataWithValues(get_abi(initialValues), put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IMap impl_INotificationData::Values() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(INotificationData)->get_Values(put_abi(value))); + return value; +} + +template uint32_t impl_INotificationData::SequenceNumber() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(INotificationData)->get_SequenceNumber(&value)); + return value; +} + +template void impl_INotificationData::SequenceNumber(uint32_t value) const +{ + check_hresult(WINRT_SHIM(INotificationData)->put_SequenceNumber(value)); +} + +template hstring impl_IToastCollection::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastCollection)->get_Id(put_abi(value))); + return value; +} + +template hstring impl_IToastCollection::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastCollection)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IToastCollection::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IToastCollection)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IToastCollection::LaunchArgs() const +{ + hstring value; + check_hresult(WINRT_SHIM(IToastCollection)->get_LaunchArgs(put_abi(value))); + return value; +} + +template void impl_IToastCollection::LaunchArgs(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IToastCollection)->put_LaunchArgs(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IToastCollection::Icon() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IToastCollection)->get_Icon(put_abi(value))); + return value; +} + +template void impl_IToastCollection::Icon(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IToastCollection)->put_Icon(get_abi(value))); +} + +template Windows::UI::Notifications::ScheduledToastNotification impl_IScheduledToastNotificationFactory::CreateScheduledToastNotification(const Windows::Data::Xml::Dom::XmlDocument & content, const Windows::Foundation::DateTime & deliveryTime) const +{ + Windows::UI::Notifications::ScheduledToastNotification notification { nullptr }; + check_hresult(WINRT_SHIM(IScheduledToastNotificationFactory)->abi_CreateScheduledToastNotification(get_abi(content), get_abi(deliveryTime), put_abi(notification))); + return notification; +} + +template Windows::UI::Notifications::ScheduledToastNotification impl_IScheduledToastNotificationFactory::CreateScheduledToastNotificationRecurring(const Windows::Data::Xml::Dom::XmlDocument & content, const Windows::Foundation::DateTime & deliveryTime, const Windows::Foundation::TimeSpan & snoozeInterval, uint32_t maximumSnoozeCount) const +{ + Windows::UI::Notifications::ScheduledToastNotification notification { nullptr }; + check_hresult(WINRT_SHIM(IScheduledToastNotificationFactory)->abi_CreateScheduledToastNotificationRecurring(get_abi(content), get_abi(deliveryTime), get_abi(snoozeInterval), maximumSnoozeCount, put_abi(notification))); + return notification; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IScheduledToastNotification::Content() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(IScheduledToastNotification)->get_Content(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IScheduledToastNotification::DeliveryTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IScheduledToastNotification)->get_DeliveryTime(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IScheduledToastNotification::SnoozeInterval() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IScheduledToastNotification)->get_SnoozeInterval(put_abi(value))); + return value; +} + +template uint32_t impl_IScheduledToastNotification::MaximumSnoozeCount() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IScheduledToastNotification)->get_MaximumSnoozeCount(&value)); + return value; +} + +template void impl_IScheduledToastNotification::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IScheduledToastNotification)->put_Id(get_abi(value))); +} + +template hstring impl_IScheduledToastNotification::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IScheduledToastNotification)->get_Id(put_abi(value))); + return value; +} + +template void impl_IScheduledToastNotification2::Tag(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IScheduledToastNotification2)->put_Tag(get_abi(value))); +} + +template hstring impl_IScheduledToastNotification2::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(IScheduledToastNotification2)->get_Tag(put_abi(value))); + return value; +} + +template void impl_IScheduledToastNotification2::Group(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IScheduledToastNotification2)->put_Group(get_abi(value))); +} + +template hstring impl_IScheduledToastNotification2::Group() const +{ + hstring value; + check_hresult(WINRT_SHIM(IScheduledToastNotification2)->get_Group(put_abi(value))); + return value; +} + +template void impl_IScheduledToastNotification2::SuppressPopup(bool value) const +{ + check_hresult(WINRT_SHIM(IScheduledToastNotification2)->put_SuppressPopup(value)); +} + +template bool impl_IScheduledToastNotification2::SuppressPopup() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScheduledToastNotification2)->get_SuppressPopup(&value)); + return value; +} + +template Windows::UI::Notifications::NotificationMirroring impl_IScheduledToastNotification3::NotificationMirroring() const +{ + Windows::UI::Notifications::NotificationMirroring value {}; + check_hresult(WINRT_SHIM(IScheduledToastNotification3)->get_NotificationMirroring(&value)); + return value; +} + +template void impl_IScheduledToastNotification3::NotificationMirroring(Windows::UI::Notifications::NotificationMirroring value) const +{ + check_hresult(WINRT_SHIM(IScheduledToastNotification3)->put_NotificationMirroring(value)); +} + +template hstring impl_IScheduledToastNotification3::RemoteId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IScheduledToastNotification3)->get_RemoteId(put_abi(value))); + return value; +} + +template void impl_IScheduledToastNotification3::RemoteId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IScheduledToastNotification3)->put_RemoteId(get_abi(value))); +} + +template Windows::UI::Notifications::ScheduledTileNotification impl_IScheduledTileNotificationFactory::CreateScheduledTileNotification(const Windows::Data::Xml::Dom::XmlDocument & content, const Windows::Foundation::DateTime & deliveryTime) const +{ + Windows::UI::Notifications::ScheduledTileNotification notification { nullptr }; + check_hresult(WINRT_SHIM(IScheduledTileNotificationFactory)->abi_CreateScheduledTileNotification(get_abi(content), get_abi(deliveryTime), put_abi(notification))); + return notification; +} + +template Windows::Data::Xml::Dom::XmlDocument impl_IScheduledTileNotification::Content() const +{ + Windows::Data::Xml::Dom::XmlDocument value { nullptr }; + check_hresult(WINRT_SHIM(IScheduledTileNotification)->get_Content(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IScheduledTileNotification::DeliveryTime() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IScheduledTileNotification)->get_DeliveryTime(put_abi(value))); + return value; +} + +template void impl_IScheduledTileNotification::ExpirationTime(const optional & value) const +{ + check_hresult(WINRT_SHIM(IScheduledTileNotification)->put_ExpirationTime(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IScheduledTileNotification::ExpirationTime() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IScheduledTileNotification)->get_ExpirationTime(put_abi(value))); + return value; +} + +template void impl_IScheduledTileNotification::Tag(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IScheduledTileNotification)->put_Tag(get_abi(value))); +} + +template hstring impl_IScheduledTileNotification::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(IScheduledTileNotification)->get_Tag(put_abi(value))); + return value; +} + +template void impl_IScheduledTileNotification::Id(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IScheduledTileNotification)->put_Id(get_abi(value))); +} + +template hstring impl_IScheduledTileNotification::Id() const +{ + hstring value; + check_hresult(WINRT_SHIM(IScheduledTileNotification)->get_Id(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::ToastNotificationHistory impl_IToastNotificationManagerStatics2::History() const +{ + Windows::UI::Notifications::ToastNotificationHistory value { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics2)->get_History(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::ToastNotificationManagerForUser impl_IToastNotificationManagerStatics4::GetForUser(const Windows::System::User & user) const +{ + Windows::UI::Notifications::ToastNotificationManagerForUser result { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics4)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +template void impl_IToastNotificationManagerStatics4::ConfigureNotificationMirroring(Windows::UI::Notifications::NotificationMirroring value) const +{ + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics4)->abi_ConfigureNotificationMirroring(value)); +} + +template Windows::UI::Notifications::ToastNotificationManagerForUser impl_IToastNotificationManagerStatics5::GetDefault() const +{ + Windows::UI::Notifications::ToastNotificationManagerForUser value { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerStatics5)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::UI::Notifications::ToastNotifier impl_IToastNotificationManagerForUser::CreateToastNotifier() const +{ + Windows::UI::Notifications::ToastNotifier result { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser)->abi_CreateToastNotifier(put_abi(result))); + return result; +} + +template Windows::UI::Notifications::ToastNotifier impl_IToastNotificationManagerForUser::CreateToastNotifier(hstring_view applicationId) const +{ + Windows::UI::Notifications::ToastNotifier result { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser)->abi_CreateToastNotifierWithId(get_abi(applicationId), put_abi(result))); + return result; +} + +template Windows::UI::Notifications::ToastNotificationHistory impl_IToastNotificationManagerForUser::History() const +{ + Windows::UI::Notifications::ToastNotificationHistory value { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser)->get_History(put_abi(value))); + return value; +} + +template Windows::System::User impl_IToastNotificationManagerForUser::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser)->get_User(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IToastNotificationManagerForUser2::GetToastNotifierForToastCollectionIdAsync(hstring_view collectionId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser2)->abi_GetToastNotifierForToastCollectionIdAsync(get_abi(collectionId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IToastNotificationManagerForUser2::GetHistoryForToastCollectionIdAsync(hstring_view collectionId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser2)->abi_GetHistoryForToastCollectionIdAsync(get_abi(collectionId), put_abi(operation))); + return operation; +} + +template Windows::UI::Notifications::ToastCollectionManager impl_IToastNotificationManagerForUser2::GetToastCollectionManager() const +{ + Windows::UI::Notifications::ToastCollectionManager result { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser2)->abi_GetToastCollectionManager(put_abi(result))); + return result; +} + +template Windows::UI::Notifications::ToastCollectionManager impl_IToastNotificationManagerForUser2::GetToastCollectionManager(hstring_view appId) const +{ + Windows::UI::Notifications::ToastCollectionManager result { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationManagerForUser2)->abi_GetToastCollectionManagerWithAppId(get_abi(appId), put_abi(result))); + return result; +} + +template void impl_IToastNotificationHistory::RemoveGroup(hstring_view group) const +{ + check_hresult(WINRT_SHIM(IToastNotificationHistory)->abi_RemoveGroup(get_abi(group))); +} + +template void impl_IToastNotificationHistory::RemoveGroup(hstring_view group, hstring_view applicationId) const +{ + check_hresult(WINRT_SHIM(IToastNotificationHistory)->abi_RemoveGroupWithId(get_abi(group), get_abi(applicationId))); +} + +template void impl_IToastNotificationHistory::Remove(hstring_view tag, hstring_view group, hstring_view applicationId) const +{ + check_hresult(WINRT_SHIM(IToastNotificationHistory)->abi_RemoveGroupedTagWithId(get_abi(tag), get_abi(group), get_abi(applicationId))); +} + +template void impl_IToastNotificationHistory::Remove(hstring_view tag, hstring_view group) const +{ + check_hresult(WINRT_SHIM(IToastNotificationHistory)->abi_RemoveGroupedTag(get_abi(tag), get_abi(group))); +} + +template void impl_IToastNotificationHistory::Remove(hstring_view tag) const +{ + check_hresult(WINRT_SHIM(IToastNotificationHistory)->abi_Remove(get_abi(tag))); +} + +template void impl_IToastNotificationHistory::Clear() const +{ + check_hresult(WINRT_SHIM(IToastNotificationHistory)->abi_Clear()); +} + +template void impl_IToastNotificationHistory::Clear(hstring_view applicationId) const +{ + check_hresult(WINRT_SHIM(IToastNotificationHistory)->abi_ClearWithId(get_abi(applicationId))); +} + +template Windows::Foundation::Collections::IVectorView impl_IToastNotificationHistory2::GetHistory() const +{ + Windows::Foundation::Collections::IVectorView toasts; + check_hresult(WINRT_SHIM(IToastNotificationHistory2)->abi_GetHistory(put_abi(toasts))); + return toasts; +} + +template Windows::Foundation::Collections::IVectorView impl_IToastNotificationHistory2::GetHistory(hstring_view applicationId) const +{ + Windows::Foundation::Collections::IVectorView toasts; + check_hresult(WINRT_SHIM(IToastNotificationHistory2)->abi_GetHistoryWithId(get_abi(applicationId), put_abi(toasts))); + return toasts; +} + +template Windows::UI::Notifications::ToastHistoryChangedType impl_IToastNotificationHistoryChangedTriggerDetail::ChangeType() const +{ + Windows::UI::Notifications::ToastHistoryChangedType value {}; + check_hresult(WINRT_SHIM(IToastNotificationHistoryChangedTriggerDetail)->get_ChangeType(&value)); + return value; +} + +template hstring impl_IToastNotificationHistoryChangedTriggerDetail2::CollectionId() const +{ + hstring collectionId; + check_hresult(WINRT_SHIM(IToastNotificationHistoryChangedTriggerDetail2)->get_CollectionId(put_abi(collectionId))); + return collectionId; +} + +template hstring impl_IToastNotificationActionTriggerDetail::Argument() const +{ + hstring argument; + check_hresult(WINRT_SHIM(IToastNotificationActionTriggerDetail)->get_Argument(put_abi(argument))); + return argument; +} + +template Windows::Foundation::Collections::ValueSet impl_IToastNotificationActionTriggerDetail::UserInput() const +{ + Windows::Foundation::Collections::ValueSet inputs { nullptr }; + check_hresult(WINRT_SHIM(IToastNotificationActionTriggerDetail)->get_UserInput(put_abi(inputs))); + return inputs; +} + +inline AdaptiveNotificationText::AdaptiveNotificationText() : + AdaptiveNotificationText(activate_instance()) +{} + +inline BadgeNotification::BadgeNotification(const Windows::Data::Xml::Dom::XmlDocument & content) : + BadgeNotification(get_activation_factory().CreateBadgeNotification(content)) +{} + +inline Windows::UI::Notifications::BadgeUpdater BadgeUpdateManager::CreateBadgeUpdaterForApplication() +{ + return get_activation_factory().CreateBadgeUpdaterForApplication(); +} + +inline Windows::UI::Notifications::BadgeUpdater BadgeUpdateManager::CreateBadgeUpdaterForApplication(hstring_view applicationId) +{ + return get_activation_factory().CreateBadgeUpdaterForApplication(applicationId); +} + +inline Windows::UI::Notifications::BadgeUpdater BadgeUpdateManager::CreateBadgeUpdaterForSecondaryTile(hstring_view tileId) +{ + return get_activation_factory().CreateBadgeUpdaterForSecondaryTile(tileId); +} + +inline Windows::Data::Xml::Dom::XmlDocument BadgeUpdateManager::GetTemplateContent(Windows::UI::Notifications::BadgeTemplateType type) +{ + return get_activation_factory().GetTemplateContent(type); +} + +inline Windows::UI::Notifications::BadgeUpdateManagerForUser BadgeUpdateManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline hstring KnownAdaptiveNotificationHints::Style() +{ + return get_activation_factory().Style(); +} + +inline hstring KnownAdaptiveNotificationHints::Wrap() +{ + return get_activation_factory().Wrap(); +} + +inline hstring KnownAdaptiveNotificationHints::MaxLines() +{ + return get_activation_factory().MaxLines(); +} + +inline hstring KnownAdaptiveNotificationHints::MinLines() +{ + return get_activation_factory().MinLines(); +} + +inline hstring KnownAdaptiveNotificationHints::TextStacking() +{ + return get_activation_factory().TextStacking(); +} + +inline hstring KnownAdaptiveNotificationHints::Align() +{ + return get_activation_factory().Align(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::Caption() +{ + return get_activation_factory().Caption(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::Body() +{ + return get_activation_factory().Body(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::Base() +{ + return get_activation_factory().Base(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::Subtitle() +{ + return get_activation_factory().Subtitle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::Title() +{ + return get_activation_factory().Title(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::Subheader() +{ + return get_activation_factory().Subheader(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::Header() +{ + return get_activation_factory().Header(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::TitleNumeral() +{ + return get_activation_factory().TitleNumeral(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::SubheaderNumeral() +{ + return get_activation_factory().SubheaderNumeral(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::HeaderNumeral() +{ + return get_activation_factory().HeaderNumeral(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::CaptionSubtle() +{ + return get_activation_factory().CaptionSubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::BodySubtle() +{ + return get_activation_factory().BodySubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::BaseSubtle() +{ + return get_activation_factory().BaseSubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::SubtitleSubtle() +{ + return get_activation_factory().SubtitleSubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::TitleSubtle() +{ + return get_activation_factory().TitleSubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::SubheaderSubtle() +{ + return get_activation_factory().SubheaderSubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::SubheaderNumeralSubtle() +{ + return get_activation_factory().SubheaderNumeralSubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::HeaderSubtle() +{ + return get_activation_factory().HeaderSubtle(); +} + +inline hstring KnownAdaptiveNotificationTextStyles::HeaderNumeralSubtle() +{ + return get_activation_factory().HeaderNumeralSubtle(); +} + +inline hstring KnownNotificationBindings::ToastGeneric() +{ + return get_activation_factory().ToastGeneric(); +} + +inline Notification::Notification() : + Notification(activate_instance()) +{} + +inline NotificationData::NotificationData() : + NotificationData(activate_instance()) +{} + +inline NotificationData::NotificationData(iterable> initialValues, uint32_t sequenceNumber) : + NotificationData(get_activation_factory().CreateNotificationData(initialValues, sequenceNumber)) +{} + +inline NotificationData::NotificationData(iterable> initialValues) : + NotificationData(get_activation_factory().CreateNotificationData(initialValues)) +{} + +inline ScheduledTileNotification::ScheduledTileNotification(const Windows::Data::Xml::Dom::XmlDocument & content, const Windows::Foundation::DateTime & deliveryTime) : + ScheduledTileNotification(get_activation_factory().CreateScheduledTileNotification(content, deliveryTime)) +{} + +inline ScheduledToastNotification::ScheduledToastNotification(const Windows::Data::Xml::Dom::XmlDocument & content, const Windows::Foundation::DateTime & deliveryTime) : + ScheduledToastNotification(get_activation_factory().CreateScheduledToastNotification(content, deliveryTime)) +{} + +inline ScheduledToastNotification::ScheduledToastNotification(const Windows::Data::Xml::Dom::XmlDocument & content, const Windows::Foundation::DateTime & deliveryTime, const Windows::Foundation::TimeSpan & snoozeInterval, uint32_t maximumSnoozeCount) : + ScheduledToastNotification(get_activation_factory().CreateScheduledToastNotificationRecurring(content, deliveryTime, snoozeInterval, maximumSnoozeCount)) +{} + +inline TileFlyoutNotification::TileFlyoutNotification(const Windows::Data::Xml::Dom::XmlDocument & content) : + TileFlyoutNotification(get_activation_factory().CreateTileFlyoutNotification(content)) +{} + +inline Windows::UI::Notifications::TileFlyoutUpdater TileFlyoutUpdateManager::CreateTileFlyoutUpdaterForApplication() +{ + return get_activation_factory().CreateTileFlyoutUpdaterForApplication(); +} + +inline Windows::UI::Notifications::TileFlyoutUpdater TileFlyoutUpdateManager::CreateTileFlyoutUpdaterForApplication(hstring_view applicationId) +{ + return get_activation_factory().CreateTileFlyoutUpdaterForApplication(applicationId); +} + +inline Windows::UI::Notifications::TileFlyoutUpdater TileFlyoutUpdateManager::CreateTileFlyoutUpdaterForSecondaryTile(hstring_view tileId) +{ + return get_activation_factory().CreateTileFlyoutUpdaterForSecondaryTile(tileId); +} + +inline Windows::Data::Xml::Dom::XmlDocument TileFlyoutUpdateManager::GetTemplateContent(Windows::UI::Notifications::TileFlyoutTemplateType type) +{ + return get_activation_factory().GetTemplateContent(type); +} + +inline TileNotification::TileNotification(const Windows::Data::Xml::Dom::XmlDocument & content) : + TileNotification(get_activation_factory().CreateTileNotification(content)) +{} + +inline Windows::UI::Notifications::TileUpdater TileUpdateManager::CreateTileUpdaterForApplication() +{ + return get_activation_factory().CreateTileUpdaterForApplication(); +} + +inline Windows::UI::Notifications::TileUpdater TileUpdateManager::CreateTileUpdaterForApplication(hstring_view applicationId) +{ + return get_activation_factory().CreateTileUpdaterForApplication(applicationId); +} + +inline Windows::UI::Notifications::TileUpdater TileUpdateManager::CreateTileUpdaterForSecondaryTile(hstring_view tileId) +{ + return get_activation_factory().CreateTileUpdaterForSecondaryTile(tileId); +} + +inline Windows::Data::Xml::Dom::XmlDocument TileUpdateManager::GetTemplateContent(Windows::UI::Notifications::TileTemplateType type) +{ + return get_activation_factory().GetTemplateContent(type); +} + +inline Windows::UI::Notifications::TileUpdateManagerForUser TileUpdateManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline ToastCollection::ToastCollection(hstring_view collectionId, hstring_view displayName, hstring_view launchArgs, const Windows::Foundation::Uri & iconUri) : + ToastCollection(get_activation_factory().CreateInstance(collectionId, displayName, launchArgs, iconUri)) +{} + +inline ToastNotification::ToastNotification(const Windows::Data::Xml::Dom::XmlDocument & content) : + ToastNotification(get_activation_factory().CreateToastNotification(content)) +{} + +inline Windows::UI::Notifications::ToastNotifier ToastNotificationManager::CreateToastNotifier() +{ + return get_activation_factory().CreateToastNotifier(); +} + +inline Windows::UI::Notifications::ToastNotifier ToastNotificationManager::CreateToastNotifier(hstring_view applicationId) +{ + return get_activation_factory().CreateToastNotifier(applicationId); +} + +inline Windows::Data::Xml::Dom::XmlDocument ToastNotificationManager::GetTemplateContent(Windows::UI::Notifications::ToastTemplateType type) +{ + return get_activation_factory().GetTemplateContent(type); +} + +inline Windows::UI::Notifications::ToastNotificationHistory ToastNotificationManager::History() +{ + return get_activation_factory().History(); +} + +inline Windows::UI::Notifications::ToastNotificationManagerForUser ToastNotificationManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +inline void ToastNotificationManager::ConfigureNotificationMirroring(Windows::UI::Notifications::NotificationMirroring value) +{ + get_activation_factory().ConfigureNotificationMirroring(value); +} + +inline Windows::UI::Notifications::ToastNotificationManagerForUser ToastNotificationManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IAdaptiveNotificationContent & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IAdaptiveNotificationText & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IBadgeNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IBadgeNotificationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IBadgeUpdateManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IBadgeUpdateManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IBadgeUpdateManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IBadgeUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IKnownAdaptiveNotificationHintsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IKnownAdaptiveNotificationTextStylesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IKnownNotificationBindingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::INotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::INotificationBinding & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::INotificationData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::INotificationDataFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::INotificationVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IScheduledTileNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IScheduledTileNotificationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IScheduledToastNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IScheduledToastNotification2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IScheduledToastNotification3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IScheduledToastNotificationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IShownTileNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileFlyoutNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileFlyoutNotificationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileFlyoutUpdateManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileFlyoutUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileNotificationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileUpdateManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileUpdateManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileUpdateManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ITileUpdater2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastCollectionFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastCollectionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastDismissedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotification2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotification3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotification4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationActionTriggerDetail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationHistory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationHistory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationHistoryChangedTriggerDetail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationHistoryChangedTriggerDetail2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationManagerForUser2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationManagerStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotificationManagerStatics5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IToastNotifier2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IUserNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::IUserNotificationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::AdaptiveNotificationText & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::BadgeNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::BadgeUpdateManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::BadgeUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::Notification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::NotificationBinding & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::NotificationData & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::NotificationVisual & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ScheduledTileNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ScheduledToastNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ShownTileNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::TileFlyoutNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::TileFlyoutUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::TileNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::TileUpdateManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::TileUpdater & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastCollection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastCollectionManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastDismissedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastFailedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastNotificationActionTriggerDetail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastNotificationHistory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastNotificationHistoryChangedTriggerDetail & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastNotificationManagerForUser & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::ToastNotifier & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::UserNotification & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Notifications::UserNotificationChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Popups.h b/10.0.15042.0/winrt/Windows.UI.Popups.h new file mode 100644 index 000000000..c8109ea08 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Popups.h @@ -0,0 +1,747 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "Windows.UI.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::UI::Popups { + +template UICommandInvokedHandler::UICommandInvokedHandler(L lambda) : + UICommandInvokedHandler(impl::make_delegate, UICommandInvokedHandler>(std::forward(lambda))) +{} + +template UICommandInvokedHandler::UICommandInvokedHandler(F * function) : + UICommandInvokedHandler([=](auto && ... args) { function(args ...); }) +{} + +template UICommandInvokedHandler::UICommandInvokedHandler(O * object, M method) : + UICommandInvokedHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void UICommandInvokedHandler::operator()(const Windows::UI::Popups::IUICommand & command) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(command))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Commands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Commands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultCommandIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultCommandIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultCommandIndex(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultCommandIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CancelCommandIndex(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CancelCommandIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CancelCommandIndex(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelCommandIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_out> messageDialogAsyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageDialogAsyncOperation = detach_abi(this->shim().ShowAsync()); + return S_OK; + } + catch (...) + { + *messageDialogAsyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Options(Windows::UI::Popups::MessageDialogOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Options(Windows::UI::Popups::MessageDialogOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Options(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in content, impl::abi_arg_out messageDialog) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageDialog = detach_abi(this->shim().Create(*reinterpret_cast(&content))); + return S_OK; + } + catch (...) + { + *messageDialog = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithTitle(impl::abi_arg_in content, impl::abi_arg_in title, impl::abi_arg_out messageDialog) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *messageDialog = detach_abi(this->shim().CreateWithTitle(*reinterpret_cast(&content), *reinterpret_cast(&title))); + return S_OK; + } + catch (...) + { + *messageDialog = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Commands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Commands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_in invocationPoint, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().ShowAsync(*reinterpret_cast(&invocationPoint))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsyncWithRect(impl::abi_arg_in selection, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().ShowForSelectionAsync(*reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsyncWithRectAndPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> asyncOperation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *asyncOperation = detach_abi(this->shim().ShowForSelectionAsync(*reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *asyncOperation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Invoked(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Invoked()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Invoked(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Invoked(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Id(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Id(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in label, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().Create(*reinterpret_cast(&label))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithHandler(impl::abi_arg_in label, impl::abi_arg_in action, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWithHandler(*reinterpret_cast(&label), *reinterpret_cast(&action))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithHandlerAndId(impl::abi_arg_in label, impl::abi_arg_in action, impl::abi_arg_in commandId, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWithHandlerAndId(*reinterpret_cast(&label), *reinterpret_cast(&action), *reinterpret_cast(&commandId))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Popups { + +template hstring impl_IMessageDialog::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMessageDialog)->get_Title(put_abi(value))); + return value; +} + +template void impl_IMessageDialog::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMessageDialog)->put_Title(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IMessageDialog::Commands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMessageDialog)->get_Commands(put_abi(value))); + return value; +} + +template uint32_t impl_IMessageDialog::DefaultCommandIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMessageDialog)->get_DefaultCommandIndex(&value)); + return value; +} + +template void impl_IMessageDialog::DefaultCommandIndex(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMessageDialog)->put_DefaultCommandIndex(value)); +} + +template uint32_t impl_IMessageDialog::CancelCommandIndex() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IMessageDialog)->get_CancelCommandIndex(&value)); + return value; +} + +template void impl_IMessageDialog::CancelCommandIndex(uint32_t value) const +{ + check_hresult(WINRT_SHIM(IMessageDialog)->put_CancelCommandIndex(value)); +} + +template hstring impl_IMessageDialog::Content() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMessageDialog)->get_Content(put_abi(value))); + return value; +} + +template void impl_IMessageDialog::Content(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMessageDialog)->put_Content(get_abi(value))); +} + +template Windows::Foundation::IAsyncOperation impl_IMessageDialog::ShowAsync() const +{ + Windows::Foundation::IAsyncOperation messageDialogAsyncOperation; + check_hresult(WINRT_SHIM(IMessageDialog)->abi_ShowAsync(put_abi(messageDialogAsyncOperation))); + return messageDialogAsyncOperation; +} + +template Windows::UI::Popups::MessageDialogOptions impl_IMessageDialog::Options() const +{ + Windows::UI::Popups::MessageDialogOptions value {}; + check_hresult(WINRT_SHIM(IMessageDialog)->get_Options(&value)); + return value; +} + +template void impl_IMessageDialog::Options(Windows::UI::Popups::MessageDialogOptions value) const +{ + check_hresult(WINRT_SHIM(IMessageDialog)->put_Options(value)); +} + +template Windows::UI::Popups::MessageDialog impl_IMessageDialogFactory::Create(hstring_view content) const +{ + Windows::UI::Popups::MessageDialog messageDialog { nullptr }; + check_hresult(WINRT_SHIM(IMessageDialogFactory)->abi_Create(get_abi(content), put_abi(messageDialog))); + return messageDialog; +} + +template Windows::UI::Popups::MessageDialog impl_IMessageDialogFactory::CreateWithTitle(hstring_view content, hstring_view title) const +{ + Windows::UI::Popups::MessageDialog messageDialog { nullptr }; + check_hresult(WINRT_SHIM(IMessageDialogFactory)->abi_CreateWithTitle(get_abi(content), get_abi(title), put_abi(messageDialog))); + return messageDialog; +} + +template hstring impl_IUICommand::Label() const +{ + hstring value; + check_hresult(WINRT_SHIM(IUICommand)->get_Label(put_abi(value))); + return value; +} + +template void impl_IUICommand::Label(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IUICommand)->put_Label(get_abi(value))); +} + +template Windows::UI::Popups::UICommandInvokedHandler impl_IUICommand::Invoked() const +{ + Windows::UI::Popups::UICommandInvokedHandler value {}; + check_hresult(WINRT_SHIM(IUICommand)->get_Invoked(put_abi(value))); + return value; +} + +template void impl_IUICommand::Invoked(const Windows::UI::Popups::UICommandInvokedHandler & value) const +{ + check_hresult(WINRT_SHIM(IUICommand)->put_Invoked(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IUICommand::Id() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IUICommand)->get_Id(put_abi(value))); + return value; +} + +template void impl_IUICommand::Id(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IUICommand)->put_Id(get_abi(value))); +} + +template Windows::UI::Popups::UICommand impl_IUICommandFactory::Create(hstring_view label) const +{ + Windows::UI::Popups::UICommand instance { nullptr }; + check_hresult(WINRT_SHIM(IUICommandFactory)->abi_Create(get_abi(label), put_abi(instance))); + return instance; +} + +template Windows::UI::Popups::UICommand impl_IUICommandFactory::CreateWithHandler(hstring_view label, const Windows::UI::Popups::UICommandInvokedHandler & action) const +{ + Windows::UI::Popups::UICommand instance { nullptr }; + check_hresult(WINRT_SHIM(IUICommandFactory)->abi_CreateWithHandler(get_abi(label), get_abi(action), put_abi(instance))); + return instance; +} + +template Windows::UI::Popups::UICommand impl_IUICommandFactory::CreateWithHandlerAndId(hstring_view label, const Windows::UI::Popups::UICommandInvokedHandler & action, const Windows::Foundation::IInspectable & commandId) const +{ + Windows::UI::Popups::UICommand instance { nullptr }; + check_hresult(WINRT_SHIM(IUICommandFactory)->abi_CreateWithHandlerAndId(get_abi(label), get_abi(action), get_abi(commandId), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Collections::IVector impl_IPopupMenu::Commands() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IPopupMenu)->get_Commands(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IPopupMenu::ShowAsync(const Windows::Foundation::Point & invocationPoint) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IPopupMenu)->abi_ShowAsync(get_abi(invocationPoint), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IPopupMenu::ShowForSelectionAsync(const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IPopupMenu)->abi_ShowAsyncWithRect(get_abi(selection), put_abi(asyncOperation))); + return asyncOperation; +} + +template Windows::Foundation::IAsyncOperation impl_IPopupMenu::ShowForSelectionAsync(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation asyncOperation; + check_hresult(WINRT_SHIM(IPopupMenu)->abi_ShowAsyncWithRectAndPlacement(get_abi(selection), preferredPlacement, put_abi(asyncOperation))); + return asyncOperation; +} + +inline MessageDialog::MessageDialog(hstring_view content) : + MessageDialog(get_activation_factory().Create(content)) +{} + +inline MessageDialog::MessageDialog(hstring_view content, hstring_view title) : + MessageDialog(get_activation_factory().CreateWithTitle(content, title)) +{} + +inline PopupMenu::PopupMenu() : + PopupMenu(activate_instance()) +{} + +inline UICommand::UICommand() : + UICommand(activate_instance()) +{} + +inline UICommand::UICommand(hstring_view label) : + UICommand(get_activation_factory().Create(label)) +{} + +inline UICommand::UICommand(hstring_view label, const Windows::UI::Popups::UICommandInvokedHandler & action) : + UICommand(get_activation_factory().CreateWithHandler(label, action)) +{} + +inline UICommand::UICommand(hstring_view label, const Windows::UI::Popups::UICommandInvokedHandler & action, const Windows::Foundation::IInspectable & commandId) : + UICommand(get_activation_factory().CreateWithHandlerAndId(label, action, commandId)) +{} + +inline UICommandSeparator::UICommandSeparator() : + UICommandSeparator(activate_instance()) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::IMessageDialog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::IMessageDialogFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::IPopupMenu & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::IUICommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::IUICommandFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::MessageDialog & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::PopupMenu & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::UICommand & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Popups::UICommandSeparator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.StartScreen.h b/10.0.15042.0/winrt/Windows.UI.StartScreen.h new file mode 100644 index 000000000..c374c337d --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.StartScreen.h @@ -0,0 +1,2547 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.ApplicationModel.Core.3.h" +#include "internal/Windows.UI.StartScreen.3.h" +#include "Windows.UI.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SystemGroupKind(Windows::UI::StartScreen::JumpListSystemGroupKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SystemGroupKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SystemGroupKind(Windows::UI::StartScreen::JumpListSystemGroupKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SystemGroupKind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveAsync(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SaveAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::UI::StartScreen::JumpListItemKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovedByUser(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedByUser()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Description(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Description()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Description(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Description(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateWithArguments(impl::abi_arg_in arguments, impl::abi_arg_in displayName, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateWithArguments(*reinterpret_cast(&arguments), *reinterpret_cast(&displayName))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateSeparator(impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateSeparator()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_LoadCurrentAsync(impl::abi_arg_out> result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().LoadCurrentAsync()); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsSupported(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().IsSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_TileId(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TileId(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Arguments(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Arguments(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Arguments(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Arguments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShortName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShortName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShortName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShortName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmallLogo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmallLogo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmallLogo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmallLogo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WideLogo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WideLogo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WideLogo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WideLogo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LockScreenBadgeLogo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LockScreenBadgeLogo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LockScreenBadgeLogo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LockScreenBadgeLogo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LockScreenDisplayBadgeAndTileText(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LockScreenDisplayBadgeAndTileText(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LockScreenDisplayBadgeAndTileText(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LockScreenDisplayBadgeAndTileText()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TileOptions(Windows::UI::StartScreen::TileOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TileOptions(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileOptions(Windows::UI::StartScreen::TileOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileOptions()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ForegroundText(Windows::UI::StartScreen::ForegroundText value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundText(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundText(Windows::UI::StartScreen::ForegroundText * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundText()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCreateAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestCreateAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCreateAsyncWithPoint(impl::abi_arg_in invocationPoint, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestCreateAsync(*reinterpret_cast(&invocationPoint))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCreateAsyncWithRect(impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestCreateForSelectionAsync(*reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestCreateAsyncWithRectAndPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestCreateForSelectionAsync(*reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDeleteAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDeleteAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDeleteAsyncWithPoint(impl::abi_arg_in invocationPoint, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDeleteAsync(*reinterpret_cast(&invocationPoint))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDeleteAsyncWithRect(impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDeleteForSelectionAsync(*reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestDeleteAsyncWithRectAndPlacement(impl::abi_arg_in selection, Windows::UI::Popups::Placement preferredPlacement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestDeleteForSelectionAsync(*reinterpret_cast(&selection), preferredPlacement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UpdateAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().UpdateAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_PhoneticName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PhoneticName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PhoneticName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PhoneticName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VisualElements(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VisualElements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RoamingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RoamingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoamingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoamingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VisualElementsRequested(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VisualElementsRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VisualElementsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VisualElementsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateTile(impl::abi_arg_in tileId, impl::abi_arg_in shortName, impl::abi_arg_in displayName, impl::abi_arg_in arguments, Windows::UI::StartScreen::TileOptions tileOptions, impl::abi_arg_in logoReference, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateTile(*reinterpret_cast(&tileId), *reinterpret_cast(&shortName), *reinterpret_cast(&displayName), *reinterpret_cast(&arguments), tileOptions, *reinterpret_cast(&logoReference))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWideTile(impl::abi_arg_in tileId, impl::abi_arg_in shortName, impl::abi_arg_in displayName, impl::abi_arg_in arguments, Windows::UI::StartScreen::TileOptions tileOptions, impl::abi_arg_in logoReference, impl::abi_arg_in wideLogoReference, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWideTile(*reinterpret_cast(&tileId), *reinterpret_cast(&shortName), *reinterpret_cast(&displayName), *reinterpret_cast(&arguments), tileOptions, *reinterpret_cast(&logoReference), *reinterpret_cast(&wideLogoReference))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithId(impl::abi_arg_in tileId, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateWithId(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateMinimalTile(impl::abi_arg_in tileId, impl::abi_arg_in displayName, impl::abi_arg_in arguments, impl::abi_arg_in square150x150Logo, Windows::UI::StartScreen::TileSize desiredSize, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateMinimalTile(*reinterpret_cast(&tileId), *reinterpret_cast(&displayName), *reinterpret_cast(&arguments), *reinterpret_cast(&square150x150Logo), desiredSize)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Exists(impl::abi_arg_in tileId, bool * exists) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *exists = detach_abi(this->shim().Exists(*reinterpret_cast(&tileId))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllForApplicationAsync(impl::abi_arg_in applicationId, impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllAsync(*reinterpret_cast(&applicationId))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAllForPackageAsync(impl::abi_arg_out>> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().FindAllForPackageAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Square30x30Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Square30x30Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square30x30Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square30x30Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Square70x70Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Square70x70Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square70x70Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square70x70Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Square150x150Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Square150x150Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square150x150Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square150x150Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Wide310x150Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Wide310x150Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Wide310x150Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Wide310x150Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Square310x310Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Square310x310Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square310x310Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square310x310Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ForegroundText(Windows::UI::StartScreen::ForegroundText value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundText(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundText(Windows::UI::StartScreen::ForegroundText * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundText()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowNameOnSquare150x150Logo(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNameOnSquare150x150Logo(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowNameOnSquare150x150Logo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowNameOnSquare150x150Logo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowNameOnWide310x150Logo(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNameOnWide310x150Logo(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowNameOnWide310x150Logo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowNameOnWide310x150Logo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowNameOnSquare310x310Logo(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowNameOnSquare310x310Logo(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowNameOnSquare310x310Logo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowNameOnSquare310x310Logo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Square71x71Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Square71x71Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square71x71Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square71x71Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_Square44x44Logo(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Square44x44Logo(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Square44x44Logo(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Square44x44Logo()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_User(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().User()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SupportsAppListEntry(impl::abi_arg_in appListEntry, bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().SupportsAppListEntry(*reinterpret_cast(&appListEntry))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainsAppListEntryAsync(impl::abi_arg_in appListEntry, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ContainsAppListEntryAsync(*reinterpret_cast(&appListEntry))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestAddAppListEntryAsync(impl::abi_arg_in appListEntry, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestAddAppListEntryAsync(*reinterpret_cast(&appListEntry))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDefault(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefault()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetForUser(impl::abi_arg_in user, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().GetForUser(*reinterpret_cast(&user))); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_VisualElements(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VisualElements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlternateVisualElements(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlternateVisualElements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Deadline(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Deadline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::StartScreen { + +template Windows::UI::StartScreen::JumpListItemKind impl_IJumpListItem::Kind() const +{ + Windows::UI::StartScreen::JumpListItemKind value {}; + check_hresult(WINRT_SHIM(IJumpListItem)->get_Kind(&value)); + return value; +} + +template hstring impl_IJumpListItem::Arguments() const +{ + hstring value; + check_hresult(WINRT_SHIM(IJumpListItem)->get_Arguments(put_abi(value))); + return value; +} + +template bool impl_IJumpListItem::RemovedByUser() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IJumpListItem)->get_RemovedByUser(&value)); + return value; +} + +template hstring impl_IJumpListItem::Description() const +{ + hstring value; + check_hresult(WINRT_SHIM(IJumpListItem)->get_Description(put_abi(value))); + return value; +} + +template void impl_IJumpListItem::Description(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IJumpListItem)->put_Description(get_abi(value))); +} + +template hstring impl_IJumpListItem::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IJumpListItem)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_IJumpListItem::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IJumpListItem)->put_DisplayName(get_abi(value))); +} + +template hstring impl_IJumpListItem::GroupName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IJumpListItem)->get_GroupName(put_abi(value))); + return value; +} + +template void impl_IJumpListItem::GroupName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IJumpListItem)->put_GroupName(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IJumpListItem::Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItem)->get_Logo(put_abi(value))); + return value; +} + +template void impl_IJumpListItem::Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IJumpListItem)->put_Logo(get_abi(value))); +} + +template Windows::UI::StartScreen::JumpListItem impl_IJumpListItemStatics::CreateWithArguments(hstring_view arguments, hstring_view displayName) const +{ + Windows::UI::StartScreen::JumpListItem result { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemStatics)->abi_CreateWithArguments(get_abi(arguments), get_abi(displayName), put_abi(result))); + return result; +} + +template Windows::UI::StartScreen::JumpListItem impl_IJumpListItemStatics::CreateSeparator() const +{ + Windows::UI::StartScreen::JumpListItem result { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemStatics)->abi_CreateSeparator(put_abi(result))); + return result; +} + +template Windows::Foundation::Collections::IVector impl_IJumpList::Items() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IJumpList)->get_Items(put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::JumpListSystemGroupKind impl_IJumpList::SystemGroupKind() const +{ + Windows::UI::StartScreen::JumpListSystemGroupKind value {}; + check_hresult(WINRT_SHIM(IJumpList)->get_SystemGroupKind(&value)); + return value; +} + +template void impl_IJumpList::SystemGroupKind(Windows::UI::StartScreen::JumpListSystemGroupKind value) const +{ + check_hresult(WINRT_SHIM(IJumpList)->put_SystemGroupKind(value)); +} + +template Windows::Foundation::IAsyncAction impl_IJumpList::SaveAsync() const +{ + Windows::Foundation::IAsyncAction result; + check_hresult(WINRT_SHIM(IJumpList)->abi_SaveAsync(put_abi(result))); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IJumpListStatics::LoadCurrentAsync() const +{ + Windows::Foundation::IAsyncOperation result; + check_hresult(WINRT_SHIM(IJumpListStatics)->abi_LoadCurrentAsync(put_abi(result))); + return result; +} + +template bool impl_IJumpListStatics::IsSupported() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IJumpListStatics)->abi_IsSupported(&result)); + return result; +} + +template void impl_ISecondaryTile::TileId(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_TileId(get_abi(value))); +} + +template hstring impl_ISecondaryTile::TileId() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_TileId(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::Arguments(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_Arguments(get_abi(value))); +} + +template hstring impl_ISecondaryTile::Arguments() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_Arguments(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::ShortName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_ShortName(get_abi(value))); +} + +template hstring impl_ISecondaryTile::ShortName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_ShortName(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::DisplayName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_DisplayName(get_abi(value))); +} + +template hstring impl_ISecondaryTile::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_DisplayName(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTile::Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_Logo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::SmallLogo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_SmallLogo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTile::SmallLogo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_SmallLogo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::WideLogo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_WideLogo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTile::WideLogo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_WideLogo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::LockScreenBadgeLogo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_LockScreenBadgeLogo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTile::LockScreenBadgeLogo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_LockScreenBadgeLogo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile::LockScreenDisplayBadgeAndTileText(bool value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_LockScreenDisplayBadgeAndTileText(value)); +} + +template bool impl_ISecondaryTile::LockScreenDisplayBadgeAndTileText() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_LockScreenDisplayBadgeAndTileText(&value)); + return value; +} + +template void impl_ISecondaryTile::TileOptions(Windows::UI::StartScreen::TileOptions value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_TileOptions(value)); +} + +template Windows::UI::StartScreen::TileOptions impl_ISecondaryTile::TileOptions() const +{ + Windows::UI::StartScreen::TileOptions value {}; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_TileOptions(&value)); + return value; +} + +template void impl_ISecondaryTile::ForegroundText(Windows::UI::StartScreen::ForegroundText value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_ForegroundText(value)); +} + +template Windows::UI::StartScreen::ForegroundText impl_ISecondaryTile::ForegroundText() const +{ + Windows::UI::StartScreen::ForegroundText value {}; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_ForegroundText(&value)); + return value; +} + +template void impl_ISecondaryTile::BackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile)->put_BackgroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_ISecondaryTile::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ISecondaryTile)->get_BackgroundColor(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestCreateAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestCreateAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestCreateAsync(const Windows::Foundation::Point & invocationPoint) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestCreateAsyncWithPoint(get_abi(invocationPoint), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestCreateForSelectionAsync(const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestCreateAsyncWithRect(get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestCreateForSelectionAsync(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestCreateAsyncWithRectAndPlacement(get_abi(selection), preferredPlacement, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestDeleteAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestDeleteAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestDeleteAsync(const Windows::Foundation::Point & invocationPoint) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestDeleteAsyncWithPoint(get_abi(invocationPoint), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestDeleteForSelectionAsync(const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestDeleteAsyncWithRect(get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::RequestDeleteForSelectionAsync(const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement preferredPlacement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_RequestDeleteAsyncWithRectAndPlacement(get_abi(selection), preferredPlacement, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_ISecondaryTile::UpdateAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(ISecondaryTile)->abi_UpdateAsync(put_abi(operation))); + return operation; +} + +template void impl_ISecondaryTile2::PhoneticName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile2)->put_PhoneticName(get_abi(value))); +} + +template hstring impl_ISecondaryTile2::PhoneticName() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISecondaryTile2)->get_PhoneticName(put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::SecondaryTileVisualElements impl_ISecondaryTile2::VisualElements() const +{ + Windows::UI::StartScreen::SecondaryTileVisualElements value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTile2)->get_VisualElements(put_abi(value))); + return value; +} + +template void impl_ISecondaryTile2::RoamingEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile2)->put_RoamingEnabled(value)); +} + +template bool impl_ISecondaryTile2::RoamingEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISecondaryTile2)->get_RoamingEnabled(&value)); + return value; +} + +template event_token impl_ISecondaryTile2::VisualElementsRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISecondaryTile2)->add_VisualElementsRequested(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_ISecondaryTile2::VisualElementsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::StartScreen::ISecondaryTile2::remove_VisualElementsRequested, VisualElementsRequested(handler)); +} + +template void impl_ISecondaryTile2::VisualElementsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISecondaryTile2)->remove_VisualElementsRequested(token)); +} + +template void impl_ISecondaryTileVisualElements::Square30x30Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_Square30x30Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTileVisualElements::Square30x30Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_Square30x30Logo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTileVisualElements::Square70x70Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_Square70x70Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTileVisualElements::Square70x70Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_Square70x70Logo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTileVisualElements::Square150x150Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_Square150x150Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTileVisualElements::Square150x150Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_Square150x150Logo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTileVisualElements::Wide310x150Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_Wide310x150Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTileVisualElements::Wide310x150Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_Wide310x150Logo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTileVisualElements::Square310x310Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_Square310x310Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTileVisualElements::Square310x310Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_Square310x310Logo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTileVisualElements::ForegroundText(Windows::UI::StartScreen::ForegroundText value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_ForegroundText(value)); +} + +template Windows::UI::StartScreen::ForegroundText impl_ISecondaryTileVisualElements::ForegroundText() const +{ + Windows::UI::StartScreen::ForegroundText value {}; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_ForegroundText(&value)); + return value; +} + +template void impl_ISecondaryTileVisualElements::BackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_BackgroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_ISecondaryTileVisualElements::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_ISecondaryTileVisualElements::ShowNameOnSquare150x150Logo(bool value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_ShowNameOnSquare150x150Logo(value)); +} + +template bool impl_ISecondaryTileVisualElements::ShowNameOnSquare150x150Logo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_ShowNameOnSquare150x150Logo(&value)); + return value; +} + +template void impl_ISecondaryTileVisualElements::ShowNameOnWide310x150Logo(bool value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_ShowNameOnWide310x150Logo(value)); +} + +template bool impl_ISecondaryTileVisualElements::ShowNameOnWide310x150Logo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_ShowNameOnWide310x150Logo(&value)); + return value; +} + +template void impl_ISecondaryTileVisualElements::ShowNameOnSquare310x310Logo(bool value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->put_ShowNameOnSquare310x310Logo(value)); +} + +template bool impl_ISecondaryTileVisualElements::ShowNameOnSquare310x310Logo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements)->get_ShowNameOnSquare310x310Logo(&value)); + return value; +} + +template void impl_ISecondaryTileVisualElements2::Square71x71Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements2)->put_Square71x71Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTileVisualElements2::Square71x71Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements2)->get_Square71x71Logo(put_abi(value))); + return value; +} + +template void impl_ISecondaryTileVisualElements3::Square44x44Logo(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements3)->put_Square44x44Logo(get_abi(value))); +} + +template Windows::Foundation::Uri impl_ISecondaryTileVisualElements3::Square44x44Logo() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileVisualElements3)->get_Square44x44Logo(put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::SecondaryTile impl_ISecondaryTileFactory::CreateTile(hstring_view tileId, hstring_view shortName, hstring_view displayName, hstring_view arguments, Windows::UI::StartScreen::TileOptions tileOptions, const Windows::Foundation::Uri & logoReference) const +{ + Windows::UI::StartScreen::SecondaryTile value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileFactory)->abi_CreateTile(get_abi(tileId), get_abi(shortName), get_abi(displayName), get_abi(arguments), tileOptions, get_abi(logoReference), put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::SecondaryTile impl_ISecondaryTileFactory::CreateWideTile(hstring_view tileId, hstring_view shortName, hstring_view displayName, hstring_view arguments, Windows::UI::StartScreen::TileOptions tileOptions, const Windows::Foundation::Uri & logoReference, const Windows::Foundation::Uri & wideLogoReference) const +{ + Windows::UI::StartScreen::SecondaryTile value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileFactory)->abi_CreateWideTile(get_abi(tileId), get_abi(shortName), get_abi(displayName), get_abi(arguments), tileOptions, get_abi(logoReference), get_abi(wideLogoReference), put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::SecondaryTile impl_ISecondaryTileFactory::CreateWithId(hstring_view tileId) const +{ + Windows::UI::StartScreen::SecondaryTile value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileFactory)->abi_CreateWithId(get_abi(tileId), put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::SecondaryTile impl_ISecondaryTileFactory2::CreateMinimalTile(hstring_view tileId, hstring_view displayName, hstring_view arguments, const Windows::Foundation::Uri & square150x150Logo, Windows::UI::StartScreen::TileSize desiredSize) const +{ + Windows::UI::StartScreen::SecondaryTile value { nullptr }; + check_hresult(WINRT_SHIM(ISecondaryTileFactory2)->abi_CreateMinimalTile(get_abi(tileId), get_abi(displayName), get_abi(arguments), get_abi(square150x150Logo), desiredSize, put_abi(value))); + return value; +} + +template bool impl_ISecondaryTileStatics::Exists(hstring_view tileId) const +{ + bool exists {}; + check_hresult(WINRT_SHIM(ISecondaryTileStatics)->abi_Exists(get_abi(tileId), &exists)); + return exists; +} + +template Windows::Foundation::IAsyncOperation> impl_ISecondaryTileStatics::FindAllAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ISecondaryTileStatics)->abi_FindAllAsync(put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ISecondaryTileStatics::FindAllAsync(hstring_view applicationId) const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ISecondaryTileStatics)->abi_FindAllForApplicationAsync(get_abi(applicationId), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation> impl_ISecondaryTileStatics::FindAllForPackageAsync() const +{ + Windows::Foundation::IAsyncOperation> operation; + check_hresult(WINRT_SHIM(ISecondaryTileStatics)->abi_FindAllForPackageAsync(put_abi(operation))); + return operation; +} + +template Windows::UI::StartScreen::VisualElementsRequest impl_IVisualElementsRequestedEventArgs::Request() const +{ + Windows::UI::StartScreen::VisualElementsRequest value { nullptr }; + check_hresult(WINRT_SHIM(IVisualElementsRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::SecondaryTileVisualElements impl_IVisualElementsRequest::VisualElements() const +{ + Windows::UI::StartScreen::SecondaryTileVisualElements value { nullptr }; + check_hresult(WINRT_SHIM(IVisualElementsRequest)->get_VisualElements(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IVisualElementsRequest::AlternateVisualElements() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IVisualElementsRequest)->get_AlternateVisualElements(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IVisualElementsRequest::Deadline() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IVisualElementsRequest)->get_Deadline(put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::VisualElementsRequestDeferral impl_IVisualElementsRequest::GetDeferral() const +{ + Windows::UI::StartScreen::VisualElementsRequestDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IVisualElementsRequest)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template void impl_IVisualElementsRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IVisualElementsRequestDeferral)->abi_Complete()); +} + +template Windows::System::User impl_IStartScreenManager::User() const +{ + Windows::System::User value { nullptr }; + check_hresult(WINRT_SHIM(IStartScreenManager)->get_User(put_abi(value))); + return value; +} + +template bool impl_IStartScreenManager::SupportsAppListEntry(const Windows::ApplicationModel::Core::AppListEntry & appListEntry) const +{ + bool result {}; + check_hresult(WINRT_SHIM(IStartScreenManager)->abi_SupportsAppListEntry(get_abi(appListEntry), &result)); + return result; +} + +template Windows::Foundation::IAsyncOperation impl_IStartScreenManager::ContainsAppListEntryAsync(const Windows::ApplicationModel::Core::AppListEntry & appListEntry) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStartScreenManager)->abi_ContainsAppListEntryAsync(get_abi(appListEntry), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IStartScreenManager::RequestAddAppListEntryAsync(const Windows::ApplicationModel::Core::AppListEntry & appListEntry) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IStartScreenManager)->abi_RequestAddAppListEntryAsync(get_abi(appListEntry), put_abi(operation))); + return operation; +} + +template Windows::UI::StartScreen::StartScreenManager impl_IStartScreenManagerStatics::GetDefault() const +{ + Windows::UI::StartScreen::StartScreenManager value { nullptr }; + check_hresult(WINRT_SHIM(IStartScreenManagerStatics)->abi_GetDefault(put_abi(value))); + return value; +} + +template Windows::UI::StartScreen::StartScreenManager impl_IStartScreenManagerStatics::GetForUser(const Windows::System::User & user) const +{ + Windows::UI::StartScreen::StartScreenManager result { nullptr }; + check_hresult(WINRT_SHIM(IStartScreenManagerStatics)->abi_GetForUser(get_abi(user), put_abi(result))); + return result; +} + +inline Windows::Foundation::IAsyncOperation JumpList::LoadCurrentAsync() +{ + return get_activation_factory().LoadCurrentAsync(); +} + +inline bool JumpList::IsSupported() +{ + return get_activation_factory().IsSupported(); +} + +inline Windows::UI::StartScreen::JumpListItem JumpListItem::CreateWithArguments(hstring_view arguments, hstring_view displayName) +{ + return get_activation_factory().CreateWithArguments(arguments, displayName); +} + +inline Windows::UI::StartScreen::JumpListItem JumpListItem::CreateSeparator() +{ + return get_activation_factory().CreateSeparator(); +} + +inline SecondaryTile::SecondaryTile() : + SecondaryTile(activate_instance()) +{} + +inline SecondaryTile::SecondaryTile(hstring_view tileId, hstring_view shortName, hstring_view displayName, hstring_view arguments, Windows::UI::StartScreen::TileOptions tileOptions, const Windows::Foundation::Uri & logoReference) : + SecondaryTile(get_activation_factory().CreateTile(tileId, shortName, displayName, arguments, tileOptions, logoReference)) +{} + +inline SecondaryTile::SecondaryTile(hstring_view tileId, hstring_view shortName, hstring_view displayName, hstring_view arguments, Windows::UI::StartScreen::TileOptions tileOptions, const Windows::Foundation::Uri & logoReference, const Windows::Foundation::Uri & wideLogoReference) : + SecondaryTile(get_activation_factory().CreateWideTile(tileId, shortName, displayName, arguments, tileOptions, logoReference, wideLogoReference)) +{} + +inline SecondaryTile::SecondaryTile(hstring_view tileId) : + SecondaryTile(get_activation_factory().CreateWithId(tileId)) +{} + +inline SecondaryTile::SecondaryTile(hstring_view tileId, hstring_view displayName, hstring_view arguments, const Windows::Foundation::Uri & square150x150Logo, Windows::UI::StartScreen::TileSize desiredSize) : + SecondaryTile(get_activation_factory().CreateMinimalTile(tileId, displayName, arguments, square150x150Logo, desiredSize)) +{} + +inline bool SecondaryTile::Exists(hstring_view tileId) +{ + return get_activation_factory().Exists(tileId); +} + +inline Windows::Foundation::IAsyncOperation> SecondaryTile::FindAllAsync() +{ + return get_activation_factory().FindAllAsync(); +} + +inline Windows::Foundation::IAsyncOperation> SecondaryTile::FindAllAsync(hstring_view applicationId) +{ + return get_activation_factory().FindAllAsync(applicationId); +} + +inline Windows::Foundation::IAsyncOperation> SecondaryTile::FindAllForPackageAsync() +{ + return get_activation_factory().FindAllForPackageAsync(); +} + +inline Windows::UI::StartScreen::StartScreenManager StartScreenManager::GetDefault() +{ + return get_activation_factory().GetDefault(); +} + +inline Windows::UI::StartScreen::StartScreenManager StartScreenManager::GetForUser(const Windows::System::User & user) +{ + return get_activation_factory().GetForUser(user); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IJumpList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IJumpListItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IJumpListItemStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IJumpListStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTile2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTileFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTileFactory2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTileStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTileVisualElements & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTileVisualElements2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::ISecondaryTileVisualElements3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IStartScreenManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IStartScreenManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IVisualElementsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IVisualElementsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::IVisualElementsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::JumpList & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::JumpListItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::SecondaryTile & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::SecondaryTileVisualElements & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::StartScreenManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::VisualElementsRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::VisualElementsRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::StartScreen::VisualElementsRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Text.Core.h b/10.0.15042.0/winrt/Windows.UI.Text.Core.h new file mode 100644 index 000000000..38218b2bf --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Text.Core.h @@ -0,0 +1,2301 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Text.Core.3.h" +#include "Windows.UI.Text.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompositionSegments(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositionSegments()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreconversionString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreconversionString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Range(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Range()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputScope(Windows::UI::Text::Core::CoreTextInputScope * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputScope()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputScope(Windows::UI::Text::Core::CoreTextInputScope value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputScope(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsReadOnly(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsReadOnly(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputPaneDisplayPolicy(Windows::UI::Text::Core::CoreTextInputPaneDisplayPolicy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputPaneDisplayPolicy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputPaneDisplayPolicy(Windows::UI::Text::Core::CoreTextInputPaneDisplayPolicy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputPaneDisplayPolicy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextRequested(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().TextRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionRequested(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().SelectionRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LayoutRequested(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().LayoutRequested(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LayoutRequested(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LayoutRequested(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextUpdating(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().TextUpdating(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextUpdating(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextUpdating(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionUpdating(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().SelectionUpdating(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionUpdating(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionUpdating(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FormatUpdating(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().FormatUpdating(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FormatUpdating(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FormatUpdating(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CompositionStarted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().CompositionStarted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CompositionStarted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompositionStarted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CompositionCompleted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().CompositionCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CompositionCompleted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompositionCompleted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FocusRemoved(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().FocusRemoved(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FocusRemoved(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusRemoved(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyFocusEnter() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyFocusEnter(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyFocusLeave() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyFocusLeave(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyTextChanged(impl::abi_arg_in modifiedRange, int32_t newLength, impl::abi_arg_in newSelection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyTextChanged(*reinterpret_cast(&modifiedRange), newLength, *reinterpret_cast(&newSelection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifySelectionChanged(impl::abi_arg_in selection) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifySelectionChanged(*reinterpret_cast(&selection)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NotifyLayoutChanged() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyLayoutChanged(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_NotifyFocusLeaveCompleted(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().NotifyFocusLeaveCompleted(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NotifyFocusLeaveCompleted(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NotifyFocusLeaveCompleted(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Range(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Range()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnderlineColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnderlineColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UnderlineType(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UnderlineType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Reason(Windows::UI::Text::Core::CoreTextFormatUpdatingReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Result(Windows::UI::Text::Core::CoreTextFormatUpdatingResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Result(Windows::UI::Text::Core::CoreTextFormatUpdatingResult value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Result(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextBounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextBounds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextBounds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlBounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ControlBounds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ControlBounds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Range(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Range()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LayoutBounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LayoutBounds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Selection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Selection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Selection(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Selection(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Selection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Selection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Result(Windows::UI::Text::Core::CoreTextSelectionUpdatingResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Result(Windows::UI::Text::Core::CoreTextSelectionUpdatingResult value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Result(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InputLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_InputLanguageChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().InputLanguageChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_InputLanguageChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputLanguageChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateEditContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CreateEditContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HiddenCharacter(wchar_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HiddenCharacter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Range(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Range()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Range(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Range()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewSelection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewSelection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputLanguage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputLanguage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Result(Windows::UI::Text::Core::CoreTextTextUpdatingResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Result(Windows::UI::Text::Core::CoreTextTextUpdatingResult value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Result(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCanceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCanceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Text::Core { + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextTextRequest::Range() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextTextRequest)->get_Range(put_abi(value))); + return value; +} + +template hstring impl_ICoreTextTextRequest::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreTextTextRequest)->get_Text(put_abi(value))); + return value; +} + +template void impl_ICoreTextTextRequest::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICoreTextTextRequest)->put_Text(get_abi(value))); +} + +template bool impl_ICoreTextTextRequest::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextTextRequest)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextTextRequest::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextTextRequest)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextTextRequest impl_ICoreTextTextRequestedEventArgs::Request() const +{ + Windows::UI::Text::Core::CoreTextTextRequest value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextTextRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextSelectionRequest::Selection() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextSelectionRequest)->get_Selection(put_abi(value))); + return value; +} + +template void impl_ICoreTextSelectionRequest::Selection(const Windows::UI::Text::Core::CoreTextRange & value) const +{ + check_hresult(WINRT_SHIM(ICoreTextSelectionRequest)->put_Selection(get_abi(value))); +} + +template bool impl_ICoreTextSelectionRequest::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextSelectionRequest)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextSelectionRequest::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextSelectionRequest)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextSelectionRequest impl_ICoreTextSelectionRequestedEventArgs::Request() const +{ + Windows::UI::Text::Core::CoreTextSelectionRequest value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextSelectionRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_ICoreTextLayoutBounds::TextBounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ICoreTextLayoutBounds)->get_TextBounds(put_abi(value))); + return value; +} + +template void impl_ICoreTextLayoutBounds::TextBounds(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(ICoreTextLayoutBounds)->put_TextBounds(get_abi(value))); +} + +template Windows::Foundation::Rect impl_ICoreTextLayoutBounds::ControlBounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ICoreTextLayoutBounds)->get_ControlBounds(put_abi(value))); + return value; +} + +template void impl_ICoreTextLayoutBounds::ControlBounds(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(ICoreTextLayoutBounds)->put_ControlBounds(get_abi(value))); +} + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextLayoutRequest::Range() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextLayoutRequest)->get_Range(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextLayoutBounds impl_ICoreTextLayoutRequest::LayoutBounds() const +{ + Windows::UI::Text::Core::CoreTextLayoutBounds value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextLayoutRequest)->get_LayoutBounds(put_abi(value))); + return value; +} + +template bool impl_ICoreTextLayoutRequest::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextLayoutRequest)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextLayoutRequest::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextLayoutRequest)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextLayoutRequest impl_ICoreTextLayoutRequestedEventArgs::Request() const +{ + Windows::UI::Text::Core::CoreTextLayoutRequest value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextLayoutRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextTextUpdatingEventArgs::Range() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->get_Range(put_abi(value))); + return value; +} + +template hstring impl_ICoreTextTextUpdatingEventArgs::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->get_Text(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextTextUpdatingEventArgs::NewSelection() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->get_NewSelection(put_abi(value))); + return value; +} + +template Windows::Globalization::Language impl_ICoreTextTextUpdatingEventArgs::InputLanguage() const +{ + Windows::Globalization::Language value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->get_InputLanguage(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextTextUpdatingResult impl_ICoreTextTextUpdatingEventArgs::Result() const +{ + Windows::UI::Text::Core::CoreTextTextUpdatingResult value {}; + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->get_Result(&value)); + return value; +} + +template void impl_ICoreTextTextUpdatingEventArgs::Result(Windows::UI::Text::Core::CoreTextTextUpdatingResult value) const +{ + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->put_Result(value)); +} + +template bool impl_ICoreTextTextUpdatingEventArgs::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextTextUpdatingEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextTextUpdatingEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextSelectionUpdatingEventArgs::Selection() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextSelectionUpdatingEventArgs)->get_Selection(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextSelectionUpdatingResult impl_ICoreTextSelectionUpdatingEventArgs::Result() const +{ + Windows::UI::Text::Core::CoreTextSelectionUpdatingResult value {}; + check_hresult(WINRT_SHIM(ICoreTextSelectionUpdatingEventArgs)->get_Result(&value)); + return value; +} + +template void impl_ICoreTextSelectionUpdatingEventArgs::Result(Windows::UI::Text::Core::CoreTextSelectionUpdatingResult value) const +{ + check_hresult(WINRT_SHIM(ICoreTextSelectionUpdatingEventArgs)->put_Result(value)); +} + +template bool impl_ICoreTextSelectionUpdatingEventArgs::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextSelectionUpdatingEventArgs)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextSelectionUpdatingEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextSelectionUpdatingEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextFormatUpdatingEventArgs::Range() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_Range(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICoreTextFormatUpdatingEventArgs::TextColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_TextColor(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICoreTextFormatUpdatingEventArgs::BackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_BackgroundColor(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICoreTextFormatUpdatingEventArgs::UnderlineColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_UnderlineColor(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICoreTextFormatUpdatingEventArgs::UnderlineType() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_UnderlineType(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextFormatUpdatingReason impl_ICoreTextFormatUpdatingEventArgs::Reason() const +{ + Windows::UI::Text::Core::CoreTextFormatUpdatingReason value {}; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_Reason(&value)); + return value; +} + +template Windows::UI::Text::Core::CoreTextFormatUpdatingResult impl_ICoreTextFormatUpdatingEventArgs::Result() const +{ + Windows::UI::Text::Core::CoreTextFormatUpdatingResult value {}; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_Result(&value)); + return value; +} + +template void impl_ICoreTextFormatUpdatingEventArgs::Result(Windows::UI::Text::Core::CoreTextFormatUpdatingResult value) const +{ + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->put_Result(value)); +} + +template bool impl_ICoreTextFormatUpdatingEventArgs::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextFormatUpdatingEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextFormatUpdatingEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_ICoreTextCompositionStartedEventArgs::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextCompositionStartedEventArgs)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextCompositionStartedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextCompositionStartedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template bool impl_ICoreTextCompositionCompletedEventArgs::IsCanceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextCompositionCompletedEventArgs)->get_IsCanceled(&value)); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICoreTextCompositionCompletedEventArgs::CompositionSegments() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICoreTextCompositionCompletedEventArgs)->get_CompositionSegments(put_abi(value))); + return value; +} + +template Windows::Foundation::Deferral impl_ICoreTextCompositionCompletedEventArgs::GetDeferral() const +{ + Windows::Foundation::Deferral value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextCompositionCompletedEventArgs)->abi_GetDeferral(put_abi(value))); + return value; +} + +template event_token impl_ICoreTextEditContext2::NotifyFocusLeaveCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext2)->add_NotifyFocusLeaveCompleted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext2::NotifyFocusLeaveCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext2::remove_NotifyFocusLeaveCompleted, NotifyFocusLeaveCompleted(handler)); +} + +template void impl_ICoreTextEditContext2::NotifyFocusLeaveCompleted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext2)->remove_NotifyFocusLeaveCompleted(cookie)); +} + +template hstring impl_ICoreTextEditContext::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->get_Name(put_abi(value))); + return value; +} + +template void impl_ICoreTextEditContext::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->put_Name(get_abi(value))); +} + +template Windows::UI::Text::Core::CoreTextInputScope impl_ICoreTextEditContext::InputScope() const +{ + Windows::UI::Text::Core::CoreTextInputScope value {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->get_InputScope(&value)); + return value; +} + +template void impl_ICoreTextEditContext::InputScope(Windows::UI::Text::Core::CoreTextInputScope value) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->put_InputScope(value)); +} + +template bool impl_ICoreTextEditContext::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->get_IsReadOnly(&value)); + return value; +} + +template void impl_ICoreTextEditContext::IsReadOnly(bool value) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->put_IsReadOnly(value)); +} + +template Windows::UI::Text::Core::CoreTextInputPaneDisplayPolicy impl_ICoreTextEditContext::InputPaneDisplayPolicy() const +{ + Windows::UI::Text::Core::CoreTextInputPaneDisplayPolicy value {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->get_InputPaneDisplayPolicy(&value)); + return value; +} + +template void impl_ICoreTextEditContext::InputPaneDisplayPolicy(Windows::UI::Text::Core::CoreTextInputPaneDisplayPolicy value) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->put_InputPaneDisplayPolicy(value)); +} + +template event_token impl_ICoreTextEditContext::TextRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_TextRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::TextRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_TextRequested, TextRequested(handler)); +} + +template void impl_ICoreTextEditContext::TextRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_TextRequested(cookie)); +} + +template event_token impl_ICoreTextEditContext::SelectionRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_SelectionRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::SelectionRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_SelectionRequested, SelectionRequested(handler)); +} + +template void impl_ICoreTextEditContext::SelectionRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_SelectionRequested(cookie)); +} + +template event_token impl_ICoreTextEditContext::LayoutRequested(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_LayoutRequested(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::LayoutRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_LayoutRequested, LayoutRequested(handler)); +} + +template void impl_ICoreTextEditContext::LayoutRequested(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_LayoutRequested(cookie)); +} + +template event_token impl_ICoreTextEditContext::TextUpdating(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_TextUpdating(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::TextUpdating(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_TextUpdating, TextUpdating(handler)); +} + +template void impl_ICoreTextEditContext::TextUpdating(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_TextUpdating(cookie)); +} + +template event_token impl_ICoreTextEditContext::SelectionUpdating(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_SelectionUpdating(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::SelectionUpdating(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_SelectionUpdating, SelectionUpdating(handler)); +} + +template void impl_ICoreTextEditContext::SelectionUpdating(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_SelectionUpdating(cookie)); +} + +template event_token impl_ICoreTextEditContext::FormatUpdating(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_FormatUpdating(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::FormatUpdating(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_FormatUpdating, FormatUpdating(handler)); +} + +template void impl_ICoreTextEditContext::FormatUpdating(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_FormatUpdating(cookie)); +} + +template event_token impl_ICoreTextEditContext::CompositionStarted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_CompositionStarted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::CompositionStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_CompositionStarted, CompositionStarted(handler)); +} + +template void impl_ICoreTextEditContext::CompositionStarted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_CompositionStarted(cookie)); +} + +template event_token impl_ICoreTextEditContext::CompositionCompleted(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_CompositionCompleted(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::CompositionCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_CompositionCompleted, CompositionCompleted(handler)); +} + +template void impl_ICoreTextEditContext::CompositionCompleted(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_CompositionCompleted(cookie)); +} + +template event_token impl_ICoreTextEditContext::FocusRemoved(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextEditContext)->add_FocusRemoved(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextEditContext::FocusRemoved(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextEditContext::remove_FocusRemoved, FocusRemoved(handler)); +} + +template void impl_ICoreTextEditContext::FocusRemoved(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->remove_FocusRemoved(cookie)); +} + +template void impl_ICoreTextEditContext::NotifyFocusEnter() const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->abi_NotifyFocusEnter()); +} + +template void impl_ICoreTextEditContext::NotifyFocusLeave() const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->abi_NotifyFocusLeave()); +} + +template void impl_ICoreTextEditContext::NotifyTextChanged(const Windows::UI::Text::Core::CoreTextRange & modifiedRange, int32_t newLength, const Windows::UI::Text::Core::CoreTextRange & newSelection) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->abi_NotifyTextChanged(get_abi(modifiedRange), newLength, get_abi(newSelection))); +} + +template void impl_ICoreTextEditContext::NotifySelectionChanged(const Windows::UI::Text::Core::CoreTextRange & selection) const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->abi_NotifySelectionChanged(get_abi(selection))); +} + +template void impl_ICoreTextEditContext::NotifyLayoutChanged() const +{ + check_hresult(WINRT_SHIM(ICoreTextEditContext)->abi_NotifyLayoutChanged()); +} + +template Windows::Globalization::Language impl_ICoreTextServicesManager::InputLanguage() const +{ + Windows::Globalization::Language value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextServicesManager)->get_InputLanguage(put_abi(value))); + return value; +} + +template event_token impl_ICoreTextServicesManager::InputLanguageChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(ICoreTextServicesManager)->add_InputLanguageChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_ICoreTextServicesManager::InputLanguageChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Text::Core::ICoreTextServicesManager::remove_InputLanguageChanged, InputLanguageChanged(handler)); +} + +template void impl_ICoreTextServicesManager::InputLanguageChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(ICoreTextServicesManager)->remove_InputLanguageChanged(cookie)); +} + +template Windows::UI::Text::Core::CoreTextEditContext impl_ICoreTextServicesManager::CreateEditContext() const +{ + Windows::UI::Text::Core::CoreTextEditContext value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextServicesManager)->abi_CreateEditContext(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextServicesManager impl_ICoreTextServicesManagerStatics::GetForCurrentView() const +{ + Windows::UI::Text::Core::CoreTextServicesManager value { nullptr }; + check_hresult(WINRT_SHIM(ICoreTextServicesManagerStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template wchar_t impl_ICoreTextServicesStatics::HiddenCharacter() const +{ + wchar_t value {}; + check_hresult(WINRT_SHIM(ICoreTextServicesStatics)->get_HiddenCharacter(&value)); + return value; +} + +template hstring impl_ICoreTextCompositionSegment::PreconversionString() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICoreTextCompositionSegment)->get_PreconversionString(put_abi(value))); + return value; +} + +template Windows::UI::Text::Core::CoreTextRange impl_ICoreTextCompositionSegment::Range() const +{ + Windows::UI::Text::Core::CoreTextRange value {}; + check_hresult(WINRT_SHIM(ICoreTextCompositionSegment)->get_Range(put_abi(value))); + return value; +} + +inline wchar_t CoreTextServicesConstants::HiddenCharacter() +{ + return get_activation_factory().HiddenCharacter(); +} + +inline Windows::UI::Text::Core::CoreTextServicesManager CoreTextServicesManager::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextCompositionCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextCompositionSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextCompositionStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextEditContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextEditContext2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextFormatUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextLayoutBounds & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextLayoutRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextLayoutRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextSelectionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextSelectionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextSelectionUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextServicesManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextServicesManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextServicesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextTextRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextTextRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::ICoreTextTextUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextCompositionCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextCompositionSegment & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextCompositionStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextEditContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextFormatUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextLayoutBounds & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextLayoutRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextLayoutRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextSelectionRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextSelectionRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextSelectionUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextServicesManager & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextTextRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextTextRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::Core::CoreTextTextUpdatingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Text.h b/10.0.15042.0/winrt/Windows.UI.Text.h new file mode 100644 index 000000000..b30f72910 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Text.h @@ -0,0 +1,4500 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.UI.Text.3.h" +#include "Windows.UI.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Black(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Black()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bold(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bold()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtraBlack(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtraBlack()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtraBold(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtraBold()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtraLight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtraLight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Light(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Light()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Medium(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Medium()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Normal(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Normal()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SemiBold(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SemiBold()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SemiLight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SemiLight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Thin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Thin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllCaps(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllCaps()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllCaps(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllCaps(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bold(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bold()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Bold(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bold(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretch(Windows::UI::Text::FontStretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStretch(Windows::UI::Text::FontStretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ForegroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Hidden(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Hidden()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Hidden(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hidden(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Italic(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Italic()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Italic(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Italic(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Kerning(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kerning()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kerning(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kerning(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LanguageTag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LanguageTag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LanguageTag(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LanguageTag(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinkType(Windows::UI::Text::LinkType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinkType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Name(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Name()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Name(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Name(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Outline(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Outline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Outline(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Outline(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectedText(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectedText()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtectedText(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectedText(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Size(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Size(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Size(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmallCaps(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmallCaps()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmallCaps(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmallCaps(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Spacing(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Spacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Spacing(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Spacing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Strikethrough(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Strikethrough()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Strikethrough(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Strikethrough(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Subscript(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Subscript()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Subscript(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Subscript(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Superscript(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Superscript()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Superscript(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Superscript(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextScript(Windows::UI::Text::TextScript * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextScript()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextScript(Windows::UI::Text::TextScript value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextScript(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Underline(Windows::UI::Text::UnderlineType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Underline()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Underline(Windows::UI::Text::UnderlineType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Underline(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Weight(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Weight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Weight(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Weight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetClone(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetClone(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetClone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEqual(impl::abi_arg_in format, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEqual(*reinterpret_cast(&format))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AutoColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinUnitCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinUnitCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxUnitCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxUnitCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UndefinedColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UndefinedColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UndefinedFloatValue(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UndefinedFloatValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UndefinedInt32Value(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UndefinedInt32Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UndefinedFontStretch(Windows::UI::Text::FontStretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UndefinedFontStretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UndefinedFontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UndefinedFontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CaretType(Windows::UI::Text::CaretType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaretType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CaretType(Windows::UI::Text::CaretType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CaretType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultTabStop(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultTabStop()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultTabStop(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultTabStop(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Selection(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Selection()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UndoLimit(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UndoLimit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UndoLimit(uint32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UndoLimit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanCopy(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanCopy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanPaste(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPaste()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanRedo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanRedo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanUndo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanUndo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyDisplayUpdates(int32_t * count) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *count = detach_abi(this->shim().ApplyDisplayUpdates()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BatchDisplayUpdates(int32_t * count) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *count = detach_abi(this->shim().BatchDisplayUpdates()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BeginUndoGroup() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BeginUndoGroup(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndUndoGroup() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndUndoGroup(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultCharacterFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefaultCharacterFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDefaultParagraphFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDefaultParagraphFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRange(int32_t startPosition, int32_t endPosition, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRange(startPosition, endPosition)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRangeFromPoint(impl::abi_arg_in point, Windows::UI::Text::PointOptions options, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRangeFromPoint(*reinterpret_cast(&point), options)); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetText(Windows::UI::Text::TextGetOptions options, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetText(options, *value); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadFromStream(Windows::UI::Text::TextSetOptions options, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadFromStream(options, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Redo() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Redo(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SaveToStream(Windows::UI::Text::TextGetOptions options, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SaveToStream(options, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDefaultCharacterFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDefaultCharacterFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDefaultParagraphFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDefaultParagraphFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetText(Windows::UI::Text::TextSetOptions options, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetText(options, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Undo() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Undo(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AlignmentIncludesTrailingWhitespace(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignmentIncludesTrailingWhitespace()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AlignmentIncludesTrailingWhitespace(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AlignmentIncludesTrailingWhitespace(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IgnoreTrailingCharacterSpacing(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IgnoreTrailingCharacterSpacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IgnoreTrailingCharacterSpacing(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IgnoreTrailingCharacterSpacing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Alignment(Windows::UI::Text::ParagraphAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Alignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Alignment(Windows::UI::Text::ParagraphAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Alignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstLineIndent(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstLineIndent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeepTogether(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeepTogether()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeepTogether(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeepTogether(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeepWithNext(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeepWithNext()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_KeepWithNext(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().KeepWithNext(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftIndent(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftIndent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineSpacing(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineSpacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineSpacingRule(Windows::UI::Text::LineSpacingRule * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineSpacingRule()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListAlignment(Windows::UI::Text::MarkerAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListAlignment(Windows::UI::Text::MarkerAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListLevelIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListLevelIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListLevelIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListLevelIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListStart(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListStart(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListStart(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListStyle(Windows::UI::Text::MarkerStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListStyle(Windows::UI::Text::MarkerStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListTab(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListTab()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListTab(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListTab(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListType(Windows::UI::Text::MarkerType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListType(Windows::UI::Text::MarkerType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NoLineNumber(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NoLineNumber()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NoLineNumber(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NoLineNumber(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageBreakBefore(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PageBreakBefore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PageBreakBefore(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageBreakBefore(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightIndent(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightIndent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightIndent(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightIndent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightToLeft(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightToLeft()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightToLeft(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightToLeft(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Style(Windows::UI::Text::ParagraphStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Style()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Style(Windows::UI::Text::ParagraphStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Style(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpaceAfter(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpaceAfter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpaceAfter(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpaceAfter(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SpaceBefore(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SpaceBefore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SpaceBefore(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SpaceBefore(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WidowControl(Windows::UI::Text::FormatEffect * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WidowControl()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WidowControl(Windows::UI::Text::FormatEffect value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WidowControl(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TabCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TabCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddTab(float position, Windows::UI::Text::TabAlignment align, Windows::UI::Text::TabLeader leader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddTab(position, align, leader); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearAllTabs() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearAllTabs(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeleteTab(float position) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeleteTab(position); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetClone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTab(int32_t index, float * position, Windows::UI::Text::TabAlignment * align, Windows::UI::Text::TabLeader * leader) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetTab(index, *position, *align, *leader); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEqual(impl::abi_arg_in format, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEqual(*reinterpret_cast(&format))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetClone(impl::abi_arg_in format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetClone(*reinterpret_cast(&format)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIndents(float start, float left, float right) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIndents(start, left, right); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLineSpacing(Windows::UI::Text::LineSpacingRule rule, float spacing) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLineSpacing(rule, spacing); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Character(wchar_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Character()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Character(wchar_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Character(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharacterFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FormattedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormattedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FormattedText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FormattedText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EndPosition(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EndPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EndPosition(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EndPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Gravity(Windows::UI::Text::RangeGravity * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Gravity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Gravity(Windows::UI::Text::RangeGravity value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Gravity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(int32_t * length) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *length = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Link(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Link()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Link(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Link(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ParagraphFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ParagraphFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ParagraphFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ParagraphFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StartPosition(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StartPosition(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StoryLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StoryLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanPaste(int32_t format, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPaste(format)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeCase(Windows::UI::Text::LetterCase value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChangeCase(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Collapse(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Collapse(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Copy() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Copy(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Cut() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cut(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Delete(Windows::UI::Text::TextRangeUnit unit, int32_t count, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().Delete(unit, count)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndOf(Windows::UI::Text::TextRangeUnit unit, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().EndOf(unit, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Expand(Windows::UI::Text::TextRangeUnit unit, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().Expand(unit)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindText(impl::abi_arg_in value, int32_t scanLength, Windows::UI::Text::FindOptions options, int32_t * length) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *length = detach_abi(this->shim().FindText(*reinterpret_cast(&value), scanLength, options)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCharacterUtf32(uint32_t * value, int32_t offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetCharacterUtf32(*value, offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClone(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetClone()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIndex(Windows::UI::Text::TextRangeUnit unit, int32_t * index) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *index = detach_abi(this->shim().GetIndex(unit)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPoint(Windows::UI::Text::HorizontalCharacterAlignment horizontalAlign, Windows::UI::Text::VerticalCharacterAlignment verticalAlign, Windows::UI::Text::PointOptions options, impl::abi_arg_out point) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetPoint(horizontalAlign, verticalAlign, options, *point); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRect(Windows::UI::Text::PointOptions options, impl::abi_arg_out rect, int32_t * hit) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetRect(options, *rect, *hit); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetText(Windows::UI::Text::TextGetOptions options, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetText(options, *value); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTextViaStream(Windows::UI::Text::TextGetOptions options, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetTextViaStream(options, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InRange(impl::abi_arg_in range, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InRange(*reinterpret_cast(&range))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertImage(int32_t width, int32_t height, int32_t ascent, Windows::UI::Text::VerticalCharacterAlignment verticalAlign, impl::abi_arg_in alternateText, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertImage(width, height, ascent, verticalAlign, *reinterpret_cast(&alternateText), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InStory(impl::abi_arg_in range, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InStory(*reinterpret_cast(&range))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEqual(impl::abi_arg_in range, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEqual(*reinterpret_cast(&range))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Move(Windows::UI::Text::TextRangeUnit unit, int32_t count, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().Move(unit, count)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveEnd(Windows::UI::Text::TextRangeUnit unit, int32_t count, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().MoveEnd(unit, count)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveStart(Windows::UI::Text::TextRangeUnit unit, int32_t count, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().MoveStart(unit, count)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Paste(int32_t format) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Paste(format); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollIntoView(Windows::UI::Text::PointOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollIntoView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MatchSelection() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MatchSelection(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIndex(Windows::UI::Text::TextRangeUnit unit, int32_t index, bool extend) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIndex(unit, index, extend); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPoint(impl::abi_arg_in point, Windows::UI::Text::PointOptions options, bool extend) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPoint(*reinterpret_cast(&point), options, extend); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRange(int32_t startPosition, int32_t endPosition) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRange(startPosition, endPosition); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetText(Windows::UI::Text::TextSetOptions options, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetText(options, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetTextViaStream(Windows::UI::Text::TextSetOptions options, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetTextViaStream(options, *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartOf(Windows::UI::Text::TextRangeUnit unit, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().StartOf(unit, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Options(Windows::UI::Text::SelectionOptions * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Options()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Options(Windows::UI::Text::SelectionOptions value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Options(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Type(Windows::UI::Text::SelectionType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EndKey(Windows::UI::Text::TextRangeUnit unit, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().EndKey(unit, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HomeKey(Windows::UI::Text::TextRangeUnit unit, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().HomeKey(unit, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveDown(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().MoveDown(unit, count, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveLeft(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().MoveLeft(unit, count, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveRight(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().MoveRight(unit, count, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveUp(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend, int32_t * delta) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *delta = detach_abi(this->shim().MoveUp(unit, count, extend)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TypeText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TypeText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Text { + +template Windows::UI::Color impl_ITextConstantsStatics::AutoColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_AutoColor(put_abi(value))); + return value; +} + +template int32_t impl_ITextConstantsStatics::MinUnitCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_MinUnitCount(&value)); + return value; +} + +template int32_t impl_ITextConstantsStatics::MaxUnitCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_MaxUnitCount(&value)); + return value; +} + +template Windows::UI::Color impl_ITextConstantsStatics::UndefinedColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_UndefinedColor(put_abi(value))); + return value; +} + +template float impl_ITextConstantsStatics::UndefinedFloatValue() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_UndefinedFloatValue(&value)); + return value; +} + +template int32_t impl_ITextConstantsStatics::UndefinedInt32Value() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_UndefinedInt32Value(&value)); + return value; +} + +template Windows::UI::Text::FontStretch impl_ITextConstantsStatics::UndefinedFontStretch() const +{ + Windows::UI::Text::FontStretch value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_UndefinedFontStretch(&value)); + return value; +} + +template Windows::UI::Text::FontStyle impl_ITextConstantsStatics::UndefinedFontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(ITextConstantsStatics)->get_UndefinedFontStyle(&value)); + return value; +} + +template Windows::UI::Text::CaretType impl_ITextDocument::CaretType() const +{ + Windows::UI::Text::CaretType value {}; + check_hresult(WINRT_SHIM(ITextDocument)->get_CaretType(&value)); + return value; +} + +template void impl_ITextDocument::CaretType(Windows::UI::Text::CaretType value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->put_CaretType(value)); +} + +template float impl_ITextDocument::DefaultTabStop() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextDocument)->get_DefaultTabStop(&value)); + return value; +} + +template void impl_ITextDocument::DefaultTabStop(float value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->put_DefaultTabStop(value)); +} + +template Windows::UI::Text::ITextSelection impl_ITextDocument::Selection() const +{ + Windows::UI::Text::ITextSelection value; + check_hresult(WINRT_SHIM(ITextDocument)->get_Selection(put_abi(value))); + return value; +} + +template uint32_t impl_ITextDocument::UndoLimit() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ITextDocument)->get_UndoLimit(&value)); + return value; +} + +template void impl_ITextDocument::UndoLimit(uint32_t value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->put_UndoLimit(value)); +} + +template bool impl_ITextDocument::CanCopy() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextDocument)->abi_CanCopy(&value)); + return value; +} + +template bool impl_ITextDocument::CanPaste() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextDocument)->abi_CanPaste(&value)); + return value; +} + +template bool impl_ITextDocument::CanRedo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextDocument)->abi_CanRedo(&value)); + return value; +} + +template bool impl_ITextDocument::CanUndo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextDocument)->abi_CanUndo(&value)); + return value; +} + +template int32_t impl_ITextDocument::ApplyDisplayUpdates() const +{ + int32_t count {}; + check_hresult(WINRT_SHIM(ITextDocument)->abi_ApplyDisplayUpdates(&count)); + return count; +} + +template int32_t impl_ITextDocument::BatchDisplayUpdates() const +{ + int32_t count {}; + check_hresult(WINRT_SHIM(ITextDocument)->abi_BatchDisplayUpdates(&count)); + return count; +} + +template void impl_ITextDocument::BeginUndoGroup() const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_BeginUndoGroup()); +} + +template void impl_ITextDocument::EndUndoGroup() const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_EndUndoGroup()); +} + +template Windows::UI::Text::ITextCharacterFormat impl_ITextDocument::GetDefaultCharacterFormat() const +{ + Windows::UI::Text::ITextCharacterFormat value; + check_hresult(WINRT_SHIM(ITextDocument)->abi_GetDefaultCharacterFormat(put_abi(value))); + return value; +} + +template Windows::UI::Text::ITextParagraphFormat impl_ITextDocument::GetDefaultParagraphFormat() const +{ + Windows::UI::Text::ITextParagraphFormat value; + check_hresult(WINRT_SHIM(ITextDocument)->abi_GetDefaultParagraphFormat(put_abi(value))); + return value; +} + +template Windows::UI::Text::ITextRange impl_ITextDocument::GetRange(int32_t startPosition, int32_t endPosition) const +{ + Windows::UI::Text::ITextRange value; + check_hresult(WINRT_SHIM(ITextDocument)->abi_GetRange(startPosition, endPosition, put_abi(value))); + return value; +} + +template Windows::UI::Text::ITextRange impl_ITextDocument::GetRangeFromPoint(const Windows::Foundation::Point & point, Windows::UI::Text::PointOptions options) const +{ + Windows::UI::Text::ITextRange value; + check_hresult(WINRT_SHIM(ITextDocument)->abi_GetRangeFromPoint(get_abi(point), options, put_abi(value))); + return value; +} + +template void impl_ITextDocument::GetText(Windows::UI::Text::TextGetOptions options, hstring & value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_GetText(options, put_abi(value))); +} + +template void impl_ITextDocument::LoadFromStream(Windows::UI::Text::TextSetOptions options, const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_LoadFromStream(options, get_abi(value))); +} + +template void impl_ITextDocument::Redo() const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_Redo()); +} + +template void impl_ITextDocument::SaveToStream(Windows::UI::Text::TextGetOptions options, const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_SaveToStream(options, get_abi(value))); +} + +template void impl_ITextDocument::SetDefaultCharacterFormat(const Windows::UI::Text::ITextCharacterFormat & value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_SetDefaultCharacterFormat(get_abi(value))); +} + +template void impl_ITextDocument::SetDefaultParagraphFormat(const Windows::UI::Text::ITextParagraphFormat & value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_SetDefaultParagraphFormat(get_abi(value))); +} + +template void impl_ITextDocument::SetText(Windows::UI::Text::TextSetOptions options, hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_SetText(options, get_abi(value))); +} + +template void impl_ITextDocument::Undo() const +{ + check_hresult(WINRT_SHIM(ITextDocument)->abi_Undo()); +} + +template wchar_t impl_ITextRange::Character() const +{ + wchar_t value {}; + check_hresult(WINRT_SHIM(ITextRange)->get_Character(&value)); + return value; +} + +template void impl_ITextRange::Character(wchar_t value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_Character(value)); +} + +template Windows::UI::Text::ITextCharacterFormat impl_ITextRange::CharacterFormat() const +{ + Windows::UI::Text::ITextCharacterFormat value; + check_hresult(WINRT_SHIM(ITextRange)->get_CharacterFormat(put_abi(value))); + return value; +} + +template void impl_ITextRange::CharacterFormat(const Windows::UI::Text::ITextCharacterFormat & value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_CharacterFormat(get_abi(value))); +} + +template Windows::UI::Text::ITextRange impl_ITextRange::FormattedText() const +{ + Windows::UI::Text::ITextRange value; + check_hresult(WINRT_SHIM(ITextRange)->get_FormattedText(put_abi(value))); + return value; +} + +template void impl_ITextRange::FormattedText(const Windows::UI::Text::ITextRange & value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_FormattedText(get_abi(value))); +} + +template int32_t impl_ITextRange::EndPosition() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextRange)->get_EndPosition(&value)); + return value; +} + +template void impl_ITextRange::EndPosition(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_EndPosition(value)); +} + +template Windows::UI::Text::RangeGravity impl_ITextRange::Gravity() const +{ + Windows::UI::Text::RangeGravity value {}; + check_hresult(WINRT_SHIM(ITextRange)->get_Gravity(&value)); + return value; +} + +template void impl_ITextRange::Gravity(Windows::UI::Text::RangeGravity value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_Gravity(value)); +} + +template int32_t impl_ITextRange::Length() const +{ + int32_t length {}; + check_hresult(WINRT_SHIM(ITextRange)->get_Length(&length)); + return length; +} + +template hstring impl_ITextRange::Link() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextRange)->get_Link(put_abi(value))); + return value; +} + +template void impl_ITextRange::Link(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_Link(get_abi(value))); +} + +template Windows::UI::Text::ITextParagraphFormat impl_ITextRange::ParagraphFormat() const +{ + Windows::UI::Text::ITextParagraphFormat value; + check_hresult(WINRT_SHIM(ITextRange)->get_ParagraphFormat(put_abi(value))); + return value; +} + +template void impl_ITextRange::ParagraphFormat(const Windows::UI::Text::ITextParagraphFormat & value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_ParagraphFormat(get_abi(value))); +} + +template int32_t impl_ITextRange::StartPosition() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextRange)->get_StartPosition(&value)); + return value; +} + +template void impl_ITextRange::StartPosition(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_StartPosition(value)); +} + +template int32_t impl_ITextRange::StoryLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextRange)->get_StoryLength(&value)); + return value; +} + +template hstring impl_ITextRange::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextRange)->get_Text(put_abi(value))); + return value; +} + +template void impl_ITextRange::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->put_Text(get_abi(value))); +} + +template bool impl_ITextRange::CanPaste(int32_t format) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_CanPaste(format, &value)); + return value; +} + +template void impl_ITextRange::ChangeCase(Windows::UI::Text::LetterCase value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_ChangeCase(value)); +} + +template void impl_ITextRange::Collapse(bool value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_Collapse(value)); +} + +template void impl_ITextRange::Copy() const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_Copy()); +} + +template void impl_ITextRange::Cut() const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_Cut()); +} + +template int32_t impl_ITextRange::Delete(Windows::UI::Text::TextRangeUnit unit, int32_t count) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_Delete(unit, count, &delta)); + return delta; +} + +template int32_t impl_ITextRange::EndOf(Windows::UI::Text::TextRangeUnit unit, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_EndOf(unit, extend, &delta)); + return delta; +} + +template int32_t impl_ITextRange::Expand(Windows::UI::Text::TextRangeUnit unit) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_Expand(unit, &delta)); + return delta; +} + +template int32_t impl_ITextRange::FindText(hstring_view value, int32_t scanLength, Windows::UI::Text::FindOptions options) const +{ + int32_t length {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_FindText(get_abi(value), scanLength, options, &length)); + return length; +} + +template void impl_ITextRange::GetCharacterUtf32(uint32_t & value, int32_t offset) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_GetCharacterUtf32(&value, offset)); +} + +template Windows::UI::Text::ITextRange impl_ITextRange::GetClone() const +{ + Windows::UI::Text::ITextRange value; + check_hresult(WINRT_SHIM(ITextRange)->abi_GetClone(put_abi(value))); + return value; +} + +template int32_t impl_ITextRange::GetIndex(Windows::UI::Text::TextRangeUnit unit) const +{ + int32_t index {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_GetIndex(unit, &index)); + return index; +} + +template void impl_ITextRange::GetPoint(Windows::UI::Text::HorizontalCharacterAlignment horizontalAlign, Windows::UI::Text::VerticalCharacterAlignment verticalAlign, Windows::UI::Text::PointOptions options, Windows::Foundation::Point & point) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_GetPoint(horizontalAlign, verticalAlign, options, put_abi(point))); +} + +template void impl_ITextRange::GetRect(Windows::UI::Text::PointOptions options, Windows::Foundation::Rect & rect, int32_t & hit) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_GetRect(options, put_abi(rect), &hit)); +} + +template void impl_ITextRange::GetText(Windows::UI::Text::TextGetOptions options, hstring & value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_GetText(options, put_abi(value))); +} + +template void impl_ITextRange::GetTextViaStream(Windows::UI::Text::TextGetOptions options, const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_GetTextViaStream(options, get_abi(value))); +} + +template bool impl_ITextRange::InRange(const Windows::UI::Text::ITextRange & range) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_InRange(get_abi(range), &value)); + return value; +} + +template void impl_ITextRange::InsertImage(int32_t width, int32_t height, int32_t ascent, Windows::UI::Text::VerticalCharacterAlignment verticalAlign, hstring_view alternateText, const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_InsertImage(width, height, ascent, verticalAlign, get_abi(alternateText), get_abi(value))); +} + +template bool impl_ITextRange::InStory(const Windows::UI::Text::ITextRange & range) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_InStory(get_abi(range), &value)); + return value; +} + +template bool impl_ITextRange::IsEqual(const Windows::UI::Text::ITextRange & range) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_IsEqual(get_abi(range), &value)); + return value; +} + +template int32_t impl_ITextRange::Move(Windows::UI::Text::TextRangeUnit unit, int32_t count) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_Move(unit, count, &delta)); + return delta; +} + +template int32_t impl_ITextRange::MoveEnd(Windows::UI::Text::TextRangeUnit unit, int32_t count) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_MoveEnd(unit, count, &delta)); + return delta; +} + +template int32_t impl_ITextRange::MoveStart(Windows::UI::Text::TextRangeUnit unit, int32_t count) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_MoveStart(unit, count, &delta)); + return delta; +} + +template void impl_ITextRange::Paste(int32_t format) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_Paste(format)); +} + +template void impl_ITextRange::ScrollIntoView(Windows::UI::Text::PointOptions value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_ScrollIntoView(value)); +} + +template void impl_ITextRange::MatchSelection() const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_MatchSelection()); +} + +template void impl_ITextRange::SetIndex(Windows::UI::Text::TextRangeUnit unit, int32_t index, bool extend) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_SetIndex(unit, index, extend)); +} + +template void impl_ITextRange::SetPoint(const Windows::Foundation::Point & point, Windows::UI::Text::PointOptions options, bool extend) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_SetPoint(get_abi(point), options, extend)); +} + +template void impl_ITextRange::SetRange(int32_t startPosition, int32_t endPosition) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_SetRange(startPosition, endPosition)); +} + +template void impl_ITextRange::SetText(Windows::UI::Text::TextSetOptions options, hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_SetText(options, get_abi(value))); +} + +template void impl_ITextRange::SetTextViaStream(Windows::UI::Text::TextSetOptions options, const Windows::Storage::Streams::IRandomAccessStream & value) const +{ + check_hresult(WINRT_SHIM(ITextRange)->abi_SetTextViaStream(options, get_abi(value))); +} + +template int32_t impl_ITextRange::StartOf(Windows::UI::Text::TextRangeUnit unit, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextRange)->abi_StartOf(unit, extend, &delta)); + return delta; +} + +template Windows::UI::Text::SelectionOptions impl_ITextSelection::Options() const +{ + Windows::UI::Text::SelectionOptions value {}; + check_hresult(WINRT_SHIM(ITextSelection)->get_Options(&value)); + return value; +} + +template void impl_ITextSelection::Options(Windows::UI::Text::SelectionOptions value) const +{ + check_hresult(WINRT_SHIM(ITextSelection)->put_Options(value)); +} + +template Windows::UI::Text::SelectionType impl_ITextSelection::Type() const +{ + Windows::UI::Text::SelectionType value {}; + check_hresult(WINRT_SHIM(ITextSelection)->get_Type(&value)); + return value; +} + +template int32_t impl_ITextSelection::EndKey(Windows::UI::Text::TextRangeUnit unit, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextSelection)->abi_EndKey(unit, extend, &delta)); + return delta; +} + +template int32_t impl_ITextSelection::HomeKey(Windows::UI::Text::TextRangeUnit unit, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextSelection)->abi_HomeKey(unit, extend, &delta)); + return delta; +} + +template int32_t impl_ITextSelection::MoveDown(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextSelection)->abi_MoveDown(unit, count, extend, &delta)); + return delta; +} + +template int32_t impl_ITextSelection::MoveLeft(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextSelection)->abi_MoveLeft(unit, count, extend, &delta)); + return delta; +} + +template int32_t impl_ITextSelection::MoveRight(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextSelection)->abi_MoveRight(unit, count, extend, &delta)); + return delta; +} + +template int32_t impl_ITextSelection::MoveUp(Windows::UI::Text::TextRangeUnit unit, int32_t count, bool extend) const +{ + int32_t delta {}; + check_hresult(WINRT_SHIM(ITextSelection)->abi_MoveUp(unit, count, extend, &delta)); + return delta; +} + +template void impl_ITextSelection::TypeText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextSelection)->abi_TypeText(get_abi(value))); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::AllCaps() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_AllCaps(&value)); + return value; +} + +template void impl_ITextCharacterFormat::AllCaps(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_AllCaps(value)); +} + +template Windows::UI::Color impl_ITextCharacterFormat::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_ITextCharacterFormat::BackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_BackgroundColor(get_abi(value))); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::Bold() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Bold(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Bold(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Bold(value)); +} + +template Windows::UI::Text::FontStretch impl_ITextCharacterFormat::FontStretch() const +{ + Windows::UI::Text::FontStretch value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_FontStretch(&value)); + return value; +} + +template void impl_ITextCharacterFormat::FontStretch(Windows::UI::Text::FontStretch value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_FontStretch(value)); +} + +template Windows::UI::Text::FontStyle impl_ITextCharacterFormat::FontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_FontStyle(&value)); + return value; +} + +template void impl_ITextCharacterFormat::FontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_FontStyle(value)); +} + +template Windows::UI::Color impl_ITextCharacterFormat::ForegroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_ForegroundColor(put_abi(value))); + return value; +} + +template void impl_ITextCharacterFormat::ForegroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_ForegroundColor(get_abi(value))); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::Hidden() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Hidden(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Hidden(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Hidden(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::Italic() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Italic(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Italic(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Italic(value)); +} + +template float impl_ITextCharacterFormat::Kerning() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Kerning(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Kerning(float value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Kerning(value)); +} + +template hstring impl_ITextCharacterFormat::LanguageTag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_LanguageTag(put_abi(value))); + return value; +} + +template void impl_ITextCharacterFormat::LanguageTag(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_LanguageTag(get_abi(value))); +} + +template Windows::UI::Text::LinkType impl_ITextCharacterFormat::LinkType() const +{ + Windows::UI::Text::LinkType value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_LinkType(&value)); + return value; +} + +template hstring impl_ITextCharacterFormat::Name() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Name(put_abi(value))); + return value; +} + +template void impl_ITextCharacterFormat::Name(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Name(get_abi(value))); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::Outline() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Outline(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Outline(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Outline(value)); +} + +template float impl_ITextCharacterFormat::Position() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Position(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Position(float value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Position(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::ProtectedText() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_ProtectedText(&value)); + return value; +} + +template void impl_ITextCharacterFormat::ProtectedText(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_ProtectedText(value)); +} + +template float impl_ITextCharacterFormat::Size() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Size(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Size(float value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Size(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::SmallCaps() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_SmallCaps(&value)); + return value; +} + +template void impl_ITextCharacterFormat::SmallCaps(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_SmallCaps(value)); +} + +template float impl_ITextCharacterFormat::Spacing() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Spacing(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Spacing(float value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Spacing(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::Strikethrough() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Strikethrough(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Strikethrough(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Strikethrough(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::Subscript() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Subscript(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Subscript(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Subscript(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextCharacterFormat::Superscript() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Superscript(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Superscript(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Superscript(value)); +} + +template Windows::UI::Text::TextScript impl_ITextCharacterFormat::TextScript() const +{ + Windows::UI::Text::TextScript value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_TextScript(&value)); + return value; +} + +template void impl_ITextCharacterFormat::TextScript(Windows::UI::Text::TextScript value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_TextScript(value)); +} + +template Windows::UI::Text::UnderlineType impl_ITextCharacterFormat::Underline() const +{ + Windows::UI::Text::UnderlineType value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Underline(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Underline(Windows::UI::Text::UnderlineType value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Underline(value)); +} + +template int32_t impl_ITextCharacterFormat::Weight() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->get_Weight(&value)); + return value; +} + +template void impl_ITextCharacterFormat::Weight(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->put_Weight(value)); +} + +template void impl_ITextCharacterFormat::SetClone(const Windows::UI::Text::ITextCharacterFormat & value) const +{ + check_hresult(WINRT_SHIM(ITextCharacterFormat)->abi_SetClone(get_abi(value))); +} + +template Windows::UI::Text::ITextCharacterFormat impl_ITextCharacterFormat::GetClone() const +{ + Windows::UI::Text::ITextCharacterFormat value; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->abi_GetClone(put_abi(value))); + return value; +} + +template bool impl_ITextCharacterFormat::IsEqual(const Windows::UI::Text::ITextCharacterFormat & format) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextCharacterFormat)->abi_IsEqual(get_abi(format), &value)); + return value; +} + +template Windows::UI::Text::ParagraphAlignment impl_ITextParagraphFormat::Alignment() const +{ + Windows::UI::Text::ParagraphAlignment value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_Alignment(&value)); + return value; +} + +template void impl_ITextParagraphFormat::Alignment(Windows::UI::Text::ParagraphAlignment value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_Alignment(value)); +} + +template float impl_ITextParagraphFormat::FirstLineIndent() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_FirstLineIndent(&value)); + return value; +} + +template Windows::UI::Text::FormatEffect impl_ITextParagraphFormat::KeepTogether() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_KeepTogether(&value)); + return value; +} + +template void impl_ITextParagraphFormat::KeepTogether(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_KeepTogether(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextParagraphFormat::KeepWithNext() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_KeepWithNext(&value)); + return value; +} + +template void impl_ITextParagraphFormat::KeepWithNext(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_KeepWithNext(value)); +} + +template float impl_ITextParagraphFormat::LeftIndent() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_LeftIndent(&value)); + return value; +} + +template float impl_ITextParagraphFormat::LineSpacing() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_LineSpacing(&value)); + return value; +} + +template Windows::UI::Text::LineSpacingRule impl_ITextParagraphFormat::LineSpacingRule() const +{ + Windows::UI::Text::LineSpacingRule value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_LineSpacingRule(&value)); + return value; +} + +template Windows::UI::Text::MarkerAlignment impl_ITextParagraphFormat::ListAlignment() const +{ + Windows::UI::Text::MarkerAlignment value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_ListAlignment(&value)); + return value; +} + +template void impl_ITextParagraphFormat::ListAlignment(Windows::UI::Text::MarkerAlignment value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_ListAlignment(value)); +} + +template int32_t impl_ITextParagraphFormat::ListLevelIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_ListLevelIndex(&value)); + return value; +} + +template void impl_ITextParagraphFormat::ListLevelIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_ListLevelIndex(value)); +} + +template int32_t impl_ITextParagraphFormat::ListStart() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_ListStart(&value)); + return value; +} + +template void impl_ITextParagraphFormat::ListStart(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_ListStart(value)); +} + +template Windows::UI::Text::MarkerStyle impl_ITextParagraphFormat::ListStyle() const +{ + Windows::UI::Text::MarkerStyle value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_ListStyle(&value)); + return value; +} + +template void impl_ITextParagraphFormat::ListStyle(Windows::UI::Text::MarkerStyle value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_ListStyle(value)); +} + +template float impl_ITextParagraphFormat::ListTab() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_ListTab(&value)); + return value; +} + +template void impl_ITextParagraphFormat::ListTab(float value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_ListTab(value)); +} + +template Windows::UI::Text::MarkerType impl_ITextParagraphFormat::ListType() const +{ + Windows::UI::Text::MarkerType value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_ListType(&value)); + return value; +} + +template void impl_ITextParagraphFormat::ListType(Windows::UI::Text::MarkerType value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_ListType(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextParagraphFormat::NoLineNumber() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_NoLineNumber(&value)); + return value; +} + +template void impl_ITextParagraphFormat::NoLineNumber(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_NoLineNumber(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextParagraphFormat::PageBreakBefore() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_PageBreakBefore(&value)); + return value; +} + +template void impl_ITextParagraphFormat::PageBreakBefore(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_PageBreakBefore(value)); +} + +template float impl_ITextParagraphFormat::RightIndent() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_RightIndent(&value)); + return value; +} + +template void impl_ITextParagraphFormat::RightIndent(float value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_RightIndent(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextParagraphFormat::RightToLeft() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_RightToLeft(&value)); + return value; +} + +template void impl_ITextParagraphFormat::RightToLeft(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_RightToLeft(value)); +} + +template Windows::UI::Text::ParagraphStyle impl_ITextParagraphFormat::Style() const +{ + Windows::UI::Text::ParagraphStyle value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_Style(&value)); + return value; +} + +template void impl_ITextParagraphFormat::Style(Windows::UI::Text::ParagraphStyle value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_Style(value)); +} + +template float impl_ITextParagraphFormat::SpaceAfter() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_SpaceAfter(&value)); + return value; +} + +template void impl_ITextParagraphFormat::SpaceAfter(float value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_SpaceAfter(value)); +} + +template float impl_ITextParagraphFormat::SpaceBefore() const +{ + float value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_SpaceBefore(&value)); + return value; +} + +template void impl_ITextParagraphFormat::SpaceBefore(float value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_SpaceBefore(value)); +} + +template Windows::UI::Text::FormatEffect impl_ITextParagraphFormat::WidowControl() const +{ + Windows::UI::Text::FormatEffect value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_WidowControl(&value)); + return value; +} + +template void impl_ITextParagraphFormat::WidowControl(Windows::UI::Text::FormatEffect value) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->put_WidowControl(value)); +} + +template int32_t impl_ITextParagraphFormat::TabCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->get_TabCount(&value)); + return value; +} + +template void impl_ITextParagraphFormat::AddTab(float position, Windows::UI::Text::TabAlignment align, Windows::UI::Text::TabLeader leader) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_AddTab(position, align, leader)); +} + +template void impl_ITextParagraphFormat::ClearAllTabs() const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_ClearAllTabs()); +} + +template void impl_ITextParagraphFormat::DeleteTab(float position) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_DeleteTab(position)); +} + +template Windows::UI::Text::ITextParagraphFormat impl_ITextParagraphFormat::GetClone() const +{ + Windows::UI::Text::ITextParagraphFormat value; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_GetClone(put_abi(value))); + return value; +} + +template void impl_ITextParagraphFormat::GetTab(int32_t index, float & position, Windows::UI::Text::TabAlignment & align, Windows::UI::Text::TabLeader & leader) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_GetTab(index, &position, &align, &leader)); +} + +template bool impl_ITextParagraphFormat::IsEqual(const Windows::UI::Text::ITextParagraphFormat & format) const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_IsEqual(get_abi(format), &value)); + return value; +} + +template void impl_ITextParagraphFormat::SetClone(const Windows::UI::Text::ITextParagraphFormat & format) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_SetClone(get_abi(format))); +} + +template void impl_ITextParagraphFormat::SetIndents(float start, float left, float right) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_SetIndents(start, left, right)); +} + +template void impl_ITextParagraphFormat::SetLineSpacing(Windows::UI::Text::LineSpacingRule rule, float spacing) const +{ + check_hresult(WINRT_SHIM(ITextParagraphFormat)->abi_SetLineSpacing(rule, spacing)); +} + +template bool impl_ITextDocument2::AlignmentIncludesTrailingWhitespace() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextDocument2)->get_AlignmentIncludesTrailingWhitespace(&value)); + return value; +} + +template void impl_ITextDocument2::AlignmentIncludesTrailingWhitespace(bool value) const +{ + check_hresult(WINRT_SHIM(ITextDocument2)->put_AlignmentIncludesTrailingWhitespace(value)); +} + +template bool impl_ITextDocument2::IgnoreTrailingCharacterSpacing() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextDocument2)->get_IgnoreTrailingCharacterSpacing(&value)); + return value; +} + +template void impl_ITextDocument2::IgnoreTrailingCharacterSpacing(bool value) const +{ + check_hresult(WINRT_SHIM(ITextDocument2)->put_IgnoreTrailingCharacterSpacing(value)); +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::Black() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_Black(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::Bold() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_Bold(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::ExtraBlack() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_ExtraBlack(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::ExtraBold() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_ExtraBold(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::ExtraLight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_ExtraLight(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::Light() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_Light(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::Medium() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_Medium(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::Normal() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_Normal(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::SemiBold() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_SemiBold(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::SemiLight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_SemiLight(put_abi(value))); + return value; +} + +template Windows::UI::Text::FontWeight impl_IFontWeightsStatics::Thin() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontWeightsStatics)->get_Thin(put_abi(value))); + return value; +} + +inline Windows::UI::Text::FontWeight FontWeights::Black() +{ + return get_activation_factory().Black(); +} + +inline Windows::UI::Text::FontWeight FontWeights::Bold() +{ + return get_activation_factory().Bold(); +} + +inline Windows::UI::Text::FontWeight FontWeights::ExtraBlack() +{ + return get_activation_factory().ExtraBlack(); +} + +inline Windows::UI::Text::FontWeight FontWeights::ExtraBold() +{ + return get_activation_factory().ExtraBold(); +} + +inline Windows::UI::Text::FontWeight FontWeights::ExtraLight() +{ + return get_activation_factory().ExtraLight(); +} + +inline Windows::UI::Text::FontWeight FontWeights::Light() +{ + return get_activation_factory().Light(); +} + +inline Windows::UI::Text::FontWeight FontWeights::Medium() +{ + return get_activation_factory().Medium(); +} + +inline Windows::UI::Text::FontWeight FontWeights::Normal() +{ + return get_activation_factory().Normal(); +} + +inline Windows::UI::Text::FontWeight FontWeights::SemiBold() +{ + return get_activation_factory().SemiBold(); +} + +inline Windows::UI::Text::FontWeight FontWeights::SemiLight() +{ + return get_activation_factory().SemiLight(); +} + +inline Windows::UI::Text::FontWeight FontWeights::Thin() +{ + return get_activation_factory().Thin(); +} + +inline Windows::UI::Color TextConstants::AutoColor() +{ + return get_activation_factory().AutoColor(); +} + +inline int32_t TextConstants::MinUnitCount() +{ + return get_activation_factory().MinUnitCount(); +} + +inline int32_t TextConstants::MaxUnitCount() +{ + return get_activation_factory().MaxUnitCount(); +} + +inline Windows::UI::Color TextConstants::UndefinedColor() +{ + return get_activation_factory().UndefinedColor(); +} + +inline float TextConstants::UndefinedFloatValue() +{ + return get_activation_factory().UndefinedFloatValue(); +} + +inline int32_t TextConstants::UndefinedInt32Value() +{ + return get_activation_factory().UndefinedInt32Value(); +} + +inline Windows::UI::Text::FontStretch TextConstants::UndefinedFontStretch() +{ + return get_activation_factory().UndefinedFontStretch(); +} + +inline Windows::UI::Text::FontStyle TextConstants::UndefinedFontStyle() +{ + return get_activation_factory().UndefinedFontStyle(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::IFontWeights & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::IFontWeightsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::ITextCharacterFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::ITextConstantsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::ITextDocument & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::ITextDocument2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::ITextParagraphFormat & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::ITextRange & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::ITextSelection & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::FontWeights & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Text::RichEditTextDocument & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.ViewManagement.h b/10.0.15042.0/winrt/Windows.UI.ViewManagement.h new file mode 100644 index 000000000..113ac78b3 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.ViewManagement.h @@ -0,0 +1,4377 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "internal/Windows.Devices.Enumeration.3.h" +#include "internal/Windows.UI.Popups.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.UI.ViewManagement.3.h" +#include "Windows.UI.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HighContrast(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HighContrast()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HighContrastScheme(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HighContrastScheme()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HighContrastChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().HighContrastChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HighContrastChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HighContrastChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowAsStandaloneAsync(int32_t viewId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowAsStandaloneAsync(viewId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsStandaloneWithSizePreferenceAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().ShowAsStandaloneAsync(viewId, sizePreference)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsViewPresentedOnActivationVirtualDesktop(int32_t viewId, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsViewPresentedOnActivationVirtualDesktop(viewId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Orientation(Windows::UI::ViewManagement::ApplicationViewOrientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdjacentToLeftDisplayEdge(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdjacentToLeftDisplayEdge()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdjacentToRightDisplayEdge(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdjacentToRightDisplayEdge()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullScreen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullScreen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOnLockScreen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOnLockScreen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsScreenCaptureEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsScreenCaptureEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsScreenCaptureEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsScreenCaptureEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Consolidated(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Consolidated(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Consolidated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Consolidated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SuppressSystemOverlays(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SuppressSystemOverlays()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SuppressSystemOverlays(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuppressSystemOverlays(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VisibleBounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VisibleBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VisibleBoundsChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VisibleBoundsChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VisibleBoundsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VisibleBoundsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDesiredBoundsMode(Windows::UI::ViewManagement::ApplicationViewBoundsMode boundsMode, bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().SetDesiredBoundsMode(boundsMode)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredBoundsMode(Windows::UI::ViewManagement::ApplicationViewBoundsMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredBoundsMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TitleBar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleBar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullScreenSystemOverlayMode(Windows::UI::ViewManagement::FullScreenSystemOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullScreenSystemOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FullScreenSystemOverlayMode(Windows::UI::ViewManagement::FullScreenSystemOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FullScreenSystemOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullScreenMode(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullScreenMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryEnterFullScreenMode(bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TryEnterFullScreenMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExitFullScreenMode() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExitFullScreenMode(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowStandardSystemOverlays() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowStandardSystemOverlays(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryResizeView(impl::abi_arg_in value, bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TryResizeView(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPreferredMinSize(impl::abi_arg_in minSize) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPreferredMinSize(*reinterpret_cast(&minSize)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewMode(Windows::UI::ViewManagement::ApplicationViewMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsViewModeSupported(Windows::UI::ViewManagement::ApplicationViewMode viewMode, bool * isViewModeSupported) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isViewModeSupported = detach_abi(this->shim().IsViewModeSupported(viewMode)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryEnterViewModeAsync(Windows::UI::ViewManagement::ApplicationViewMode viewMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryEnterViewModeAsync(viewMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryEnterViewModeWithPreferencesAsync(Windows::UI::ViewManagement::ApplicationViewMode viewMode, impl::abi_arg_in viewModePreferences, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryEnterViewModeAsync(viewMode, *reinterpret_cast(&viewModePreferences))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryConsolidateAsync(impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryConsolidateAsync()); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsUserInitiated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsUserInitiated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsAppInitiated(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAppInitiated()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryUnsnapToFullscreen(bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TryUnsnapToFullscreen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetApplicationViewIdForWindow(impl::abi_arg_in window, int32_t * id) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *id = detach_abi(this->shim().GetApplicationViewIdForWindow(*reinterpret_cast(&window))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisableLayoutScaling(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisableLayoutScaling()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetDisableLayoutScaling(bool disableLayoutScaling, bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TrySetDisableLayoutScaling(disableLayoutScaling)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(Windows::UI::ViewManagement::ApplicationViewState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryUnsnap(bool * success) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *success = detach_abi(this->shim().TryUnsnap()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TerminateAppOnFinalViewClose(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TerminateAppOnFinalViewClose()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TerminateAppOnFinalViewClose(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TerminateAppOnFinalViewClose(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PreferredLaunchWindowingMode(Windows::UI::ViewManagement::ApplicationViewWindowingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredLaunchWindowingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredLaunchWindowingMode(Windows::UI::ViewManagement::ApplicationViewWindowingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredLaunchWindowingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreferredLaunchViewSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreferredLaunchViewSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreferredLaunchViewSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreferredLaunchViewSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DisableShowingMainViewOnActivation() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableShowingMainViewOnActivation(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryShowAsStandaloneAsync(int32_t viewId, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryShowAsStandaloneAsync(viewId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryShowAsStandaloneWithSizePreferenceAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryShowAsStandaloneAsync(viewId, sizePreference)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryShowAsStandaloneWithAnchorViewAndSizePreferenceAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference, int32_t anchorViewId, Windows::UI::ViewManagement::ViewSizePreference anchorSizePreference, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryShowAsStandaloneAsync(viewId, sizePreference, anchorViewId, anchorSizePreference)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SwitchAsync(int32_t viewId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SwitchAsync(viewId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SwitchFromViewAsync(int32_t toViewId, int32_t fromViewId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SwitchAsync(toViewId, fromViewId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SwitchFromViewWithOptionsAsync(int32_t toViewId, int32_t fromViewId, Windows::UI::ViewManagement::ApplicationViewSwitchingOptions options, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SwitchAsync(toViewId, fromViewId, options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareForCustomAnimatedSwitchAsync(int32_t toViewId, int32_t fromViewId, Windows::UI::ViewManagement::ApplicationViewSwitchingOptions options, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().PrepareForCustomAnimatedSwitchAsync(toViewId, fromViewId, options)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_DisableSystemViewActivationPolicy() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisableSystemViewActivationPolicy(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryShowAsViewModeAsync(int32_t viewId, Windows::UI::ViewManagement::ApplicationViewMode viewMode, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryShowAsViewModeAsync(viewId, viewMode)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryShowAsViewModeWithPreferencesAsync(int32_t viewId, Windows::UI::ViewManagement::ApplicationViewMode viewMode, impl::abi_arg_in viewModePreferences, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().TryShowAsViewModeAsync(viewId, viewMode, *reinterpret_cast(&viewModePreferences))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall put_ForegroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonForegroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonForegroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonForegroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonForegroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonBackgroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonBackgroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonBackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonBackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonHoverForegroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonHoverForegroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonHoverForegroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonHoverForegroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonHoverBackgroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonHoverBackgroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonHoverBackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonHoverBackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonPressedForegroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonPressedForegroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonPressedForegroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonPressedForegroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonPressedBackgroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonPressedBackgroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonPressedBackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonPressedBackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InactiveForegroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InactiveForegroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InactiveForegroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InactiveForegroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InactiveBackgroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InactiveBackgroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InactiveBackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InactiveBackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonInactiveForegroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonInactiveForegroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonInactiveForegroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonInactiveForegroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonInactiveBackgroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonInactiveBackgroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonInactiveBackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonInactiveBackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewId(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewId(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataPackageFormatId(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataPackageFormatId()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Showing(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Showing(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Showing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Showing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Hiding(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Hiding(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Hiding(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hiding(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OccludedRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OccludedRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryShow(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryShow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryHide(bool * result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().TryHide()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Visible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Visible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out inputPane) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *inputPane = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *inputPane = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OccludedRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OccludedRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EnsuredFocusedElementInView(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnsuredFocusedElementInView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnsuredFocusedElementInView(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnsuredFocusedElementInView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartProjectingAsync(projectionViewId, anchorViewId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SwapDisplaysForViewsAsync(int32_t projectionViewId, int32_t anchorViewId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().SwapDisplaysForViewsAsync(projectionViewId, anchorViewId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StopProjectingAsync(projectionViewId, anchorViewId)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProjectionDisplayAvailable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProjectionDisplayAvailable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ProjectionDisplayAvailableChanged(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ProjectionDisplayAvailableChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ProjectionDisplayAvailableChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProjectionDisplayAvailableChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_StartProjectingWithDeviceInfoAsync(int32_t projectionViewId, int32_t anchorViewId, impl::abi_arg_in displayDeviceInfo, impl::abi_arg_out operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().StartProjectingAsync(projectionViewId, anchorViewId, *reinterpret_cast(&displayDeviceInfo))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, impl::abi_arg_in selection, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStartProjectingAsync(projectionViewId, anchorViewId, *reinterpret_cast(&selection))); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RequestStartProjectingWithPlacementAsync(int32_t projectionViewId, int32_t anchorViewId, impl::abi_arg_in selection, Windows::UI::Popups::Placement prefferedPlacement, impl::abi_arg_out> operation) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *operation = detach_abi(this->shim().RequestStartProjectingAsync(projectionViewId, anchorViewId, *reinterpret_cast(&selection), prefferedPlacement)); + return S_OK; + } + catch (...) + { + *operation = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeviceSelector(impl::abi_arg_out selector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *selector = detach_abi(this->shim().GetDeviceSelector()); + return S_OK; + } + catch (...) + { + *selector = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShowAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HideAsync(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().HideAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundOpacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundOpacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundOpacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ForegroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProgressIndicator(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProgressIndicator()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OccludedRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OccludedRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Showing(impl::abi_arg_in> eventHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Showing(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Showing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Showing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Hiding(impl::abi_arg_in> eventHandler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Hiding(*reinterpret_cast *>(&eventHandler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Hiding(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hiding(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShowAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HideAsync(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().HideAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProgressValue(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProgressValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProgressValue(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProgressValue(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HandPreference(Windows::UI::ViewManagement::HandPreference * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HandPreference()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CursorSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CursorSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollBarSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollBarSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollBarArrowSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollBarArrowSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollBarThumbBoxSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollBarThumbBoxSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MessageDuration(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MessageDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AnimationsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnimationsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CaretBrowsingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaretBrowsingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CaretBlinkRate(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaretBlinkRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CaretWidth(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CaretWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DoubleClickTime(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DoubleClickTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MouseHoverTime(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MouseHoverTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_UIElementColor(Windows::UI::ViewManagement::UIElementType desiredElement, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UIElementColor(desiredElement)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextScaleFactor(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextScaleFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextScaleFactorChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().TextScaleFactorChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextScaleFactorChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextScaleFactorChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetColorValue(Windows::UI::ViewManagement::UIColorType desiredColor, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetColorValue(desiredColor)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ColorValuesChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().ColorValuesChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ColorValuesChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ColorValuesChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AdvancedEffectsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdvancedEffectsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_AdvancedEffectsEnabledChanged(impl::abi_arg_in> handler, event_token * cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *cookie = detach_abi(this->shim().AdvancedEffectsEnabledChanged(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_AdvancedEffectsEnabledChanged(event_token cookie) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AdvancedEffectsEnabledChanged(cookie); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UserInteractionMode(Windows::UI::ViewManagement::UserInteractionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UserInteractionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out current) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *current = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *current = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ViewSizePreference(Windows::UI::ViewManagement::ViewSizePreference * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewSizePreference()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewSizePreference(Windows::UI::ViewManagement::ViewSizePreference value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewSizePreference(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomSize(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomSize(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomSize(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateDefault(Windows::UI::ViewManagement::ApplicationViewMode mode, impl::abi_arg_out result) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *result = detach_abi(this->shim().CreateDefault(mode)); + return S_OK; + } + catch (...) + { + *result = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::ViewManagement { + +template Windows::UI::ViewManagement::ViewSizePreference impl_IViewModePreferences::ViewSizePreference() const +{ + Windows::UI::ViewManagement::ViewSizePreference value {}; + check_hresult(WINRT_SHIM(IViewModePreferences)->get_ViewSizePreference(&value)); + return value; +} + +template void impl_IViewModePreferences::ViewSizePreference(Windows::UI::ViewManagement::ViewSizePreference value) const +{ + check_hresult(WINRT_SHIM(IViewModePreferences)->put_ViewSizePreference(value)); +} + +template Windows::Foundation::Size impl_IViewModePreferences::CustomSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IViewModePreferences)->get_CustomSize(put_abi(value))); + return value; +} + +template void impl_IViewModePreferences::CustomSize(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(IViewModePreferences)->put_CustomSize(get_abi(value))); +} + +template Windows::UI::ViewManagement::ViewModePreferences impl_IViewModePreferencesStatics::CreateDefault(Windows::UI::ViewManagement::ApplicationViewMode mode) const +{ + Windows::UI::ViewManagement::ViewModePreferences result { nullptr }; + check_hresult(WINRT_SHIM(IViewModePreferencesStatics)->abi_CreateDefault(mode, put_abi(result))); + return result; +} + +template void impl_IApplicationViewSwitcherStatics::DisableShowingMainViewOnActivation() const +{ + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_DisableShowingMainViewOnActivation()); +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationViewSwitcherStatics::TryShowAsStandaloneAsync(int32_t viewId) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_TryShowAsStandaloneAsync(viewId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationViewSwitcherStatics::TryShowAsStandaloneAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_TryShowAsStandaloneWithSizePreferenceAsync(viewId, sizePreference, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationViewSwitcherStatics::TryShowAsStandaloneAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference, int32_t anchorViewId, Windows::UI::ViewManagement::ViewSizePreference anchorSizePreference) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_TryShowAsStandaloneWithAnchorViewAndSizePreferenceAsync(viewId, sizePreference, anchorViewId, anchorSizePreference, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IApplicationViewSwitcherStatics::SwitchAsync(int32_t viewId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_SwitchAsync(viewId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IApplicationViewSwitcherStatics::SwitchAsync(int32_t toViewId, int32_t fromViewId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_SwitchFromViewAsync(toViewId, fromViewId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IApplicationViewSwitcherStatics::SwitchAsync(int32_t toViewId, int32_t fromViewId, Windows::UI::ViewManagement::ApplicationViewSwitchingOptions options) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_SwitchFromViewWithOptionsAsync(toViewId, fromViewId, options, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationViewSwitcherStatics::PrepareForCustomAnimatedSwitchAsync(int32_t toViewId, int32_t fromViewId, Windows::UI::ViewManagement::ApplicationViewSwitchingOptions options) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics)->abi_PrepareForCustomAnimatedSwitchAsync(toViewId, fromViewId, options, put_abi(operation))); + return operation; +} + +template void impl_IApplicationViewSwitcherStatics2::DisableSystemViewActivationPolicy() const +{ + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics2)->abi_DisableSystemViewActivationPolicy()); +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationViewSwitcherStatics3::TryShowAsViewModeAsync(int32_t viewId, Windows::UI::ViewManagement::ApplicationViewMode viewMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics3)->abi_TryShowAsViewModeAsync(viewId, viewMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationViewSwitcherStatics3::TryShowAsViewModeAsync(int32_t viewId, Windows::UI::ViewManagement::ApplicationViewMode viewMode, const Windows::UI::ViewManagement::ViewModePreferences & viewModePreferences) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationViewSwitcherStatics3)->abi_TryShowAsViewModeWithPreferencesAsync(viewId, viewMode, get_abi(viewModePreferences), put_abi(operation))); + return operation; +} + +template int32_t impl_IApplicationViewInteropStatics::GetApplicationViewIdForWindow(const Windows::UI::Core::ICoreWindow & window) const +{ + int32_t id {}; + check_hresult(WINRT_SHIM(IApplicationViewInteropStatics)->abi_GetApplicationViewIdForWindow(get_abi(window), &id)); + return id; +} + +template Windows::UI::ViewManagement::ApplicationViewState impl_IApplicationViewStatics::Value() const +{ + Windows::UI::ViewManagement::ApplicationViewState value {}; + check_hresult(WINRT_SHIM(IApplicationViewStatics)->get_Value(&value)); + return value; +} + +template bool impl_IApplicationViewStatics::TryUnsnap() const +{ + bool success {}; + check_hresult(WINRT_SHIM(IApplicationViewStatics)->abi_TryUnsnap(&success)); + return success; +} + +template Windows::UI::ViewManagement::ApplicationView impl_IApplicationViewStatics2::GetForCurrentView() const +{ + Windows::UI::ViewManagement::ApplicationView current { nullptr }; + check_hresult(WINRT_SHIM(IApplicationViewStatics2)->abi_GetForCurrentView(put_abi(current))); + return current; +} + +template bool impl_IApplicationViewStatics2::TerminateAppOnFinalViewClose() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationViewStatics2)->get_TerminateAppOnFinalViewClose(&value)); + return value; +} + +template void impl_IApplicationViewStatics2::TerminateAppOnFinalViewClose(bool value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewStatics2)->put_TerminateAppOnFinalViewClose(value)); +} + +template Windows::UI::ViewManagement::ApplicationViewWindowingMode impl_IApplicationViewStatics3::PreferredLaunchWindowingMode() const +{ + Windows::UI::ViewManagement::ApplicationViewWindowingMode value {}; + check_hresult(WINRT_SHIM(IApplicationViewStatics3)->get_PreferredLaunchWindowingMode(&value)); + return value; +} + +template void impl_IApplicationViewStatics3::PreferredLaunchWindowingMode(Windows::UI::ViewManagement::ApplicationViewWindowingMode value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewStatics3)->put_PreferredLaunchWindowingMode(value)); +} + +template Windows::Foundation::Size impl_IApplicationViewStatics3::PreferredLaunchViewSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IApplicationViewStatics3)->get_PreferredLaunchViewSize(put_abi(value))); + return value; +} + +template void impl_IApplicationViewStatics3::PreferredLaunchViewSize(const Windows::Foundation::Size & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewStatics3)->put_PreferredLaunchViewSize(get_abi(value))); +} + +template Windows::UI::ViewManagement::ApplicationViewOrientation impl_IApplicationView::Orientation() const +{ + Windows::UI::ViewManagement::ApplicationViewOrientation value {}; + check_hresult(WINRT_SHIM(IApplicationView)->get_Orientation(&value)); + return value; +} + +template bool impl_IApplicationView::AdjacentToLeftDisplayEdge() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationView)->get_AdjacentToLeftDisplayEdge(&value)); + return value; +} + +template bool impl_IApplicationView::AdjacentToRightDisplayEdge() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationView)->get_AdjacentToRightDisplayEdge(&value)); + return value; +} + +template bool impl_IApplicationView::IsFullScreen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationView)->get_IsFullScreen(&value)); + return value; +} + +template bool impl_IApplicationView::IsOnLockScreen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationView)->get_IsOnLockScreen(&value)); + return value; +} + +template bool impl_IApplicationView::IsScreenCaptureEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationView)->get_IsScreenCaptureEnabled(&value)); + return value; +} + +template void impl_IApplicationView::IsScreenCaptureEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IApplicationView)->put_IsScreenCaptureEnabled(value)); +} + +template void impl_IApplicationView::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IApplicationView)->put_Title(get_abi(value))); +} + +template hstring impl_IApplicationView::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IApplicationView)->get_Title(put_abi(value))); + return value; +} + +template int32_t impl_IApplicationView::Id() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IApplicationView)->get_Id(&value)); + return value; +} + +template event_token impl_IApplicationView::Consolidated(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IApplicationView)->add_Consolidated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IApplicationView::Consolidated(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IApplicationView::remove_Consolidated, Consolidated(handler)); +} + +template void impl_IApplicationView::Consolidated(event_token token) const +{ + check_hresult(WINRT_SHIM(IApplicationView)->remove_Consolidated(token)); +} + +template bool impl_IApplicationView2::SuppressSystemOverlays() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationView2)->get_SuppressSystemOverlays(&value)); + return value; +} + +template void impl_IApplicationView2::SuppressSystemOverlays(bool value) const +{ + check_hresult(WINRT_SHIM(IApplicationView2)->put_SuppressSystemOverlays(value)); +} + +template Windows::Foundation::Rect impl_IApplicationView2::VisibleBounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IApplicationView2)->get_VisibleBounds(put_abi(value))); + return value; +} + +template event_token impl_IApplicationView2::VisibleBoundsChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IApplicationView2)->add_VisibleBoundsChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IApplicationView2::VisibleBoundsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IApplicationView2::remove_VisibleBoundsChanged, VisibleBoundsChanged(handler)); +} + +template void impl_IApplicationView2::VisibleBoundsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IApplicationView2)->remove_VisibleBoundsChanged(token)); +} + +template bool impl_IApplicationView2::SetDesiredBoundsMode(Windows::UI::ViewManagement::ApplicationViewBoundsMode boundsMode) const +{ + bool success {}; + check_hresult(WINRT_SHIM(IApplicationView2)->abi_SetDesiredBoundsMode(boundsMode, &success)); + return success; +} + +template Windows::UI::ViewManagement::ApplicationViewBoundsMode impl_IApplicationView2::DesiredBoundsMode() const +{ + Windows::UI::ViewManagement::ApplicationViewBoundsMode value {}; + check_hresult(WINRT_SHIM(IApplicationView2)->get_DesiredBoundsMode(&value)); + return value; +} + +template void impl_IApplicationViewTitleBar::ForegroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ForegroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ForegroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ForegroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::BackgroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_BackgroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::BackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonForegroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonForegroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonForegroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonForegroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonBackgroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonBackgroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonBackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonBackgroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonHoverForegroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonHoverForegroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonHoverForegroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonHoverForegroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonHoverBackgroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonHoverBackgroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonHoverBackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonHoverBackgroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonPressedForegroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonPressedForegroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonPressedForegroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonPressedForegroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonPressedBackgroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonPressedBackgroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonPressedBackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonPressedBackgroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::InactiveForegroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_InactiveForegroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::InactiveForegroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_InactiveForegroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::InactiveBackgroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_InactiveBackgroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::InactiveBackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_InactiveBackgroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonInactiveForegroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonInactiveForegroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonInactiveForegroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonInactiveForegroundColor(put_abi(value))); + return value; +} + +template void impl_IApplicationViewTitleBar::ButtonInactiveBackgroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->put_ButtonInactiveBackgroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IApplicationViewTitleBar::ButtonInactiveBackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IApplicationViewTitleBar)->get_ButtonInactiveBackgroundColor(put_abi(value))); + return value; +} + +template Windows::UI::ViewManagement::ApplicationViewTitleBar impl_IApplicationView3::TitleBar() const +{ + Windows::UI::ViewManagement::ApplicationViewTitleBar value { nullptr }; + check_hresult(WINRT_SHIM(IApplicationView3)->get_TitleBar(put_abi(value))); + return value; +} + +template Windows::UI::ViewManagement::FullScreenSystemOverlayMode impl_IApplicationView3::FullScreenSystemOverlayMode() const +{ + Windows::UI::ViewManagement::FullScreenSystemOverlayMode value {}; + check_hresult(WINRT_SHIM(IApplicationView3)->get_FullScreenSystemOverlayMode(&value)); + return value; +} + +template void impl_IApplicationView3::FullScreenSystemOverlayMode(Windows::UI::ViewManagement::FullScreenSystemOverlayMode value) const +{ + check_hresult(WINRT_SHIM(IApplicationView3)->put_FullScreenSystemOverlayMode(value)); +} + +template bool impl_IApplicationView3::IsFullScreenMode() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationView3)->get_IsFullScreenMode(&value)); + return value; +} + +template bool impl_IApplicationView3::TryEnterFullScreenMode() const +{ + bool success {}; + check_hresult(WINRT_SHIM(IApplicationView3)->abi_TryEnterFullScreenMode(&success)); + return success; +} + +template void impl_IApplicationView3::ExitFullScreenMode() const +{ + check_hresult(WINRT_SHIM(IApplicationView3)->abi_ExitFullScreenMode()); +} + +template void impl_IApplicationView3::ShowStandardSystemOverlays() const +{ + check_hresult(WINRT_SHIM(IApplicationView3)->abi_ShowStandardSystemOverlays()); +} + +template bool impl_IApplicationView3::TryResizeView(const Windows::Foundation::Size & value) const +{ + bool success {}; + check_hresult(WINRT_SHIM(IApplicationView3)->abi_TryResizeView(get_abi(value), &success)); + return success; +} + +template void impl_IApplicationView3::SetPreferredMinSize(const Windows::Foundation::Size & minSize) const +{ + check_hresult(WINRT_SHIM(IApplicationView3)->abi_SetPreferredMinSize(get_abi(minSize))); +} + +template bool impl_IApplicationViewFullscreenStatics::TryUnsnapToFullscreen() const +{ + bool success {}; + check_hresult(WINRT_SHIM(IApplicationViewFullscreenStatics)->abi_TryUnsnapToFullscreen(&success)); + return success; +} + +template Windows::UI::ViewManagement::ApplicationViewMode impl_IApplicationView4::ViewMode() const +{ + Windows::UI::ViewManagement::ApplicationViewMode value {}; + check_hresult(WINRT_SHIM(IApplicationView4)->get_ViewMode(&value)); + return value; +} + +template bool impl_IApplicationView4::IsViewModeSupported(Windows::UI::ViewManagement::ApplicationViewMode viewMode) const +{ + bool isViewModeSupported {}; + check_hresult(WINRT_SHIM(IApplicationView4)->abi_IsViewModeSupported(viewMode, &isViewModeSupported)); + return isViewModeSupported; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationView4::TryEnterViewModeAsync(Windows::UI::ViewManagement::ApplicationViewMode viewMode) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationView4)->abi_TryEnterViewModeAsync(viewMode, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationView4::TryEnterViewModeAsync(Windows::UI::ViewManagement::ApplicationViewMode viewMode, const Windows::UI::ViewManagement::ViewModePreferences & viewModePreferences) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationView4)->abi_TryEnterViewModeWithPreferencesAsync(viewMode, get_abi(viewModePreferences), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IApplicationView4::TryConsolidateAsync() const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IApplicationView4)->abi_TryConsolidateAsync(put_abi(operation))); + return operation; +} + +template bool impl_IApplicationViewConsolidatedEventArgs::IsUserInitiated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationViewConsolidatedEventArgs)->get_IsUserInitiated(&value)); + return value; +} + +template bool impl_IApplicationViewConsolidatedEventArgs2::IsAppInitiated() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationViewConsolidatedEventArgs2)->get_IsAppInitiated(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IActivationViewSwitcher::ShowAsStandaloneAsync(int32_t viewId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IActivationViewSwitcher)->abi_ShowAsStandaloneAsync(viewId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IActivationViewSwitcher::ShowAsStandaloneAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IActivationViewSwitcher)->abi_ShowAsStandaloneWithSizePreferenceAsync(viewId, sizePreference, put_abi(operation))); + return operation; +} + +template bool impl_IActivationViewSwitcher::IsViewPresentedOnActivationVirtualDesktop(int32_t viewId) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IActivationViewSwitcher)->abi_IsViewPresentedOnActivationVirtualDesktop(viewId, &value)); + return value; +} + +template int32_t impl_IApplicationViewTransferContext::ViewId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IApplicationViewTransferContext)->get_ViewId(&value)); + return value; +} + +template void impl_IApplicationViewTransferContext::ViewId(int32_t value) const +{ + check_hresult(WINRT_SHIM(IApplicationViewTransferContext)->put_ViewId(value)); +} + +template hstring impl_IApplicationViewTransferContextStatics::DataPackageFormatId() const +{ + hstring value; + check_hresult(WINRT_SHIM(IApplicationViewTransferContextStatics)->get_DataPackageFormatId(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IInputPaneVisibilityEventArgs::OccludedRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IInputPaneVisibilityEventArgs)->get_OccludedRect(put_abi(value))); + return value; +} + +template void impl_IInputPaneVisibilityEventArgs::EnsuredFocusedElementInView(bool value) const +{ + check_hresult(WINRT_SHIM(IInputPaneVisibilityEventArgs)->put_EnsuredFocusedElementInView(value)); +} + +template bool impl_IInputPaneVisibilityEventArgs::EnsuredFocusedElementInView() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInputPaneVisibilityEventArgs)->get_EnsuredFocusedElementInView(&value)); + return value; +} + +template event_token impl_IInputPane::Showing(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IInputPane)->add_Showing(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IInputPane::Showing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IInputPane::remove_Showing, Showing(handler)); +} + +template void impl_IInputPane::Showing(event_token token) const +{ + check_hresult(WINRT_SHIM(IInputPane)->remove_Showing(token)); +} + +template event_token impl_IInputPane::Hiding(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IInputPane)->add_Hiding(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IInputPane::Hiding(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IInputPane::remove_Hiding, Hiding(handler)); +} + +template void impl_IInputPane::Hiding(event_token token) const +{ + check_hresult(WINRT_SHIM(IInputPane)->remove_Hiding(token)); +} + +template Windows::Foundation::Rect impl_IInputPane::OccludedRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IInputPane)->get_OccludedRect(put_abi(value))); + return value; +} + +template bool impl_IInputPane2::TryShow() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IInputPane2)->abi_TryShow(&result)); + return result; +} + +template bool impl_IInputPane2::TryHide() const +{ + bool result {}; + check_hresult(WINRT_SHIM(IInputPane2)->abi_TryHide(&result)); + return result; +} + +template bool impl_IInputPaneControl::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IInputPaneControl)->get_Visible(&value)); + return value; +} + +template void impl_IInputPaneControl::Visible(bool value) const +{ + check_hresult(WINRT_SHIM(IInputPaneControl)->put_Visible(value)); +} + +template Windows::UI::ViewManagement::InputPane impl_IInputPaneStatics::GetForCurrentView() const +{ + Windows::UI::ViewManagement::InputPane inputPane { nullptr }; + check_hresult(WINRT_SHIM(IInputPaneStatics)->abi_GetForCurrentView(put_abi(inputPane))); + return inputPane; +} + +template Windows::Foundation::IAsyncAction impl_IProjectionManagerStatics::StartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IProjectionManagerStatics)->abi_StartProjectingAsync(projectionViewId, anchorViewId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IProjectionManagerStatics::SwapDisplaysForViewsAsync(int32_t projectionViewId, int32_t anchorViewId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IProjectionManagerStatics)->abi_SwapDisplaysForViewsAsync(projectionViewId, anchorViewId, put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncAction impl_IProjectionManagerStatics::StopProjectingAsync(int32_t projectionViewId, int32_t anchorViewId) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IProjectionManagerStatics)->abi_StopProjectingAsync(projectionViewId, anchorViewId, put_abi(operation))); + return operation; +} + +template bool impl_IProjectionManagerStatics::ProjectionDisplayAvailable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProjectionManagerStatics)->get_ProjectionDisplayAvailable(&value)); + return value; +} + +template event_token impl_IProjectionManagerStatics::ProjectionDisplayAvailableChanged(const Windows::Foundation::EventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IProjectionManagerStatics)->add_ProjectionDisplayAvailableChanged(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IProjectionManagerStatics::ProjectionDisplayAvailableChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IProjectionManagerStatics::remove_ProjectionDisplayAvailableChanged, ProjectionDisplayAvailableChanged(handler)); +} + +template void impl_IProjectionManagerStatics::ProjectionDisplayAvailableChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IProjectionManagerStatics)->remove_ProjectionDisplayAvailableChanged(token)); +} + +template Windows::Foundation::IAsyncAction impl_IProjectionManagerStatics2::StartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, const Windows::Devices::Enumeration::DeviceInformation & displayDeviceInfo) const +{ + Windows::Foundation::IAsyncAction operation; + check_hresult(WINRT_SHIM(IProjectionManagerStatics2)->abi_StartProjectingWithDeviceInfoAsync(projectionViewId, anchorViewId, get_abi(displayDeviceInfo), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IProjectionManagerStatics2::RequestStartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, const Windows::Foundation::Rect & selection) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IProjectionManagerStatics2)->abi_RequestStartProjectingAsync(projectionViewId, anchorViewId, get_abi(selection), put_abi(operation))); + return operation; +} + +template Windows::Foundation::IAsyncOperation impl_IProjectionManagerStatics2::RequestStartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement prefferedPlacement) const +{ + Windows::Foundation::IAsyncOperation operation; + check_hresult(WINRT_SHIM(IProjectionManagerStatics2)->abi_RequestStartProjectingWithPlacementAsync(projectionViewId, anchorViewId, get_abi(selection), prefferedPlacement, put_abi(operation))); + return operation; +} + +template hstring impl_IProjectionManagerStatics2::GetDeviceSelector() const +{ + hstring selector; + check_hresult(WINRT_SHIM(IProjectionManagerStatics2)->abi_GetDeviceSelector(put_abi(selector))); + return selector; +} + +template Windows::UI::ViewManagement::UserInteractionMode impl_IUIViewSettings::UserInteractionMode() const +{ + Windows::UI::ViewManagement::UserInteractionMode value {}; + check_hresult(WINRT_SHIM(IUIViewSettings)->get_UserInteractionMode(&value)); + return value; +} + +template Windows::UI::ViewManagement::UIViewSettings impl_IUIViewSettingsStatics::GetForCurrentView() const +{ + Windows::UI::ViewManagement::UIViewSettings current { nullptr }; + check_hresult(WINRT_SHIM(IUIViewSettingsStatics)->abi_GetForCurrentView(put_abi(current))); + return current; +} + +template bool impl_IAccessibilitySettings::HighContrast() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAccessibilitySettings)->get_HighContrast(&value)); + return value; +} + +template hstring impl_IAccessibilitySettings::HighContrastScheme() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAccessibilitySettings)->get_HighContrastScheme(put_abi(value))); + return value; +} + +template event_token impl_IAccessibilitySettings::HighContrastChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IAccessibilitySettings)->add_HighContrastChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IAccessibilitySettings::HighContrastChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IAccessibilitySettings::remove_HighContrastChanged, HighContrastChanged(handler)); +} + +template void impl_IAccessibilitySettings::HighContrastChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IAccessibilitySettings)->remove_HighContrastChanged(cookie)); +} + +template Windows::UI::ViewManagement::HandPreference impl_IUISettings::HandPreference() const +{ + Windows::UI::ViewManagement::HandPreference value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_HandPreference(&value)); + return value; +} + +template Windows::Foundation::Size impl_IUISettings::CursorSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_CursorSize(put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_IUISettings::ScrollBarSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_ScrollBarSize(put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_IUISettings::ScrollBarArrowSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_ScrollBarArrowSize(put_abi(value))); + return value; +} + +template Windows::Foundation::Size impl_IUISettings::ScrollBarThumbBoxSize() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_ScrollBarThumbBoxSize(put_abi(value))); + return value; +} + +template uint32_t impl_IUISettings::MessageDuration() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_MessageDuration(&value)); + return value; +} + +template bool impl_IUISettings::AnimationsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_AnimationsEnabled(&value)); + return value; +} + +template bool impl_IUISettings::CaretBrowsingEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_CaretBrowsingEnabled(&value)); + return value; +} + +template uint32_t impl_IUISettings::CaretBlinkRate() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_CaretBlinkRate(&value)); + return value; +} + +template uint32_t impl_IUISettings::CaretWidth() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_CaretWidth(&value)); + return value; +} + +template uint32_t impl_IUISettings::DoubleClickTime() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_DoubleClickTime(&value)); + return value; +} + +template uint32_t impl_IUISettings::MouseHoverTime() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IUISettings)->get_MouseHoverTime(&value)); + return value; +} + +template Windows::UI::Color impl_IUISettings::UIElementColor(Windows::UI::ViewManagement::UIElementType desiredElement) const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IUISettings)->abi_UIElementColor(desiredElement, put_abi(value))); + return value; +} + +template double impl_IUISettings2::TextScaleFactor() const +{ + double value {}; + check_hresult(WINRT_SHIM(IUISettings2)->get_TextScaleFactor(&value)); + return value; +} + +template event_token impl_IUISettings2::TextScaleFactorChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IUISettings2)->add_TextScaleFactorChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IUISettings2::TextScaleFactorChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IUISettings2::remove_TextScaleFactorChanged, TextScaleFactorChanged(handler)); +} + +template void impl_IUISettings2::TextScaleFactorChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IUISettings2)->remove_TextScaleFactorChanged(cookie)); +} + +template Windows::UI::Color impl_IUISettings3::GetColorValue(Windows::UI::ViewManagement::UIColorType desiredColor) const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IUISettings3)->abi_GetColorValue(desiredColor, put_abi(value))); + return value; +} + +template event_token impl_IUISettings3::ColorValuesChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IUISettings3)->add_ColorValuesChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IUISettings3::ColorValuesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IUISettings3::remove_ColorValuesChanged, ColorValuesChanged(handler)); +} + +template void impl_IUISettings3::ColorValuesChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IUISettings3)->remove_ColorValuesChanged(cookie)); +} + +template bool impl_IUISettings4::AdvancedEffectsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IUISettings4)->get_AdvancedEffectsEnabled(&value)); + return value; +} + +template event_token impl_IUISettings4::AdvancedEffectsEnabledChanged(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token cookie {}; + check_hresult(WINRT_SHIM(IUISettings4)->add_AdvancedEffectsEnabledChanged(get_abi(handler), &cookie)); + return cookie; +} + +template event_revoker impl_IUISettings4::AdvancedEffectsEnabledChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IUISettings4::remove_AdvancedEffectsEnabledChanged, AdvancedEffectsEnabledChanged(handler)); +} + +template void impl_IUISettings4::AdvancedEffectsEnabledChanged(event_token cookie) const +{ + check_hresult(WINRT_SHIM(IUISettings4)->remove_AdvancedEffectsEnabledChanged(cookie)); +} + +template bool impl_IApplicationViewScalingStatics::DisableLayoutScaling() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IApplicationViewScalingStatics)->get_DisableLayoutScaling(&value)); + return value; +} + +template bool impl_IApplicationViewScalingStatics::TrySetDisableLayoutScaling(bool disableLayoutScaling) const +{ + bool success {}; + check_hresult(WINRT_SHIM(IApplicationViewScalingStatics)->abi_TrySetDisableLayoutScaling(disableLayoutScaling, &success)); + return success; +} + +template Windows::UI::ViewManagement::StatusBar impl_IStatusBarStatics::GetForCurrentView() const +{ + Windows::UI::ViewManagement::StatusBar value { nullptr }; + check_hresult(WINRT_SHIM(IStatusBarStatics)->abi_GetForCurrentView(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IStatusBar::ShowAsync() const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IStatusBar)->abi_ShowAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncAction impl_IStatusBar::HideAsync() const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IStatusBar)->abi_HideAsync(put_abi(returnValue))); + return returnValue; +} + +template double impl_IStatusBar::BackgroundOpacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IStatusBar)->get_BackgroundOpacity(&value)); + return value; +} + +template void impl_IStatusBar::BackgroundOpacity(double value) const +{ + check_hresult(WINRT_SHIM(IStatusBar)->put_BackgroundOpacity(value)); +} + +template Windows::Foundation::IReference impl_IStatusBar::ForegroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IStatusBar)->get_ForegroundColor(put_abi(value))); + return value; +} + +template void impl_IStatusBar::ForegroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IStatusBar)->put_ForegroundColor(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IStatusBar::BackgroundColor() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IStatusBar)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_IStatusBar::BackgroundColor(const optional & value) const +{ + check_hresult(WINRT_SHIM(IStatusBar)->put_BackgroundColor(get_abi(value))); +} + +template Windows::UI::ViewManagement::StatusBarProgressIndicator impl_IStatusBar::ProgressIndicator() const +{ + Windows::UI::ViewManagement::StatusBarProgressIndicator value { nullptr }; + check_hresult(WINRT_SHIM(IStatusBar)->get_ProgressIndicator(put_abi(value))); + return value; +} + +template Windows::Foundation::Rect impl_IStatusBar::OccludedRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IStatusBar)->get_OccludedRect(put_abi(value))); + return value; +} + +template event_token impl_IStatusBar::Showing(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IStatusBar)->add_Showing(get_abi(eventHandler), &token)); + return token; +} + +template event_revoker impl_IStatusBar::Showing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IStatusBar::remove_Showing, Showing(eventHandler)); +} + +template void impl_IStatusBar::Showing(event_token token) const +{ + check_hresult(WINRT_SHIM(IStatusBar)->remove_Showing(token)); +} + +template event_token impl_IStatusBar::Hiding(const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IStatusBar)->add_Hiding(get_abi(eventHandler), &token)); + return token; +} + +template event_revoker impl_IStatusBar::Hiding(auto_revoke_t, const Windows::Foundation::TypedEventHandler & eventHandler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::ViewManagement::IStatusBar::remove_Hiding, Hiding(eventHandler)); +} + +template void impl_IStatusBar::Hiding(event_token token) const +{ + check_hresult(WINRT_SHIM(IStatusBar)->remove_Hiding(token)); +} + +template Windows::Foundation::IAsyncAction impl_IStatusBarProgressIndicator::ShowAsync() const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IStatusBarProgressIndicator)->abi_ShowAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncAction impl_IStatusBarProgressIndicator::HideAsync() const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IStatusBarProgressIndicator)->abi_HideAsync(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IStatusBarProgressIndicator::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStatusBarProgressIndicator)->get_Text(put_abi(value))); + return value; +} + +template void impl_IStatusBarProgressIndicator::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IStatusBarProgressIndicator)->put_Text(get_abi(value))); +} + +template Windows::Foundation::IReference impl_IStatusBarProgressIndicator::ProgressValue() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IStatusBarProgressIndicator)->get_ProgressValue(put_abi(value))); + return value; +} + +template void impl_IStatusBarProgressIndicator::ProgressValue(const optional & value) const +{ + check_hresult(WINRT_SHIM(IStatusBarProgressIndicator)->put_ProgressValue(get_abi(value))); +} + +inline AccessibilitySettings::AccessibilitySettings() : + AccessibilitySettings(activate_instance()) +{} + +inline bool ApplicationView::TryUnsnapToFullscreen() +{ + return get_activation_factory().TryUnsnapToFullscreen(); +} + +inline int32_t ApplicationView::GetApplicationViewIdForWindow(const Windows::UI::Core::ICoreWindow & window) +{ + return get_activation_factory().GetApplicationViewIdForWindow(window); +} + +inline Windows::UI::ViewManagement::ApplicationViewState ApplicationView::Value() +{ + return get_activation_factory().Value(); +} + +inline bool ApplicationView::TryUnsnap() +{ + return get_activation_factory().TryUnsnap(); +} + +inline Windows::UI::ViewManagement::ApplicationView ApplicationView::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline bool ApplicationView::TerminateAppOnFinalViewClose() +{ + return get_activation_factory().TerminateAppOnFinalViewClose(); +} + +inline void ApplicationView::TerminateAppOnFinalViewClose(bool value) +{ + get_activation_factory().TerminateAppOnFinalViewClose(value); +} + +inline Windows::UI::ViewManagement::ApplicationViewWindowingMode ApplicationView::PreferredLaunchWindowingMode() +{ + return get_activation_factory().PreferredLaunchWindowingMode(); +} + +inline void ApplicationView::PreferredLaunchWindowingMode(Windows::UI::ViewManagement::ApplicationViewWindowingMode value) +{ + get_activation_factory().PreferredLaunchWindowingMode(value); +} + +inline Windows::Foundation::Size ApplicationView::PreferredLaunchViewSize() +{ + return get_activation_factory().PreferredLaunchViewSize(); +} + +inline void ApplicationView::PreferredLaunchViewSize(const Windows::Foundation::Size & value) +{ + get_activation_factory().PreferredLaunchViewSize(value); +} + +inline bool ApplicationViewScaling::DisableLayoutScaling() +{ + return get_activation_factory().DisableLayoutScaling(); +} + +inline bool ApplicationViewScaling::TrySetDisableLayoutScaling(bool disableLayoutScaling) +{ + return get_activation_factory().TrySetDisableLayoutScaling(disableLayoutScaling); +} + +inline void ApplicationViewSwitcher::DisableShowingMainViewOnActivation() +{ + get_activation_factory().DisableShowingMainViewOnActivation(); +} + +inline Windows::Foundation::IAsyncOperation ApplicationViewSwitcher::TryShowAsStandaloneAsync(int32_t viewId) +{ + return get_activation_factory().TryShowAsStandaloneAsync(viewId); +} + +inline Windows::Foundation::IAsyncOperation ApplicationViewSwitcher::TryShowAsStandaloneAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference) +{ + return get_activation_factory().TryShowAsStandaloneAsync(viewId, sizePreference); +} + +inline Windows::Foundation::IAsyncOperation ApplicationViewSwitcher::TryShowAsStandaloneAsync(int32_t viewId, Windows::UI::ViewManagement::ViewSizePreference sizePreference, int32_t anchorViewId, Windows::UI::ViewManagement::ViewSizePreference anchorSizePreference) +{ + return get_activation_factory().TryShowAsStandaloneAsync(viewId, sizePreference, anchorViewId, anchorSizePreference); +} + +inline Windows::Foundation::IAsyncAction ApplicationViewSwitcher::SwitchAsync(int32_t viewId) +{ + return get_activation_factory().SwitchAsync(viewId); +} + +inline Windows::Foundation::IAsyncAction ApplicationViewSwitcher::SwitchAsync(int32_t toViewId, int32_t fromViewId) +{ + return get_activation_factory().SwitchAsync(toViewId, fromViewId); +} + +inline Windows::Foundation::IAsyncAction ApplicationViewSwitcher::SwitchAsync(int32_t toViewId, int32_t fromViewId, Windows::UI::ViewManagement::ApplicationViewSwitchingOptions options) +{ + return get_activation_factory().SwitchAsync(toViewId, fromViewId, options); +} + +inline Windows::Foundation::IAsyncOperation ApplicationViewSwitcher::PrepareForCustomAnimatedSwitchAsync(int32_t toViewId, int32_t fromViewId, Windows::UI::ViewManagement::ApplicationViewSwitchingOptions options) +{ + return get_activation_factory().PrepareForCustomAnimatedSwitchAsync(toViewId, fromViewId, options); +} + +inline void ApplicationViewSwitcher::DisableSystemViewActivationPolicy() +{ + get_activation_factory().DisableSystemViewActivationPolicy(); +} + +inline Windows::Foundation::IAsyncOperation ApplicationViewSwitcher::TryShowAsViewModeAsync(int32_t viewId, Windows::UI::ViewManagement::ApplicationViewMode viewMode) +{ + return get_activation_factory().TryShowAsViewModeAsync(viewId, viewMode); +} + +inline Windows::Foundation::IAsyncOperation ApplicationViewSwitcher::TryShowAsViewModeAsync(int32_t viewId, Windows::UI::ViewManagement::ApplicationViewMode viewMode, const Windows::UI::ViewManagement::ViewModePreferences & viewModePreferences) +{ + return get_activation_factory().TryShowAsViewModeAsync(viewId, viewMode, viewModePreferences); +} + +inline ApplicationViewTransferContext::ApplicationViewTransferContext() : + ApplicationViewTransferContext(activate_instance()) +{} + +inline hstring ApplicationViewTransferContext::DataPackageFormatId() +{ + return get_activation_factory().DataPackageFormatId(); +} + +inline Windows::UI::ViewManagement::InputPane InputPane::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::Foundation::IAsyncAction ProjectionManager::StartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId) +{ + return get_activation_factory().StartProjectingAsync(projectionViewId, anchorViewId); +} + +inline Windows::Foundation::IAsyncAction ProjectionManager::SwapDisplaysForViewsAsync(int32_t projectionViewId, int32_t anchorViewId) +{ + return get_activation_factory().SwapDisplaysForViewsAsync(projectionViewId, anchorViewId); +} + +inline Windows::Foundation::IAsyncAction ProjectionManager::StopProjectingAsync(int32_t projectionViewId, int32_t anchorViewId) +{ + return get_activation_factory().StopProjectingAsync(projectionViewId, anchorViewId); +} + +inline bool ProjectionManager::ProjectionDisplayAvailable() +{ + return get_activation_factory().ProjectionDisplayAvailable(); +} + +inline event_token ProjectionManager::ProjectionDisplayAvailableChanged(const Windows::Foundation::EventHandler & handler) +{ + return get_activation_factory().ProjectionDisplayAvailableChanged(handler); +} + +inline factory_event_revoker ProjectionManager::ProjectionDisplayAvailableChanged(auto_revoke_t, const Windows::Foundation::EventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::UI::ViewManagement::IProjectionManagerStatics::remove_ProjectionDisplayAvailableChanged, factory.ProjectionDisplayAvailableChanged(handler) }; +} + +inline void ProjectionManager::ProjectionDisplayAvailableChanged(event_token token) +{ + get_activation_factory().ProjectionDisplayAvailableChanged(token); +} + +inline Windows::Foundation::IAsyncAction ProjectionManager::StartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, const Windows::Devices::Enumeration::DeviceInformation & displayDeviceInfo) +{ + return get_activation_factory().StartProjectingAsync(projectionViewId, anchorViewId, displayDeviceInfo); +} + +inline Windows::Foundation::IAsyncOperation ProjectionManager::RequestStartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, const Windows::Foundation::Rect & selection) +{ + return get_activation_factory().RequestStartProjectingAsync(projectionViewId, anchorViewId, selection); +} + +inline Windows::Foundation::IAsyncOperation ProjectionManager::RequestStartProjectingAsync(int32_t projectionViewId, int32_t anchorViewId, const Windows::Foundation::Rect & selection, Windows::UI::Popups::Placement prefferedPlacement) +{ + return get_activation_factory().RequestStartProjectingAsync(projectionViewId, anchorViewId, selection, prefferedPlacement); +} + +inline hstring ProjectionManager::GetDeviceSelector() +{ + return get_activation_factory().GetDeviceSelector(); +} + +inline Windows::UI::ViewManagement::StatusBar StatusBar::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline UISettings::UISettings() : + UISettings(activate_instance()) +{} + +inline Windows::UI::ViewManagement::UIViewSettings UIViewSettings::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline Windows::UI::ViewManagement::ViewModePreferences ViewModePreferences::CreateDefault(Windows::UI::ViewManagement::ApplicationViewMode mode) +{ + return get_activation_factory().CreateDefault(mode); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IAccessibilitySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IActivationViewSwitcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationView2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationView3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationView4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewConsolidatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewConsolidatedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewFullscreenStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewInteropStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewScaling & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewScalingStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewSwitcherStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewSwitcherStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewSwitcherStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewTitleBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewTransferContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IApplicationViewTransferContextStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IInputPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IInputPane2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IInputPaneControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IInputPaneStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IInputPaneVisibilityEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IProjectionManagerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IProjectionManagerStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IStatusBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IStatusBarProgressIndicator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IStatusBarStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IUISettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IUISettings2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IUISettings3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IUISettings4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IUIViewSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IUIViewSettingsStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IViewModePreferences & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::IViewModePreferencesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::AccessibilitySettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::ActivationViewSwitcher & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::ApplicationView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::ApplicationViewConsolidatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::ApplicationViewScaling & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::ApplicationViewTitleBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::ApplicationViewTransferContext & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::InputPane & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::InputPaneVisibilityEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::StatusBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::StatusBarProgressIndicator & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::UISettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::UIViewSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::ViewManagement::ViewModePreferences & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.WebUI.Core.h b/10.0.15042.0/winrt/Windows.UI.WebUI.Core.h new file mode 100644 index 000000000..299aeb3ef --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.WebUI.Core.h @@ -0,0 +1,1293 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.WebUI.Core.3.h" +#include "Windows.UI.WebUI.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::UI::WebUI::Core { + +template MenuClosedEventHandler::MenuClosedEventHandler(L lambda) : + MenuClosedEventHandler(impl::make_delegate, MenuClosedEventHandler>(std::forward(lambda))) +{} + +template MenuClosedEventHandler::MenuClosedEventHandler(F * function) : + MenuClosedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template MenuClosedEventHandler::MenuClosedEventHandler(O * object, M method) : + MenuClosedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void MenuClosedEventHandler::operator()() const +{ + check_hresult((*(abi **)this)->abi_Invoke()); +} + +template MenuOpenedEventHandler::MenuOpenedEventHandler(L lambda) : + MenuOpenedEventHandler(impl::make_delegate, MenuOpenedEventHandler>(std::forward(lambda))) +{} + +template MenuOpenedEventHandler::MenuOpenedEventHandler(F * function) : + MenuOpenedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template MenuOpenedEventHandler::MenuOpenedEventHandler(O * object, M method) : + MenuOpenedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void MenuOpenedEventHandler::operator()() const +{ + check_hresult((*(abi **)this)->abi_Invoke()); +} + +template SizeChangedEventHandler::SizeChangedEventHandler(L lambda) : + SizeChangedEventHandler(impl::make_delegate, SizeChangedEventHandler>(std::forward(lambda))) +{} + +template SizeChangedEventHandler::SizeChangedEventHandler(F * function) : + SizeChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template SizeChangedEventHandler::SizeChangedEventHandler(O * object, M method) : + SizeChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SizeChangedEventHandler::operator()(const Windows::UI::WebUI::Core::WebUICommandBarSizeChangedEventArgs & eventArgs) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(eventArgs))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Visible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Visible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Opacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Opacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Opacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ForegroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ForegroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClosedDisplayMode(Windows::UI::WebUI::Core::WebUICommandBarClosedDisplayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClosedDisplayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClosedDisplayMode(Windows::UI::WebUI::Core::WebUICommandBarClosedDisplayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClosedDisplayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Size(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MenuOpened(impl::abi_arg_in handler, event_token * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MenuOpened(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MenuOpened(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MenuOpened(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MenuClosed(impl::abi_arg_in handler, event_token * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MenuClosed(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MenuClosed(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MenuClosed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SizeChanged(impl::abi_arg_in handler, event_token * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeChanged(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SizeChanged(event_token value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SizeChanged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Uri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Uri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in uri, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().Create(*reinterpret_cast(&uri))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemInvoked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemInvoked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemInvoked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemInvoked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Enabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsToggleButton(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsToggleButton()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsToggleButton(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsToggleButton(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsChecked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsChecked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsChecked(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsChecked(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Icon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Icon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemInvoked(impl::abi_arg_in> handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemInvoked(*reinterpret_cast *>(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemInvoked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemInvoked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPrimaryCommand(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrimaryCommand()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Size(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Size()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetForCurrentView(impl::abi_arg_out commandBar) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *commandBar = detach_abi(this->shim().GetForCurrentView()); + return S_OK; + } + catch (...) + { + *commandBar = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Symbol(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Symbol()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Symbol(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Symbol(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Create(impl::abi_arg_in symbol, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().Create(*reinterpret_cast(&symbol))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::WebUI::Core { + +template bool impl_IWebUICommandBarItemInvokedEventArgs::IsPrimaryCommand() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebUICommandBarItemInvokedEventArgs)->get_IsPrimaryCommand(&value)); + return value; +} + +template bool impl_IWebUICommandBarIconButton::Enabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->get_Enabled(&value)); + return value; +} + +template void impl_IWebUICommandBarIconButton::Enabled(bool value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->put_Enabled(value)); +} + +template hstring impl_IWebUICommandBarIconButton::Label() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->get_Label(put_abi(value))); + return value; +} + +template void impl_IWebUICommandBarIconButton::Label(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->put_Label(get_abi(value))); +} + +template bool impl_IWebUICommandBarIconButton::IsToggleButton() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->get_IsToggleButton(&value)); + return value; +} + +template void impl_IWebUICommandBarIconButton::IsToggleButton(bool value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->put_IsToggleButton(value)); +} + +template bool impl_IWebUICommandBarIconButton::IsChecked() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->get_IsChecked(&value)); + return value; +} + +template void impl_IWebUICommandBarIconButton::IsChecked(bool value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->put_IsChecked(value)); +} + +template Windows::UI::WebUI::Core::IWebUICommandBarIcon impl_IWebUICommandBarIconButton::Icon() const +{ + Windows::UI::WebUI::Core::IWebUICommandBarIcon value; + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->get_Icon(put_abi(value))); + return value; +} + +template void impl_IWebUICommandBarIconButton::Icon(const Windows::UI::WebUI::Core::IWebUICommandBarIcon & value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->put_Icon(get_abi(value))); +} + +template event_token impl_IWebUICommandBarIconButton::ItemInvoked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->add_ItemInvoked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUICommandBarIconButton::ItemInvoked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::Core::IWebUICommandBarIconButton::remove_ItemInvoked, ItemInvoked(handler)); +} + +template void impl_IWebUICommandBarIconButton::ItemInvoked(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarIconButton)->remove_ItemInvoked(token)); +} + +template hstring impl_IWebUICommandBarConfirmationButton::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebUICommandBarConfirmationButton)->get_Text(put_abi(value))); + return value; +} + +template void impl_IWebUICommandBarConfirmationButton::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarConfirmationButton)->put_Text(get_abi(value))); +} + +template event_token impl_IWebUICommandBarConfirmationButton::ItemInvoked(const Windows::Foundation::TypedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUICommandBarConfirmationButton)->add_ItemInvoked(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUICommandBarConfirmationButton::ItemInvoked(auto_revoke_t, const Windows::Foundation::TypedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::Core::IWebUICommandBarConfirmationButton::remove_ItemInvoked, ItemInvoked(handler)); +} + +template void impl_IWebUICommandBarConfirmationButton::ItemInvoked(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarConfirmationButton)->remove_ItemInvoked(token)); +} + +template Windows::Foundation::Uri impl_IWebUICommandBarBitmapIcon::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebUICommandBarBitmapIcon)->get_Uri(put_abi(value))); + return value; +} + +template void impl_IWebUICommandBarBitmapIcon::Uri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarBitmapIcon)->put_Uri(get_abi(value))); +} + +template Windows::UI::WebUI::Core::WebUICommandBarBitmapIcon impl_IWebUICommandBarBitmapIconFactory::Create(const Windows::Foundation::Uri & uri) const +{ + Windows::UI::WebUI::Core::WebUICommandBarBitmapIcon instance { nullptr }; + check_hresult(WINRT_SHIM(IWebUICommandBarBitmapIconFactory)->abi_Create(get_abi(uri), put_abi(instance))); + return instance; +} + +template hstring impl_IWebUICommandBarSymbolIcon::Symbol() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebUICommandBarSymbolIcon)->get_Symbol(put_abi(value))); + return value; +} + +template void impl_IWebUICommandBarSymbolIcon::Symbol(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBarSymbolIcon)->put_Symbol(get_abi(value))); +} + +template Windows::UI::WebUI::Core::WebUICommandBarSymbolIcon impl_IWebUICommandBarSymbolIconFactory::Create(hstring_view symbol) const +{ + Windows::UI::WebUI::Core::WebUICommandBarSymbolIcon instance { nullptr }; + check_hresult(WINRT_SHIM(IWebUICommandBarSymbolIconFactory)->abi_Create(get_abi(symbol), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Size impl_IWebUICommandBarSizeChangedEventArgs::Size() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IWebUICommandBarSizeChangedEventArgs)->get_Size(put_abi(value))); + return value; +} + +template bool impl_IWebUICommandBar::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_Visible(&value)); + return value; +} + +template void impl_IWebUICommandBar::Visible(bool value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->put_Visible(value)); +} + +template double impl_IWebUICommandBar::Opacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_Opacity(&value)); + return value; +} + +template void impl_IWebUICommandBar::Opacity(double value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->put_Opacity(value)); +} + +template Windows::UI::Color impl_IWebUICommandBar::ForegroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_ForegroundColor(put_abi(value))); + return value; +} + +template void impl_IWebUICommandBar::ForegroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->put_ForegroundColor(get_abi(value))); +} + +template Windows::UI::Color impl_IWebUICommandBar::BackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_BackgroundColor(put_abi(value))); + return value; +} + +template void impl_IWebUICommandBar::BackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->put_BackgroundColor(get_abi(value))); +} + +template Windows::UI::WebUI::Core::WebUICommandBarClosedDisplayMode impl_IWebUICommandBar::ClosedDisplayMode() const +{ + Windows::UI::WebUI::Core::WebUICommandBarClosedDisplayMode value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_ClosedDisplayMode(&value)); + return value; +} + +template void impl_IWebUICommandBar::ClosedDisplayMode(Windows::UI::WebUI::Core::WebUICommandBarClosedDisplayMode value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->put_ClosedDisplayMode(value)); +} + +template bool impl_IWebUICommandBar::IsOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_IsOpen(&value)); + return value; +} + +template void impl_IWebUICommandBar::IsOpen(bool value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->put_IsOpen(value)); +} + +template Windows::Foundation::Size impl_IWebUICommandBar::Size() const +{ + Windows::Foundation::Size value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_Size(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IObservableVector impl_IWebUICommandBar::PrimaryCommands() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_PrimaryCommands(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IObservableVector impl_IWebUICommandBar::SecondaryCommands() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IWebUICommandBar)->get_SecondaryCommands(put_abi(value))); + return value; +} + +template event_token impl_IWebUICommandBar::MenuOpened(const Windows::UI::WebUI::Core::MenuOpenedEventHandler & handler) const +{ + event_token value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->add_MenuOpened(get_abi(handler), &value)); + return value; +} + +template event_revoker impl_IWebUICommandBar::MenuOpened(auto_revoke_t, const Windows::UI::WebUI::Core::MenuOpenedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::Core::IWebUICommandBar::remove_MenuOpened, MenuOpened(handler)); +} + +template void impl_IWebUICommandBar::MenuOpened(event_token value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->remove_MenuOpened(value)); +} + +template event_token impl_IWebUICommandBar::MenuClosed(const Windows::UI::WebUI::Core::MenuClosedEventHandler & handler) const +{ + event_token value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->add_MenuClosed(get_abi(handler), &value)); + return value; +} + +template event_revoker impl_IWebUICommandBar::MenuClosed(auto_revoke_t, const Windows::UI::WebUI::Core::MenuClosedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::Core::IWebUICommandBar::remove_MenuClosed, MenuClosed(handler)); +} + +template void impl_IWebUICommandBar::MenuClosed(event_token value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->remove_MenuClosed(value)); +} + +template event_token impl_IWebUICommandBar::SizeChanged(const Windows::UI::WebUI::Core::SizeChangedEventHandler & handler) const +{ + event_token value {}; + check_hresult(WINRT_SHIM(IWebUICommandBar)->add_SizeChanged(get_abi(handler), &value)); + return value; +} + +template event_revoker impl_IWebUICommandBar::SizeChanged(auto_revoke_t, const Windows::UI::WebUI::Core::SizeChangedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::Core::IWebUICommandBar::remove_SizeChanged, SizeChanged(handler)); +} + +template void impl_IWebUICommandBar::SizeChanged(event_token value) const +{ + check_hresult(WINRT_SHIM(IWebUICommandBar)->remove_SizeChanged(value)); +} + +template Windows::UI::WebUI::Core::WebUICommandBar impl_IWebUICommandBarStatics::GetForCurrentView() const +{ + Windows::UI::WebUI::Core::WebUICommandBar commandBar { nullptr }; + check_hresult(WINRT_SHIM(IWebUICommandBarStatics)->abi_GetForCurrentView(put_abi(commandBar))); + return commandBar; +} + +inline Windows::UI::WebUI::Core::WebUICommandBar WebUICommandBar::GetForCurrentView() +{ + return get_activation_factory().GetForCurrentView(); +} + +inline WebUICommandBarBitmapIcon::WebUICommandBarBitmapIcon() : + WebUICommandBarBitmapIcon(activate_instance()) +{} + +inline WebUICommandBarBitmapIcon::WebUICommandBarBitmapIcon(const Windows::Foundation::Uri & uri) : + WebUICommandBarBitmapIcon(get_activation_factory().Create(uri)) +{} + +inline WebUICommandBarConfirmationButton::WebUICommandBarConfirmationButton() : + WebUICommandBarConfirmationButton(activate_instance()) +{} + +inline WebUICommandBarIconButton::WebUICommandBarIconButton() : + WebUICommandBarIconButton(activate_instance()) +{} + +inline WebUICommandBarSymbolIcon::WebUICommandBarSymbolIcon() : + WebUICommandBarSymbolIcon(activate_instance()) +{} + +inline WebUICommandBarSymbolIcon::WebUICommandBarSymbolIcon(hstring_view symbol) : + WebUICommandBarSymbolIcon(get_activation_factory().Create(symbol)) +{} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarBitmapIcon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarBitmapIconFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarConfirmationButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarIcon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarIconButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarItemInvokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarSizeChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarSymbolIcon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::IWebUICommandBarSymbolIconFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::WebUICommandBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::WebUICommandBarBitmapIcon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::WebUICommandBarConfirmationButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::WebUICommandBarIconButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::WebUICommandBarItemInvokedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::WebUICommandBarSizeChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::Core::WebUICommandBarSymbolIcon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.WebUI.h b/10.0.15042.0/winrt/Windows.UI.WebUI.h new file mode 100644 index 000000000..90090b064 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.WebUI.h @@ -0,0 +1,1704 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.ApplicationModel.Activation.3.h" +#include "internal/Windows.ApplicationModel.3.h" +#include "internal/Windows.UI.WebUI.3.h" +#include "Windows.UI.h" +#include "Windows.ApplicationModel.h" +#include "Windows.ApplicationModel.Activation.h" +#include "Windows.ApplicationModel.Background.h" +#include "Windows.Foundation.h" +#include "Windows.Graphics.Printing.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::UI::WebUI { + +template ActivatedEventHandler::ActivatedEventHandler(L lambda) : + ActivatedEventHandler(impl::make_delegate, ActivatedEventHandler>(std::forward(lambda))) +{} + +template ActivatedEventHandler::ActivatedEventHandler(F * function) : + ActivatedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ActivatedEventHandler::ActivatedEventHandler(O * object, M method) : + ActivatedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ActivatedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::ApplicationModel::Activation::IActivatedEventArgs & eventArgs) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(eventArgs))); +} + +template EnteredBackgroundEventHandler::EnteredBackgroundEventHandler(L lambda) : + EnteredBackgroundEventHandler(impl::make_delegate, EnteredBackgroundEventHandler>(std::forward(lambda))) +{} + +template EnteredBackgroundEventHandler::EnteredBackgroundEventHandler(F * function) : + EnteredBackgroundEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template EnteredBackgroundEventHandler::EnteredBackgroundEventHandler(O * object, M method) : + EnteredBackgroundEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void EnteredBackgroundEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::ApplicationModel::IEnteredBackgroundEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template LeavingBackgroundEventHandler::LeavingBackgroundEventHandler(L lambda) : + LeavingBackgroundEventHandler(impl::make_delegate, LeavingBackgroundEventHandler>(std::forward(lambda))) +{} + +template LeavingBackgroundEventHandler::LeavingBackgroundEventHandler(F * function) : + LeavingBackgroundEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template LeavingBackgroundEventHandler::LeavingBackgroundEventHandler(O * object, M method) : + LeavingBackgroundEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void LeavingBackgroundEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::ApplicationModel::ILeavingBackgroundEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template NavigatedEventHandler::NavigatedEventHandler(L lambda) : + NavigatedEventHandler(impl::make_delegate, NavigatedEventHandler>(std::forward(lambda))) +{} + +template NavigatedEventHandler::NavigatedEventHandler(F * function) : + NavigatedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template NavigatedEventHandler::NavigatedEventHandler(O * object, M method) : + NavigatedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void NavigatedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::WebUI::IWebUINavigatedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template ResumingEventHandler::ResumingEventHandler(L lambda) : + ResumingEventHandler(impl::make_delegate, ResumingEventHandler>(std::forward(lambda))) +{} + +template ResumingEventHandler::ResumingEventHandler(F * function) : + ResumingEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ResumingEventHandler::ResumingEventHandler(O * object, M method) : + ResumingEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ResumingEventHandler::operator()(const Windows::Foundation::IInspectable & sender) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender))); +} + +template SuspendingEventHandler::SuspendingEventHandler(L lambda) : + SuspendingEventHandler(impl::make_delegate, SuspendingEventHandler>(std::forward(lambda))) +{} + +template SuspendingEventHandler::SuspendingEventHandler(F * function) : + SuspendingEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template SuspendingEventHandler::SuspendingEventHandler(O * object, M method) : + SuspendingEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SuspendingEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::ApplicationModel::ISuspendingEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ActivatedOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActivatedOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(Windows::UI::WebUI::PrintContent * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(Windows::UI::WebUI::PrintContent value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftMargin(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LeftMargin(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeftMargin(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopMargin(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TopMargin(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TopMargin(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightMargin(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightMargin(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightMargin(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BottomMargin(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BottomMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BottomMargin(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BottomMargin(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EnableHeaderFooter(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnableHeaderFooter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EnableHeaderFooter(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnableHeaderFooter(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShrinkToFit(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShrinkToFit()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShrinkToFit(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShrinkToFit(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PercentScale(float * pScalePercent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pScalePercent = detach_abi(this->shim().PercentScale()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PercentScale(float scalePercent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PercentScale(scalePercent); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PageRange(impl::abi_arg_out pstrPageRange) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pstrPageRange = detach_abi(this->shim().PageRange()); + return S_OK; + } + catch (...) + { + *pstrPageRange = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetPageRange(impl::abi_arg_in strPageRange, bool * pfSuccess) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *pfSuccess = detach_abi(this->shim().TrySetPageRange(*reinterpret_cast(&strPageRange))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_Activated(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Activated(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Activated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Activated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Suspending(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Suspending(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Suspending(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Suspending(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Resuming(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Resuming(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Resuming(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resuming(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Navigated(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Navigated(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Navigated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Navigated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_LeavingBackground(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LeavingBackground(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LeavingBackground(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeavingBackground(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EnteredBackground(impl::abi_arg_in handler, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EnteredBackground(*reinterpret_cast(&handler))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EnteredBackground(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnteredBackground(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_EnablePrelaunch(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EnablePrelaunch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Succeeded(bool * succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *succeeded = detach_abi(this->shim().Succeeded()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Succeeded(bool succeeded) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Succeeded(succeeded); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Current(impl::abi_arg_out backgroundTaskInstance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *backgroundTaskInstance = detach_abi(this->shim().Current()); + return S_OK; + } + catch (...) + { + *backgroundTaskInstance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NavigatedOperation(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NavigatedOperation()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out deferral) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *deferral = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *deferral = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::WebUI { + +template void impl_IActivatedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IActivatedDeferral)->abi_Complete()); +} + +template Windows::UI::WebUI::ActivatedDeferral impl_IActivatedOperation::GetDeferral() const +{ + Windows::UI::WebUI::ActivatedDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IActivatedOperation)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template Windows::UI::WebUI::ActivatedOperation impl_IActivatedEventArgsDeferral::ActivatedOperation() const +{ + Windows::UI::WebUI::ActivatedOperation value { nullptr }; + check_hresult(WINRT_SHIM(IActivatedEventArgsDeferral)->get_ActivatedOperation(put_abi(value))); + return value; +} + +template Windows::UI::WebUI::WebUINavigatedOperation impl_IWebUINavigatedEventArgs::NavigatedOperation() const +{ + Windows::UI::WebUI::WebUINavigatedOperation value { nullptr }; + check_hresult(WINRT_SHIM(IWebUINavigatedEventArgs)->get_NavigatedOperation(put_abi(value))); + return value; +} + +template bool impl_IWebUIBackgroundTaskInstance::Succeeded() const +{ + bool succeeded {}; + check_hresult(WINRT_SHIM(IWebUIBackgroundTaskInstance)->get_Succeeded(&succeeded)); + return succeeded; +} + +template void impl_IWebUIBackgroundTaskInstance::Succeeded(bool succeeded) const +{ + check_hresult(WINRT_SHIM(IWebUIBackgroundTaskInstance)->put_Succeeded(succeeded)); +} + +template Windows::UI::WebUI::IWebUIBackgroundTaskInstance impl_IWebUIBackgroundTaskInstanceStatics::Current() const +{ + Windows::UI::WebUI::IWebUIBackgroundTaskInstance backgroundTaskInstance; + check_hresult(WINRT_SHIM(IWebUIBackgroundTaskInstanceStatics)->get_Current(put_abi(backgroundTaskInstance))); + return backgroundTaskInstance; +} + +template void impl_IWebUINavigatedDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IWebUINavigatedDeferral)->abi_Complete()); +} + +template Windows::UI::WebUI::WebUINavigatedDeferral impl_IWebUINavigatedOperation::GetDeferral() const +{ + Windows::UI::WebUI::WebUINavigatedDeferral deferral { nullptr }; + check_hresult(WINRT_SHIM(IWebUINavigatedOperation)->abi_GetDeferral(put_abi(deferral))); + return deferral; +} + +template event_token impl_IWebUIActivationStatics::Activated(const Windows::UI::WebUI::ActivatedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->add_Activated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUIActivationStatics::Activated(auto_revoke_t, const Windows::UI::WebUI::ActivatedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Activated, Activated(handler)); +} + +template void impl_IWebUIActivationStatics::Activated(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->remove_Activated(token)); +} + +template event_token impl_IWebUIActivationStatics::Suspending(const Windows::UI::WebUI::SuspendingEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->add_Suspending(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUIActivationStatics::Suspending(auto_revoke_t, const Windows::UI::WebUI::SuspendingEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Suspending, Suspending(handler)); +} + +template void impl_IWebUIActivationStatics::Suspending(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->remove_Suspending(token)); +} + +template event_token impl_IWebUIActivationStatics::Resuming(const Windows::UI::WebUI::ResumingEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->add_Resuming(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUIActivationStatics::Resuming(auto_revoke_t, const Windows::UI::WebUI::ResumingEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Resuming, Resuming(handler)); +} + +template void impl_IWebUIActivationStatics::Resuming(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->remove_Resuming(token)); +} + +template event_token impl_IWebUIActivationStatics::Navigated(const Windows::UI::WebUI::NavigatedEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->add_Navigated(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUIActivationStatics::Navigated(auto_revoke_t, const Windows::UI::WebUI::NavigatedEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Navigated, Navigated(handler)); +} + +template void impl_IWebUIActivationStatics::Navigated(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUIActivationStatics)->remove_Navigated(token)); +} + +template event_token impl_IWebUIActivationStatics2::LeavingBackground(const Windows::UI::WebUI::LeavingBackgroundEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUIActivationStatics2)->add_LeavingBackground(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUIActivationStatics2::LeavingBackground(auto_revoke_t, const Windows::UI::WebUI::LeavingBackgroundEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::IWebUIActivationStatics2::remove_LeavingBackground, LeavingBackground(handler)); +} + +template void impl_IWebUIActivationStatics2::LeavingBackground(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUIActivationStatics2)->remove_LeavingBackground(token)); +} + +template event_token impl_IWebUIActivationStatics2::EnteredBackground(const Windows::UI::WebUI::EnteredBackgroundEventHandler & handler) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebUIActivationStatics2)->add_EnteredBackground(get_abi(handler), &token)); + return token; +} + +template event_revoker impl_IWebUIActivationStatics2::EnteredBackground(auto_revoke_t, const Windows::UI::WebUI::EnteredBackgroundEventHandler & handler) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::WebUI::IWebUIActivationStatics2::remove_EnteredBackground, EnteredBackground(handler)); +} + +template void impl_IWebUIActivationStatics2::EnteredBackground(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebUIActivationStatics2)->remove_EnteredBackground(token)); +} + +template void impl_IWebUIActivationStatics2::EnablePrelaunch(bool value) const +{ + check_hresult(WINRT_SHIM(IWebUIActivationStatics2)->abi_EnablePrelaunch(value)); +} + +template Windows::UI::WebUI::PrintContent impl_IHtmlPrintDocumentSource::Content() const +{ + Windows::UI::WebUI::PrintContent value {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_Content(&value)); + return value; +} + +template void impl_IHtmlPrintDocumentSource::Content(Windows::UI::WebUI::PrintContent value) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_Content(value)); +} + +template float impl_IHtmlPrintDocumentSource::LeftMargin() const +{ + float value {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_LeftMargin(&value)); + return value; +} + +template void impl_IHtmlPrintDocumentSource::LeftMargin(float value) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_LeftMargin(value)); +} + +template float impl_IHtmlPrintDocumentSource::TopMargin() const +{ + float value {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_TopMargin(&value)); + return value; +} + +template void impl_IHtmlPrintDocumentSource::TopMargin(float value) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_TopMargin(value)); +} + +template float impl_IHtmlPrintDocumentSource::RightMargin() const +{ + float value {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_RightMargin(&value)); + return value; +} + +template void impl_IHtmlPrintDocumentSource::RightMargin(float value) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_RightMargin(value)); +} + +template float impl_IHtmlPrintDocumentSource::BottomMargin() const +{ + float value {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_BottomMargin(&value)); + return value; +} + +template void impl_IHtmlPrintDocumentSource::BottomMargin(float value) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_BottomMargin(value)); +} + +template bool impl_IHtmlPrintDocumentSource::EnableHeaderFooter() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_EnableHeaderFooter(&value)); + return value; +} + +template void impl_IHtmlPrintDocumentSource::EnableHeaderFooter(bool value) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_EnableHeaderFooter(value)); +} + +template bool impl_IHtmlPrintDocumentSource::ShrinkToFit() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_ShrinkToFit(&value)); + return value; +} + +template void impl_IHtmlPrintDocumentSource::ShrinkToFit(bool value) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_ShrinkToFit(value)); +} + +template float impl_IHtmlPrintDocumentSource::PercentScale() const +{ + float pScalePercent {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_PercentScale(&pScalePercent)); + return pScalePercent; +} + +template void impl_IHtmlPrintDocumentSource::PercentScale(float scalePercent) const +{ + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->put_PercentScale(scalePercent)); +} + +template hstring impl_IHtmlPrintDocumentSource::PageRange() const +{ + hstring pstrPageRange; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->get_PageRange(put_abi(pstrPageRange))); + return pstrPageRange; +} + +template bool impl_IHtmlPrintDocumentSource::TrySetPageRange(hstring_view strPageRange) const +{ + bool pfSuccess {}; + check_hresult(WINRT_SHIM(IHtmlPrintDocumentSource)->abi_TrySetPageRange(get_abi(strPageRange), &pfSuccess)); + return pfSuccess; +} + +inline event_token WebUIApplication::Activated(const Windows::UI::WebUI::ActivatedEventHandler & handler) +{ + return get_activation_factory().Activated(handler); +} + +inline factory_event_revoker WebUIApplication::Activated(auto_revoke_t, const Windows::UI::WebUI::ActivatedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Activated, factory.Activated(handler) }; +} + +inline void WebUIApplication::Activated(event_token token) +{ + get_activation_factory().Activated(token); +} + +inline event_token WebUIApplication::Suspending(const Windows::UI::WebUI::SuspendingEventHandler & handler) +{ + return get_activation_factory().Suspending(handler); +} + +inline factory_event_revoker WebUIApplication::Suspending(auto_revoke_t, const Windows::UI::WebUI::SuspendingEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Suspending, factory.Suspending(handler) }; +} + +inline void WebUIApplication::Suspending(event_token token) +{ + get_activation_factory().Suspending(token); +} + +inline event_token WebUIApplication::Resuming(const Windows::UI::WebUI::ResumingEventHandler & handler) +{ + return get_activation_factory().Resuming(handler); +} + +inline factory_event_revoker WebUIApplication::Resuming(auto_revoke_t, const Windows::UI::WebUI::ResumingEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Resuming, factory.Resuming(handler) }; +} + +inline void WebUIApplication::Resuming(event_token token) +{ + get_activation_factory().Resuming(token); +} + +inline event_token WebUIApplication::Navigated(const Windows::UI::WebUI::NavigatedEventHandler & handler) +{ + return get_activation_factory().Navigated(handler); +} + +inline factory_event_revoker WebUIApplication::Navigated(auto_revoke_t, const Windows::UI::WebUI::NavigatedEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::UI::WebUI::IWebUIActivationStatics::remove_Navigated, factory.Navigated(handler) }; +} + +inline void WebUIApplication::Navigated(event_token token) +{ + get_activation_factory().Navigated(token); +} + +inline event_token WebUIApplication::LeavingBackground(const Windows::UI::WebUI::LeavingBackgroundEventHandler & handler) +{ + return get_activation_factory().LeavingBackground(handler); +} + +inline factory_event_revoker WebUIApplication::LeavingBackground(auto_revoke_t, const Windows::UI::WebUI::LeavingBackgroundEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::UI::WebUI::IWebUIActivationStatics2::remove_LeavingBackground, factory.LeavingBackground(handler) }; +} + +inline void WebUIApplication::LeavingBackground(event_token token) +{ + get_activation_factory().LeavingBackground(token); +} + +inline event_token WebUIApplication::EnteredBackground(const Windows::UI::WebUI::EnteredBackgroundEventHandler & handler) +{ + return get_activation_factory().EnteredBackground(handler); +} + +inline factory_event_revoker WebUIApplication::EnteredBackground(auto_revoke_t, const Windows::UI::WebUI::EnteredBackgroundEventHandler & handler) +{ + auto factory = get_activation_factory(); + return { factory, &ABI::Windows::UI::WebUI::IWebUIActivationStatics2::remove_EnteredBackground, factory.EnteredBackground(handler) }; +} + +inline void WebUIApplication::EnteredBackground(event_token token) +{ + get_activation_factory().EnteredBackground(token); +} + +inline void WebUIApplication::EnablePrelaunch(bool value) +{ + get_activation_factory().EnablePrelaunch(value); +} + +inline Windows::UI::WebUI::IWebUIBackgroundTaskInstance WebUIBackgroundTaskInstance::Current() +{ + return get_activation_factory().Current(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IActivatedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IActivatedEventArgsDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IActivatedOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IHtmlPrintDocumentSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IWebUIActivationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IWebUIActivationStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IWebUIBackgroundTaskInstance & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IWebUIBackgroundTaskInstanceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IWebUINavigatedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IWebUINavigatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::IWebUINavigatedOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::ActivatedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::ActivatedOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::EnteredBackgroundEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::HtmlPrintDocumentSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::LeavingBackgroundEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::SuspendingDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::SuspendingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::SuspendingOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIAppointmentsProviderAddAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIAppointmentsProviderRemoveAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIAppointmentsProviderReplaceAppointmentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIAppointmentsProviderShowAppointmentDetailsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIAppointmentsProviderShowTimeFrameActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIBackgroundTaskInstanceRuntimeClass & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUICachedFileUpdaterActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUICameraSettingsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIContactCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIContactMapActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIContactMessageActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIContactPanelActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIContactPickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIContactPostActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIContactVideoCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIDeviceActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIDevicePairingActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIDialReceiverActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIFileActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIFileOpenPickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIFileOpenPickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIFileSavePickerActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIFileSavePickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIFolderPickerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUILaunchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUILockScreenActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUILockScreenCallActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUILockScreenComponentActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUINavigatedDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUINavigatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUINavigatedOperation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIPrint3DWorkflowActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIPrintTaskSettingsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIPrintWorkflowForegroundTaskActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIProtocolActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIProtocolForResultsActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIRestrictedLaunchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUISearchActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIShareTargetActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIToastNotificationActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIUserDataAccountProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIVoiceCommandActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIWalletActionActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIWebAccountProviderActivatedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::WebUI::WebUIWebAuthenticationBrokerContinuationEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Peers.h b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Peers.h new file mode 100644 index 000000000..72124f4c5 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Peers.h @@ -0,0 +1,7441 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Xaml.Controls.Primitives.3.h" +#include "internal/Windows.UI.Xaml.Controls.3.h" +#include "internal/Windows.UI.Xaml.Automation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Xaml.Automation.Provider.3.h" +#include "internal/Windows.UI.Xaml.3.h" +#include "internal/Windows.UI.Xaml.Automation.Peers.3.h" +#include "Windows.UI.Xaml.Automation.h" +#include "Windows.UI.Xaml.Automation.Provider.h" +#include "internal/Windows.UI.Xaml.Automation.Peers.4.h" +#include "internal/Windows.UI.Xaml.Automation.Peers.5.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EventsSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EventsSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_EventsSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EventsSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPattern(Windows::UI::Xaml::Automation::Peers::PatternInterface patternInterface, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPattern(patternInterface)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RaiseAutomationEvent(Windows::UI::Xaml::Automation::Peers::AutomationEvents eventId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RaiseAutomationEvent(eventId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RaisePropertyChangedEvent(impl::abi_arg_in automationProperty, impl::abi_arg_in oldValue, impl::abi_arg_in newValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RaisePropertyChangedEvent(*reinterpret_cast(&automationProperty), *reinterpret_cast(&oldValue), *reinterpret_cast(&newValue)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAcceleratorKey(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAcceleratorKey()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessKey(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAccessKey()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAutomationControlType(Windows::UI::Xaml::Automation::Peers::AutomationControlType * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAutomationControlType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAutomationId(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAutomationId()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBoundingRectangle(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetBoundingRectangle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChildren(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetChildren()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClassName(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetClassName()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClickablePoint(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetClickablePoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHelpText(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetHelpText()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemStatus(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItemStatus()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemType(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItemType()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLabeledBy(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLabeledBy()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalizedControlType(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLocalizedControlType()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetName(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetName()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOrientation(Windows::UI::Xaml::Automation::Peers::AutomationOrientation * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetOrientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HasKeyboardFocus(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().HasKeyboardFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsContentElement(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsContentElement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsControlElement(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsControlElement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEnabled(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsKeyboardFocusable(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsKeyboardFocusable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsOffscreen(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsOffscreen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsPassword(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsPassword()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsRequiredForForm(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsRequiredForForm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFocus() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFocus(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetParent(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetParent()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InvalidatePeer() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InvalidatePeer(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPeerFromPoint(impl::abi_arg_in point, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPeerFromPoint(*reinterpret_cast(&point))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLiveSetting(Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLiveSetting()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Navigate(Windows::UI::Xaml::Automation::Peers::AutomationNavigationDirection direction, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Navigate(direction)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetElementFromPoint(impl::abi_arg_in pointInWindowCoordinates, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetElementFromPoint(*reinterpret_cast(&pointInWindowCoordinates))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFocusedElement(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetFocusedElement()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowContextMenu() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowContextMenu(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetControlledPeers(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetControlledPeers()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnnotations(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAnnotations()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetParent(impl::abi_arg_in peer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetParent(*reinterpret_cast(&peer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RaiseTextEditTextChangedEvent(Windows::UI::Xaml::Automation::AutomationTextEditChangeType automationTextEditChangeType, impl::abi_arg_in> changedData) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RaiseTextEditTextChangedEvent(automationTextEditChangeType, *reinterpret_cast *>(&changedData)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPositionInSet(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPositionInSet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSizeOfSet(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetSizeOfSet()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLevel(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RaiseStructureChangedEvent(Windows::UI::Xaml::Automation::Peers::AutomationStructureChangeType structureChangeType, impl::abi_arg_in child) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RaiseStructureChangedEvent(structureChangeType, *reinterpret_cast(&child)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetLandmarkType(Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLandmarkType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalizedLandmarkType(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLocalizedLandmarkType()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsPeripheral(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsPeripheral()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsDataValidForForm(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsDataValidForForm()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFullDescription(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetFullDescription()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCulture(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetCulture()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::UI::Xaml::Automation::AnnotationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(Windows::UI::Xaml::Automation::AnnotationType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Peer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Peer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Peer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Peer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(Windows::UI::Xaml::Automation::AnnotationType type, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(type)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithPeerParameter(Windows::UI::Xaml::Automation::AnnotationType type, impl::abi_arg_in peer, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWithPeerParameter(type, *reinterpret_cast(&peer))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PeerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PeerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetPatternCore(Windows::UI::Xaml::Automation::Peers::PatternInterface patternInterface, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPatternCore(patternInterface)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAcceleratorKeyCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAcceleratorKeyCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessKeyCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAccessKeyCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAutomationControlTypeCore(Windows::UI::Xaml::Automation::Peers::AutomationControlType * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAutomationControlTypeCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAutomationIdCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAutomationIdCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBoundingRectangleCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetBoundingRectangleCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChildrenCore(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetChildrenCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClassNameCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetClassNameCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetClickablePointCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetClickablePointCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHelpTextCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetHelpTextCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemStatusCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItemStatusCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemTypeCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItemTypeCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLabeledByCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLabeledByCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalizedControlTypeCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLocalizedControlTypeCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNameCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNameCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOrientationCore(Windows::UI::Xaml::Automation::Peers::AutomationOrientation * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetOrientationCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_HasKeyboardFocusCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().HasKeyboardFocusCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsContentElementCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsContentElementCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsControlElementCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsControlElementCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsEnabledCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsEnabledCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsKeyboardFocusableCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsKeyboardFocusableCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsOffscreenCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsOffscreenCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsPasswordCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsPasswordCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsRequiredForFormCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsRequiredForFormCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFocusCore() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFocusCore(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPeerFromPointCore(impl::abi_arg_in point, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPeerFromPointCore(*reinterpret_cast(&point))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLiveSettingCore(Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLiveSettingCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowContextMenuCore() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowContextMenuCore(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetControlledPeersCore(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetControlledPeersCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_NavigateCore(Windows::UI::Xaml::Automation::Peers::AutomationNavigationDirection direction, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().NavigateCore(direction)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetElementFromPointCore(impl::abi_arg_in pointInWindowCoordinates, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetElementFromPointCore(*reinterpret_cast(&pointInWindowCoordinates))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFocusedElementCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetFocusedElementCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnnotationsCore(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAnnotationsCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPositionInSetCore(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPositionInSetCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSizeOfSetCore(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetSizeOfSetCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLevelCore(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLevelCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetLandmarkTypeCore(Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLandmarkTypeCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalizedLandmarkTypeCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLocalizedLandmarkTypeCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsPeripheralCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsPeripheralCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsDataValidForFormCore(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsDataValidForFormCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFullDescriptionCore(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetFullDescriptionCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDescribedByCore(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetDescribedByCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFlowsToCore(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetFlowsToCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFlowsFromCore(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetFlowsFromCore()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetCultureCore(int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetCultureCore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_PeerFromProvider(impl::abi_arg_in provider, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().PeerFromProvider(*reinterpret_cast(&provider))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ProviderFromPeer(impl::abi_arg_in peer, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ProviderFromPeer(*reinterpret_cast(&peer))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ListenerExists(Windows::UI::Xaml::Automation::Peers::AutomationEvents eventId, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ListenerExists(eventId)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GenerateRawElementProviderRuntimeId(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GenerateRawElementProviderRuntimeId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Owner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Owner()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromElement(impl::abi_arg_in element, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FromElement(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreatePeerForElement(impl::abi_arg_in element, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreatePeerForElement(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemsControlAutomationPeer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsControlAutomationPeer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateItemAutomationPeer(impl::abi_arg_in item, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateItemAutomationPeer(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnCreateItemAutomationPeer(impl::abi_arg_in item, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().OnCreateItemAutomationPeer(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithParentAndItem(impl::abi_arg_in item, impl::abi_arg_in parent, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithParentAndItem(*reinterpret_cast(&item), *reinterpret_cast(&parent), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithOwner(impl::abi_arg_in owner, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithOwner(*reinterpret_cast(&owner), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Xaml::Automation::Peers { + +template Windows::Foundation::IInspectable impl_IItemAutomationPeer::Item() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IItemAutomationPeer)->get_Item(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Peers::ItemsControlAutomationPeer impl_IItemAutomationPeer::ItemsControlAutomationPeer() const +{ + Windows::UI::Xaml::Automation::Peers::ItemsControlAutomationPeer value { nullptr }; + check_hresult(WINRT_SHIM(IItemAutomationPeer)->get_ItemsControlAutomationPeer(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Peers::ItemAutomationPeer impl_IItemAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ItemsControlAutomationPeer & parent, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IItemAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ButtonBaseAutomationPeer impl_IButtonBaseAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Primitives::ButtonBase & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ButtonBaseAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IButtonBaseAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::CaptureElementAutomationPeer impl_ICaptureElementAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::CaptureElement & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::CaptureElementAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ICaptureElementAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ComboBoxItemAutomationPeer impl_IComboBoxItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ComboBoxItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ComboBoxItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::FlipViewItemAutomationPeer impl_IFlipViewItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::FlipViewItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::FlipViewItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IFlipViewItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::GroupItemAutomationPeer impl_IGroupItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::GroupItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::GroupItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IGroupItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ImageAutomationPeer impl_IImageAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Image & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ImageAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IImageAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ItemsControlAutomationPeer impl_IItemsControlAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ItemsControl & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ItemsControlAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ItemAutomationPeer impl_IItemsControlAutomationPeer2::CreateItemAutomationPeer(const Windows::Foundation::IInspectable & item) const +{ + Windows::UI::Xaml::Automation::Peers::ItemAutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlAutomationPeer2)->abi_CreateItemAutomationPeer(get_abi(item), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::ItemAutomationPeer impl_IItemsControlAutomationPeerOverrides2::OnCreateItemAutomationPeer(const Windows::Foundation::IInspectable & item) const +{ + Windows::UI::Xaml::Automation::Peers::ItemAutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlAutomationPeerOverrides2)->abi_OnCreateItemAutomationPeer(get_abi(item), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::ListBoxItemAutomationPeer impl_IListBoxItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ListBoxItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListBoxItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListBoxItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::MediaTransportControlsAutomationPeer impl_IMediaTransportControlsAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::MediaTransportControls & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::MediaTransportControlsAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::PasswordBoxAutomationPeer impl_IPasswordBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::PasswordBox & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::PasswordBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ProgressRingAutomationPeer impl_IProgressRingAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ProgressRing & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ProgressRingAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IProgressRingAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::RangeBaseAutomationPeer impl_IRangeBaseAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Primitives::RangeBase & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::RangeBaseAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IRangeBaseAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::RichTextBlockAutomationPeer impl_IRichTextBlockAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::RichTextBlock & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::RichTextBlockAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::RichTextBlockOverflowAutomationPeer impl_IRichTextBlockOverflowAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::RichTextBlockOverflow & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::RichTextBlockOverflowAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflowAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::SelectorItemAutomationPeer impl_ISelectorItemAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::SelectorAutomationPeer & parent, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::SelectorItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ISelectorItemAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::SemanticZoomAutomationPeer impl_ISemanticZoomAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::SemanticZoom & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::SemanticZoomAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::SettingsFlyoutAutomationPeer impl_ISettingsFlyoutAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::SettingsFlyout & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::SettingsFlyoutAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::TextBlockAutomationPeer impl_ITextBlockAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::TextBlock & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::TextBlockAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::TextBoxAutomationPeer impl_ITextBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::TextBox & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::TextBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ThumbAutomationPeer impl_IThumbAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Primitives::Thumb & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ThumbAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IThumbAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ToggleSwitchAutomationPeer impl_IToggleSwitchAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ToggleSwitch & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ToggleSwitchAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ButtonAutomationPeer impl_IButtonAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Button & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ButtonAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IButtonAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ComboBoxItemDataAutomationPeer impl_IComboBoxItemDataAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ComboBoxAutomationPeer & parent, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ComboBoxItemDataAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxItemDataAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::FlipViewItemDataAutomationPeer impl_IFlipViewItemDataAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::FlipViewAutomationPeer & parent, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::FlipViewItemDataAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IFlipViewItemDataAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::HyperlinkButtonAutomationPeer impl_IHyperlinkButtonAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::HyperlinkButton & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::HyperlinkButtonAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IHyperlinkButtonAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListBoxItemDataAutomationPeer impl_IListBoxItemDataAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ListBoxAutomationPeer & parent, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListBoxItemDataAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListBoxItemDataAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ProgressBarAutomationPeer impl_IProgressBarAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ProgressBar & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ProgressBarAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IProgressBarAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::RepeatButtonAutomationPeer impl_IRepeatButtonAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Primitives::RepeatButton & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::RepeatButtonAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IRepeatButtonAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ScrollBarAutomationPeer impl_IScrollBarAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Primitives::ScrollBar & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ScrollBarAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IScrollBarAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::SelectorAutomationPeer impl_ISelectorAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Primitives::Selector & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::SelectorAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ISelectorAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::SliderAutomationPeer impl_ISliderAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Slider & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::SliderAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ISliderAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ToggleButtonAutomationPeer impl_IToggleButtonAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Primitives::ToggleButton & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ToggleButtonAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IToggleButtonAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::CheckBoxAutomationPeer impl_ICheckBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::CheckBox & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::CheckBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ICheckBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ComboBoxAutomationPeer impl_IComboBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ComboBox & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ComboBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::FlipViewAutomationPeer impl_IFlipViewAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::FlipView & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::FlipViewAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IFlipViewAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListBoxAutomationPeer impl_IListBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ListBox & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::RadioButtonAutomationPeer impl_IRadioButtonAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::RadioButton & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::RadioButtonAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IRadioButtonAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::AppBarAutomationPeer impl_IAppBarAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::AppBar & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::AppBarAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IAppBarAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::AutoSuggestBoxAutomationPeer impl_IAutoSuggestBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::AutoSuggestBox & owner) const +{ + Windows::UI::Xaml::Automation::Peers::AutoSuggestBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::DatePickerAutomationPeer impl_IDatePickerAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::DatePicker & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::DatePickerAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::FlyoutPresenterAutomationPeer impl_IFlyoutPresenterAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::FlyoutPresenter & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::FlyoutPresenterAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutPresenterAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::GridViewItemAutomationPeer impl_IGridViewItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::GridViewItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::GridViewItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::HubAutomationPeer impl_IHubAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Hub & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::HubAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IHubAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::HubSectionAutomationPeer impl_IHubSectionAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::HubSection & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::HubSectionAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IHubSectionAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListViewBaseHeaderItemAutomationPeer impl_IListViewBaseHeaderItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ListViewBaseHeaderItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListViewBaseHeaderItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseHeaderItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListViewItemAutomationPeer impl_IListViewItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ListViewItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListViewItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::MediaElementAutomationPeer impl_IMediaElementAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::MediaElement & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::MediaElementAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::MediaPlayerElementAutomationPeer impl_IMediaPlayerElementAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::MediaPlayerElement & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::MediaPlayerElementAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::MenuFlyoutItemAutomationPeer impl_IMenuFlyoutItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::MenuFlyoutItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::MenuFlyoutItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IMenuFlyoutItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::RichEditBoxAutomationPeer impl_IRichEditBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::RichEditBox & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::RichEditBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ScrollViewerAutomationPeer impl_IScrollViewerAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ScrollViewer & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ScrollViewerAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IScrollViewerAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::SearchBoxAutomationPeer impl_ISearchBoxAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::SearchBox & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::SearchBoxAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::TimePickerAutomationPeer impl_ITimePickerAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::TimePicker & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::TimePickerAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ToggleMenuFlyoutItemAutomationPeer impl_IToggleMenuFlyoutItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ToggleMenuFlyoutItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ToggleMenuFlyoutItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IToggleMenuFlyoutItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::GridViewHeaderItemAutomationPeer impl_IGridViewHeaderItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::GridViewHeaderItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::GridViewHeaderItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IGridViewHeaderItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::GridViewItemDataAutomationPeer impl_IGridViewItemDataAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::GridViewAutomationPeer & parent, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::GridViewItemDataAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemDataAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListViewHeaderItemAutomationPeer impl_IListViewHeaderItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ListViewHeaderItem & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListViewHeaderItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewHeaderItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListViewItemDataAutomationPeer impl_IListViewItemDataAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ListViewBaseAutomationPeer & parent, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListViewItemDataAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemDataAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::MenuFlyoutPresenterAutomationPeer impl_IMenuFlyoutPresenterAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::MenuFlyoutPresenter & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::MenuFlyoutPresenterAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IMenuFlyoutPresenterAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::AppBarButtonAutomationPeer impl_IAppBarButtonAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::AppBarButton & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::AppBarButtonAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IAppBarButtonAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::AppBarToggleButtonAutomationPeer impl_IAppBarToggleButtonAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::AppBarToggleButton & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::AppBarToggleButtonAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IAppBarToggleButtonAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListViewBaseAutomationPeer impl_IListViewBaseAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ListViewBase & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListViewBaseAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::GridViewAutomationPeer impl_IGridViewAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::GridView & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::GridViewAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IGridViewAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::ListViewAutomationPeer impl_IListViewAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::ListView & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::ListViewAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeer::EventsSource() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeer)->get_EventsSource(put_abi(value))); + return value; +} + +template void impl_IAutomationPeer::EventsSource(const Windows::UI::Xaml::Automation::Peers::AutomationPeer & value) const +{ + check_hresult(WINRT_SHIM(IAutomationPeer)->put_EventsSource(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IAutomationPeer::GetPattern(Windows::UI::Xaml::Automation::Peers::PatternInterface patternInterface) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetPattern(patternInterface, put_abi(returnValue))); + return returnValue; +} + +template void impl_IAutomationPeer::RaiseAutomationEvent(Windows::UI::Xaml::Automation::Peers::AutomationEvents eventId) const +{ + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_RaiseAutomationEvent(eventId)); +} + +template void impl_IAutomationPeer::RaisePropertyChangedEvent(const Windows::UI::Xaml::Automation::AutomationProperty & automationProperty, const Windows::Foundation::IInspectable & oldValue, const Windows::Foundation::IInspectable & newValue) const +{ + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_RaisePropertyChangedEvent(get_abi(automationProperty), get_abi(oldValue), get_abi(newValue))); +} + +template hstring impl_IAutomationPeer::GetAcceleratorKey() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetAcceleratorKey(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetAccessKey() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetAccessKey(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationControlType impl_IAutomationPeer::GetAutomationControlType() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationControlType returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetAutomationControlType(&returnValue)); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetAutomationId() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetAutomationId(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Rect impl_IAutomationPeer::GetBoundingRectangle() const +{ + Windows::Foundation::Rect returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetBoundingRectangle(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPeer::GetChildren() const +{ + Windows::Foundation::Collections::IVector returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetChildren(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetClassName() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetClassName(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Point impl_IAutomationPeer::GetClickablePoint() const +{ + Windows::Foundation::Point returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetClickablePoint(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetHelpText() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetHelpText(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetItemStatus() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetItemStatus(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetItemType() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetItemType(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeer::GetLabeledBy() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetLabeledBy(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetLocalizedControlType() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetLocalizedControlType(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeer::GetName() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetName(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationOrientation impl_IAutomationPeer::GetOrientation() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationOrientation returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetOrientation(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::HasKeyboardFocus() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_HasKeyboardFocus(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::IsContentElement() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_IsContentElement(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::IsControlElement() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_IsControlElement(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::IsEnabled() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_IsEnabled(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::IsKeyboardFocusable() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_IsKeyboardFocusable(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::IsOffscreen() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_IsOffscreen(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::IsPassword() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_IsPassword(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer::IsRequiredForForm() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_IsRequiredForForm(&returnValue)); + return returnValue; +} + +template void impl_IAutomationPeer::SetFocus() const +{ + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_SetFocus()); +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeer::GetParent() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetParent(put_abi(returnValue))); + return returnValue; +} + +template void impl_IAutomationPeer::InvalidatePeer() const +{ + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_InvalidatePeer()); +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeer::GetPeerFromPoint(const Windows::Foundation::Point & point) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetPeerFromPoint(get_abi(point), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting impl_IAutomationPeer::GetLiveSetting() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer)->abi_GetLiveSetting(&returnValue)); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_IAutomationPeerOverrides::GetPatternCore(Windows::UI::Xaml::Automation::Peers::PatternInterface patternInterface) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetPatternCore(patternInterface, put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetAcceleratorKeyCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetAcceleratorKeyCore(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetAccessKeyCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetAccessKeyCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationControlType impl_IAutomationPeerOverrides::GetAutomationControlTypeCore() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationControlType returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetAutomationControlTypeCore(&returnValue)); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetAutomationIdCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetAutomationIdCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Rect impl_IAutomationPeerOverrides::GetBoundingRectangleCore() const +{ + Windows::Foundation::Rect returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetBoundingRectangleCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPeerOverrides::GetChildrenCore() const +{ + Windows::Foundation::Collections::IVector returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetChildrenCore(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetClassNameCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetClassNameCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Point impl_IAutomationPeerOverrides::GetClickablePointCore() const +{ + Windows::Foundation::Point returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetClickablePointCore(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetHelpTextCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetHelpTextCore(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetItemStatusCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetItemStatusCore(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetItemTypeCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetItemTypeCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeerOverrides::GetLabeledByCore() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetLabeledByCore(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetLocalizedControlTypeCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetLocalizedControlTypeCore(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides::GetNameCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetNameCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationOrientation impl_IAutomationPeerOverrides::GetOrientationCore() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationOrientation returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetOrientationCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::HasKeyboardFocusCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_HasKeyboardFocusCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::IsContentElementCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_IsContentElementCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::IsControlElementCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_IsControlElementCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::IsEnabledCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_IsEnabledCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::IsKeyboardFocusableCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_IsKeyboardFocusableCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::IsOffscreenCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_IsOffscreenCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::IsPasswordCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_IsPasswordCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides::IsRequiredForFormCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_IsRequiredForFormCore(&returnValue)); + return returnValue; +} + +template void impl_IAutomationPeerOverrides::SetFocusCore() const +{ + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_SetFocusCore()); +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeerOverrides::GetPeerFromPointCore(const Windows::Foundation::Point & point) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetPeerFromPointCore(get_abi(point), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting impl_IAutomationPeerOverrides::GetLiveSettingCore() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides)->abi_GetLiveSettingCore(&returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeerProtected::PeerFromProvider(const Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple & provider) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerProtected)->abi_PeerFromProvider(get_abi(provider), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_IAutomationPeerProtected::ProviderFromPeer(const Windows::UI::Xaml::Automation::Peers::AutomationPeer & peer) const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple returnValue { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerProtected)->abi_ProviderFromPeer(get_abi(peer), put_abi(returnValue))); + return returnValue; +} + +template bool impl_IAutomationPeerStatics::ListenerExists(Windows::UI::Xaml::Automation::Peers::AutomationEvents eventId) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerStatics)->abi_ListenerExists(eventId, &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeerFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template void impl_IAutomationPeerOverrides2::ShowContextMenuCore() const +{ + check_hresult(WINRT_SHIM(IAutomationPeerOverrides2)->abi_ShowContextMenuCore()); +} + +template Windows::Foundation::Collections::IVectorView impl_IAutomationPeerOverrides2::GetControlledPeersCore() const +{ + Windows::Foundation::Collections::IVectorView returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides2)->abi_GetControlledPeersCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_IAutomationPeer3::Navigate(Windows::UI::Xaml::Automation::Peers::AutomationNavigationDirection direction) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_Navigate(direction, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_IAutomationPeer3::GetElementFromPoint(const Windows::Foundation::Point & pointInWindowCoordinates) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_GetElementFromPoint(get_abi(pointInWindowCoordinates), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_IAutomationPeer3::GetFocusedElement() const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_GetFocusedElement(put_abi(returnValue))); + return returnValue; +} + +template void impl_IAutomationPeer3::ShowContextMenu() const +{ + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_ShowContextMenu()); +} + +template Windows::Foundation::Collections::IVectorView impl_IAutomationPeer3::GetControlledPeers() const +{ + Windows::Foundation::Collections::IVectorView returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_GetControlledPeers(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPeer3::GetAnnotations() const +{ + Windows::Foundation::Collections::IVector returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_GetAnnotations(put_abi(returnValue))); + return returnValue; +} + +template void impl_IAutomationPeer3::SetParent(const Windows::UI::Xaml::Automation::Peers::AutomationPeer & peer) const +{ + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_SetParent(get_abi(peer))); +} + +template void impl_IAutomationPeer3::RaiseTextEditTextChangedEvent(Windows::UI::Xaml::Automation::AutomationTextEditChangeType automationTextEditChangeType, vector_view changedData) const +{ + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_RaiseTextEditTextChangedEvent(automationTextEditChangeType, get_abi(changedData))); +} + +template int32_t impl_IAutomationPeer3::GetPositionInSet() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_GetPositionInSet(&returnValue)); + return returnValue; +} + +template int32_t impl_IAutomationPeer3::GetSizeOfSet() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_GetSizeOfSet(&returnValue)); + return returnValue; +} + +template int32_t impl_IAutomationPeer3::GetLevel() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_GetLevel(&returnValue)); + return returnValue; +} + +template void impl_IAutomationPeer3::RaiseStructureChangedEvent(Windows::UI::Xaml::Automation::Peers::AutomationStructureChangeType structureChangeType, const Windows::UI::Xaml::Automation::Peers::AutomationPeer & child) const +{ + check_hresult(WINRT_SHIM(IAutomationPeer3)->abi_RaiseStructureChangedEvent(structureChangeType, get_abi(child))); +} + +template Windows::Foundation::IInspectable impl_IAutomationPeerOverrides3::NavigateCore(Windows::UI::Xaml::Automation::Peers::AutomationNavigationDirection direction) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides3)->abi_NavigateCore(direction, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_IAutomationPeerOverrides3::GetElementFromPointCore(const Windows::Foundation::Point & pointInWindowCoordinates) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides3)->abi_GetElementFromPointCore(get_abi(pointInWindowCoordinates), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_IAutomationPeerOverrides3::GetFocusedElementCore() const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides3)->abi_GetFocusedElementCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPeerOverrides3::GetAnnotationsCore() const +{ + Windows::Foundation::Collections::IVector returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides3)->abi_GetAnnotationsCore(put_abi(returnValue))); + return returnValue; +} + +template int32_t impl_IAutomationPeerOverrides3::GetPositionInSetCore() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides3)->abi_GetPositionInSetCore(&returnValue)); + return returnValue; +} + +template int32_t impl_IAutomationPeerOverrides3::GetSizeOfSetCore() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides3)->abi_GetSizeOfSetCore(&returnValue)); + return returnValue; +} + +template int32_t impl_IAutomationPeerOverrides3::GetLevelCore() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides3)->abi_GetLevelCore(&returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::RawElementProviderRuntimeId impl_IAutomationPeerStatics3::GenerateRawElementProviderRuntimeId() const +{ + Windows::UI::Xaml::Automation::Peers::RawElementProviderRuntimeId returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerStatics3)->abi_GenerateRawElementProviderRuntimeId(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType impl_IAutomationPeer4::GetLandmarkType() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer4)->abi_GetLandmarkType(&returnValue)); + return returnValue; +} + +template hstring impl_IAutomationPeer4::GetLocalizedLandmarkType() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer4)->abi_GetLocalizedLandmarkType(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType impl_IAutomationPeerOverrides4::GetLandmarkTypeCore() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides4)->abi_GetLandmarkTypeCore(&returnValue)); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides4::GetLocalizedLandmarkTypeCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides4)->abi_GetLocalizedLandmarkTypeCore(put_abi(returnValue))); + return returnValue; +} + +template bool impl_IAutomationPeer5::IsPeripheral() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer5)->abi_IsPeripheral(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeer5::IsDataValidForForm() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer5)->abi_IsDataValidForForm(&returnValue)); + return returnValue; +} + +template hstring impl_IAutomationPeer5::GetFullDescription() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeer5)->abi_GetFullDescription(put_abi(returnValue))); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides5::IsPeripheralCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides5)->abi_IsPeripheralCore(&returnValue)); + return returnValue; +} + +template bool impl_IAutomationPeerOverrides5::IsDataValidForFormCore() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides5)->abi_IsDataValidForFormCore(&returnValue)); + return returnValue; +} + +template hstring impl_IAutomationPeerOverrides5::GetFullDescriptionCore() const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides5)->abi_GetFullDescriptionCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IIterable impl_IAutomationPeerOverrides5::GetDescribedByCore() const +{ + Windows::Foundation::Collections::IIterable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides5)->abi_GetDescribedByCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IIterable impl_IAutomationPeerOverrides5::GetFlowsToCore() const +{ + Windows::Foundation::Collections::IIterable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides5)->abi_GetFlowsToCore(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IIterable impl_IAutomationPeerOverrides5::GetFlowsFromCore() const +{ + Windows::Foundation::Collections::IIterable returnValue; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides5)->abi_GetFlowsFromCore(put_abi(returnValue))); + return returnValue; +} + +template int32_t impl_IAutomationPeer6::GetCulture() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeer6)->abi_GetCulture(&returnValue)); + return returnValue; +} + +template int32_t impl_IAutomationPeerOverrides6::GetCultureCore() const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IAutomationPeerOverrides6)->abi_GetCultureCore(&returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::Automation::AnnotationType impl_IAutomationPeerAnnotation::Type() const +{ + Windows::UI::Xaml::Automation::AnnotationType value {}; + check_hresult(WINRT_SHIM(IAutomationPeerAnnotation)->get_Type(&value)); + return value; +} + +template void impl_IAutomationPeerAnnotation::Type(Windows::UI::Xaml::Automation::AnnotationType value) const +{ + check_hresult(WINRT_SHIM(IAutomationPeerAnnotation)->put_Type(value)); +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IAutomationPeerAnnotation::Peer() const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerAnnotation)->get_Peer(put_abi(value))); + return value; +} + +template void impl_IAutomationPeerAnnotation::Peer(const Windows::UI::Xaml::Automation::Peers::AutomationPeer & value) const +{ + check_hresult(WINRT_SHIM(IAutomationPeerAnnotation)->put_Peer(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPeerAnnotationStatics::TypeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerAnnotationStatics)->get_TypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPeerAnnotationStatics::PeerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerAnnotationStatics)->get_PeerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeerAnnotation impl_IAutomationPeerAnnotationFactory::CreateInstance(Windows::UI::Xaml::Automation::AnnotationType type) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeerAnnotation instance { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerAnnotationFactory)->abi_CreateInstance(type, put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeerAnnotation impl_IAutomationPeerAnnotationFactory::CreateWithPeerParameter(Windows::UI::Xaml::Automation::AnnotationType type, const Windows::UI::Xaml::Automation::Peers::AutomationPeer & peer) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeerAnnotation instance { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPeerAnnotationFactory)->abi_CreateWithPeerParameter(type, get_abi(peer), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::UIElement impl_IFrameworkElementAutomationPeer::Owner() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IFrameworkElementAutomationPeer)->get_Owner(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IFrameworkElementAutomationPeerStatics::FromElement(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IFrameworkElementAutomationPeerStatics)->abi_FromElement(get_abi(element), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationPeer impl_IFrameworkElementAutomationPeerStatics::CreatePeerForElement(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationPeer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IFrameworkElementAutomationPeerStatics)->abi_CreatePeerForElement(get_abi(element), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Peers::FrameworkElementAutomationPeer impl_IFrameworkElementAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::FrameworkElement & owner, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Automation::Peers::FrameworkElementAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IFrameworkElementAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::PivotItemAutomationPeer impl_IPivotItemAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::PivotItem & owner) const +{ + Windows::UI::Xaml::Automation::Peers::PivotItemAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IPivotItemAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::PivotItemDataAutomationPeer impl_IPivotItemDataAutomationPeerFactory::CreateInstanceWithParentAndItem(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::PivotAutomationPeer & parent) const +{ + Windows::UI::Xaml::Automation::Peers::PivotItemDataAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IPivotItemDataAutomationPeerFactory)->abi_CreateInstanceWithParentAndItem(get_abi(item), get_abi(parent), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::Peers::PivotAutomationPeer impl_IPivotAutomationPeerFactory::CreateInstanceWithOwner(const Windows::UI::Xaml::Controls::Pivot & owner) const +{ + Windows::UI::Xaml::Automation::Peers::PivotAutomationPeer instance { nullptr }; + check_hresult(WINRT_SHIM(IPivotAutomationPeerFactory)->abi_CreateInstanceWithOwner(get_abi(owner), put_abi(instance))); + return instance; +} + +inline AppBarAutomationPeer::AppBarAutomationPeer(const Windows::UI::Xaml::Controls::AppBar & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline AppBarButtonAutomationPeer::AppBarButtonAutomationPeer(const Windows::UI::Xaml::Controls::AppBarButton & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline AppBarToggleButtonAutomationPeer::AppBarToggleButtonAutomationPeer(const Windows::UI::Xaml::Controls::AppBarToggleButton & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline AutoSuggestBoxAutomationPeer::AutoSuggestBoxAutomationPeer(const Windows::UI::Xaml::Controls::AutoSuggestBox & owner) : + AutoSuggestBoxAutomationPeer(get_activation_factory().CreateInstanceWithOwner(owner)) +{} + +inline bool AutomationPeer::ListenerExists(Windows::UI::Xaml::Automation::Peers::AutomationEvents eventId) +{ + return get_activation_factory().ListenerExists(eventId); +} + +inline Windows::UI::Xaml::Automation::Peers::RawElementProviderRuntimeId AutomationPeer::GenerateRawElementProviderRuntimeId() +{ + return get_activation_factory().GenerateRawElementProviderRuntimeId(); +} + +inline AutomationPeerAnnotation::AutomationPeerAnnotation() : + AutomationPeerAnnotation(activate_instance()) +{} + +inline AutomationPeerAnnotation::AutomationPeerAnnotation(Windows::UI::Xaml::Automation::AnnotationType type) : + AutomationPeerAnnotation(get_activation_factory().CreateInstance(type)) +{} + +inline AutomationPeerAnnotation::AutomationPeerAnnotation(Windows::UI::Xaml::Automation::AnnotationType type, const Windows::UI::Xaml::Automation::Peers::AutomationPeer & peer) : + AutomationPeerAnnotation(get_activation_factory().CreateWithPeerParameter(type, peer)) +{} + +inline Windows::UI::Xaml::DependencyProperty AutomationPeerAnnotation::TypeProperty() +{ + return get_activation_factory().TypeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationPeerAnnotation::PeerProperty() +{ + return get_activation_factory().PeerProperty(); +} + +inline ButtonAutomationPeer::ButtonAutomationPeer(const Windows::UI::Xaml::Controls::Button & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline CaptureElementAutomationPeer::CaptureElementAutomationPeer(const Windows::UI::Xaml::Controls::CaptureElement & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline CheckBoxAutomationPeer::CheckBoxAutomationPeer(const Windows::UI::Xaml::Controls::CheckBox & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ComboBoxAutomationPeer::ComboBoxAutomationPeer(const Windows::UI::Xaml::Controls::ComboBox & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ComboBoxItemAutomationPeer::ComboBoxItemAutomationPeer(const Windows::UI::Xaml::Controls::ComboBoxItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ComboBoxItemDataAutomationPeer::ComboBoxItemDataAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ComboBoxAutomationPeer & parent) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithParentAndItem(item, parent, outer, inner)); +} + +inline DatePickerAutomationPeer::DatePickerAutomationPeer(const Windows::UI::Xaml::Controls::DatePicker & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline FlipViewAutomationPeer::FlipViewAutomationPeer(const Windows::UI::Xaml::Controls::FlipView & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline FlipViewItemAutomationPeer::FlipViewItemAutomationPeer(const Windows::UI::Xaml::Controls::FlipViewItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline FlipViewItemDataAutomationPeer::FlipViewItemDataAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::FlipViewAutomationPeer & parent) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithParentAndItem(item, parent, outer, inner)); +} + +inline FlyoutPresenterAutomationPeer::FlyoutPresenterAutomationPeer(const Windows::UI::Xaml::Controls::FlyoutPresenter & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline FrameworkElementAutomationPeer::FrameworkElementAutomationPeer(const Windows::UI::Xaml::FrameworkElement & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline Windows::UI::Xaml::Automation::Peers::AutomationPeer FrameworkElementAutomationPeer::FromElement(const Windows::UI::Xaml::UIElement & element) +{ + return get_activation_factory().FromElement(element); +} + +inline Windows::UI::Xaml::Automation::Peers::AutomationPeer FrameworkElementAutomationPeer::CreatePeerForElement(const Windows::UI::Xaml::UIElement & element) +{ + return get_activation_factory().CreatePeerForElement(element); +} + +inline GridViewAutomationPeer::GridViewAutomationPeer(const Windows::UI::Xaml::Controls::GridView & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline GridViewHeaderItemAutomationPeer::GridViewHeaderItemAutomationPeer(const Windows::UI::Xaml::Controls::GridViewHeaderItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline GridViewItemAutomationPeer::GridViewItemAutomationPeer(const Windows::UI::Xaml::Controls::GridViewItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline GridViewItemDataAutomationPeer::GridViewItemDataAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::GridViewAutomationPeer & parent) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithParentAndItem(item, parent, outer, inner)); +} + +inline GroupItemAutomationPeer::GroupItemAutomationPeer(const Windows::UI::Xaml::Controls::GroupItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline HubAutomationPeer::HubAutomationPeer(const Windows::UI::Xaml::Controls::Hub & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline HubSectionAutomationPeer::HubSectionAutomationPeer(const Windows::UI::Xaml::Controls::HubSection & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline HyperlinkButtonAutomationPeer::HyperlinkButtonAutomationPeer(const Windows::UI::Xaml::Controls::HyperlinkButton & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ImageAutomationPeer::ImageAutomationPeer(const Windows::UI::Xaml::Controls::Image & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ItemAutomationPeer::ItemAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ItemsControlAutomationPeer & parent) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithParentAndItem(item, parent, outer, inner)); +} + +inline ItemsControlAutomationPeer::ItemsControlAutomationPeer(const Windows::UI::Xaml::Controls::ItemsControl & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ListBoxAutomationPeer::ListBoxAutomationPeer(const Windows::UI::Xaml::Controls::ListBox & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ListBoxItemAutomationPeer::ListBoxItemAutomationPeer(const Windows::UI::Xaml::Controls::ListBoxItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ListBoxItemDataAutomationPeer::ListBoxItemDataAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ListBoxAutomationPeer & parent) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithParentAndItem(item, parent, outer, inner)); +} + +inline ListViewAutomationPeer::ListViewAutomationPeer(const Windows::UI::Xaml::Controls::ListView & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ListViewBaseAutomationPeer::ListViewBaseAutomationPeer(const Windows::UI::Xaml::Controls::ListViewBase & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ListViewHeaderItemAutomationPeer::ListViewHeaderItemAutomationPeer(const Windows::UI::Xaml::Controls::ListViewHeaderItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ListViewItemAutomationPeer::ListViewItemAutomationPeer(const Windows::UI::Xaml::Controls::ListViewItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ListViewItemDataAutomationPeer::ListViewItemDataAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::ListViewBaseAutomationPeer & parent) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithParentAndItem(item, parent, outer, inner)); +} + +inline MediaElementAutomationPeer::MediaElementAutomationPeer(const Windows::UI::Xaml::Controls::MediaElement & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline MediaPlayerElementAutomationPeer::MediaPlayerElementAutomationPeer(const Windows::UI::Xaml::Controls::MediaPlayerElement & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline MediaTransportControlsAutomationPeer::MediaTransportControlsAutomationPeer(const Windows::UI::Xaml::Controls::MediaTransportControls & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline MenuFlyoutItemAutomationPeer::MenuFlyoutItemAutomationPeer(const Windows::UI::Xaml::Controls::MenuFlyoutItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline MenuFlyoutPresenterAutomationPeer::MenuFlyoutPresenterAutomationPeer(const Windows::UI::Xaml::Controls::MenuFlyoutPresenter & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline PasswordBoxAutomationPeer::PasswordBoxAutomationPeer(const Windows::UI::Xaml::Controls::PasswordBox & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline PivotAutomationPeer::PivotAutomationPeer(const Windows::UI::Xaml::Controls::Pivot & owner) : + PivotAutomationPeer(get_activation_factory().CreateInstanceWithOwner(owner)) +{} + +inline PivotItemAutomationPeer::PivotItemAutomationPeer(const Windows::UI::Xaml::Controls::PivotItem & owner) : + PivotItemAutomationPeer(get_activation_factory().CreateInstanceWithOwner(owner)) +{} + +inline PivotItemDataAutomationPeer::PivotItemDataAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::PivotAutomationPeer & parent) : + PivotItemDataAutomationPeer(get_activation_factory().CreateInstanceWithParentAndItem(item, parent)) +{} + +inline ProgressBarAutomationPeer::ProgressBarAutomationPeer(const Windows::UI::Xaml::Controls::ProgressBar & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ProgressRingAutomationPeer::ProgressRingAutomationPeer(const Windows::UI::Xaml::Controls::ProgressRing & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline RadioButtonAutomationPeer::RadioButtonAutomationPeer(const Windows::UI::Xaml::Controls::RadioButton & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline RangeBaseAutomationPeer::RangeBaseAutomationPeer(const Windows::UI::Xaml::Controls::Primitives::RangeBase & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline RepeatButtonAutomationPeer::RepeatButtonAutomationPeer(const Windows::UI::Xaml::Controls::Primitives::RepeatButton & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline RichEditBoxAutomationPeer::RichEditBoxAutomationPeer(const Windows::UI::Xaml::Controls::RichEditBox & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline RichTextBlockAutomationPeer::RichTextBlockAutomationPeer(const Windows::UI::Xaml::Controls::RichTextBlock & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline RichTextBlockOverflowAutomationPeer::RichTextBlockOverflowAutomationPeer(const Windows::UI::Xaml::Controls::RichTextBlockOverflow & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ScrollBarAutomationPeer::ScrollBarAutomationPeer(const Windows::UI::Xaml::Controls::Primitives::ScrollBar & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ScrollViewerAutomationPeer::ScrollViewerAutomationPeer(const Windows::UI::Xaml::Controls::ScrollViewer & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline SearchBoxAutomationPeer::SearchBoxAutomationPeer(const Windows::UI::Xaml::Controls::SearchBox & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline SelectorAutomationPeer::SelectorAutomationPeer(const Windows::UI::Xaml::Controls::Primitives::Selector & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline SelectorItemAutomationPeer::SelectorItemAutomationPeer(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::Automation::Peers::SelectorAutomationPeer & parent) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithParentAndItem(item, parent, outer, inner)); +} + +inline SemanticZoomAutomationPeer::SemanticZoomAutomationPeer(const Windows::UI::Xaml::Controls::SemanticZoom & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline SettingsFlyoutAutomationPeer::SettingsFlyoutAutomationPeer(const Windows::UI::Xaml::Controls::SettingsFlyout & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline SliderAutomationPeer::SliderAutomationPeer(const Windows::UI::Xaml::Controls::Slider & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline TextBlockAutomationPeer::TextBlockAutomationPeer(const Windows::UI::Xaml::Controls::TextBlock & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline TextBoxAutomationPeer::TextBoxAutomationPeer(const Windows::UI::Xaml::Controls::TextBox & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ThumbAutomationPeer::ThumbAutomationPeer(const Windows::UI::Xaml::Controls::Primitives::Thumb & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline TimePickerAutomationPeer::TimePickerAutomationPeer(const Windows::UI::Xaml::Controls::TimePicker & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ToggleButtonAutomationPeer::ToggleButtonAutomationPeer(const Windows::UI::Xaml::Controls::Primitives::ToggleButton & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ToggleMenuFlyoutItemAutomationPeer::ToggleMenuFlyoutItemAutomationPeer(const Windows::UI::Xaml::Controls::ToggleMenuFlyoutItem & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +inline ToggleSwitchAutomationPeer::ToggleSwitchAutomationPeer(const Windows::UI::Xaml::Controls::ToggleSwitch & owner) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithOwner(owner, outer, inner)); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAppBarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAppBarAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAppBarButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAppBarButtonAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAppBarToggleButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAppBarToggleButtonAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutoSuggestBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutoSuggestBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeer3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeer4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeer5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeer6 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerAnnotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerAnnotationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerAnnotationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerOverrides & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerOverrides2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerOverrides3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerOverrides4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerOverrides5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerOverrides6 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerProtected & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IAutomationPeerStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IButtonAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IButtonBaseAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IButtonBaseAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ICaptureElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ICaptureElementAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ICheckBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ICheckBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IComboBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IComboBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IComboBoxItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IComboBoxItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IComboBoxItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IComboBoxItemDataAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IDatePickerAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IDatePickerAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IDatePickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlipViewAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlipViewAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlipViewItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlipViewItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlipViewItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlipViewItemDataAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFlyoutPresenterAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFrameworkElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFrameworkElementAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IFrameworkElementAutomationPeerStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewHeaderItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewHeaderItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGridViewItemDataAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGroupItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IGroupItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IHubAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IHubAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IHubSectionAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IHubSectionAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IHyperlinkButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IHyperlinkButtonAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IImageAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IImageAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IInkToolbarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IItemsControlAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IItemsControlAutomationPeer2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IItemsControlAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IItemsControlAutomationPeerOverrides2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListBoxItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListBoxItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListBoxItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListBoxItemDataAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListPickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewBaseAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewBaseAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewBaseHeaderItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewBaseHeaderItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewHeaderItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewHeaderItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IListViewItemDataAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ILoopingSelectorAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ILoopingSelectorItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ILoopingSelectorItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMapControlAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMediaElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMediaElementAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMediaPlayerElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMediaPlayerElementAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMediaTransportControlsAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMediaTransportControlsAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMenuFlyoutItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMenuFlyoutItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMenuFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IMenuFlyoutPresenterAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPasswordBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPasswordBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPivotAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPivotAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPivotItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPivotItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPivotItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IPivotItemDataAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IProgressBarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IProgressBarAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IProgressRingAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IProgressRingAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRadioButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRadioButtonAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRangeBaseAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRangeBaseAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRepeatButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRepeatButtonAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRichEditBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRichEditBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRichTextBlockAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRichTextBlockAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRichTextBlockOverflowAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IRichTextBlockOverflowAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IScrollBarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IScrollBarAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IScrollViewerAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IScrollViewerAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISearchBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISearchBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISelectorAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISelectorAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISelectorItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISelectorItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISemanticZoomAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISemanticZoomAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISettingsFlyoutAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISettingsFlyoutAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISliderAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ISliderAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ITextBlockAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ITextBlockAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ITextBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ITextBoxAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IThumbAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IThumbAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ITimePickerAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ITimePickerAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ITimePickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IToggleButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IToggleButtonAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IToggleMenuFlyoutItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IToggleMenuFlyoutItemAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IToggleSwitchAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::IToggleSwitchAutomationPeerFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::AppBarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::AppBarButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::AppBarToggleButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::AutoSuggestBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::AutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::AutomationPeerAnnotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ButtonBaseAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::CaptureElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::CheckBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ComboBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ComboBoxItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ComboBoxItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::DatePickerAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::DatePickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::FlipViewAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::FlipViewItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::FlipViewItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::FlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::FrameworkElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::GridViewAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::GridViewHeaderItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::GridViewItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::GridViewItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::GroupItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::HubAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::HubSectionAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::HyperlinkButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ImageAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::InkToolbarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ItemsControlAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListBoxItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListBoxItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListPickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListViewAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListViewBaseAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListViewBaseHeaderItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListViewHeaderItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListViewItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ListViewItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::LoopingSelectorAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::LoopingSelectorItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::LoopingSelectorItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::MapControlAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::MediaElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::MediaPlayerElementAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::MediaTransportControlsAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::MenuFlyoutItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::MenuFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::PasswordBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::PickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::PivotAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::PivotItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::PivotItemDataAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ProgressBarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ProgressRingAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::RadioButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::RangeBaseAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::RepeatButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::RichEditBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::RichTextBlockAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::RichTextBlockOverflowAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ScrollBarAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ScrollViewerAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::SearchBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::SelectorAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::SelectorItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::SemanticZoomAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::SettingsFlyoutAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::SliderAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::TextBlockAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::TextBoxAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ThumbAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::TimePickerAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::TimePickerFlyoutPresenterAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ToggleButtonAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ToggleMenuFlyoutItemAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Peers::ToggleSwitchAutomationPeer & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Provider.h b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Provider.h new file mode 100644 index 000000000..087fbfcca --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Provider.h @@ -0,0 +1,3279 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.Xaml.Automation.3.h" +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.UI.Xaml.Automation.Text.3.h" +#include "internal/Windows.UI.Xaml.Automation.Peers.3.h" +#include "internal/Windows.UI.Xaml.Automation.Provider.3.h" +#include "Windows.UI.Xaml.Automation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AnnotationTypeId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationTypeId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AnnotationTypeName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationTypeName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Author(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Author()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateTime()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Target(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Target()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_NavigateCustom(Windows::UI::Xaml::Automation::Peers::AutomationNavigationDirection direction, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().NavigateCustom(direction)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DockPosition(Windows::UI::Xaml::Automation::DockPosition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DockPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDockPosition(Windows::UI::Xaml::Automation::DockPosition dockPosition) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDockPosition(dockPosition); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsGrabbed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGrabbed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropEffect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropEffect()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropEffects(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().DropEffects()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetGrabbedItems(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetGrabbedItems()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DropEffect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropEffect()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropEffects(uint32_t * __valueSize, impl::abi_arg_out * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__valueSize, *value) = detach_abi(this->shim().DropEffects()); + return S_OK; + } + catch (...) + { + *__valueSize = 0; + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExpandCollapseState(Windows::UI::Xaml::Automation::ExpandCollapseState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpandCollapseState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Collapse() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Collapse(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Expand() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Expand(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Column(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Column()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColumnSpan(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnSpan()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainingGrid(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainingGrid()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Row(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Row()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowSpan(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowSpan()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ColumnCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItem(int32_t row, int32_t column, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItem(row, column)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Invoke() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Invoke(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindItemByProperty(impl::abi_arg_in startAfter, impl::abi_arg_in automationProperty, impl::abi_arg_in value, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FindItemByProperty(*reinterpret_cast(&startAfter), *reinterpret_cast(&automationProperty), *reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentView(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSupportedViews(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetSupportedViews()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetViewName(int32_t viewId, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetViewName(viewId)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetCurrentView(int32_t viewId) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetCurrentView(viewId); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetUnderlyingObjectModel(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetUnderlyingObjectModel()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LargeChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LargeChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Maximum(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Maximum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Minimum(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Minimum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmallChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmallChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValue(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetValue(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ScrollIntoView() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollIntoView(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontallyScrollable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontallyScrollable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalScrollPercent(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalScrollPercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalViewSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalViewSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticallyScrollable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticallyScrollable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalScrollPercent(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalScrollPercent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalViewSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalViewSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Scroll(Windows::UI::Xaml::Automation::ScrollAmount horizontalAmount, Windows::UI::Xaml::Automation::ScrollAmount verticalAmount) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scroll(horizontalAmount, verticalAmount); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetScrollPercent(double horizontalPercent, double verticalPercent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetScrollPercent(horizontalPercent, verticalPercent); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSelected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionContainer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionContainer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddToSelection() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddToSelection(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveFromSelection() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveFromSelection(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Select() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Select(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanSelectMultiple(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSelectMultiple()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSelectionRequired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelectionRequired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSelection(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetSelection()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Formula(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Formula()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnnotationObjects(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetAnnotationObjects()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnnotationTypes(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetAnnotationTypes()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetItemByName(impl::abi_arg_in name, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItemByName(*reinterpret_cast(&name))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedProperties(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FillColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FillPatternColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillPatternColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FillPatternStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillPatternStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Shape(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Shape()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StyleId(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StyleId()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StyleName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StyleName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Cancel() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartListening(Windows::UI::Xaml::Automation::SynchronizedInputType inputType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartListening(inputType); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetColumnHeaderItems(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetColumnHeaderItems()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRowHeaderItems(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetRowHeaderItems()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RowOrColumnMajor(Windows::UI::Xaml::Automation::RowOrColumnMajor * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowOrColumnMajor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetColumnHeaders(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetColumnHeaders()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRowHeaders(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetRowHeaders()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextContainer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextContainer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextRange(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextRange()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetActiveComposition(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetActiveComposition()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetConversionTarget(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetConversionTarget()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DocumentRange(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentRange()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedTextSelection(Windows::UI::Xaml::Automation::SupportedTextSelection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedTextSelection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSelection(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetSelection()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVisibleRanges(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetVisibleRanges()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RangeFromChild(impl::abi_arg_in childElement, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RangeFromChild(*reinterpret_cast(&childElement))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RangeFromPoint(impl::abi_arg_in screenLocation, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RangeFromPoint(*reinterpret_cast(&screenLocation))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_RangeFromAnnotation(impl::abi_arg_in annotationElement, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RangeFromAnnotation(*reinterpret_cast(&annotationElement))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCaretRange(bool * isActive, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetCaretRange(*isActive)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Clone(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Clone()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Compare(impl::abi_arg_in textRangeProvider, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Compare(*reinterpret_cast(&textRangeProvider))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompareEndpoints(Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint endpoint, impl::abi_arg_in textRangeProvider, Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint targetEndpoint, int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CompareEndpoints(endpoint, *reinterpret_cast(&textRangeProvider), targetEndpoint)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ExpandToEnclosingUnit(Windows::UI::Xaml::Automation::Text::TextUnit unit) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExpandToEnclosingUnit(unit); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindAttribute(int32_t attributeId, impl::abi_arg_in value, bool backward, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FindAttribute(attributeId, *reinterpret_cast(&value), backward)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindText(impl::abi_arg_in text, bool backward, bool ignoreCase, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FindText(*reinterpret_cast(&text), backward, ignoreCase)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAttributeValue(int32_t attributeId, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAttributeValue(attributeId)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBoundingRectangles(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetBoundingRectangles(detach_abi(__returnValueSize, returnValue)); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetEnclosingElement(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetEnclosingElement()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetText(int32_t maxLength, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetText(maxLength)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Move(Windows::UI::Xaml::Automation::Text::TextUnit unit, int32_t count, int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Move(unit, count)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveEndpointByUnit(Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint endpoint, Windows::UI::Xaml::Automation::Text::TextUnit unit, int32_t count, int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MoveEndpointByUnit(endpoint, unit, count)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MoveEndpointByRange(Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint endpoint, impl::abi_arg_in textRangeProvider, Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint targetEndpoint) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MoveEndpointByRange(endpoint, *reinterpret_cast(&textRangeProvider), targetEndpoint); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Select() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Select(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddToSelection() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddToSelection(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveFromSelection() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveFromSelection(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollIntoView(bool alignToTop) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollIntoView(alignToTop); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetChildren(uint32_t * __returnValueSize, impl::abi_arg_out * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + std::tie(*__returnValueSize, *returnValue) = detach_abi(this->shim().GetChildren()); + return S_OK; + } + catch (...) + { + *__returnValueSize = 0; + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowContextMenu() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowContextMenu(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ToggleState(Windows::UI::Xaml::Automation::ToggleState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Toggle() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Toggle(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanMove(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMove()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanResize(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanResize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanRotate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanRotate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Move(double x, double y) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Move(x, y); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Resize(double width, double height) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Resize(width, height); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Rotate(double degrees) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Rotate(degrees); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanZoom(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanZoom()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevel(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxZoom(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxZoom()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinZoom(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinZoom()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Zoom(double zoom) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Zoom(zoom); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ZoomByUnit(Windows::UI::Xaml::Automation::ZoomUnit zoomUnit) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomByUnit(zoomUnit); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Realize() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Realize(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsModal(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsModal()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTopmost(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTopmost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Maximizable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Maximizable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Minimizable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Minimizable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InteractionState(Windows::UI::Xaml::Automation::WindowInteractionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InteractionState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VisualState(Windows::UI::Xaml::Automation::WindowVisualState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VisualState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Close() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Close(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVisualState(Windows::UI::Xaml::Automation::WindowVisualState state) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVisualState(state); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_WaitForInputIdle(int32_t milliseconds, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().WaitForInputIdle(milliseconds)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Xaml::Automation::Provider { + +template int32_t impl_IAnnotationProvider::AnnotationTypeId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAnnotationProvider)->get_AnnotationTypeId(&value)); + return value; +} + +template hstring impl_IAnnotationProvider::AnnotationTypeName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAnnotationProvider)->get_AnnotationTypeName(put_abi(value))); + return value; +} + +template hstring impl_IAnnotationProvider::Author() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAnnotationProvider)->get_Author(put_abi(value))); + return value; +} + +template hstring impl_IAnnotationProvider::DateTime() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAnnotationProvider)->get_DateTime(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_IAnnotationProvider::Target() const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple value { nullptr }; + check_hresult(WINRT_SHIM(IAnnotationProvider)->get_Target(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::DockPosition impl_IDockProvider::DockPosition() const +{ + Windows::UI::Xaml::Automation::DockPosition value {}; + check_hresult(WINRT_SHIM(IDockProvider)->get_DockPosition(&value)); + return value; +} + +template void impl_IDockProvider::SetDockPosition(Windows::UI::Xaml::Automation::DockPosition dockPosition) const +{ + check_hresult(WINRT_SHIM(IDockProvider)->abi_SetDockPosition(dockPosition)); +} + +template bool impl_IDragProvider::IsGrabbed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDragProvider)->get_IsGrabbed(&value)); + return value; +} + +template hstring impl_IDragProvider::DropEffect() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDragProvider)->get_DropEffect(put_abi(value))); + return value; +} + +template com_array impl_IDragProvider::DropEffects() const +{ + com_array value; + check_hresult(WINRT_SHIM(IDragProvider)->get_DropEffects(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template com_array impl_IDragProvider::GetGrabbedItems() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(IDragProvider)->abi_GetGrabbedItems(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IDropTargetProvider::DropEffect() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDropTargetProvider)->get_DropEffect(put_abi(value))); + return value; +} + +template com_array impl_IDropTargetProvider::DropEffects() const +{ + com_array value; + check_hresult(WINRT_SHIM(IDropTargetProvider)->get_DropEffects(impl::put_size_abi(value), put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::ExpandCollapseState impl_IExpandCollapseProvider::ExpandCollapseState() const +{ + Windows::UI::Xaml::Automation::ExpandCollapseState value {}; + check_hresult(WINRT_SHIM(IExpandCollapseProvider)->get_ExpandCollapseState(&value)); + return value; +} + +template void impl_IExpandCollapseProvider::Collapse() const +{ + check_hresult(WINRT_SHIM(IExpandCollapseProvider)->abi_Collapse()); +} + +template void impl_IExpandCollapseProvider::Expand() const +{ + check_hresult(WINRT_SHIM(IExpandCollapseProvider)->abi_Expand()); +} + +template int32_t impl_IGridItemProvider::Column() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridItemProvider)->get_Column(&value)); + return value; +} + +template int32_t impl_IGridItemProvider::ColumnSpan() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridItemProvider)->get_ColumnSpan(&value)); + return value; +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_IGridItemProvider::ContainingGrid() const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple value { nullptr }; + check_hresult(WINRT_SHIM(IGridItemProvider)->get_ContainingGrid(put_abi(value))); + return value; +} + +template int32_t impl_IGridItemProvider::Row() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridItemProvider)->get_Row(&value)); + return value; +} + +template int32_t impl_IGridItemProvider::RowSpan() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridItemProvider)->get_RowSpan(&value)); + return value; +} + +template int32_t impl_IGridProvider::ColumnCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridProvider)->get_ColumnCount(&value)); + return value; +} + +template int32_t impl_IGridProvider::RowCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridProvider)->get_RowCount(&value)); + return value; +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_IGridProvider::GetItem(int32_t row, int32_t column) const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple returnValue { nullptr }; + check_hresult(WINRT_SHIM(IGridProvider)->abi_GetItem(row, column, put_abi(returnValue))); + return returnValue; +} + +template void impl_IInvokeProvider::Invoke() const +{ + check_hresult(WINRT_SHIM(IInvokeProvider)->abi_Invoke()); +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_IItemContainerProvider::FindItemByProperty(const Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple & startAfter, const Windows::UI::Xaml::Automation::AutomationProperty & automationProperty, const Windows::Foundation::IInspectable & value) const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemContainerProvider)->abi_FindItemByProperty(get_abi(startAfter), get_abi(automationProperty), get_abi(value), put_abi(returnValue))); + return returnValue; +} + +template int32_t impl_IMultipleViewProvider::CurrentView() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMultipleViewProvider)->get_CurrentView(&value)); + return value; +} + +template com_array impl_IMultipleViewProvider::GetSupportedViews() const +{ + com_array returnValue {}; + check_hresult(WINRT_SHIM(IMultipleViewProvider)->abi_GetSupportedViews(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IMultipleViewProvider::GetViewName(int32_t viewId) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IMultipleViewProvider)->abi_GetViewName(viewId, put_abi(returnValue))); + return returnValue; +} + +template void impl_IMultipleViewProvider::SetCurrentView(int32_t viewId) const +{ + check_hresult(WINRT_SHIM(IMultipleViewProvider)->abi_SetCurrentView(viewId)); +} + +template Windows::Foundation::IInspectable impl_IObjectModelProvider::GetUnderlyingObjectModel() const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IObjectModelProvider)->abi_GetUnderlyingObjectModel(put_abi(returnValue))); + return returnValue; +} + +template bool impl_IRangeValueProvider::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRangeValueProvider)->get_IsReadOnly(&value)); + return value; +} + +template double impl_IRangeValueProvider::LargeChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeValueProvider)->get_LargeChange(&value)); + return value; +} + +template double impl_IRangeValueProvider::Maximum() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeValueProvider)->get_Maximum(&value)); + return value; +} + +template double impl_IRangeValueProvider::Minimum() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeValueProvider)->get_Minimum(&value)); + return value; +} + +template double impl_IRangeValueProvider::SmallChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeValueProvider)->get_SmallChange(&value)); + return value; +} + +template double impl_IRangeValueProvider::Value() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeValueProvider)->get_Value(&value)); + return value; +} + +template void impl_IRangeValueProvider::SetValue(double value) const +{ + check_hresult(WINRT_SHIM(IRangeValueProvider)->abi_SetValue(value)); +} + +template void impl_IScrollItemProvider::ScrollIntoView() const +{ + check_hresult(WINRT_SHIM(IScrollItemProvider)->abi_ScrollIntoView()); +} + +template bool impl_IScrollProvider::HorizontallyScrollable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollProvider)->get_HorizontallyScrollable(&value)); + return value; +} + +template double impl_IScrollProvider::HorizontalScrollPercent() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollProvider)->get_HorizontalScrollPercent(&value)); + return value; +} + +template double impl_IScrollProvider::HorizontalViewSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollProvider)->get_HorizontalViewSize(&value)); + return value; +} + +template bool impl_IScrollProvider::VerticallyScrollable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollProvider)->get_VerticallyScrollable(&value)); + return value; +} + +template double impl_IScrollProvider::VerticalScrollPercent() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollProvider)->get_VerticalScrollPercent(&value)); + return value; +} + +template double impl_IScrollProvider::VerticalViewSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollProvider)->get_VerticalViewSize(&value)); + return value; +} + +template void impl_IScrollProvider::Scroll(Windows::UI::Xaml::Automation::ScrollAmount horizontalAmount, Windows::UI::Xaml::Automation::ScrollAmount verticalAmount) const +{ + check_hresult(WINRT_SHIM(IScrollProvider)->abi_Scroll(horizontalAmount, verticalAmount)); +} + +template void impl_IScrollProvider::SetScrollPercent(double horizontalPercent, double verticalPercent) const +{ + check_hresult(WINRT_SHIM(IScrollProvider)->abi_SetScrollPercent(horizontalPercent, verticalPercent)); +} + +template bool impl_ISelectionItemProvider::IsSelected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISelectionItemProvider)->get_IsSelected(&value)); + return value; +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_ISelectionItemProvider::SelectionContainer() const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple value { nullptr }; + check_hresult(WINRT_SHIM(ISelectionItemProvider)->get_SelectionContainer(put_abi(value))); + return value; +} + +template void impl_ISelectionItemProvider::AddToSelection() const +{ + check_hresult(WINRT_SHIM(ISelectionItemProvider)->abi_AddToSelection()); +} + +template void impl_ISelectionItemProvider::RemoveFromSelection() const +{ + check_hresult(WINRT_SHIM(ISelectionItemProvider)->abi_RemoveFromSelection()); +} + +template void impl_ISelectionItemProvider::Select() const +{ + check_hresult(WINRT_SHIM(ISelectionItemProvider)->abi_Select()); +} + +template bool impl_ISelectionProvider::CanSelectMultiple() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISelectionProvider)->get_CanSelectMultiple(&value)); + return value; +} + +template bool impl_ISelectionProvider::IsSelectionRequired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISelectionProvider)->get_IsSelectionRequired(&value)); + return value; +} + +template com_array impl_ISelectionProvider::GetSelection() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(ISelectionProvider)->abi_GetSelection(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template hstring impl_ISpreadsheetItemProvider::Formula() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISpreadsheetItemProvider)->get_Formula(put_abi(value))); + return value; +} + +template com_array impl_ISpreadsheetItemProvider::GetAnnotationObjects() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(ISpreadsheetItemProvider)->abi_GetAnnotationObjects(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template com_array impl_ISpreadsheetItemProvider::GetAnnotationTypes() const +{ + com_array returnValue {}; + check_hresult(WINRT_SHIM(ISpreadsheetItemProvider)->abi_GetAnnotationTypes(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_ISpreadsheetProvider::GetItemByName(hstring_view name) const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple returnValue { nullptr }; + check_hresult(WINRT_SHIM(ISpreadsheetProvider)->abi_GetItemByName(get_abi(name), put_abi(returnValue))); + return returnValue; +} + +template hstring impl_IStylesProvider::ExtendedProperties() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStylesProvider)->get_ExtendedProperties(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IStylesProvider::FillColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IStylesProvider)->get_FillColor(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IStylesProvider::FillPatternColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IStylesProvider)->get_FillPatternColor(put_abi(value))); + return value; +} + +template hstring impl_IStylesProvider::FillPatternStyle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStylesProvider)->get_FillPatternStyle(put_abi(value))); + return value; +} + +template hstring impl_IStylesProvider::Shape() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStylesProvider)->get_Shape(put_abi(value))); + return value; +} + +template int32_t impl_IStylesProvider::StyleId() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IStylesProvider)->get_StyleId(&value)); + return value; +} + +template hstring impl_IStylesProvider::StyleName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IStylesProvider)->get_StyleName(put_abi(value))); + return value; +} + +template void impl_ISynchronizedInputProvider::Cancel() const +{ + check_hresult(WINRT_SHIM(ISynchronizedInputProvider)->abi_Cancel()); +} + +template void impl_ISynchronizedInputProvider::StartListening(Windows::UI::Xaml::Automation::SynchronizedInputType inputType) const +{ + check_hresult(WINRT_SHIM(ISynchronizedInputProvider)->abi_StartListening(inputType)); +} + +template com_array impl_ITableItemProvider::GetColumnHeaderItems() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(ITableItemProvider)->abi_GetColumnHeaderItems(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template com_array impl_ITableItemProvider::GetRowHeaderItems() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(ITableItemProvider)->abi_GetRowHeaderItems(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::RowOrColumnMajor impl_ITableProvider::RowOrColumnMajor() const +{ + Windows::UI::Xaml::Automation::RowOrColumnMajor value {}; + check_hresult(WINRT_SHIM(ITableProvider)->get_RowOrColumnMajor(&value)); + return value; +} + +template com_array impl_ITableProvider::GetColumnHeaders() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(ITableProvider)->abi_GetColumnHeaders(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template com_array impl_ITableProvider::GetRowHeaders() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(ITableProvider)->abi_GetRowHeaders(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_ITextChildProvider::TextContainer() const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple value { nullptr }; + check_hresult(WINRT_SHIM(ITextChildProvider)->get_TextContainer(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextChildProvider::TextRange() const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider value; + check_hresult(WINRT_SHIM(ITextChildProvider)->get_TextRange(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextRangeProvider::Clone() const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_Clone(put_abi(returnValue))); + return returnValue; +} + +template bool impl_ITextRangeProvider::Compare(const Windows::UI::Xaml::Automation::Provider::ITextRangeProvider & textRangeProvider) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_Compare(get_abi(textRangeProvider), &returnValue)); + return returnValue; +} + +template int32_t impl_ITextRangeProvider::CompareEndpoints(Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint endpoint, const Windows::UI::Xaml::Automation::Provider::ITextRangeProvider & textRangeProvider, Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint targetEndpoint) const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_CompareEndpoints(endpoint, get_abi(textRangeProvider), targetEndpoint, &returnValue)); + return returnValue; +} + +template void impl_ITextRangeProvider::ExpandToEnclosingUnit(Windows::UI::Xaml::Automation::Text::TextUnit unit) const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_ExpandToEnclosingUnit(unit)); +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextRangeProvider::FindAttribute(int32_t attributeId, const Windows::Foundation::IInspectable & value, bool backward) const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_FindAttribute(attributeId, get_abi(value), backward, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextRangeProvider::FindText(hstring_view text, bool backward, bool ignoreCase) const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_FindText(get_abi(text), backward, ignoreCase, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_ITextRangeProvider::GetAttributeValue(int32_t attributeId) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_GetAttributeValue(attributeId, put_abi(returnValue))); + return returnValue; +} + +template void impl_ITextRangeProvider::GetBoundingRectangles(com_array & returnValue) const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_GetBoundingRectangles(impl::put_size_abi(returnValue), put_abi(returnValue))); +} + +template Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple impl_ITextRangeProvider::GetEnclosingElement() const +{ + Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple returnValue { nullptr }; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_GetEnclosingElement(put_abi(returnValue))); + return returnValue; +} + +template hstring impl_ITextRangeProvider::GetText(int32_t maxLength) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_GetText(maxLength, put_abi(returnValue))); + return returnValue; +} + +template int32_t impl_ITextRangeProvider::Move(Windows::UI::Xaml::Automation::Text::TextUnit unit, int32_t count) const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_Move(unit, count, &returnValue)); + return returnValue; +} + +template int32_t impl_ITextRangeProvider::MoveEndpointByUnit(Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint endpoint, Windows::UI::Xaml::Automation::Text::TextUnit unit, int32_t count) const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_MoveEndpointByUnit(endpoint, unit, count, &returnValue)); + return returnValue; +} + +template void impl_ITextRangeProvider::MoveEndpointByRange(Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint endpoint, const Windows::UI::Xaml::Automation::Provider::ITextRangeProvider & textRangeProvider, Windows::UI::Xaml::Automation::Text::TextPatternRangeEndpoint targetEndpoint) const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_MoveEndpointByRange(endpoint, get_abi(textRangeProvider), targetEndpoint)); +} + +template void impl_ITextRangeProvider::Select() const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_Select()); +} + +template void impl_ITextRangeProvider::AddToSelection() const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_AddToSelection()); +} + +template void impl_ITextRangeProvider::RemoveFromSelection() const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_RemoveFromSelection()); +} + +template void impl_ITextRangeProvider::ScrollIntoView(bool alignToTop) const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_ScrollIntoView(alignToTop)); +} + +template com_array impl_ITextRangeProvider::GetChildren() const +{ + com_array returnValue { nullptr }; + check_hresult(WINRT_SHIM(ITextRangeProvider)->abi_GetChildren(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextProvider::DocumentRange() const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider value; + check_hresult(WINRT_SHIM(ITextProvider)->get_DocumentRange(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::SupportedTextSelection impl_ITextProvider::SupportedTextSelection() const +{ + Windows::UI::Xaml::Automation::SupportedTextSelection value {}; + check_hresult(WINRT_SHIM(ITextProvider)->get_SupportedTextSelection(&value)); + return value; +} + +template com_array impl_ITextProvider::GetSelection() const +{ + com_array returnValue; + check_hresult(WINRT_SHIM(ITextProvider)->abi_GetSelection(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template com_array impl_ITextProvider::GetVisibleRanges() const +{ + com_array returnValue; + check_hresult(WINRT_SHIM(ITextProvider)->abi_GetVisibleRanges(impl::put_size_abi(returnValue), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextProvider::RangeFromChild(const Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple & childElement) const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextProvider)->abi_RangeFromChild(get_abi(childElement), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextProvider::RangeFromPoint(const Windows::Foundation::Point & screenLocation) const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextProvider)->abi_RangeFromPoint(get_abi(screenLocation), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextProvider2::RangeFromAnnotation(const Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple & annotationElement) const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextProvider2)->abi_RangeFromAnnotation(get_abi(annotationElement), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextProvider2::GetCaretRange(bool & isActive) const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextProvider2)->abi_GetCaretRange(&isActive, put_abi(returnValue))); + return returnValue; +} + +template void impl_ITextRangeProvider2::ShowContextMenu() const +{ + check_hresult(WINRT_SHIM(ITextRangeProvider2)->abi_ShowContextMenu()); +} + +template Windows::UI::Xaml::Automation::ToggleState impl_IToggleProvider::ToggleState() const +{ + Windows::UI::Xaml::Automation::ToggleState value {}; + check_hresult(WINRT_SHIM(IToggleProvider)->get_ToggleState(&value)); + return value; +} + +template void impl_IToggleProvider::Toggle() const +{ + check_hresult(WINRT_SHIM(IToggleProvider)->abi_Toggle()); +} + +template bool impl_ITransformProvider::CanMove() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITransformProvider)->get_CanMove(&value)); + return value; +} + +template bool impl_ITransformProvider::CanResize() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITransformProvider)->get_CanResize(&value)); + return value; +} + +template bool impl_ITransformProvider::CanRotate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITransformProvider)->get_CanRotate(&value)); + return value; +} + +template void impl_ITransformProvider::Move(double x, double y) const +{ + check_hresult(WINRT_SHIM(ITransformProvider)->abi_Move(x, y)); +} + +template void impl_ITransformProvider::Resize(double width, double height) const +{ + check_hresult(WINRT_SHIM(ITransformProvider)->abi_Resize(width, height)); +} + +template void impl_ITransformProvider::Rotate(double degrees) const +{ + check_hresult(WINRT_SHIM(ITransformProvider)->abi_Rotate(degrees)); +} + +template bool impl_ITransformProvider2::CanZoom() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITransformProvider2)->get_CanZoom(&value)); + return value; +} + +template double impl_ITransformProvider2::ZoomLevel() const +{ + double value {}; + check_hresult(WINRT_SHIM(ITransformProvider2)->get_ZoomLevel(&value)); + return value; +} + +template double impl_ITransformProvider2::MaxZoom() const +{ + double value {}; + check_hresult(WINRT_SHIM(ITransformProvider2)->get_MaxZoom(&value)); + return value; +} + +template double impl_ITransformProvider2::MinZoom() const +{ + double value {}; + check_hresult(WINRT_SHIM(ITransformProvider2)->get_MinZoom(&value)); + return value; +} + +template void impl_ITransformProvider2::Zoom(double zoom) const +{ + check_hresult(WINRT_SHIM(ITransformProvider2)->abi_Zoom(zoom)); +} + +template void impl_ITransformProvider2::ZoomByUnit(Windows::UI::Xaml::Automation::ZoomUnit zoomUnit) const +{ + check_hresult(WINRT_SHIM(ITransformProvider2)->abi_ZoomByUnit(zoomUnit)); +} + +template bool impl_IValueProvider::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IValueProvider)->get_IsReadOnly(&value)); + return value; +} + +template hstring impl_IValueProvider::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(IValueProvider)->get_Value(put_abi(value))); + return value; +} + +template void impl_IValueProvider::SetValue(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IValueProvider)->abi_SetValue(get_abi(value))); +} + +template void impl_IVirtualizedItemProvider::Realize() const +{ + check_hresult(WINRT_SHIM(IVirtualizedItemProvider)->abi_Realize()); +} + +template bool impl_IWindowProvider::IsModal() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWindowProvider)->get_IsModal(&value)); + return value; +} + +template bool impl_IWindowProvider::IsTopmost() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWindowProvider)->get_IsTopmost(&value)); + return value; +} + +template bool impl_IWindowProvider::Maximizable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWindowProvider)->get_Maximizable(&value)); + return value; +} + +template bool impl_IWindowProvider::Minimizable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWindowProvider)->get_Minimizable(&value)); + return value; +} + +template Windows::UI::Xaml::Automation::WindowInteractionState impl_IWindowProvider::InteractionState() const +{ + Windows::UI::Xaml::Automation::WindowInteractionState value {}; + check_hresult(WINRT_SHIM(IWindowProvider)->get_InteractionState(&value)); + return value; +} + +template Windows::UI::Xaml::Automation::WindowVisualState impl_IWindowProvider::VisualState() const +{ + Windows::UI::Xaml::Automation::WindowVisualState value {}; + check_hresult(WINRT_SHIM(IWindowProvider)->get_VisualState(&value)); + return value; +} + +template void impl_IWindowProvider::Close() const +{ + check_hresult(WINRT_SHIM(IWindowProvider)->abi_Close()); +} + +template void impl_IWindowProvider::SetVisualState(Windows::UI::Xaml::Automation::WindowVisualState state) const +{ + check_hresult(WINRT_SHIM(IWindowProvider)->abi_SetVisualState(state)); +} + +template bool impl_IWindowProvider::WaitForInputIdle(int32_t milliseconds) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IWindowProvider)->abi_WaitForInputIdle(milliseconds, &returnValue)); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_ICustomNavigationProvider::NavigateCustom(Windows::UI::Xaml::Automation::Peers::AutomationNavigationDirection direction) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(ICustomNavigationProvider)->abi_NavigateCustom(direction, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextEditProvider::GetActiveComposition() const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextEditProvider)->abi_GetActiveComposition(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Automation::Provider::ITextRangeProvider impl_ITextEditProvider::GetConversionTarget() const +{ + Windows::UI::Xaml::Automation::Provider::ITextRangeProvider returnValue; + check_hresult(WINRT_SHIM(ITextEditProvider)->abi_GetConversionTarget(put_abi(returnValue))); + return returnValue; +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IAnnotationProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ICustomNavigationProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IDockProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IDragProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IDropTargetProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IExpandCollapseProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IGridItemProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IGridProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IIRawElementProviderSimple & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IInvokeProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IItemContainerProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IMultipleViewProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IObjectModelProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IRangeValueProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IScrollItemProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IScrollProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ISelectionItemProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ISelectionProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ISpreadsheetItemProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ISpreadsheetProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IStylesProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ISynchronizedInputProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITableItemProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITableProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITextChildProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITextEditProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITextProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITextProvider2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITextRangeProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITextRangeProvider2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IToggleProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITransformProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::ITransformProvider2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IValueProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IVirtualizedItemProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IWindowProvider & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::Provider::IRawElementProviderSimple & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Text.h b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Text.h new file mode 100644 index 000000000..0ec69ef54 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.Text.h @@ -0,0 +1,20 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.Xaml.Automation.Text.3.h" +#include "Windows.UI.Xaml.Automation.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +} + +} + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.h b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.h new file mode 100644 index 000000000..dd34850cf --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Xaml.Automation.h @@ -0,0 +1,5982 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.UI.Xaml.3.h" +#include "internal/Windows.UI.Xaml.Automation.Peers.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Xaml.Automation.3.h" +#include "Windows.UI.Xaml.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AnnotationTypeIdProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationTypeIdProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AnnotationTypeNameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationTypeNameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AuthorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AuthorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateTimeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateTimeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Type(Windows::UI::Xaml::Automation::AnnotationType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Type()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Type(Windows::UI::Xaml::Automation::AnnotationType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Type(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Element(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Element()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Element(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Element(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(Windows::UI::Xaml::Automation::AnnotationType type, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(type)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateWithElementParameter(Windows::UI::Xaml::Automation::AnnotationType type, impl::abi_arg_in element, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateWithElementParameter(type, *reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AcceleratorKeyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceleratorKeyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccessKeyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccessKeyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutomationIdProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutomationIdProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BoundingRectangleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundingRectangleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClassNameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClassNameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClickablePointProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClickablePointProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasKeyboardFocusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasKeyboardFocusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HelpTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HelpTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsContentElementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContentElementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsControlElementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsControlElementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsKeyboardFocusableProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsKeyboardFocusableProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOffscreenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOffscreenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPasswordProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPasswordProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRequiredForFormProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRequiredForFormProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemStatusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemStatusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LabeledByProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabeledByProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalizedControlTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalizedControlTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LiveSettingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LiveSettingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ControlledPeersProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlledPeersProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PositionInSetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionInSetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SizeOfSetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeOfSetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LevelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LevelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AnnotationsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LandmarkTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LandmarkTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalizedLandmarkTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalizedLandmarkTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPeripheralProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPeripheralProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDataValidForFormProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDataValidForFormProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullDescriptionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullDescriptionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DescribedByProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DescribedByProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlowsToProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlowsToProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlowsFromProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlowsFromProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CultureProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CultureProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AcceleratorKeyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceleratorKeyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAcceleratorKey(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAcceleratorKey(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAcceleratorKey(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAcceleratorKey(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AccessKeyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccessKeyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessKey(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAccessKey(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAccessKey(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAccessKey(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutomationIdProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutomationIdProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAutomationId(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAutomationId(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAutomationId(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAutomationId(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HelpTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HelpTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHelpText(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetHelpText(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetHelpText(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHelpText(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRequiredForFormProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRequiredForFormProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsRequiredForForm(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIsRequiredForForm(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsRequiredForForm(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsRequiredForForm(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemStatusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemStatusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemStatus(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetItemStatus(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetItemStatus(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetItemStatus(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemType(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetItemType(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetItemType(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetItemType(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LabeledByProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabeledByProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLabeledBy(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLabeledBy(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLabeledBy(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLabeledBy(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetName(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetName(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetName(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetName(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LiveSettingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LiveSettingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLiveSetting(impl::abi_arg_in element, Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLiveSetting(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLiveSetting(impl::abi_arg_in element, Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLiveSetting(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AccessibilityViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AccessibilityViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAccessibilityView(impl::abi_arg_in element, Windows::UI::Xaml::Automation::Peers::AccessibilityView * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAccessibilityView(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAccessibilityView(impl::abi_arg_in element, Windows::UI::Xaml::Automation::Peers::AccessibilityView value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAccessibilityView(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ControlledPeersProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ControlledPeersProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetControlledPeers(impl::abi_arg_in element, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetControlledPeers(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PositionInSetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionInSetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPositionInSet(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPositionInSet(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPositionInSet(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPositionInSet(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SizeOfSetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SizeOfSetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSizeOfSet(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSizeOfSet(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSizeOfSet(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSizeOfSet(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LevelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LevelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLevel(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLevel(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLevel(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLevel(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AnnotationsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnnotationsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAnnotations(impl::abi_arg_in element, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAnnotations(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LandmarkTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LandmarkTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLandmarkType(impl::abi_arg_in element, Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLandmarkType(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLandmarkType(impl::abi_arg_in element, Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLandmarkType(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalizedLandmarkTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalizedLandmarkTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalizedLandmarkType(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLocalizedLandmarkType(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLocalizedLandmarkType(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLocalizedLandmarkType(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsPeripheralProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPeripheralProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsPeripheral(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIsPeripheral(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsPeripheral(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsPeripheral(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDataValidForFormProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDataValidForFormProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsDataValidForForm(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIsDataValidForForm(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsDataValidForForm(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsDataValidForForm(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullDescriptionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullDescriptionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFullDescription(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetFullDescription(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetFullDescription(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetFullDescription(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocalizedControlTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalizedControlTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocalizedControlType(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLocalizedControlType(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLocalizedControlType(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLocalizedControlType(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DescribedByProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DescribedByProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDescribedBy(impl::abi_arg_in element, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDescribedBy(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlowsToProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlowsToProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFlowsTo(impl::abi_arg_in element, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetFlowsTo(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlowsFromProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlowsFromProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetFlowsFrom(impl::abi_arg_in element, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetFlowsFrom(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CultureProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CultureProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetCulture(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetCulture(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetCulture(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetCulture(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DockPositionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DockPositionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DropEffectProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropEffectProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropEffectsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropEffectsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GrabbedItemsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GrabbedItemsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGrabbedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGrabbedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DropTargetEffectProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropTargetEffectProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropTargetEffectsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropTargetEffectsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExpandCollapseStateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExpandCollapseStateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ColumnProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColumnSpanProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnSpanProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainingGridProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainingGridProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowSpanProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowSpanProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ColumnCountProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnCountProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowCountProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowCountProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CurrentViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SupportedViewsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SupportedViewsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReadOnlyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnlyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LargeChangeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LargeChangeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimumProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmallChangeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmallChangeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValueProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValueProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontallyScrollableProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontallyScrollableProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalScrollPercentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalScrollPercentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalViewSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalViewSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NoScroll(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NoScroll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticallyScrollableProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticallyScrollableProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalScrollPercentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalScrollPercentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalViewSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalViewSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSelectedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelectedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionContainerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionContainerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanSelectMultipleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSelectMultipleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSelectionRequiredProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelectionRequiredProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FormulaProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FormulaProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExtendedPropertiesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtendedPropertiesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FillColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FillPatternColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillPatternColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FillPatternStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillPatternStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShapeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShapeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StyleIdProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StyleIdProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StyleNameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StyleNameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ColumnHeaderItemsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnHeaderItemsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowHeaderItemsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowHeaderItemsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ColumnHeadersProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnHeadersProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowHeadersProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowHeadersProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowOrColumnMajorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowOrColumnMajorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ToggleStateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleStateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanZoomProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanZoomProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxZoomProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxZoomProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinZoomProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinZoomProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanMoveProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMoveProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanResizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanResizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanRotateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanRotateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReadOnlyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnlyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValueProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValueProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanMaximizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMaximizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanMinimizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanMinimizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsModalProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsModalProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTopmostProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTopmostProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WindowInteractionStateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WindowInteractionStateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WindowVisualStateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WindowVisualStateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Xaml::Automation { + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAnnotationPatternIdentifiersStatics::AnnotationTypeIdProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAnnotationPatternIdentifiersStatics)->get_AnnotationTypeIdProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAnnotationPatternIdentifiersStatics::AnnotationTypeNameProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAnnotationPatternIdentifiersStatics)->get_AnnotationTypeNameProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAnnotationPatternIdentifiersStatics::AuthorProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAnnotationPatternIdentifiersStatics)->get_AuthorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAnnotationPatternIdentifiersStatics::DateTimeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAnnotationPatternIdentifiersStatics)->get_DateTimeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAnnotationPatternIdentifiersStatics::TargetProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAnnotationPatternIdentifiersStatics)->get_TargetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::AcceleratorKeyProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_AcceleratorKeyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::AccessKeyProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_AccessKeyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::AutomationIdProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_AutomationIdProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::BoundingRectangleProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_BoundingRectangleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::ClassNameProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_ClassNameProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::ClickablePointProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_ClickablePointProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::ControlTypeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_ControlTypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::HasKeyboardFocusProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_HasKeyboardFocusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::HelpTextProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_HelpTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::IsContentElementProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_IsContentElementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::IsControlElementProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_IsControlElementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::IsEnabledProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_IsEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::IsKeyboardFocusableProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_IsKeyboardFocusableProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::IsOffscreenProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_IsOffscreenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::IsPasswordProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_IsPasswordProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::IsRequiredForFormProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_IsRequiredForFormProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::ItemStatusProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_ItemStatusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::ItemTypeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_ItemTypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::LabeledByProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_LabeledByProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::LocalizedControlTypeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_LocalizedControlTypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::NameProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_NameProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::OrientationProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics::LiveSettingProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics)->get_LiveSettingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics2::ControlledPeersProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics2)->get_ControlledPeersProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics3::PositionInSetProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics3)->get_PositionInSetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics3::SizeOfSetProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics3)->get_SizeOfSetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics3::LevelProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics3)->get_LevelProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics3::AnnotationsProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics3)->get_AnnotationsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics4::LandmarkTypeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics4)->get_LandmarkTypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics4::LocalizedLandmarkTypeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics4)->get_LocalizedLandmarkTypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics5::IsPeripheralProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics5)->get_IsPeripheralProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics5::IsDataValidForFormProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics5)->get_IsDataValidForFormProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics5::FullDescriptionProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics5)->get_FullDescriptionProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics5::DescribedByProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics5)->get_DescribedByProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics5::FlowsToProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics5)->get_FlowsToProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics5::FlowsFromProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics5)->get_FlowsFromProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IAutomationElementIdentifiersStatics6::CultureProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationElementIdentifiersStatics6)->get_CultureProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::AcceleratorKeyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_AcceleratorKeyProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics::GetAcceleratorKey(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetAcceleratorKey(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetAcceleratorKey(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetAcceleratorKey(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::AccessKeyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_AccessKeyProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics::GetAccessKey(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetAccessKey(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetAccessKey(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetAccessKey(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::AutomationIdProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_AutomationIdProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics::GetAutomationId(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetAutomationId(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetAutomationId(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetAutomationId(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::HelpTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_HelpTextProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics::GetHelpText(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetHelpText(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetHelpText(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetHelpText(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::IsRequiredForFormProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_IsRequiredForFormProperty(put_abi(value))); + return value; +} + +template bool impl_IAutomationPropertiesStatics::GetIsRequiredForForm(const Windows::UI::Xaml::DependencyObject & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetIsRequiredForForm(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetIsRequiredForForm(const Windows::UI::Xaml::DependencyObject & element, bool value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetIsRequiredForForm(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::ItemStatusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_ItemStatusProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics::GetItemStatus(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetItemStatus(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetItemStatus(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetItemStatus(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::ItemTypeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_ItemTypeProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics::GetItemType(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetItemType(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetItemType(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetItemType(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::LabeledByProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_LabeledByProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::UIElement impl_IAutomationPropertiesStatics::GetLabeledBy(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetLabeledBy(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetLabeledBy(const Windows::UI::Xaml::DependencyObject & element, const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetLabeledBy(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::NameProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_NameProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics::GetName(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetName(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetName(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetName(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics::LiveSettingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->get_LiveSettingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting impl_IAutomationPropertiesStatics::GetLiveSetting(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_GetLiveSetting(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics::SetLiveSetting(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics)->abi_SetLiveSetting(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics2::AccessibilityViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics2)->get_AccessibilityViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Peers::AccessibilityView impl_IAutomationPropertiesStatics2::GetAccessibilityView(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::Automation::Peers::AccessibilityView value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics2)->abi_GetAccessibilityView(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics2::SetAccessibilityView(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Automation::Peers::AccessibilityView value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics2)->abi_SetAccessibilityView(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics2::ControlledPeersProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics2)->get_ControlledPeersProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPropertiesStatics2::GetControlledPeers(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics2)->abi_GetControlledPeers(get_abi(element), put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics3::PositionInSetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->get_PositionInSetProperty(put_abi(value))); + return value; +} + +template int32_t impl_IAutomationPropertiesStatics3::GetPositionInSet(const Windows::UI::Xaml::DependencyObject & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->abi_GetPositionInSet(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics3::SetPositionInSet(const Windows::UI::Xaml::DependencyObject & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->abi_SetPositionInSet(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics3::SizeOfSetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->get_SizeOfSetProperty(put_abi(value))); + return value; +} + +template int32_t impl_IAutomationPropertiesStatics3::GetSizeOfSet(const Windows::UI::Xaml::DependencyObject & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->abi_GetSizeOfSet(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics3::SetSizeOfSet(const Windows::UI::Xaml::DependencyObject & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->abi_SetSizeOfSet(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics3::LevelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->get_LevelProperty(put_abi(value))); + return value; +} + +template int32_t impl_IAutomationPropertiesStatics3::GetLevel(const Windows::UI::Xaml::DependencyObject & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->abi_GetLevel(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics3::SetLevel(const Windows::UI::Xaml::DependencyObject & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->abi_SetLevel(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics3::AnnotationsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->get_AnnotationsProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPropertiesStatics3::GetAnnotations(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics3)->abi_GetAnnotations(get_abi(element), put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics4::LandmarkTypeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics4)->get_LandmarkTypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType impl_IAutomationPropertiesStatics4::GetLandmarkType(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics4)->abi_GetLandmarkType(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics4::SetLandmarkType(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics4)->abi_SetLandmarkType(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics4::LocalizedLandmarkTypeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics4)->get_LocalizedLandmarkTypeProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics4::GetLocalizedLandmarkType(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics4)->abi_GetLocalizedLandmarkType(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics4::SetLocalizedLandmarkType(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics4)->abi_SetLocalizedLandmarkType(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics5::IsPeripheralProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->get_IsPeripheralProperty(put_abi(value))); + return value; +} + +template bool impl_IAutomationPropertiesStatics5::GetIsPeripheral(const Windows::UI::Xaml::DependencyObject & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_GetIsPeripheral(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics5::SetIsPeripheral(const Windows::UI::Xaml::DependencyObject & element, bool value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_SetIsPeripheral(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics5::IsDataValidForFormProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->get_IsDataValidForFormProperty(put_abi(value))); + return value; +} + +template bool impl_IAutomationPropertiesStatics5::GetIsDataValidForForm(const Windows::UI::Xaml::DependencyObject & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_GetIsDataValidForForm(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics5::SetIsDataValidForForm(const Windows::UI::Xaml::DependencyObject & element, bool value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_SetIsDataValidForForm(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics5::FullDescriptionProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->get_FullDescriptionProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics5::GetFullDescription(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_GetFullDescription(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics5::SetFullDescription(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_SetFullDescription(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics5::LocalizedControlTypeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->get_LocalizedControlTypeProperty(put_abi(value))); + return value; +} + +template hstring impl_IAutomationPropertiesStatics5::GetLocalizedControlType(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_GetLocalizedControlType(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IAutomationPropertiesStatics5::SetLocalizedControlType(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_SetLocalizedControlType(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics5::DescribedByProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->get_DescribedByProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPropertiesStatics5::GetDescribedBy(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_GetDescribedBy(get_abi(element), put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics5::FlowsToProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->get_FlowsToProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPropertiesStatics5::GetFlowsTo(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_GetFlowsTo(get_abi(element), put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics5::FlowsFromProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->get_FlowsFromProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IAutomationPropertiesStatics5::GetFlowsFrom(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics5)->abi_GetFlowsFrom(get_abi(element), put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationPropertiesStatics6::CultureProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics6)->get_CultureProperty(put_abi(value))); + return value; +} + +template int32_t impl_IAutomationPropertiesStatics6::GetCulture(const Windows::UI::Xaml::DependencyObject & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics6)->abi_GetCulture(get_abi(element), &value)); + return value; +} + +template void impl_IAutomationPropertiesStatics6::SetCulture(const Windows::UI::Xaml::DependencyObject & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IAutomationPropertiesStatics6)->abi_SetCulture(get_abi(element), value)); +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IDockPatternIdentifiersStatics::DockPositionProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDockPatternIdentifiersStatics)->get_DockPositionProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IDragPatternIdentifiersStatics::DropEffectProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDragPatternIdentifiersStatics)->get_DropEffectProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IDragPatternIdentifiersStatics::DropEffectsProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDragPatternIdentifiersStatics)->get_DropEffectsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IDragPatternIdentifiersStatics::GrabbedItemsProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDragPatternIdentifiersStatics)->get_GrabbedItemsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IDragPatternIdentifiersStatics::IsGrabbedProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDragPatternIdentifiersStatics)->get_IsGrabbedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IDropTargetPatternIdentifiersStatics::DropTargetEffectProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDropTargetPatternIdentifiersStatics)->get_DropTargetEffectProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IDropTargetPatternIdentifiersStatics::DropTargetEffectsProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDropTargetPatternIdentifiersStatics)->get_DropTargetEffectsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IExpandCollapsePatternIdentifiersStatics::ExpandCollapseStateProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IExpandCollapsePatternIdentifiersStatics)->get_ExpandCollapseStateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IGridItemPatternIdentifiersStatics::ColumnProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridItemPatternIdentifiersStatics)->get_ColumnProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IGridItemPatternIdentifiersStatics::ColumnSpanProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridItemPatternIdentifiersStatics)->get_ColumnSpanProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IGridItemPatternIdentifiersStatics::ContainingGridProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridItemPatternIdentifiersStatics)->get_ContainingGridProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IGridItemPatternIdentifiersStatics::RowProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridItemPatternIdentifiersStatics)->get_RowProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IGridItemPatternIdentifiersStatics::RowSpanProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridItemPatternIdentifiersStatics)->get_RowSpanProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IGridPatternIdentifiersStatics::ColumnCountProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridPatternIdentifiersStatics)->get_ColumnCountProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IGridPatternIdentifiersStatics::RowCountProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridPatternIdentifiersStatics)->get_RowCountProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IMultipleViewPatternIdentifiersStatics::CurrentViewProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMultipleViewPatternIdentifiersStatics)->get_CurrentViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IMultipleViewPatternIdentifiersStatics::SupportedViewsProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMultipleViewPatternIdentifiersStatics)->get_SupportedViewsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IRangeValuePatternIdentifiersStatics::IsReadOnlyProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeValuePatternIdentifiersStatics)->get_IsReadOnlyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IRangeValuePatternIdentifiersStatics::LargeChangeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeValuePatternIdentifiersStatics)->get_LargeChangeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IRangeValuePatternIdentifiersStatics::MaximumProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeValuePatternIdentifiersStatics)->get_MaximumProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IRangeValuePatternIdentifiersStatics::MinimumProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeValuePatternIdentifiersStatics)->get_MinimumProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IRangeValuePatternIdentifiersStatics::SmallChangeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeValuePatternIdentifiersStatics)->get_SmallChangeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IRangeValuePatternIdentifiersStatics::ValueProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeValuePatternIdentifiersStatics)->get_ValueProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IScrollPatternIdentifiersStatics::HorizontallyScrollableProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollPatternIdentifiersStatics)->get_HorizontallyScrollableProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IScrollPatternIdentifiersStatics::HorizontalScrollPercentProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollPatternIdentifiersStatics)->get_HorizontalScrollPercentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IScrollPatternIdentifiersStatics::HorizontalViewSizeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollPatternIdentifiersStatics)->get_HorizontalViewSizeProperty(put_abi(value))); + return value; +} + +template double impl_IScrollPatternIdentifiersStatics::NoScroll() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollPatternIdentifiersStatics)->get_NoScroll(&value)); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IScrollPatternIdentifiersStatics::VerticallyScrollableProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollPatternIdentifiersStatics)->get_VerticallyScrollableProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IScrollPatternIdentifiersStatics::VerticalScrollPercentProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollPatternIdentifiersStatics)->get_VerticalScrollPercentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IScrollPatternIdentifiersStatics::VerticalViewSizeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollPatternIdentifiersStatics)->get_VerticalViewSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ISelectionItemPatternIdentifiersStatics::IsSelectedProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectionItemPatternIdentifiersStatics)->get_IsSelectedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ISelectionItemPatternIdentifiersStatics::SelectionContainerProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectionItemPatternIdentifiersStatics)->get_SelectionContainerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ISelectionPatternIdentifiersStatics::CanSelectMultipleProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectionPatternIdentifiersStatics)->get_CanSelectMultipleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ISelectionPatternIdentifiersStatics::IsSelectionRequiredProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectionPatternIdentifiersStatics)->get_IsSelectionRequiredProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ISelectionPatternIdentifiersStatics::SelectionProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectionPatternIdentifiersStatics)->get_SelectionProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ISpreadsheetItemPatternIdentifiersStatics::FormulaProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISpreadsheetItemPatternIdentifiersStatics)->get_FormulaProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IStylesPatternIdentifiersStatics::ExtendedPropertiesProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStylesPatternIdentifiersStatics)->get_ExtendedPropertiesProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IStylesPatternIdentifiersStatics::FillColorProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStylesPatternIdentifiersStatics)->get_FillColorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IStylesPatternIdentifiersStatics::FillPatternColorProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStylesPatternIdentifiersStatics)->get_FillPatternColorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IStylesPatternIdentifiersStatics::FillPatternStyleProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStylesPatternIdentifiersStatics)->get_FillPatternStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IStylesPatternIdentifiersStatics::ShapeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStylesPatternIdentifiersStatics)->get_ShapeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IStylesPatternIdentifiersStatics::StyleIdProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStylesPatternIdentifiersStatics)->get_StyleIdProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IStylesPatternIdentifiersStatics::StyleNameProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStylesPatternIdentifiersStatics)->get_StyleNameProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITableItemPatternIdentifiersStatics::ColumnHeaderItemsProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITableItemPatternIdentifiersStatics)->get_ColumnHeaderItemsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITableItemPatternIdentifiersStatics::RowHeaderItemsProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITableItemPatternIdentifiersStatics)->get_RowHeaderItemsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITablePatternIdentifiersStatics::ColumnHeadersProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITablePatternIdentifiersStatics)->get_ColumnHeadersProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITablePatternIdentifiersStatics::RowHeadersProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITablePatternIdentifiersStatics)->get_RowHeadersProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITablePatternIdentifiersStatics::RowOrColumnMajorProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITablePatternIdentifiersStatics)->get_RowOrColumnMajorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITogglePatternIdentifiersStatics::ToggleStateProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITogglePatternIdentifiersStatics)->get_ToggleStateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITransformPattern2IdentifiersStatics::CanZoomProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITransformPattern2IdentifiersStatics)->get_CanZoomProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITransformPattern2IdentifiersStatics::ZoomLevelProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITransformPattern2IdentifiersStatics)->get_ZoomLevelProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITransformPattern2IdentifiersStatics::MaxZoomProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITransformPattern2IdentifiersStatics)->get_MaxZoomProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITransformPattern2IdentifiersStatics::MinZoomProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITransformPattern2IdentifiersStatics)->get_MinZoomProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITransformPatternIdentifiersStatics::CanMoveProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITransformPatternIdentifiersStatics)->get_CanMoveProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITransformPatternIdentifiersStatics::CanResizeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITransformPatternIdentifiersStatics)->get_CanResizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_ITransformPatternIdentifiersStatics::CanRotateProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITransformPatternIdentifiersStatics)->get_CanRotateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IValuePatternIdentifiersStatics::IsReadOnlyProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IValuePatternIdentifiersStatics)->get_IsReadOnlyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IValuePatternIdentifiersStatics::ValueProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IValuePatternIdentifiersStatics)->get_ValueProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IWindowPatternIdentifiersStatics::CanMaximizeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWindowPatternIdentifiersStatics)->get_CanMaximizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IWindowPatternIdentifiersStatics::CanMinimizeProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWindowPatternIdentifiersStatics)->get_CanMinimizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IWindowPatternIdentifiersStatics::IsModalProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWindowPatternIdentifiersStatics)->get_IsModalProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IWindowPatternIdentifiersStatics::IsTopmostProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWindowPatternIdentifiersStatics)->get_IsTopmostProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IWindowPatternIdentifiersStatics::WindowInteractionStateProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWindowPatternIdentifiersStatics)->get_WindowInteractionStateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationProperty impl_IWindowPatternIdentifiersStatics::WindowVisualStateProperty() const +{ + Windows::UI::Xaml::Automation::AutomationProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWindowPatternIdentifiersStatics)->get_WindowVisualStateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AnnotationType impl_IAutomationAnnotation::Type() const +{ + Windows::UI::Xaml::Automation::AnnotationType value {}; + check_hresult(WINRT_SHIM(IAutomationAnnotation)->get_Type(&value)); + return value; +} + +template void impl_IAutomationAnnotation::Type(Windows::UI::Xaml::Automation::AnnotationType value) const +{ + check_hresult(WINRT_SHIM(IAutomationAnnotation)->put_Type(value)); +} + +template Windows::UI::Xaml::UIElement impl_IAutomationAnnotation::Element() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationAnnotation)->get_Element(put_abi(value))); + return value; +} + +template void impl_IAutomationAnnotation::Element(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IAutomationAnnotation)->put_Element(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationAnnotationStatics::TypeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationAnnotationStatics)->get_TypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutomationAnnotationStatics::ElementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutomationAnnotationStatics)->get_ElementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Automation::AutomationAnnotation impl_IAutomationAnnotationFactory::CreateInstance(Windows::UI::Xaml::Automation::AnnotationType type) const +{ + Windows::UI::Xaml::Automation::AutomationAnnotation instance { nullptr }; + check_hresult(WINRT_SHIM(IAutomationAnnotationFactory)->abi_CreateInstance(type, put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Automation::AutomationAnnotation impl_IAutomationAnnotationFactory::CreateWithElementParameter(Windows::UI::Xaml::Automation::AnnotationType type, const Windows::UI::Xaml::UIElement & element) const +{ + Windows::UI::Xaml::Automation::AutomationAnnotation instance { nullptr }; + check_hresult(WINRT_SHIM(IAutomationAnnotationFactory)->abi_CreateWithElementParameter(type, get_abi(element), put_abi(instance))); + return instance; +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AnnotationPatternIdentifiers::AnnotationTypeIdProperty() +{ + return get_activation_factory().AnnotationTypeIdProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AnnotationPatternIdentifiers::AnnotationTypeNameProperty() +{ + return get_activation_factory().AnnotationTypeNameProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AnnotationPatternIdentifiers::AuthorProperty() +{ + return get_activation_factory().AuthorProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AnnotationPatternIdentifiers::DateTimeProperty() +{ + return get_activation_factory().DateTimeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AnnotationPatternIdentifiers::TargetProperty() +{ + return get_activation_factory().TargetProperty(); +} + +inline AutomationAnnotation::AutomationAnnotation() : + AutomationAnnotation(activate_instance()) +{} + +inline AutomationAnnotation::AutomationAnnotation(Windows::UI::Xaml::Automation::AnnotationType type) : + AutomationAnnotation(get_activation_factory().CreateInstance(type)) +{} + +inline AutomationAnnotation::AutomationAnnotation(Windows::UI::Xaml::Automation::AnnotationType type, const Windows::UI::Xaml::UIElement & element) : + AutomationAnnotation(get_activation_factory().CreateWithElementParameter(type, element)) +{} + +inline Windows::UI::Xaml::DependencyProperty AutomationAnnotation::TypeProperty() +{ + return get_activation_factory().TypeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationAnnotation::ElementProperty() +{ + return get_activation_factory().ElementProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::AcceleratorKeyProperty() +{ + return get_activation_factory().AcceleratorKeyProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::AccessKeyProperty() +{ + return get_activation_factory().AccessKeyProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::AutomationIdProperty() +{ + return get_activation_factory().AutomationIdProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::BoundingRectangleProperty() +{ + return get_activation_factory().BoundingRectangleProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::ClassNameProperty() +{ + return get_activation_factory().ClassNameProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::ClickablePointProperty() +{ + return get_activation_factory().ClickablePointProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::ControlTypeProperty() +{ + return get_activation_factory().ControlTypeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::HasKeyboardFocusProperty() +{ + return get_activation_factory().HasKeyboardFocusProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::HelpTextProperty() +{ + return get_activation_factory().HelpTextProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsContentElementProperty() +{ + return get_activation_factory().IsContentElementProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsControlElementProperty() +{ + return get_activation_factory().IsControlElementProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsEnabledProperty() +{ + return get_activation_factory().IsEnabledProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsKeyboardFocusableProperty() +{ + return get_activation_factory().IsKeyboardFocusableProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsOffscreenProperty() +{ + return get_activation_factory().IsOffscreenProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsPasswordProperty() +{ + return get_activation_factory().IsPasswordProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsRequiredForFormProperty() +{ + return get_activation_factory().IsRequiredForFormProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::ItemStatusProperty() +{ + return get_activation_factory().ItemStatusProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::ItemTypeProperty() +{ + return get_activation_factory().ItemTypeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::LabeledByProperty() +{ + return get_activation_factory().LabeledByProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::LocalizedControlTypeProperty() +{ + return get_activation_factory().LocalizedControlTypeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::NameProperty() +{ + return get_activation_factory().NameProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::OrientationProperty() +{ + return get_activation_factory().OrientationProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::LiveSettingProperty() +{ + return get_activation_factory().LiveSettingProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::ControlledPeersProperty() +{ + return get_activation_factory().ControlledPeersProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::PositionInSetProperty() +{ + return get_activation_factory().PositionInSetProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::SizeOfSetProperty() +{ + return get_activation_factory().SizeOfSetProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::LevelProperty() +{ + return get_activation_factory().LevelProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::AnnotationsProperty() +{ + return get_activation_factory().AnnotationsProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::LandmarkTypeProperty() +{ + return get_activation_factory().LandmarkTypeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::LocalizedLandmarkTypeProperty() +{ + return get_activation_factory().LocalizedLandmarkTypeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsPeripheralProperty() +{ + return get_activation_factory().IsPeripheralProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::IsDataValidForFormProperty() +{ + return get_activation_factory().IsDataValidForFormProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::FullDescriptionProperty() +{ + return get_activation_factory().FullDescriptionProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::DescribedByProperty() +{ + return get_activation_factory().DescribedByProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::FlowsToProperty() +{ + return get_activation_factory().FlowsToProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::FlowsFromProperty() +{ + return get_activation_factory().FlowsFromProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty AutomationElementIdentifiers::CultureProperty() +{ + return get_activation_factory().CultureProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::AcceleratorKeyProperty() +{ + return get_activation_factory().AcceleratorKeyProperty(); +} + +inline hstring AutomationProperties::GetAcceleratorKey(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetAcceleratorKey(element); +} + +inline void AutomationProperties::SetAcceleratorKey(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetAcceleratorKey(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::AccessKeyProperty() +{ + return get_activation_factory().AccessKeyProperty(); +} + +inline hstring AutomationProperties::GetAccessKey(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetAccessKey(element); +} + +inline void AutomationProperties::SetAccessKey(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetAccessKey(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::AutomationIdProperty() +{ + return get_activation_factory().AutomationIdProperty(); +} + +inline hstring AutomationProperties::GetAutomationId(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetAutomationId(element); +} + +inline void AutomationProperties::SetAutomationId(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetAutomationId(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::HelpTextProperty() +{ + return get_activation_factory().HelpTextProperty(); +} + +inline hstring AutomationProperties::GetHelpText(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetHelpText(element); +} + +inline void AutomationProperties::SetHelpText(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetHelpText(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::IsRequiredForFormProperty() +{ + return get_activation_factory().IsRequiredForFormProperty(); +} + +inline bool AutomationProperties::GetIsRequiredForForm(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetIsRequiredForForm(element); +} + +inline void AutomationProperties::SetIsRequiredForForm(const Windows::UI::Xaml::DependencyObject & element, bool value) +{ + get_activation_factory().SetIsRequiredForForm(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::ItemStatusProperty() +{ + return get_activation_factory().ItemStatusProperty(); +} + +inline hstring AutomationProperties::GetItemStatus(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetItemStatus(element); +} + +inline void AutomationProperties::SetItemStatus(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetItemStatus(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::ItemTypeProperty() +{ + return get_activation_factory().ItemTypeProperty(); +} + +inline hstring AutomationProperties::GetItemType(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetItemType(element); +} + +inline void AutomationProperties::SetItemType(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetItemType(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::LabeledByProperty() +{ + return get_activation_factory().LabeledByProperty(); +} + +inline Windows::UI::Xaml::UIElement AutomationProperties::GetLabeledBy(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetLabeledBy(element); +} + +inline void AutomationProperties::SetLabeledBy(const Windows::UI::Xaml::DependencyObject & element, const Windows::UI::Xaml::UIElement & value) +{ + get_activation_factory().SetLabeledBy(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::NameProperty() +{ + return get_activation_factory().NameProperty(); +} + +inline hstring AutomationProperties::GetName(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetName(element); +} + +inline void AutomationProperties::SetName(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetName(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::LiveSettingProperty() +{ + return get_activation_factory().LiveSettingProperty(); +} + +inline Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting AutomationProperties::GetLiveSetting(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetLiveSetting(element); +} + +inline void AutomationProperties::SetLiveSetting(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Automation::Peers::AutomationLiveSetting value) +{ + get_activation_factory().SetLiveSetting(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::AccessibilityViewProperty() +{ + return get_activation_factory().AccessibilityViewProperty(); +} + +inline Windows::UI::Xaml::Automation::Peers::AccessibilityView AutomationProperties::GetAccessibilityView(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetAccessibilityView(element); +} + +inline void AutomationProperties::SetAccessibilityView(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Automation::Peers::AccessibilityView value) +{ + get_activation_factory().SetAccessibilityView(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::ControlledPeersProperty() +{ + return get_activation_factory().ControlledPeersProperty(); +} + +inline Windows::Foundation::Collections::IVector AutomationProperties::GetControlledPeers(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetControlledPeers(element); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::PositionInSetProperty() +{ + return get_activation_factory().PositionInSetProperty(); +} + +inline int32_t AutomationProperties::GetPositionInSet(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetPositionInSet(element); +} + +inline void AutomationProperties::SetPositionInSet(const Windows::UI::Xaml::DependencyObject & element, int32_t value) +{ + get_activation_factory().SetPositionInSet(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::SizeOfSetProperty() +{ + return get_activation_factory().SizeOfSetProperty(); +} + +inline int32_t AutomationProperties::GetSizeOfSet(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetSizeOfSet(element); +} + +inline void AutomationProperties::SetSizeOfSet(const Windows::UI::Xaml::DependencyObject & element, int32_t value) +{ + get_activation_factory().SetSizeOfSet(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::LevelProperty() +{ + return get_activation_factory().LevelProperty(); +} + +inline int32_t AutomationProperties::GetLevel(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetLevel(element); +} + +inline void AutomationProperties::SetLevel(const Windows::UI::Xaml::DependencyObject & element, int32_t value) +{ + get_activation_factory().SetLevel(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::AnnotationsProperty() +{ + return get_activation_factory().AnnotationsProperty(); +} + +inline Windows::Foundation::Collections::IVector AutomationProperties::GetAnnotations(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetAnnotations(element); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::LandmarkTypeProperty() +{ + return get_activation_factory().LandmarkTypeProperty(); +} + +inline Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType AutomationProperties::GetLandmarkType(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetLandmarkType(element); +} + +inline void AutomationProperties::SetLandmarkType(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Automation::Peers::AutomationLandmarkType value) +{ + get_activation_factory().SetLandmarkType(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::LocalizedLandmarkTypeProperty() +{ + return get_activation_factory().LocalizedLandmarkTypeProperty(); +} + +inline hstring AutomationProperties::GetLocalizedLandmarkType(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetLocalizedLandmarkType(element); +} + +inline void AutomationProperties::SetLocalizedLandmarkType(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetLocalizedLandmarkType(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::IsPeripheralProperty() +{ + return get_activation_factory().IsPeripheralProperty(); +} + +inline bool AutomationProperties::GetIsPeripheral(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetIsPeripheral(element); +} + +inline void AutomationProperties::SetIsPeripheral(const Windows::UI::Xaml::DependencyObject & element, bool value) +{ + get_activation_factory().SetIsPeripheral(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::IsDataValidForFormProperty() +{ + return get_activation_factory().IsDataValidForFormProperty(); +} + +inline bool AutomationProperties::GetIsDataValidForForm(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetIsDataValidForForm(element); +} + +inline void AutomationProperties::SetIsDataValidForForm(const Windows::UI::Xaml::DependencyObject & element, bool value) +{ + get_activation_factory().SetIsDataValidForForm(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::FullDescriptionProperty() +{ + return get_activation_factory().FullDescriptionProperty(); +} + +inline hstring AutomationProperties::GetFullDescription(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetFullDescription(element); +} + +inline void AutomationProperties::SetFullDescription(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetFullDescription(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::LocalizedControlTypeProperty() +{ + return get_activation_factory().LocalizedControlTypeProperty(); +} + +inline hstring AutomationProperties::GetLocalizedControlType(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetLocalizedControlType(element); +} + +inline void AutomationProperties::SetLocalizedControlType(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetLocalizedControlType(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::DescribedByProperty() +{ + return get_activation_factory().DescribedByProperty(); +} + +inline Windows::Foundation::Collections::IVector AutomationProperties::GetDescribedBy(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetDescribedBy(element); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::FlowsToProperty() +{ + return get_activation_factory().FlowsToProperty(); +} + +inline Windows::Foundation::Collections::IVector AutomationProperties::GetFlowsTo(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetFlowsTo(element); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::FlowsFromProperty() +{ + return get_activation_factory().FlowsFromProperty(); +} + +inline Windows::Foundation::Collections::IVector AutomationProperties::GetFlowsFrom(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetFlowsFrom(element); +} + +inline Windows::UI::Xaml::DependencyProperty AutomationProperties::CultureProperty() +{ + return get_activation_factory().CultureProperty(); +} + +inline int32_t AutomationProperties::GetCulture(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetCulture(element); +} + +inline void AutomationProperties::SetCulture(const Windows::UI::Xaml::DependencyObject & element, int32_t value) +{ + get_activation_factory().SetCulture(element, value); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty DockPatternIdentifiers::DockPositionProperty() +{ + return get_activation_factory().DockPositionProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty DragPatternIdentifiers::DropEffectProperty() +{ + return get_activation_factory().DropEffectProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty DragPatternIdentifiers::DropEffectsProperty() +{ + return get_activation_factory().DropEffectsProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty DragPatternIdentifiers::GrabbedItemsProperty() +{ + return get_activation_factory().GrabbedItemsProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty DragPatternIdentifiers::IsGrabbedProperty() +{ + return get_activation_factory().IsGrabbedProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty DropTargetPatternIdentifiers::DropTargetEffectProperty() +{ + return get_activation_factory().DropTargetEffectProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty DropTargetPatternIdentifiers::DropTargetEffectsProperty() +{ + return get_activation_factory().DropTargetEffectsProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ExpandCollapsePatternIdentifiers::ExpandCollapseStateProperty() +{ + return get_activation_factory().ExpandCollapseStateProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty GridItemPatternIdentifiers::ColumnProperty() +{ + return get_activation_factory().ColumnProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty GridItemPatternIdentifiers::ColumnSpanProperty() +{ + return get_activation_factory().ColumnSpanProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty GridItemPatternIdentifiers::ContainingGridProperty() +{ + return get_activation_factory().ContainingGridProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty GridItemPatternIdentifiers::RowProperty() +{ + return get_activation_factory().RowProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty GridItemPatternIdentifiers::RowSpanProperty() +{ + return get_activation_factory().RowSpanProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty GridPatternIdentifiers::ColumnCountProperty() +{ + return get_activation_factory().ColumnCountProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty GridPatternIdentifiers::RowCountProperty() +{ + return get_activation_factory().RowCountProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty MultipleViewPatternIdentifiers::CurrentViewProperty() +{ + return get_activation_factory().CurrentViewProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty MultipleViewPatternIdentifiers::SupportedViewsProperty() +{ + return get_activation_factory().SupportedViewsProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty RangeValuePatternIdentifiers::IsReadOnlyProperty() +{ + return get_activation_factory().IsReadOnlyProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty RangeValuePatternIdentifiers::LargeChangeProperty() +{ + return get_activation_factory().LargeChangeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty RangeValuePatternIdentifiers::MaximumProperty() +{ + return get_activation_factory().MaximumProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty RangeValuePatternIdentifiers::MinimumProperty() +{ + return get_activation_factory().MinimumProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty RangeValuePatternIdentifiers::SmallChangeProperty() +{ + return get_activation_factory().SmallChangeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty RangeValuePatternIdentifiers::ValueProperty() +{ + return get_activation_factory().ValueProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ScrollPatternIdentifiers::HorizontallyScrollableProperty() +{ + return get_activation_factory().HorizontallyScrollableProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ScrollPatternIdentifiers::HorizontalScrollPercentProperty() +{ + return get_activation_factory().HorizontalScrollPercentProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ScrollPatternIdentifiers::HorizontalViewSizeProperty() +{ + return get_activation_factory().HorizontalViewSizeProperty(); +} + +inline double ScrollPatternIdentifiers::NoScroll() +{ + return get_activation_factory().NoScroll(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ScrollPatternIdentifiers::VerticallyScrollableProperty() +{ + return get_activation_factory().VerticallyScrollableProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ScrollPatternIdentifiers::VerticalScrollPercentProperty() +{ + return get_activation_factory().VerticalScrollPercentProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ScrollPatternIdentifiers::VerticalViewSizeProperty() +{ + return get_activation_factory().VerticalViewSizeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty SelectionItemPatternIdentifiers::IsSelectedProperty() +{ + return get_activation_factory().IsSelectedProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty SelectionItemPatternIdentifiers::SelectionContainerProperty() +{ + return get_activation_factory().SelectionContainerProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty SelectionPatternIdentifiers::CanSelectMultipleProperty() +{ + return get_activation_factory().CanSelectMultipleProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty SelectionPatternIdentifiers::IsSelectionRequiredProperty() +{ + return get_activation_factory().IsSelectionRequiredProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty SelectionPatternIdentifiers::SelectionProperty() +{ + return get_activation_factory().SelectionProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty SpreadsheetItemPatternIdentifiers::FormulaProperty() +{ + return get_activation_factory().FormulaProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty StylesPatternIdentifiers::ExtendedPropertiesProperty() +{ + return get_activation_factory().ExtendedPropertiesProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty StylesPatternIdentifiers::FillColorProperty() +{ + return get_activation_factory().FillColorProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty StylesPatternIdentifiers::FillPatternColorProperty() +{ + return get_activation_factory().FillPatternColorProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty StylesPatternIdentifiers::FillPatternStyleProperty() +{ + return get_activation_factory().FillPatternStyleProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty StylesPatternIdentifiers::ShapeProperty() +{ + return get_activation_factory().ShapeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty StylesPatternIdentifiers::StyleIdProperty() +{ + return get_activation_factory().StyleIdProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty StylesPatternIdentifiers::StyleNameProperty() +{ + return get_activation_factory().StyleNameProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TableItemPatternIdentifiers::ColumnHeaderItemsProperty() +{ + return get_activation_factory().ColumnHeaderItemsProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TableItemPatternIdentifiers::RowHeaderItemsProperty() +{ + return get_activation_factory().RowHeaderItemsProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TablePatternIdentifiers::ColumnHeadersProperty() +{ + return get_activation_factory().ColumnHeadersProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TablePatternIdentifiers::RowHeadersProperty() +{ + return get_activation_factory().RowHeadersProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TablePatternIdentifiers::RowOrColumnMajorProperty() +{ + return get_activation_factory().RowOrColumnMajorProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TogglePatternIdentifiers::ToggleStateProperty() +{ + return get_activation_factory().ToggleStateProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TransformPattern2Identifiers::CanZoomProperty() +{ + return get_activation_factory().CanZoomProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TransformPattern2Identifiers::ZoomLevelProperty() +{ + return get_activation_factory().ZoomLevelProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TransformPattern2Identifiers::MaxZoomProperty() +{ + return get_activation_factory().MaxZoomProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TransformPattern2Identifiers::MinZoomProperty() +{ + return get_activation_factory().MinZoomProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TransformPatternIdentifiers::CanMoveProperty() +{ + return get_activation_factory().CanMoveProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TransformPatternIdentifiers::CanResizeProperty() +{ + return get_activation_factory().CanResizeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty TransformPatternIdentifiers::CanRotateProperty() +{ + return get_activation_factory().CanRotateProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ValuePatternIdentifiers::IsReadOnlyProperty() +{ + return get_activation_factory().IsReadOnlyProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty ValuePatternIdentifiers::ValueProperty() +{ + return get_activation_factory().ValueProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty WindowPatternIdentifiers::CanMaximizeProperty() +{ + return get_activation_factory().CanMaximizeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty WindowPatternIdentifiers::CanMinimizeProperty() +{ + return get_activation_factory().CanMinimizeProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty WindowPatternIdentifiers::IsModalProperty() +{ + return get_activation_factory().IsModalProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty WindowPatternIdentifiers::IsTopmostProperty() +{ + return get_activation_factory().IsTopmostProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty WindowPatternIdentifiers::WindowInteractionStateProperty() +{ + return get_activation_factory().WindowInteractionStateProperty(); +} + +inline Windows::UI::Xaml::Automation::AutomationProperty WindowPatternIdentifiers::WindowVisualStateProperty() +{ + return get_activation_factory().WindowVisualStateProperty(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAnnotationPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationAnnotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationAnnotationFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationAnnotationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationElementIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationElementIdentifiersStatics6 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationPropertiesStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationPropertiesStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationPropertiesStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationPropertiesStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationPropertiesStatics5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationPropertiesStatics6 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IAutomationProperty & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IDockPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IDockPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IDragPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IDragPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IDropTargetPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IExpandCollapsePatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IGridItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IGridItemPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IGridPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IGridPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IMultipleViewPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IRangeValuePatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IScrollPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IScrollPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ISelectionItemPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ISelectionPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ISelectionPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ISpreadsheetItemPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IStylesPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IStylesPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITableItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITableItemPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITablePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITablePatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITogglePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITogglePatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITransformPattern2Identifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITransformPattern2IdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITransformPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ITransformPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IValuePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IValuePatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IWindowPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::IWindowPatternIdentifiersStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::AnnotationPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::AutomationAnnotation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::AutomationElementIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::AutomationProperties & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::AutomationProperty & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::DockPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::DragPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::DropTargetPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ExpandCollapsePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::GridItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::GridPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::MultipleViewPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::RangeValuePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ScrollPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::SelectionItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::SelectionPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::SpreadsheetItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::StylesPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::TableItemPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::TablePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::TogglePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::TransformPattern2Identifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::TransformPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::ValuePatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Automation::WindowPatternIdentifiers & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.Maps.h b/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.Maps.h new file mode 100644 index 000000000..4278c82eb --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.Maps.h @@ -0,0 +1,11169 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.Devices.Geolocation.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.UI.Xaml.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Services.Maps.3.h" +#include "internal/Windows.UI.Xaml.Controls.Maps.3.h" +#include "Windows.UI.Xaml.Controls.h" +#include "internal/Windows.UI.Xaml.Controls.Maps.5.h" + +WINRT_EXPORT namespace winrt { + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BitmapRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BitmapRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BitmapRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BitmapRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UriFormatString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UriFormatString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UriFormatString(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UriFormatString(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AdditionalRequestHeaders(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AdditionalRequestHeaders()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowCaching(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowCaching()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowCaching(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowCaching(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UriRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UriRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UriRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UriRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithUriFormatString(impl::abi_arg_in uriFormatString, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithUriFormatString(*reinterpret_cast(&uriFormatString), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UriFormatString(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UriFormatString()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UriFormatString(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UriFormatString(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UriRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UriRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UriRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UriRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithUriFormatString(impl::abi_arg_in uriFormatString, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithUriFormatString(*reinterpret_cast(&uriFormatString), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Camera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Camera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeReason(Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Camera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Camera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeReason(Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Location(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Location(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedAnchorPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedAnchorPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NormalizedAnchorPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NormalizedAnchorPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Image(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Image()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Image(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Image(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CollisionBehaviorDesired(Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CollisionBehaviorDesired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CollisionBehaviorDesired(Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CollisionBehaviorDesired(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReferenceCamera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReferenceCamera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceFromCamera(impl::abi_arg_in camera, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceFromCamera(*reinterpret_cast(&camera))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedAnchorPointProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedAnchorPointProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CollisionBehaviorDesiredProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CollisionBehaviorDesiredProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Location(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Location(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Heading(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Heading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Heading(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Heading(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pitch(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pitch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Pitch(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pitch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Roll(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Roll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Roll(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Roll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FieldOfView(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FieldOfView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FieldOfView(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FieldOfView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithLocation(impl::abi_arg_in location, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithLocation(*reinterpret_cast(&location))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithLocationAndHeading(impl::abi_arg_in location, double headingInDegrees, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithLocationAndHeading(*reinterpret_cast(&location), headingInDegrees)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithLocationHeadingAndPitch(impl::abi_arg_in location, double headingInDegrees, double pitchInDegrees, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithLocationHeadingAndPitch(*reinterpret_cast(&location), headingInDegrees, pitchInDegrees)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithLocationHeadingPitchRollAndFieldOfView(impl::abi_arg_in location, double headingInDegrees, double pitchInDegrees, double rollInDegrees, double fieldOfViewInDegrees, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithLocationHeadingPitchRollAndFieldOfView(*reinterpret_cast(&location), headingInDegrees, pitchInDegrees, rollInDegrees, fieldOfViewInDegrees)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapElements(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapElements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Center(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Center()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Center(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Center(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Children(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Children()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorScheme(Windows::UI::Xaml::Controls::Maps::MapColorScheme * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorScheme()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ColorScheme(Windows::UI::Xaml::Controls::Maps::MapColorScheme value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ColorScheme(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredPitch(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredPitch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredPitch(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredPitch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Heading(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Heading()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Heading(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Heading(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LandmarksVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LandmarksVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LandmarksVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LandmarksVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LoadingStatus(Windows::UI::Xaml::Controls::Maps::MapLoadingStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LoadingStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapServiceToken(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapServiceToken()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MapServiceToken(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapServiceToken(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxZoomLevel(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxZoomLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinZoomLevel(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinZoomLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PedestrianFeaturesVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PedestrianFeaturesVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PedestrianFeaturesVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PedestrianFeaturesVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pitch(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pitch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Style(Windows::UI::Xaml::Controls::Maps::MapStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Style()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Style(Windows::UI::Xaml::Controls::Maps::MapStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Style(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrafficFlowVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrafficFlowVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TrafficFlowVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TrafficFlowVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransformOrigin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransformOrigin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransformOrigin(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransformOrigin(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WatermarkMode(Windows::UI::Xaml::Controls::Maps::MapWatermarkMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WatermarkMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_WatermarkMode(Windows::UI::Xaml::Controls::Maps::MapWatermarkMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().WatermarkMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevel(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomLevel(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomLevel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapElements(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapElements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Routes(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Routes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileSources(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileSources()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CenterChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CenterChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CenterChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CenterChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HeadingChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HeadingChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HeadingChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeadingChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LoadingStatusChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LoadingStatusChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LoadingStatusChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadingStatusChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MapDoubleTapped(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapDoubleTapped(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapDoubleTapped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapDoubleTapped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MapHolding(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapHolding(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapHolding(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapHolding(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MapTapped(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapTapped(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapTapped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapTapped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PitchChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PitchChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PitchChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PitchChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TransformOriginChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TransformOriginChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TransformOriginChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransformOriginChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ZoomLevelChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ZoomLevelChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ZoomLevelChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomLevelChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindMapElementsAtOffset(impl::abi_arg_in offset, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FindMapElementsAtOffset(*reinterpret_cast(&offset))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocationFromOffset(impl::abi_arg_in offset, impl::abi_arg_out location) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetLocationFromOffset(*reinterpret_cast(&offset), *location); + return S_OK; + } + catch (...) + { + *location = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetOffsetFromLocation(impl::abi_arg_in location, impl::abi_arg_out offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetOffsetFromLocation(*reinterpret_cast(&location), *offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsLocationInView(impl::abi_arg_in location, bool * isInView) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLocationInView(*reinterpret_cast(&location), *isInView); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetViewBoundsAsync(impl::abi_arg_in bounds, impl::abi_arg_in> margin, Windows::UI::Xaml::Controls::Maps::MapAnimationKind animation, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TrySetViewBoundsAsync(*reinterpret_cast(&bounds), *reinterpret_cast *>(&margin), animation)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetViewWithCenterAsync(impl::abi_arg_in center, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TrySetViewAsync(*reinterpret_cast(¢er))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetViewWithCenterAndZoomAsync(impl::abi_arg_in center, impl::abi_arg_in> zoomLevel, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TrySetViewAsync(*reinterpret_cast(¢er), *reinterpret_cast *>(&zoomLevel))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetViewWithCenterZoomHeadingAndPitchAsync(impl::abi_arg_in center, impl::abi_arg_in> zoomLevel, impl::abi_arg_in> heading, impl::abi_arg_in> desiredPitch, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TrySetViewAsync(*reinterpret_cast(¢er), *reinterpret_cast *>(&zoomLevel), *reinterpret_cast *>(&heading), *reinterpret_cast *>(&desiredPitch))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetViewWithCenterZoomHeadingPitchAndAnimationAsync(impl::abi_arg_in center, impl::abi_arg_in> zoomLevel, impl::abi_arg_in> heading, impl::abi_arg_in> desiredPitch, Windows::UI::Xaml::Controls::Maps::MapAnimationKind animation, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TrySetViewAsync(*reinterpret_cast(¢er), *reinterpret_cast *>(&zoomLevel), *reinterpret_cast *>(&heading), *reinterpret_cast *>(&desiredPitch), animation)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BusinessLandmarksVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusinessLandmarksVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BusinessLandmarksVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusinessLandmarksVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitFeaturesVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitFeaturesVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransitFeaturesVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransitFeaturesVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PanInteractionMode(Windows::UI::Xaml::Controls::Maps::MapPanInteractionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PanInteractionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PanInteractionMode(Windows::UI::Xaml::Controls::Maps::MapPanInteractionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PanInteractionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotateInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotateInteractionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RotateInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RotateInteractionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiltInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltInteractionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TiltInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TiltInteractionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomInteractionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomInteractionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Is3DSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Is3DSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStreetsideSupported(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStreetsideSupported()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Scene(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Scene()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Scene(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scene(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualCamera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualCamera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetCamera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetCamera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CustomExperience(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomExperience()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomExperience(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomExperience(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MapElementClick(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapElementClick(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapElementClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapElementClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MapElementPointerEntered(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapElementPointerEntered(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapElementPointerEntered(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapElementPointerEntered(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MapElementPointerExited(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapElementPointerExited(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapElementPointerExited(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapElementPointerExited(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActualCameraChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActualCameraChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActualCameraChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActualCameraChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActualCameraChanging(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActualCameraChanging(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActualCameraChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActualCameraChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TargetCameraChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TargetCameraChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TargetCameraChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetCameraChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CustomExperienceChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CustomExperienceChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CustomExperienceChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomExperienceChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartContinuousRotate(double rateInDegreesPerSecond) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartContinuousRotate(rateInDegreesPerSecond); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopContinuousRotate() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopContinuousRotate(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartContinuousTilt(double rateInDegreesPerSecond) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartContinuousTilt(rateInDegreesPerSecond); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopContinuousTilt() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopContinuousTilt(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartContinuousZoom(double rateOfChangePerSecond) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartContinuousZoom(rateOfChangePerSecond); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopContinuousZoom() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopContinuousZoom(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRotateAsync(double degrees, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryRotateAsync(degrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryRotateToAsync(double angleInDegrees, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryRotateToAsync(angleInDegrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryTiltAsync(double degrees, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryTiltAsync(degrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryTiltToAsync(double angleInDegrees, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryTiltToAsync(angleInDegrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryZoomInAsync(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryZoomInAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryZoomOutAsync(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryZoomOutAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryZoomToAsync(double zoomLevel, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryZoomToAsync(zoomLevel)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetSceneAsync(impl::abi_arg_in scene, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TrySetSceneAsync(*reinterpret_cast(&scene))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TrySetSceneWithAnimationAsync(impl::abi_arg_in scene, Windows::UI::Xaml::Controls::Maps::MapAnimationKind animationKind, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TrySetSceneAsync(*reinterpret_cast(&scene), animationKind)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_MapRightTapped(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapRightTapped(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapRightTapped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapRightTapped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BusinessLandmarksEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusinessLandmarksEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BusinessLandmarksEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusinessLandmarksEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitFeaturesEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitFeaturesEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransitFeaturesEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransitFeaturesEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVisibleRegion(Windows::UI::Xaml::Controls::Maps::MapVisibleRegionKind region, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetVisibleRegion(region)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MapProjection(Windows::UI::Xaml::Controls::Maps::MapProjection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapProjection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MapProjection(Windows::UI::Xaml::Controls::Maps::MapProjection value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapProjection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StyleSheet(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StyleSheet()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StyleSheet(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StyleSheet(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewPadding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewPadding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewPadding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewPadding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MapContextRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MapContextRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MapContextRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapContextRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindMapElementsAtOffsetWithRadius(impl::abi_arg_in offset, double radius, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FindMapElementsAtOffset(*reinterpret_cast(&offset), radius)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocationFromOffsetWithReferenceSystem(impl::abi_arg_in offset, Windows::Devices::Geolocation::AltitudeReferenceSystem desiredReferenceSystem, impl::abi_arg_out location) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetLocationFromOffset(*reinterpret_cast(&offset), desiredReferenceSystem, *location); + return S_OK; + } + catch (...) + { + *location = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartContinuousPan(double horizontalPixelsPerSecond, double verticalPixelsPerSecond) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartContinuousPan(horizontalPixelsPerSecond, verticalPixelsPerSecond); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StopContinuousPan() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopContinuousPan(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryPanAsync(double horizontalPixels, double verticalPixels, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryPanAsync(horizontalPixels, verticalPixels)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryPanToAsync(impl::abi_arg_in location, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryPanToAsync(*reinterpret_cast(&location))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalLocations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalLocations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalLocations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalLocations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalLocations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalLocations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocalLocations(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocalLocations()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BusinessLandmarkClick(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BusinessLandmarkClick(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BusinessLandmarkClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusinessLandmarkClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TransitFeatureClick(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TransitFeatureClick(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TransitFeatureClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransitFeatureClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BusinessLandmarkRightTapped(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BusinessLandmarkRightTapped(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BusinessLandmarkRightTapped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusinessLandmarkRightTapped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TransitFeatureRightTapped(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TransitFeatureRightTapped(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TransitFeatureRightTapped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransitFeatureRightTapped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_BusinessLandmarkPointerEntered(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BusinessLandmarkPointerEntered(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BusinessLandmarkPointerEntered(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusinessLandmarkPointerEntered(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TransitFeaturePointerEntered(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TransitFeaturePointerEntered(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TransitFeaturePointerEntered(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransitFeaturePointerEntered(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BusinessLandmarkPointerExited(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BusinessLandmarkPointerExited(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BusinessLandmarkPointerExited(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BusinessLandmarkPointerExited(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TransitFeaturePointerExited(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TransitFeaturePointerExited(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TransitFeaturePointerExited(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransitFeaturePointerExited(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in map, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&map))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CenterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CenterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildrenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildrenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColorSchemeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColorSchemeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredPitchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredPitchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeadingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeadingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LandmarksVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LandmarksVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LoadingStatusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LoadingStatusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapServiceTokenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapServiceTokenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PedestrianFeaturesVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PedestrianFeaturesVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PitchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PitchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TrafficFlowVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TrafficFlowVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransformOriginProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransformOriginProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WatermarkModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WatermarkModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapElementsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapElementsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RoutesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RoutesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TileSourcesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TileSourcesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LocationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLocation(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLocation(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLocation(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLocation(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedAnchorPointProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedAnchorPointProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNormalizedAnchorPoint(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetNormalizedAnchorPoint(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetNormalizedAnchorPoint(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetNormalizedAnchorPoint(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BusinessLandmarksVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusinessLandmarksVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitFeaturesVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitFeaturesVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PanInteractionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PanInteractionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RotateInteractionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RotateInteractionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TiltInteractionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TiltInteractionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomInteractionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomInteractionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Is3DSupportedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Is3DSupportedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStreetsideSupportedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStreetsideSupportedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SceneProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SceneProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BusinessLandmarksEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BusinessLandmarksEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitFeaturesEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitFeaturesEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MapProjectionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapProjectionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StyleSheetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StyleSheetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewPaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewPaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DisplayName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransitProperties(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransitProperties()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ZIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Visible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Visible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MapTabIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapTabIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MapTabIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MapTabIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapElements(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapElements()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapElement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapElement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MapElement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapElement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ZIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MapTabIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MapTabIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Location(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Location(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedAnchorPoint(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedAnchorPoint()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NormalizedAnchorPoint(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NormalizedAnchorPoint(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Image(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Image()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Image(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Image(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CollisionBehaviorDesired(Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CollisionBehaviorDesired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CollisionBehaviorDesired(Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CollisionBehaviorDesired(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LocationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LocationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NormalizedAnchorPointProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NormalizedAnchorPointProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CollisionBehaviorDesiredProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CollisionBehaviorDesiredProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemsSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Path(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Path(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeThickness(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeThickness(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeThickness(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeDashed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeDashed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeDashed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeDashed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FillColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FillColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FillColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Paths(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Paths()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PathProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PathProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeDashedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeDashedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Path(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Path()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Path(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Path(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeThickness(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeThickness(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeThickness(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeDashed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeDashed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StrokeDashed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StrokeDashed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PathProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PathProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StrokeDashedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StrokeDashedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RouteColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RouteColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RouteColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RouteColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutlineColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutlineColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutlineColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutlineColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Route(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Route()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithMapRoute(impl::abi_arg_in route, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithMapRoute(*reinterpret_cast(&route), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetCamera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetCamera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TargetCameraChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TargetCameraChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TargetCameraChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetCameraChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateFromBoundingBox(impl::abi_arg_in bounds, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromBoundingBox(*reinterpret_cast(&bounds))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromBoundingBoxWithHeadingAndPitch(impl::abi_arg_in bounds, double headingInDegrees, double pitchInDegrees, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromBoundingBox(*reinterpret_cast(&bounds), headingInDegrees, pitchInDegrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromCamera(impl::abi_arg_in camera, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromCamera(*reinterpret_cast(&camera))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromLocation(impl::abi_arg_in location, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromLocation(*reinterpret_cast(&location))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromLocationWithHeadingAndPitch(impl::abi_arg_in location, double headingInDegrees, double pitchInDegrees, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromLocation(*reinterpret_cast(&location), headingInDegrees, pitchInDegrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromLocationAndRadius(impl::abi_arg_in location, double radiusInMeters, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromLocationAndRadius(*reinterpret_cast(&location), radiusInMeters)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromLocationAndRadiusWithHeadingAndPitch(impl::abi_arg_in location, double radiusInMeters, double headingInDegrees, double pitchInDegrees, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromLocationAndRadius(*reinterpret_cast(&location), radiusInMeters, headingInDegrees, pitchInDegrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromLocations(impl::abi_arg_in> locations, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromLocations(*reinterpret_cast *>(&locations))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateFromLocationsWithHeadingAndPitch(impl::abi_arg_in> locations, double headingInDegrees, double pitchInDegrees, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateFromLocations(*reinterpret_cast *>(&locations), headingInDegrees, pitchInDegrees)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Aerial(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Aerial()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AerialWithOverlay(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().AerialWithOverlay()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoadLight(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RoadLight()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoadDark(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RoadDark()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoadHighContrastLight(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RoadHighContrastLight()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RoadHighContrastDark(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().RoadHighContrastDark()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Combine(impl::abi_arg_in> styleSheets, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Combine(*reinterpret_cast *>(&styleSheets))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ParseFromJson(impl::abi_arg_in styleAsJson, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ParseFromJson(*reinterpret_cast(&styleAsJson))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_TryParseFromJson(impl::abi_arg_in styleAsJson, impl::abi_arg_out styleSheet, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryParseFromJson(*reinterpret_cast(&styleAsJson), *styleSheet)); + return S_OK; + } + catch (...) + { + *styleSheet = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Camera(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Camera()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChangeReason(Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChangeReason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PixelData(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PixelData()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PixelData(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PixelData(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_X(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Y(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Y()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevel(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Layer(Windows::UI::Xaml::Controls::Maps::MapTileLayer * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Layer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Layer(Windows::UI::Xaml::Controls::Maps::MapTileLayer value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Layer(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevelRange(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevelRange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomLevelRange(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomLevelRange(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bounds()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Bounds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bounds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowOverstretch(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowOverstretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowOverstretch(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowOverstretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFadingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFadingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFadingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFadingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTransparencyEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTransparencyEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTransparencyEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTransparencyEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRetryEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRetryEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRetryEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRetryEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TilePixelSize(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TilePixelSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TilePixelSize(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TilePixelSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Visible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Visible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Visible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Visible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithDataSource(impl::abi_arg_in dataSource, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithDataSource(*reinterpret_cast(&dataSource), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithDataSourceAndZoomRange(impl::abi_arg_in dataSource, impl::abi_arg_in zoomLevelRange, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithDataSourceAndZoomRange(*reinterpret_cast(&dataSource), *reinterpret_cast(&zoomLevelRange), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithDataSourceZoomRangeAndBounds(impl::abi_arg_in dataSource, impl::abi_arg_in zoomLevelRange, impl::abi_arg_in bounds, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithDataSourceZoomRangeAndBounds(*reinterpret_cast(&dataSource), *reinterpret_cast(&zoomLevelRange), *reinterpret_cast(&bounds), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithDataSourceZoomRangeBoundsAndTileSize(impl::abi_arg_in dataSource, impl::abi_arg_in zoomLevelRange, impl::abi_arg_in bounds, int32_t tileSizeInPixels, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithDataSourceZoomRangeBoundsAndTileSize(*reinterpret_cast(&dataSource), *reinterpret_cast(&zoomLevelRange), *reinterpret_cast(&bounds), tileSizeInPixels, *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LayerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LayerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevelRangeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevelRangeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BoundsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BoundsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowOverstretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowOverstretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFadingEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFadingEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTransparencyEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTransparencyEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRetryEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRetryEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TilePixelSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TilePixelSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Uri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Uri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_X(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().X()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Y(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Y()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomLevel(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomLevel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddressTextVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddressTextVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AddressTextVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddressTextVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CursorVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CursorVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CursorVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CursorVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverviewMapVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverviewMapVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OverviewMapVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OverviewMapVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StreetLabelsVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StreetLabelsVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StreetLabelsVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StreetLabelsVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExitButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExitButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ExitButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ExitButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomButtonsVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomButtonsVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomButtonsVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomButtonsVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithPanorama(impl::abi_arg_in panorama, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithPanorama(*reinterpret_cast(&panorama))); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateInstanceWithPanoramaHeadingPitchAndFieldOfView(impl::abi_arg_in panorama, double headingInDegrees, double pitchInDegrees, double fieldOfViewInDegrees, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithPanoramaHeadingPitchAndFieldOfView(*reinterpret_cast(&panorama), headingInDegrees, pitchInDegrees, fieldOfViewInDegrees)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Location(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Location()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FindNearbyWithLocationAsync(impl::abi_arg_in location, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FindNearbyAsync(*reinterpret_cast(&location))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_FindNearbyWithLocationAndRadiusAsync(impl::abi_arg_in location, double radiusInMeters, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FindNearbyAsync(*reinterpret_cast(&location), radiusInMeters)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Xaml::Controls::Maps { + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapActualCameraChangedEventArgs::Camera() const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera value { nullptr }; + check_hresult(WINRT_SHIM(IMapActualCameraChangedEventArgs)->get_Camera(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason impl_IMapActualCameraChangedEventArgs2::ChangeReason() const +{ + Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason value {}; + check_hresult(WINRT_SHIM(IMapActualCameraChangedEventArgs2)->get_ChangeReason(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapActualCameraChangingEventArgs::Camera() const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera value { nullptr }; + check_hresult(WINRT_SHIM(IMapActualCameraChangingEventArgs)->get_Camera(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason impl_IMapActualCameraChangingEventArgs2::ChangeReason() const +{ + Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason value {}; + check_hresult(WINRT_SHIM(IMapActualCameraChangingEventArgs2)->get_ChangeReason(&value)); + return value; +} + +template Windows::Foundation::Point impl_IMapContextRequestedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapContextRequestedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapContextRequestedEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapContextRequestedEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapContextRequestedEventArgs::MapElements() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapContextRequestedEventArgs)->get_MapElements(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IMapElementClickEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapElementClickEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapElementClickEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementClickEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMapElementClickEventArgs::MapElements() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMapElementClickEventArgs)->get_MapElements(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IMapElementPointerEnteredEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapElementPointerEnteredEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapElementPointerEnteredEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementPointerEnteredEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapElement impl_IMapElementPointerEnteredEventArgs::MapElement() const +{ + Windows::UI::Xaml::Controls::Maps::MapElement value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementPointerEnteredEventArgs)->get_MapElement(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IMapElementPointerExitedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapElementPointerExitedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapElementPointerExitedEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementPointerExitedEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapElement impl_IMapElementPointerExitedEventArgs::MapElement() const +{ + Windows::UI::Xaml::Controls::Maps::MapElement value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementPointerExitedEventArgs)->get_MapElement(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IMapRightTappedEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapRightTappedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapRightTappedEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapRightTappedEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapTargetCameraChangedEventArgs::Camera() const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera value { nullptr }; + check_hresult(WINRT_SHIM(IMapTargetCameraChangedEventArgs)->get_Camera(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason impl_IMapTargetCameraChangedEventArgs2::ChangeReason() const +{ + Windows::UI::Xaml::Controls::Maps::MapCameraChangeReason value {}; + check_hresult(WINRT_SHIM(IMapTargetCameraChangedEventArgs2)->get_ChangeReason(&value)); + return value; +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IMapTileBitmapRequest::PixelData() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IMapTileBitmapRequest)->get_PixelData(put_abi(value))); + return value; +} + +template void impl_IMapTileBitmapRequest::PixelData(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IMapTileBitmapRequest)->put_PixelData(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Maps::MapTileBitmapRequestDeferral impl_IMapTileBitmapRequest::GetDeferral() const +{ + Windows::UI::Xaml::Controls::Maps::MapTileBitmapRequestDeferral returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapTileBitmapRequest)->abi_GetDeferral(put_abi(returnValue))); + return returnValue; +} + +template void impl_IMapTileBitmapRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IMapTileBitmapRequestDeferral)->abi_Complete()); +} + +template int32_t impl_IMapTileBitmapRequestedEventArgs::X() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileBitmapRequestedEventArgs)->get_X(&value)); + return value; +} + +template int32_t impl_IMapTileBitmapRequestedEventArgs::Y() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileBitmapRequestedEventArgs)->get_Y(&value)); + return value; +} + +template int32_t impl_IMapTileBitmapRequestedEventArgs::ZoomLevel() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileBitmapRequestedEventArgs)->get_ZoomLevel(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileBitmapRequest impl_IMapTileBitmapRequestedEventArgs::Request() const +{ + Windows::UI::Xaml::Controls::Maps::MapTileBitmapRequest value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileBitmapRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IMapTileUriRequest::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileUriRequest)->get_Uri(put_abi(value))); + return value; +} + +template void impl_IMapTileUriRequest::Uri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IMapTileUriRequest)->put_Uri(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Maps::MapTileUriRequestDeferral impl_IMapTileUriRequest::GetDeferral() const +{ + Windows::UI::Xaml::Controls::Maps::MapTileUriRequestDeferral returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapTileUriRequest)->abi_GetDeferral(put_abi(returnValue))); + return returnValue; +} + +template void impl_IMapTileUriRequestDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IMapTileUriRequestDeferral)->abi_Complete()); +} + +template int32_t impl_IMapTileUriRequestedEventArgs::X() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileUriRequestedEventArgs)->get_X(&value)); + return value; +} + +template int32_t impl_IMapTileUriRequestedEventArgs::Y() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileUriRequestedEventArgs)->get_Y(&value)); + return value; +} + +template int32_t impl_IMapTileUriRequestedEventArgs::ZoomLevel() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileUriRequestedEventArgs)->get_ZoomLevel(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileUriRequest impl_IMapTileUriRequestedEventArgs::Request() const +{ + Windows::UI::Xaml::Controls::Maps::MapTileUriRequest value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileUriRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapCamera::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapCamera)->get_Location(put_abi(value))); + return value; +} + +template void impl_IMapCamera::Location(const Windows::Devices::Geolocation::Geopoint & value) const +{ + check_hresult(WINRT_SHIM(IMapCamera)->put_Location(get_abi(value))); +} + +template double impl_IMapCamera::Heading() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapCamera)->get_Heading(&value)); + return value; +} + +template void impl_IMapCamera::Heading(double value) const +{ + check_hresult(WINRT_SHIM(IMapCamera)->put_Heading(value)); +} + +template double impl_IMapCamera::Pitch() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapCamera)->get_Pitch(&value)); + return value; +} + +template void impl_IMapCamera::Pitch(double value) const +{ + check_hresult(WINRT_SHIM(IMapCamera)->put_Pitch(value)); +} + +template double impl_IMapCamera::Roll() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapCamera)->get_Roll(&value)); + return value; +} + +template void impl_IMapCamera::Roll(double value) const +{ + check_hresult(WINRT_SHIM(IMapCamera)->put_Roll(value)); +} + +template double impl_IMapCamera::FieldOfView() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapCamera)->get_FieldOfView(&value)); + return value; +} + +template void impl_IMapCamera::FieldOfView(double value) const +{ + check_hresult(WINRT_SHIM(IMapCamera)->put_FieldOfView(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapCameraFactory::CreateInstanceWithLocation(const Windows::Devices::Geolocation::Geopoint & location) const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera instance { nullptr }; + check_hresult(WINRT_SHIM(IMapCameraFactory)->abi_CreateInstanceWithLocation(get_abi(location), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapCameraFactory::CreateInstanceWithLocationAndHeading(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera instance { nullptr }; + check_hresult(WINRT_SHIM(IMapCameraFactory)->abi_CreateInstanceWithLocationAndHeading(get_abi(location), headingInDegrees, put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapCameraFactory::CreateInstanceWithLocationHeadingAndPitch(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees, double pitchInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera instance { nullptr }; + check_hresult(WINRT_SHIM(IMapCameraFactory)->abi_CreateInstanceWithLocationHeadingAndPitch(get_abi(location), headingInDegrees, pitchInDegrees, put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapCameraFactory::CreateInstanceWithLocationHeadingPitchRollAndFieldOfView(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees, double pitchInDegrees, double rollInDegrees, double fieldOfViewInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera instance { nullptr }; + check_hresult(WINRT_SHIM(IMapCameraFactory)->abi_CreateInstanceWithLocationHeadingPitchRollAndFieldOfView(get_abi(location), headingInDegrees, pitchInDegrees, rollInDegrees, fieldOfViewInDegrees, put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapCustomExperience impl_IMapCustomExperienceFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapCustomExperience instance { nullptr }; + check_hresult(WINRT_SHIM(IMapCustomExperienceFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template int32_t impl_IMapElement::ZIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapElement)->get_ZIndex(&value)); + return value; +} + +template void impl_IMapElement::ZIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(IMapElement)->put_ZIndex(value)); +} + +template bool impl_IMapElement::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapElement)->get_Visible(&value)); + return value; +} + +template void impl_IMapElement::Visible(bool value) const +{ + check_hresult(WINRT_SHIM(IMapElement)->put_Visible(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapElementStatics::ZIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementStatics)->get_ZIndexProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapElementStatics::VisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementStatics)->get_VisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapElement impl_IMapElementFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapElement instance { nullptr }; + check_hresult(WINRT_SHIM(IMapElementFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template int32_t impl_IMapElement2::MapTabIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapElement2)->get_MapTabIndex(&value)); + return value; +} + +template void impl_IMapElement2::MapTabIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(IMapElement2)->put_MapTabIndex(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapElementStatics2::MapTabIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapElementStatics2)->get_MapTabIndexProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IMapInputEventArgs::Position() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapInputEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapInputEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapInputEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IMapItemsControl::ItemsSource() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IMapItemsControl)->get_ItemsSource(put_abi(value))); + return value; +} + +template void impl_IMapItemsControl::ItemsSource(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IMapItemsControl)->put_ItemsSource(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IMapItemsControl::Items() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMapItemsControl)->get_Items(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DataTemplate impl_IMapItemsControl::ItemTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IMapItemsControl)->get_ItemTemplate(put_abi(value))); + return value; +} + +template void impl_IMapItemsControl::ItemTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IMapItemsControl)->put_ItemTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapItemsControlStatics::ItemsSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapItemsControlStatics)->get_ItemsSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapItemsControlStatics::ItemsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapItemsControlStatics)->get_ItemsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapItemsControlStatics::ItemTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapItemsControlStatics)->get_ItemTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Color impl_IMapRouteView::RouteColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IMapRouteView)->get_RouteColor(put_abi(value))); + return value; +} + +template void impl_IMapRouteView::RouteColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IMapRouteView)->put_RouteColor(get_abi(value))); +} + +template Windows::UI::Color impl_IMapRouteView::OutlineColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IMapRouteView)->get_OutlineColor(put_abi(value))); + return value; +} + +template void impl_IMapRouteView::OutlineColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IMapRouteView)->put_OutlineColor(get_abi(value))); +} + +template Windows::Services::Maps::MapRoute impl_IMapRouteView::Route() const +{ + Windows::Services::Maps::MapRoute value { nullptr }; + check_hresult(WINRT_SHIM(IMapRouteView)->get_Route(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapRouteView impl_IMapRouteViewFactory::CreateInstanceWithMapRoute(const Windows::Services::Maps::MapRoute & route, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapRouteView instance { nullptr }; + check_hresult(WINRT_SHIM(IMapRouteViewFactory)->abi_CreateInstanceWithMapRoute(get_abi(route), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapScene::TargetCamera() const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera value { nullptr }; + check_hresult(WINRT_SHIM(IMapScene)->get_TargetCamera(put_abi(value))); + return value; +} + +template event_token impl_IMapScene::TargetCameraChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapScene)->add_TargetCameraChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapScene::TargetCameraChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapScene::remove_TargetCameraChanged, TargetCameraChanged(value)); +} + +template void impl_IMapScene::TargetCameraChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapScene)->remove_TargetCameraChanged(token)); +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromBoundingBox(const Windows::Devices::Geolocation::GeoboundingBox & bounds) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromBoundingBox(get_abi(bounds), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromBoundingBox(const Windows::Devices::Geolocation::GeoboundingBox & bounds, double headingInDegrees, double pitchInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromBoundingBoxWithHeadingAndPitch(get_abi(bounds), headingInDegrees, pitchInDegrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromCamera(const Windows::UI::Xaml::Controls::Maps::MapCamera & camera) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromCamera(get_abi(camera), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromLocation(const Windows::Devices::Geolocation::Geopoint & location) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromLocation(get_abi(location), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromLocation(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees, double pitchInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromLocationWithHeadingAndPitch(get_abi(location), headingInDegrees, pitchInDegrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromLocationAndRadius(const Windows::Devices::Geolocation::Geopoint & location, double radiusInMeters) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromLocationAndRadius(get_abi(location), radiusInMeters, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromLocationAndRadius(const Windows::Devices::Geolocation::Geopoint & location, double radiusInMeters, double headingInDegrees, double pitchInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromLocationAndRadiusWithHeadingAndPitch(get_abi(location), radiusInMeters, headingInDegrees, pitchInDegrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromLocations(iterable locations) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromLocations(get_abi(locations), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapSceneStatics::CreateFromLocations(iterable locations, double headingInDegrees, double pitchInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::MapScene returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapSceneStatics)->abi_CreateFromLocationsWithHeadingAndPitch(get_abi(locations), headingInDegrees, pitchInDegrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::Aerial() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_Aerial(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::AerialWithOverlay() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_AerialWithOverlay(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::RoadLight() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_RoadLight(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::RoadDark() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_RoadDark(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::RoadHighContrastLight() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_RoadHighContrastLight(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::RoadHighContrastDark() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_RoadHighContrastDark(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::Combine(iterable styleSheets) const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_Combine(get_abi(styleSheets), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapStyleSheetStatics::ParseFromJson(hstring_view styleAsJson) const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_ParseFromJson(get_abi(styleAsJson), put_abi(returnValue))); + return returnValue; +} + +template bool impl_IMapStyleSheetStatics::TryParseFromJson(hstring_view styleAsJson, Windows::UI::Xaml::Controls::Maps::MapStyleSheet & styleSheet) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IMapStyleSheetStatics)->abi_TryParseFromJson(get_abi(styleAsJson), put_abi(styleSheet), &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileDataSource impl_IMapTileDataSourceFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapTileDataSource instance { nullptr }; + check_hresult(WINRT_SHIM(IMapTileDataSourceFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileDataSource impl_IMapTileSource::DataSource() const +{ + Windows::UI::Xaml::Controls::Maps::MapTileDataSource value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSource)->get_DataSource(put_abi(value))); + return value; +} + +template void impl_IMapTileSource::DataSource(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_DataSource(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Maps::MapTileLayer impl_IMapTileSource::Layer() const +{ + Windows::UI::Xaml::Controls::Maps::MapTileLayer value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_Layer(&value)); + return value; +} + +template void impl_IMapTileSource::Layer(Windows::UI::Xaml::Controls::Maps::MapTileLayer value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_Layer(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange impl_IMapTileSource::ZoomLevelRange() const +{ + Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_ZoomLevelRange(put_abi(value))); + return value; +} + +template void impl_IMapTileSource::ZoomLevelRange(const Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange & value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_ZoomLevelRange(get_abi(value))); +} + +template Windows::Devices::Geolocation::GeoboundingBox impl_IMapTileSource::Bounds() const +{ + Windows::Devices::Geolocation::GeoboundingBox value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSource)->get_Bounds(put_abi(value))); + return value; +} + +template void impl_IMapTileSource::Bounds(const Windows::Devices::Geolocation::GeoboundingBox & value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_Bounds(get_abi(value))); +} + +template bool impl_IMapTileSource::AllowOverstretch() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_AllowOverstretch(&value)); + return value; +} + +template void impl_IMapTileSource::AllowOverstretch(bool value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_AllowOverstretch(value)); +} + +template bool impl_IMapTileSource::IsFadingEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_IsFadingEnabled(&value)); + return value; +} + +template void impl_IMapTileSource::IsFadingEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_IsFadingEnabled(value)); +} + +template bool impl_IMapTileSource::IsTransparencyEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_IsTransparencyEnabled(&value)); + return value; +} + +template void impl_IMapTileSource::IsTransparencyEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_IsTransparencyEnabled(value)); +} + +template bool impl_IMapTileSource::IsRetryEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_IsRetryEnabled(&value)); + return value; +} + +template void impl_IMapTileSource::IsRetryEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_IsRetryEnabled(value)); +} + +template int32_t impl_IMapTileSource::ZIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_ZIndex(&value)); + return value; +} + +template void impl_IMapTileSource::ZIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_ZIndex(value)); +} + +template int32_t impl_IMapTileSource::TilePixelSize() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_TilePixelSize(&value)); + return value; +} + +template void impl_IMapTileSource::TilePixelSize(int32_t value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_TilePixelSize(value)); +} + +template bool impl_IMapTileSource::Visible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapTileSource)->get_Visible(&value)); + return value; +} + +template void impl_IMapTileSource::Visible(bool value) const +{ + check_hresult(WINRT_SHIM(IMapTileSource)->put_Visible(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::DataSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_DataSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::LayerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_LayerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::ZoomLevelRangeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_ZoomLevelRangeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::BoundsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_BoundsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::AllowOverstretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_AllowOverstretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::IsFadingEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_IsFadingEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::IsTransparencyEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_IsTransparencyEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::IsRetryEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_IsRetryEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::ZIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_ZIndexProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::TilePixelSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_TilePixelSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapTileSourceStatics::VisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceStatics)->get_VisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileSource impl_IMapTileSourceFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapTileSource instance { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileSource impl_IMapTileSourceFactory::CreateInstanceWithDataSource(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapTileSource instance { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceFactory)->abi_CreateInstanceWithDataSource(get_abi(dataSource), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileSource impl_IMapTileSourceFactory::CreateInstanceWithDataSourceAndZoomRange(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource, const Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange & zoomLevelRange, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapTileSource instance { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceFactory)->abi_CreateInstanceWithDataSourceAndZoomRange(get_abi(dataSource), get_abi(zoomLevelRange), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileSource impl_IMapTileSourceFactory::CreateInstanceWithDataSourceZoomRangeAndBounds(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource, const Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange & zoomLevelRange, const Windows::Devices::Geolocation::GeoboundingBox & bounds, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapTileSource instance { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceFactory)->abi_CreateInstanceWithDataSourceZoomRangeAndBounds(get_abi(dataSource), get_abi(zoomLevelRange), get_abi(bounds), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::MapTileSource impl_IMapTileSourceFactory::CreateInstanceWithDataSourceZoomRangeBoundsAndTileSize(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource, const Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange & zoomLevelRange, const Windows::Devices::Geolocation::GeoboundingBox & bounds, int32_t tileSizeInPixels, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::MapTileSource instance { nullptr }; + check_hresult(WINRT_SHIM(IMapTileSourceFactory)->abi_CreateInstanceWithDataSourceZoomRangeBoundsAndTileSize(get_abi(dataSource), get_abi(zoomLevelRange), get_abi(bounds), tileSizeInPixels, get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Devices::Geolocation::Geopoint impl_IStreetsidePanorama::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IStreetsidePanorama)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IStreetsidePanoramaStatics::FindNearbyAsync(const Windows::Devices::Geolocation::Geopoint & location) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IStreetsidePanoramaStatics)->abi_FindNearbyWithLocationAsync(get_abi(location), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IStreetsidePanoramaStatics::FindNearbyAsync(const Windows::Devices::Geolocation::Geopoint & location, double radiusInMeters) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IStreetsidePanoramaStatics)->abi_FindNearbyWithLocationAndRadiusAsync(get_abi(location), radiusInMeters, put_abi(returnValue))); + return returnValue; +} + +template event_token impl_ICustomMapTileDataSource::BitmapRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICustomMapTileDataSource)->add_BitmapRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ICustomMapTileDataSource::BitmapRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::ICustomMapTileDataSource::remove_BitmapRequested, BitmapRequested(value)); +} + +template void impl_ICustomMapTileDataSource::BitmapRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ICustomMapTileDataSource)->remove_BitmapRequested(token)); +} + +template Windows::UI::Xaml::Controls::Maps::CustomMapTileDataSource impl_ICustomMapTileDataSourceFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::CustomMapTileDataSource instance { nullptr }; + check_hresult(WINRT_SHIM(ICustomMapTileDataSourceFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template hstring impl_IHttpMapTileDataSource::UriFormatString() const +{ + hstring value; + check_hresult(WINRT_SHIM(IHttpMapTileDataSource)->get_UriFormatString(put_abi(value))); + return value; +} + +template void impl_IHttpMapTileDataSource::UriFormatString(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IHttpMapTileDataSource)->put_UriFormatString(get_abi(value))); +} + +template Windows::Foundation::Collections::IMap impl_IHttpMapTileDataSource::AdditionalRequestHeaders() const +{ + Windows::Foundation::Collections::IMap value; + check_hresult(WINRT_SHIM(IHttpMapTileDataSource)->get_AdditionalRequestHeaders(put_abi(value))); + return value; +} + +template bool impl_IHttpMapTileDataSource::AllowCaching() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHttpMapTileDataSource)->get_AllowCaching(&value)); + return value; +} + +template void impl_IHttpMapTileDataSource::AllowCaching(bool value) const +{ + check_hresult(WINRT_SHIM(IHttpMapTileDataSource)->put_AllowCaching(value)); +} + +template event_token impl_IHttpMapTileDataSource::UriRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHttpMapTileDataSource)->add_UriRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IHttpMapTileDataSource::UriRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IHttpMapTileDataSource::remove_UriRequested, UriRequested(value)); +} + +template void impl_IHttpMapTileDataSource::UriRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IHttpMapTileDataSource)->remove_UriRequested(token)); +} + +template Windows::UI::Xaml::Controls::Maps::HttpMapTileDataSource impl_IHttpMapTileDataSourceFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::HttpMapTileDataSource instance { nullptr }; + check_hresult(WINRT_SHIM(IHttpMapTileDataSourceFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::HttpMapTileDataSource impl_IHttpMapTileDataSourceFactory::CreateInstanceWithUriFormatString(hstring_view uriFormatString, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::HttpMapTileDataSource instance { nullptr }; + check_hresult(WINRT_SHIM(IHttpMapTileDataSourceFactory)->abi_CreateInstanceWithUriFormatString(get_abi(uriFormatString), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template hstring impl_ILocalMapTileDataSource::UriFormatString() const +{ + hstring value; + check_hresult(WINRT_SHIM(ILocalMapTileDataSource)->get_UriFormatString(put_abi(value))); + return value; +} + +template void impl_ILocalMapTileDataSource::UriFormatString(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ILocalMapTileDataSource)->put_UriFormatString(get_abi(value))); +} + +template event_token impl_ILocalMapTileDataSource::UriRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILocalMapTileDataSource)->add_UriRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ILocalMapTileDataSource::UriRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::ILocalMapTileDataSource::remove_UriRequested, UriRequested(value)); +} + +template void impl_ILocalMapTileDataSource::UriRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ILocalMapTileDataSource)->remove_UriRequested(token)); +} + +template Windows::UI::Xaml::Controls::Maps::LocalMapTileDataSource impl_ILocalMapTileDataSourceFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::LocalMapTileDataSource instance { nullptr }; + check_hresult(WINRT_SHIM(ILocalMapTileDataSourceFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::LocalMapTileDataSource impl_ILocalMapTileDataSourceFactory::CreateInstanceWithUriFormatString(hstring_view uriFormatString, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Maps::LocalMapTileDataSource instance { nullptr }; + check_hresult(WINRT_SHIM(ILocalMapTileDataSourceFactory)->abi_CreateInstanceWithUriFormatString(get_abi(uriFormatString), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapBillboard::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapBillboard)->get_Location(put_abi(value))); + return value; +} + +template void impl_IMapBillboard::Location(const Windows::Devices::Geolocation::Geopoint & value) const +{ + check_hresult(WINRT_SHIM(IMapBillboard)->put_Location(get_abi(value))); +} + +template Windows::Foundation::Point impl_IMapBillboard::NormalizedAnchorPoint() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapBillboard)->get_NormalizedAnchorPoint(put_abi(value))); + return value; +} + +template void impl_IMapBillboard::NormalizedAnchorPoint(const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(IMapBillboard)->put_NormalizedAnchorPoint(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IMapBillboard::Image() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IMapBillboard)->get_Image(put_abi(value))); + return value; +} + +template void impl_IMapBillboard::Image(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IMapBillboard)->put_Image(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior impl_IMapBillboard::CollisionBehaviorDesired() const +{ + Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior value {}; + check_hresult(WINRT_SHIM(IMapBillboard)->get_CollisionBehaviorDesired(&value)); + return value; +} + +template void impl_IMapBillboard::CollisionBehaviorDesired(Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior value) const +{ + check_hresult(WINRT_SHIM(IMapBillboard)->put_CollisionBehaviorDesired(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapBillboard::ReferenceCamera() const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera value { nullptr }; + check_hresult(WINRT_SHIM(IMapBillboard)->get_ReferenceCamera(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapBillboardStatics::LocationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapBillboardStatics)->get_LocationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapBillboardStatics::NormalizedAnchorPointProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapBillboardStatics)->get_NormalizedAnchorPointProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapBillboardStatics::CollisionBehaviorDesiredProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapBillboardStatics)->get_CollisionBehaviorDesiredProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapBillboard impl_IMapBillboardFactory::CreateInstanceFromCamera(const Windows::UI::Xaml::Controls::Maps::MapCamera & camera) const +{ + Windows::UI::Xaml::Controls::Maps::MapBillboard instance { nullptr }; + check_hresult(WINRT_SHIM(IMapBillboardFactory)->abi_CreateInstanceFromCamera(get_abi(camera), put_abi(instance))); + return instance; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapIcon::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapIcon)->get_Location(put_abi(value))); + return value; +} + +template void impl_IMapIcon::Location(const Windows::Devices::Geolocation::Geopoint & value) const +{ + check_hresult(WINRT_SHIM(IMapIcon)->put_Location(get_abi(value))); +} + +template hstring impl_IMapIcon::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapIcon)->get_Title(put_abi(value))); + return value; +} + +template void impl_IMapIcon::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMapIcon)->put_Title(get_abi(value))); +} + +template Windows::Foundation::Point impl_IMapIcon::NormalizedAnchorPoint() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapIcon)->get_NormalizedAnchorPoint(put_abi(value))); + return value; +} + +template void impl_IMapIcon::NormalizedAnchorPoint(const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(IMapIcon)->put_NormalizedAnchorPoint(get_abi(value))); +} + +template Windows::Storage::Streams::IRandomAccessStreamReference impl_IMapIcon::Image() const +{ + Windows::Storage::Streams::IRandomAccessStreamReference value; + check_hresult(WINRT_SHIM(IMapIcon)->get_Image(put_abi(value))); + return value; +} + +template void impl_IMapIcon::Image(const Windows::Storage::Streams::IRandomAccessStreamReference & value) const +{ + check_hresult(WINRT_SHIM(IMapIcon)->put_Image(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapIconStatics::LocationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapIconStatics)->get_LocationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapIconStatics::TitleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapIconStatics)->get_TitleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapIconStatics::NormalizedAnchorPointProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapIconStatics)->get_NormalizedAnchorPointProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior impl_IMapIcon2::CollisionBehaviorDesired() const +{ + Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior value {}; + check_hresult(WINRT_SHIM(IMapIcon2)->get_CollisionBehaviorDesired(&value)); + return value; +} + +template void impl_IMapIcon2::CollisionBehaviorDesired(Windows::UI::Xaml::Controls::Maps::MapElementCollisionBehavior value) const +{ + check_hresult(WINRT_SHIM(IMapIcon2)->put_CollisionBehaviorDesired(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapIconStatics2::CollisionBehaviorDesiredProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapIconStatics2)->get_CollisionBehaviorDesiredProperty(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IMapPolygon::Path() const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IMapPolygon)->get_Path(put_abi(value))); + return value; +} + +template void impl_IMapPolygon::Path(const Windows::Devices::Geolocation::Geopath & value) const +{ + check_hresult(WINRT_SHIM(IMapPolygon)->put_Path(get_abi(value))); +} + +template Windows::UI::Color impl_IMapPolygon::StrokeColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IMapPolygon)->get_StrokeColor(put_abi(value))); + return value; +} + +template void impl_IMapPolygon::StrokeColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IMapPolygon)->put_StrokeColor(get_abi(value))); +} + +template double impl_IMapPolygon::StrokeThickness() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapPolygon)->get_StrokeThickness(&value)); + return value; +} + +template void impl_IMapPolygon::StrokeThickness(double value) const +{ + check_hresult(WINRT_SHIM(IMapPolygon)->put_StrokeThickness(value)); +} + +template bool impl_IMapPolygon::StrokeDashed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapPolygon)->get_StrokeDashed(&value)); + return value; +} + +template void impl_IMapPolygon::StrokeDashed(bool value) const +{ + check_hresult(WINRT_SHIM(IMapPolygon)->put_StrokeDashed(value)); +} + +template Windows::UI::Color impl_IMapPolygon::FillColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IMapPolygon)->get_FillColor(put_abi(value))); + return value; +} + +template void impl_IMapPolygon::FillColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IMapPolygon)->put_FillColor(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapPolygonStatics::PathProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapPolygonStatics)->get_PathProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapPolygonStatics::StrokeThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapPolygonStatics)->get_StrokeThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapPolygonStatics::StrokeDashedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapPolygonStatics)->get_StrokeDashedProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMapPolygon2::Paths() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMapPolygon2)->get_Paths(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopath impl_IMapPolyline::Path() const +{ + Windows::Devices::Geolocation::Geopath value { nullptr }; + check_hresult(WINRT_SHIM(IMapPolyline)->get_Path(put_abi(value))); + return value; +} + +template void impl_IMapPolyline::Path(const Windows::Devices::Geolocation::Geopath & value) const +{ + check_hresult(WINRT_SHIM(IMapPolyline)->put_Path(get_abi(value))); +} + +template Windows::UI::Color impl_IMapPolyline::StrokeColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IMapPolyline)->get_StrokeColor(put_abi(value))); + return value; +} + +template void impl_IMapPolyline::StrokeColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IMapPolyline)->put_StrokeColor(get_abi(value))); +} + +template double impl_IMapPolyline::StrokeThickness() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapPolyline)->get_StrokeThickness(&value)); + return value; +} + +template void impl_IMapPolyline::StrokeThickness(double value) const +{ + check_hresult(WINRT_SHIM(IMapPolyline)->put_StrokeThickness(value)); +} + +template bool impl_IMapPolyline::StrokeDashed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapPolyline)->get_StrokeDashed(&value)); + return value; +} + +template void impl_IMapPolyline::StrokeDashed(bool value) const +{ + check_hresult(WINRT_SHIM(IMapPolyline)->put_StrokeDashed(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapPolylineStatics::PathProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapPolylineStatics)->get_PathProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapPolylineStatics::StrokeDashedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapPolylineStatics)->get_StrokeDashedProperty(put_abi(value))); + return value; +} + +template bool impl_IStreetsideExperience::AddressTextVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreetsideExperience)->get_AddressTextVisible(&value)); + return value; +} + +template void impl_IStreetsideExperience::AddressTextVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IStreetsideExperience)->put_AddressTextVisible(value)); +} + +template bool impl_IStreetsideExperience::CursorVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreetsideExperience)->get_CursorVisible(&value)); + return value; +} + +template void impl_IStreetsideExperience::CursorVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IStreetsideExperience)->put_CursorVisible(value)); +} + +template bool impl_IStreetsideExperience::OverviewMapVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreetsideExperience)->get_OverviewMapVisible(&value)); + return value; +} + +template void impl_IStreetsideExperience::OverviewMapVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IStreetsideExperience)->put_OverviewMapVisible(value)); +} + +template bool impl_IStreetsideExperience::StreetLabelsVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreetsideExperience)->get_StreetLabelsVisible(&value)); + return value; +} + +template void impl_IStreetsideExperience::StreetLabelsVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IStreetsideExperience)->put_StreetLabelsVisible(value)); +} + +template bool impl_IStreetsideExperience::ExitButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreetsideExperience)->get_ExitButtonVisible(&value)); + return value; +} + +template void impl_IStreetsideExperience::ExitButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IStreetsideExperience)->put_ExitButtonVisible(value)); +} + +template bool impl_IStreetsideExperience::ZoomButtonsVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStreetsideExperience)->get_ZoomButtonsVisible(&value)); + return value; +} + +template void impl_IStreetsideExperience::ZoomButtonsVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IStreetsideExperience)->put_ZoomButtonsVisible(value)); +} + +template Windows::UI::Xaml::Controls::Maps::StreetsideExperience impl_IStreetsideExperienceFactory::CreateInstanceWithPanorama(const Windows::UI::Xaml::Controls::Maps::StreetsidePanorama & panorama) const +{ + Windows::UI::Xaml::Controls::Maps::StreetsideExperience instance { nullptr }; + check_hresult(WINRT_SHIM(IStreetsideExperienceFactory)->abi_CreateInstanceWithPanorama(get_abi(panorama), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Maps::StreetsideExperience impl_IStreetsideExperienceFactory::CreateInstanceWithPanoramaHeadingPitchAndFieldOfView(const Windows::UI::Xaml::Controls::Maps::StreetsidePanorama & panorama, double headingInDegrees, double pitchInDegrees, double fieldOfViewInDegrees) const +{ + Windows::UI::Xaml::Controls::Maps::StreetsideExperience instance { nullptr }; + check_hresult(WINRT_SHIM(IStreetsideExperienceFactory)->abi_CreateInstanceWithPanoramaHeadingPitchAndFieldOfView(get_abi(panorama), headingInDegrees, pitchInDegrees, fieldOfViewInDegrees, put_abi(instance))); + return instance; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapControl::Center() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapControl)->get_Center(put_abi(value))); + return value; +} + +template void impl_IMapControl::Center(const Windows::Devices::Geolocation::Geopoint & value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_Center(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IMapControl::Children() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMapControl)->get_Children(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapColorScheme impl_IMapControl::ColorScheme() const +{ + Windows::UI::Xaml::Controls::Maps::MapColorScheme value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_ColorScheme(&value)); + return value; +} + +template void impl_IMapControl::ColorScheme(Windows::UI::Xaml::Controls::Maps::MapColorScheme value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_ColorScheme(value)); +} + +template double impl_IMapControl::DesiredPitch() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_DesiredPitch(&value)); + return value; +} + +template void impl_IMapControl::DesiredPitch(double value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_DesiredPitch(value)); +} + +template double impl_IMapControl::Heading() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_Heading(&value)); + return value; +} + +template void impl_IMapControl::Heading(double value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_Heading(value)); +} + +template bool impl_IMapControl::LandmarksVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_LandmarksVisible(&value)); + return value; +} + +template void impl_IMapControl::LandmarksVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_LandmarksVisible(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapLoadingStatus impl_IMapControl::LoadingStatus() const +{ + Windows::UI::Xaml::Controls::Maps::MapLoadingStatus value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_LoadingStatus(&value)); + return value; +} + +template hstring impl_IMapControl::MapServiceToken() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapControl)->get_MapServiceToken(put_abi(value))); + return value; +} + +template void impl_IMapControl::MapServiceToken(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_MapServiceToken(get_abi(value))); +} + +template double impl_IMapControl::MaxZoomLevel() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_MaxZoomLevel(&value)); + return value; +} + +template double impl_IMapControl::MinZoomLevel() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_MinZoomLevel(&value)); + return value; +} + +template bool impl_IMapControl::PedestrianFeaturesVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_PedestrianFeaturesVisible(&value)); + return value; +} + +template void impl_IMapControl::PedestrianFeaturesVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_PedestrianFeaturesVisible(value)); +} + +template double impl_IMapControl::Pitch() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_Pitch(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapStyle impl_IMapControl::Style() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyle value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_Style(&value)); + return value; +} + +template void impl_IMapControl::Style(Windows::UI::Xaml::Controls::Maps::MapStyle value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_Style(value)); +} + +template bool impl_IMapControl::TrafficFlowVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_TrafficFlowVisible(&value)); + return value; +} + +template void impl_IMapControl::TrafficFlowVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_TrafficFlowVisible(value)); +} + +template Windows::Foundation::Point impl_IMapControl::TransformOrigin() const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_TransformOrigin(put_abi(value))); + return value; +} + +template void impl_IMapControl::TransformOrigin(const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_TransformOrigin(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Maps::MapWatermarkMode impl_IMapControl::WatermarkMode() const +{ + Windows::UI::Xaml::Controls::Maps::MapWatermarkMode value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_WatermarkMode(&value)); + return value; +} + +template void impl_IMapControl::WatermarkMode(Windows::UI::Xaml::Controls::Maps::MapWatermarkMode value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_WatermarkMode(value)); +} + +template double impl_IMapControl::ZoomLevel() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMapControl)->get_ZoomLevel(&value)); + return value; +} + +template void impl_IMapControl::ZoomLevel(double value) const +{ + check_hresult(WINRT_SHIM(IMapControl)->put_ZoomLevel(value)); +} + +template Windows::Foundation::Collections::IVector impl_IMapControl::MapElements() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMapControl)->get_MapElements(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMapControl::Routes() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMapControl)->get_Routes(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IMapControl::TileSources() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMapControl)->get_TileSources(put_abi(value))); + return value; +} + +template event_token impl_IMapControl::CenterChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_CenterChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::CenterChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_CenterChanged, CenterChanged(value)); +} + +template void impl_IMapControl::CenterChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_CenterChanged(token)); +} + +template event_token impl_IMapControl::HeadingChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_HeadingChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::HeadingChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_HeadingChanged, HeadingChanged(value)); +} + +template void impl_IMapControl::HeadingChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_HeadingChanged(token)); +} + +template event_token impl_IMapControl::LoadingStatusChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_LoadingStatusChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::LoadingStatusChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_LoadingStatusChanged, LoadingStatusChanged(value)); +} + +template void impl_IMapControl::LoadingStatusChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_LoadingStatusChanged(token)); +} + +template event_token impl_IMapControl::MapDoubleTapped(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_MapDoubleTapped(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::MapDoubleTapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_MapDoubleTapped, MapDoubleTapped(value)); +} + +template void impl_IMapControl::MapDoubleTapped(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_MapDoubleTapped(token)); +} + +template event_token impl_IMapControl::MapHolding(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_MapHolding(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::MapHolding(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_MapHolding, MapHolding(value)); +} + +template void impl_IMapControl::MapHolding(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_MapHolding(token)); +} + +template event_token impl_IMapControl::MapTapped(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_MapTapped(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::MapTapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_MapTapped, MapTapped(value)); +} + +template void impl_IMapControl::MapTapped(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_MapTapped(token)); +} + +template event_token impl_IMapControl::PitchChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_PitchChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::PitchChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_PitchChanged, PitchChanged(value)); +} + +template void impl_IMapControl::PitchChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_PitchChanged(token)); +} + +template event_token impl_IMapControl::TransformOriginChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_TransformOriginChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::TransformOriginChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_TransformOriginChanged, TransformOriginChanged(value)); +} + +template void impl_IMapControl::TransformOriginChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_TransformOriginChanged(token)); +} + +template event_token impl_IMapControl::ZoomLevelChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl)->add_ZoomLevelChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl::ZoomLevelChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl::remove_ZoomLevelChanged, ZoomLevelChanged(value)); +} + +template void impl_IMapControl::ZoomLevelChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl)->remove_ZoomLevelChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IMapControl::FindMapElementsAtOffset(const Windows::Foundation::Point & offset) const +{ + Windows::Foundation::Collections::IVectorView returnValue; + check_hresult(WINRT_SHIM(IMapControl)->abi_FindMapElementsAtOffset(get_abi(offset), put_abi(returnValue))); + return returnValue; +} + +template void impl_IMapControl::GetLocationFromOffset(const Windows::Foundation::Point & offset, Windows::Devices::Geolocation::Geopoint & location) const +{ + check_hresult(WINRT_SHIM(IMapControl)->abi_GetLocationFromOffset(get_abi(offset), put_abi(location))); +} + +template void impl_IMapControl::GetOffsetFromLocation(const Windows::Devices::Geolocation::Geopoint & location, Windows::Foundation::Point & offset) const +{ + check_hresult(WINRT_SHIM(IMapControl)->abi_GetOffsetFromLocation(get_abi(location), put_abi(offset))); +} + +template void impl_IMapControl::IsLocationInView(const Windows::Devices::Geolocation::Geopoint & location, bool & isInView) const +{ + check_hresult(WINRT_SHIM(IMapControl)->abi_IsLocationInView(get_abi(location), &isInView)); +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl::TrySetViewBoundsAsync(const Windows::Devices::Geolocation::GeoboundingBox & bounds, const optional & margin, Windows::UI::Xaml::Controls::Maps::MapAnimationKind animation) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl)->abi_TrySetViewBoundsAsync(get_abi(bounds), get_abi(margin), animation, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl::TrySetViewAsync(const Windows::Devices::Geolocation::Geopoint & center) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl)->abi_TrySetViewWithCenterAsync(get_abi(center), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl::TrySetViewAsync(const Windows::Devices::Geolocation::Geopoint & center, const optional & zoomLevel) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl)->abi_TrySetViewWithCenterAndZoomAsync(get_abi(center), get_abi(zoomLevel), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl::TrySetViewAsync(const Windows::Devices::Geolocation::Geopoint & center, const optional & zoomLevel, const optional & heading, const optional & desiredPitch) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl)->abi_TrySetViewWithCenterZoomHeadingAndPitchAsync(get_abi(center), get_abi(zoomLevel), get_abi(heading), get_abi(desiredPitch), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl::TrySetViewAsync(const Windows::Devices::Geolocation::Geopoint & center, const optional & zoomLevel, const optional & heading, const optional & desiredPitch, Windows::UI::Xaml::Controls::Maps::MapAnimationKind animation) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl)->abi_TrySetViewWithCenterZoomHeadingPitchAndAnimationAsync(get_abi(center), get_abi(zoomLevel), get_abi(heading), get_abi(desiredPitch), animation, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::CenterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_CenterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::ChildrenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_ChildrenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::ColorSchemeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_ColorSchemeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::DesiredPitchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_DesiredPitchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::HeadingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_HeadingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::LandmarksVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_LandmarksVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::LoadingStatusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_LoadingStatusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::MapServiceTokenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_MapServiceTokenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::PedestrianFeaturesVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_PedestrianFeaturesVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::PitchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_PitchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::StyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_StyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::TrafficFlowVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_TrafficFlowVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::TransformOriginProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_TransformOriginProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::WatermarkModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_WatermarkModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::ZoomLevelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_ZoomLevelProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::MapElementsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_MapElementsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::RoutesProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_RoutesProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::TileSourcesProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_TileSourcesProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::LocationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_LocationProperty(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapControlStatics::GetLocation(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->abi_GetLocation(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IMapControlStatics::SetLocation(const Windows::UI::Xaml::DependencyObject & element, const Windows::Devices::Geolocation::Geopoint & value) const +{ + check_hresult(WINRT_SHIM(IMapControlStatics)->abi_SetLocation(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics::NormalizedAnchorPointProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics)->get_NormalizedAnchorPointProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Point impl_IMapControlStatics::GetNormalizedAnchorPoint(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Foundation::Point value {}; + check_hresult(WINRT_SHIM(IMapControlStatics)->abi_GetNormalizedAnchorPoint(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IMapControlStatics::SetNormalizedAnchorPoint(const Windows::UI::Xaml::DependencyObject & element, const Windows::Foundation::Point & value) const +{ + check_hresult(WINRT_SHIM(IMapControlStatics)->abi_SetNormalizedAnchorPoint(get_abi(element), get_abi(value))); +} + +template bool impl_IMapControl2::BusinessLandmarksVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_BusinessLandmarksVisible(&value)); + return value; +} + +template void impl_IMapControl2::BusinessLandmarksVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_BusinessLandmarksVisible(value)); +} + +template bool impl_IMapControl2::TransitFeaturesVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_TransitFeaturesVisible(&value)); + return value; +} + +template void impl_IMapControl2::TransitFeaturesVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_TransitFeaturesVisible(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapPanInteractionMode impl_IMapControl2::PanInteractionMode() const +{ + Windows::UI::Xaml::Controls::Maps::MapPanInteractionMode value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_PanInteractionMode(&value)); + return value; +} + +template void impl_IMapControl2::PanInteractionMode(Windows::UI::Xaml::Controls::Maps::MapPanInteractionMode value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_PanInteractionMode(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapInteractionMode impl_IMapControl2::RotateInteractionMode() const +{ + Windows::UI::Xaml::Controls::Maps::MapInteractionMode value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_RotateInteractionMode(&value)); + return value; +} + +template void impl_IMapControl2::RotateInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_RotateInteractionMode(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapInteractionMode impl_IMapControl2::TiltInteractionMode() const +{ + Windows::UI::Xaml::Controls::Maps::MapInteractionMode value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_TiltInteractionMode(&value)); + return value; +} + +template void impl_IMapControl2::TiltInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_TiltInteractionMode(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapInteractionMode impl_IMapControl2::ZoomInteractionMode() const +{ + Windows::UI::Xaml::Controls::Maps::MapInteractionMode value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_ZoomInteractionMode(&value)); + return value; +} + +template void impl_IMapControl2::ZoomInteractionMode(Windows::UI::Xaml::Controls::Maps::MapInteractionMode value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_ZoomInteractionMode(value)); +} + +template bool impl_IMapControl2::Is3DSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_Is3DSupported(&value)); + return value; +} + +template bool impl_IMapControl2::IsStreetsideSupported() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl2)->get_IsStreetsideSupported(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapScene impl_IMapControl2::Scene() const +{ + Windows::UI::Xaml::Controls::Maps::MapScene value { nullptr }; + check_hresult(WINRT_SHIM(IMapControl2)->get_Scene(put_abi(value))); + return value; +} + +template void impl_IMapControl2::Scene(const Windows::UI::Xaml::Controls::Maps::MapScene & value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_Scene(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapControl2::ActualCamera() const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera value { nullptr }; + check_hresult(WINRT_SHIM(IMapControl2)->get_ActualCamera(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapCamera impl_IMapControl2::TargetCamera() const +{ + Windows::UI::Xaml::Controls::Maps::MapCamera value { nullptr }; + check_hresult(WINRT_SHIM(IMapControl2)->get_TargetCamera(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapCustomExperience impl_IMapControl2::CustomExperience() const +{ + Windows::UI::Xaml::Controls::Maps::MapCustomExperience value { nullptr }; + check_hresult(WINRT_SHIM(IMapControl2)->get_CustomExperience(put_abi(value))); + return value; +} + +template void impl_IMapControl2::CustomExperience(const Windows::UI::Xaml::Controls::Maps::MapCustomExperience & value) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->put_CustomExperience(get_abi(value))); +} + +template event_token impl_IMapControl2::MapElementClick(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl2)->add_MapElementClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl2::MapElementClick(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl2::remove_MapElementClick, MapElementClick(value)); +} + +template void impl_IMapControl2::MapElementClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->remove_MapElementClick(token)); +} + +template event_token impl_IMapControl2::MapElementPointerEntered(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl2)->add_MapElementPointerEntered(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl2::MapElementPointerEntered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl2::remove_MapElementPointerEntered, MapElementPointerEntered(value)); +} + +template void impl_IMapControl2::MapElementPointerEntered(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->remove_MapElementPointerEntered(token)); +} + +template event_token impl_IMapControl2::MapElementPointerExited(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl2)->add_MapElementPointerExited(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl2::MapElementPointerExited(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl2::remove_MapElementPointerExited, MapElementPointerExited(value)); +} + +template void impl_IMapControl2::MapElementPointerExited(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->remove_MapElementPointerExited(token)); +} + +template event_token impl_IMapControl2::ActualCameraChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl2)->add_ActualCameraChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl2::ActualCameraChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl2::remove_ActualCameraChanged, ActualCameraChanged(value)); +} + +template void impl_IMapControl2::ActualCameraChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->remove_ActualCameraChanged(token)); +} + +template event_token impl_IMapControl2::ActualCameraChanging(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl2)->add_ActualCameraChanging(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl2::ActualCameraChanging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl2::remove_ActualCameraChanging, ActualCameraChanging(value)); +} + +template void impl_IMapControl2::ActualCameraChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->remove_ActualCameraChanging(token)); +} + +template event_token impl_IMapControl2::TargetCameraChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl2)->add_TargetCameraChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl2::TargetCameraChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl2::remove_TargetCameraChanged, TargetCameraChanged(value)); +} + +template void impl_IMapControl2::TargetCameraChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->remove_TargetCameraChanged(token)); +} + +template event_token impl_IMapControl2::CustomExperienceChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl2)->add_CustomExperienceChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl2::CustomExperienceChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl2::remove_CustomExperienceChanged, CustomExperienceChanged(value)); +} + +template void impl_IMapControl2::CustomExperienceChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->remove_CustomExperienceChanged(token)); +} + +template void impl_IMapControl2::StartContinuousRotate(double rateInDegreesPerSecond) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->abi_StartContinuousRotate(rateInDegreesPerSecond)); +} + +template void impl_IMapControl2::StopContinuousRotate() const +{ + check_hresult(WINRT_SHIM(IMapControl2)->abi_StopContinuousRotate()); +} + +template void impl_IMapControl2::StartContinuousTilt(double rateInDegreesPerSecond) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->abi_StartContinuousTilt(rateInDegreesPerSecond)); +} + +template void impl_IMapControl2::StopContinuousTilt() const +{ + check_hresult(WINRT_SHIM(IMapControl2)->abi_StopContinuousTilt()); +} + +template void impl_IMapControl2::StartContinuousZoom(double rateOfChangePerSecond) const +{ + check_hresult(WINRT_SHIM(IMapControl2)->abi_StartContinuousZoom(rateOfChangePerSecond)); +} + +template void impl_IMapControl2::StopContinuousZoom() const +{ + check_hresult(WINRT_SHIM(IMapControl2)->abi_StopContinuousZoom()); +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TryRotateAsync(double degrees) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TryRotateAsync(degrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TryRotateToAsync(double angleInDegrees) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TryRotateToAsync(angleInDegrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TryTiltAsync(double degrees) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TryTiltAsync(degrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TryTiltToAsync(double angleInDegrees) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TryTiltToAsync(angleInDegrees, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TryZoomInAsync() const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TryZoomInAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TryZoomOutAsync() const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TryZoomOutAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TryZoomToAsync(double zoomLevel) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TryZoomToAsync(zoomLevel, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TrySetSceneAsync(const Windows::UI::Xaml::Controls::Maps::MapScene & scene) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TrySetSceneAsync(get_abi(scene), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl2::TrySetSceneAsync(const Windows::UI::Xaml::Controls::Maps::MapScene & scene, Windows::UI::Xaml::Controls::Maps::MapAnimationKind animationKind) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl2)->abi_TrySetSceneWithAnimationAsync(get_abi(scene), animationKind, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::BusinessLandmarksVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_BusinessLandmarksVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::TransitFeaturesVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_TransitFeaturesVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::PanInteractionModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_PanInteractionModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::RotateInteractionModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_RotateInteractionModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::TiltInteractionModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_TiltInteractionModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::ZoomInteractionModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_ZoomInteractionModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::Is3DSupportedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_Is3DSupportedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::IsStreetsideSupportedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_IsStreetsideSupportedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics2::SceneProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics2)->get_SceneProperty(put_abi(value))); + return value; +} + +template event_token impl_IMapControl3::MapRightTapped(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl3)->add_MapRightTapped(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl3::MapRightTapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl3::remove_MapRightTapped, MapRightTapped(value)); +} + +template void impl_IMapControl3::MapRightTapped(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl3)->remove_MapRightTapped(token)); +} + +template bool impl_IMapControl4::BusinessLandmarksEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl4)->get_BusinessLandmarksEnabled(&value)); + return value; +} + +template void impl_IMapControl4::BusinessLandmarksEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMapControl4)->put_BusinessLandmarksEnabled(value)); +} + +template bool impl_IMapControl4::TransitFeaturesEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMapControl4)->get_TransitFeaturesEnabled(&value)); + return value; +} + +template void impl_IMapControl4::TransitFeaturesEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMapControl4)->put_TransitFeaturesEnabled(value)); +} + +template Windows::Devices::Geolocation::Geopath impl_IMapControl4::GetVisibleRegion(Windows::UI::Xaml::Controls::Maps::MapVisibleRegionKind region) const +{ + Windows::Devices::Geolocation::Geopath returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMapControl4)->abi_GetVisibleRegion(region, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics4::BusinessLandmarksEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics4)->get_BusinessLandmarksEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics4::TransitFeaturesEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics4)->get_TransitFeaturesEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Maps::MapProjection impl_IMapControl5::MapProjection() const +{ + Windows::UI::Xaml::Controls::Maps::MapProjection value {}; + check_hresult(WINRT_SHIM(IMapControl5)->get_MapProjection(&value)); + return value; +} + +template void impl_IMapControl5::MapProjection(Windows::UI::Xaml::Controls::Maps::MapProjection value) const +{ + check_hresult(WINRT_SHIM(IMapControl5)->put_MapProjection(value)); +} + +template Windows::UI::Xaml::Controls::Maps::MapStyleSheet impl_IMapControl5::StyleSheet() const +{ + Windows::UI::Xaml::Controls::Maps::MapStyleSheet value { nullptr }; + check_hresult(WINRT_SHIM(IMapControl5)->get_StyleSheet(put_abi(value))); + return value; +} + +template void impl_IMapControl5::StyleSheet(const Windows::UI::Xaml::Controls::Maps::MapStyleSheet & value) const +{ + check_hresult(WINRT_SHIM(IMapControl5)->put_StyleSheet(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IMapControl5::ViewPadding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IMapControl5)->get_ViewPadding(put_abi(value))); + return value; +} + +template void impl_IMapControl5::ViewPadding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IMapControl5)->put_ViewPadding(get_abi(value))); +} + +template event_token impl_IMapControl5::MapContextRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControl5)->add_MapContextRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControl5::MapContextRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControl5::remove_MapContextRequested, MapContextRequested(value)); +} + +template void impl_IMapControl5::MapContextRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControl5)->remove_MapContextRequested(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IMapControl5::FindMapElementsAtOffset(const Windows::Foundation::Point & offset, double radius) const +{ + Windows::Foundation::Collections::IVectorView returnValue; + check_hresult(WINRT_SHIM(IMapControl5)->abi_FindMapElementsAtOffsetWithRadius(get_abi(offset), radius, put_abi(returnValue))); + return returnValue; +} + +template void impl_IMapControl5::GetLocationFromOffset(const Windows::Foundation::Point & offset, Windows::Devices::Geolocation::AltitudeReferenceSystem desiredReferenceSystem, Windows::Devices::Geolocation::Geopoint & location) const +{ + check_hresult(WINRT_SHIM(IMapControl5)->abi_GetLocationFromOffsetWithReferenceSystem(get_abi(offset), desiredReferenceSystem, put_abi(location))); +} + +template void impl_IMapControl5::StartContinuousPan(double horizontalPixelsPerSecond, double verticalPixelsPerSecond) const +{ + check_hresult(WINRT_SHIM(IMapControl5)->abi_StartContinuousPan(horizontalPixelsPerSecond, verticalPixelsPerSecond)); +} + +template void impl_IMapControl5::StopContinuousPan() const +{ + check_hresult(WINRT_SHIM(IMapControl5)->abi_StopContinuousPan()); +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl5::TryPanAsync(double horizontalPixels, double verticalPixels) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl5)->abi_TryPanAsync(horizontalPixels, verticalPixels, put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IMapControl5::TryPanToAsync(const Windows::Devices::Geolocation::Geopoint & location) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IMapControl5)->abi_TryPanToAsync(get_abi(location), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics5::MapProjectionProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics5)->get_MapProjectionProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics5::StyleSheetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics5)->get_StyleSheetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMapControlStatics5::ViewPaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlStatics5)->get_ViewPaddingProperty(put_abi(value))); + return value; +} + +template event_token impl_IMapControlDataHelper::BusinessLandmarkClick(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper)->add_BusinessLandmarkClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper::BusinessLandmarkClick(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper::remove_BusinessLandmarkClick, BusinessLandmarkClick(value)); +} + +template void impl_IMapControlDataHelper::BusinessLandmarkClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper)->remove_BusinessLandmarkClick(token)); +} + +template event_token impl_IMapControlDataHelper::TransitFeatureClick(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper)->add_TransitFeatureClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper::TransitFeatureClick(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper::remove_TransitFeatureClick, TransitFeatureClick(value)); +} + +template void impl_IMapControlDataHelper::TransitFeatureClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper)->remove_TransitFeatureClick(token)); +} + +template event_token impl_IMapControlDataHelper::BusinessLandmarkRightTapped(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper)->add_BusinessLandmarkRightTapped(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper::BusinessLandmarkRightTapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper::remove_BusinessLandmarkRightTapped, BusinessLandmarkRightTapped(value)); +} + +template void impl_IMapControlDataHelper::BusinessLandmarkRightTapped(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper)->remove_BusinessLandmarkRightTapped(token)); +} + +template event_token impl_IMapControlDataHelper::TransitFeatureRightTapped(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper)->add_TransitFeatureRightTapped(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper::TransitFeatureRightTapped(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper::remove_TransitFeatureRightTapped, TransitFeatureRightTapped(value)); +} + +template void impl_IMapControlDataHelper::TransitFeatureRightTapped(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper)->remove_TransitFeatureRightTapped(token)); +} + +template event_token impl_IMapControlDataHelper2::BusinessLandmarkPointerEntered(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->add_BusinessLandmarkPointerEntered(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper2::BusinessLandmarkPointerEntered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper2::remove_BusinessLandmarkPointerEntered, BusinessLandmarkPointerEntered(value)); +} + +template void impl_IMapControlDataHelper2::BusinessLandmarkPointerEntered(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->remove_BusinessLandmarkPointerEntered(token)); +} + +template event_token impl_IMapControlDataHelper2::TransitFeaturePointerEntered(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->add_TransitFeaturePointerEntered(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper2::TransitFeaturePointerEntered(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper2::remove_TransitFeaturePointerEntered, TransitFeaturePointerEntered(value)); +} + +template void impl_IMapControlDataHelper2::TransitFeaturePointerEntered(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->remove_TransitFeaturePointerEntered(token)); +} + +template event_token impl_IMapControlDataHelper2::BusinessLandmarkPointerExited(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->add_BusinessLandmarkPointerExited(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper2::BusinessLandmarkPointerExited(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper2::remove_BusinessLandmarkPointerExited, BusinessLandmarkPointerExited(value)); +} + +template void impl_IMapControlDataHelper2::BusinessLandmarkPointerExited(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->remove_BusinessLandmarkPointerExited(token)); +} + +template event_token impl_IMapControlDataHelper2::TransitFeaturePointerExited(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->add_TransitFeaturePointerExited(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMapControlDataHelper2::TransitFeaturePointerExited(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper2::remove_TransitFeaturePointerExited, TransitFeaturePointerExited(value)); +} + +template void impl_IMapControlDataHelper2::TransitFeaturePointerExited(event_token token) const +{ + check_hresult(WINRT_SHIM(IMapControlDataHelper2)->remove_TransitFeaturePointerExited(token)); +} + +template Windows::UI::Xaml::Controls::Maps::MapControlDataHelper impl_IMapControlDataHelperFactory::CreateInstance(const Windows::UI::Xaml::Controls::Maps::MapControl & map) const +{ + Windows::UI::Xaml::Controls::Maps::MapControlDataHelper instance { nullptr }; + check_hresult(WINRT_SHIM(IMapControlDataHelperFactory)->abi_CreateInstance(get_abi(map), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapControlBusinessLandmarkClickEventArgs::LocalLocations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapControlBusinessLandmarkClickEventArgs)->get_LocalLocations(put_abi(value))); + return value; +} + +template hstring impl_IMapControlTransitFeatureClickEventArgs::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapControlTransitFeatureClickEventArgs)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapControlTransitFeatureClickEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlTransitFeatureClickEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMapControlTransitFeatureClickEventArgs::TransitProperties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMapControlTransitFeatureClickEventArgs)->get_TransitProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapControlBusinessLandmarkRightTappedEventArgs::LocalLocations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapControlBusinessLandmarkRightTappedEventArgs)->get_LocalLocations(put_abi(value))); + return value; +} + +template hstring impl_IMapControlTransitFeatureRightTappedEventArgs::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapControlTransitFeatureRightTappedEventArgs)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapControlTransitFeatureRightTappedEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlTransitFeatureRightTappedEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMapControlTransitFeatureRightTappedEventArgs::TransitProperties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMapControlTransitFeatureRightTappedEventArgs)->get_TransitProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapControlBusinessLandmarkPointerEnteredEventArgs::LocalLocations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapControlBusinessLandmarkPointerEnteredEventArgs)->get_LocalLocations(put_abi(value))); + return value; +} + +template hstring impl_IMapControlTransitFeaturePointerEnteredEventArgs::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapControlTransitFeaturePointerEnteredEventArgs)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapControlTransitFeaturePointerEnteredEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlTransitFeaturePointerEnteredEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMapControlTransitFeaturePointerEnteredEventArgs::TransitProperties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMapControlTransitFeaturePointerEnteredEventArgs)->get_TransitProperties(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IMapControlBusinessLandmarkPointerExitedEventArgs::LocalLocations() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IMapControlBusinessLandmarkPointerExitedEventArgs)->get_LocalLocations(put_abi(value))); + return value; +} + +template hstring impl_IMapControlTransitFeaturePointerExitedEventArgs::DisplayName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IMapControlTransitFeaturePointerExitedEventArgs)->get_DisplayName(put_abi(value))); + return value; +} + +template Windows::Devices::Geolocation::Geopoint impl_IMapControlTransitFeaturePointerExitedEventArgs::Location() const +{ + Windows::Devices::Geolocation::Geopoint value { nullptr }; + check_hresult(WINRT_SHIM(IMapControlTransitFeaturePointerExitedEventArgs)->get_Location(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IMapView impl_IMapControlTransitFeaturePointerExitedEventArgs::TransitProperties() const +{ + Windows::Foundation::Collections::IMapView value; + check_hresult(WINRT_SHIM(IMapControlTransitFeaturePointerExitedEventArgs)->get_TransitProperties(put_abi(value))); + return value; +} + +inline CustomMapTileDataSource::CustomMapTileDataSource() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline HttpMapTileDataSource::HttpMapTileDataSource() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline HttpMapTileDataSource::HttpMapTileDataSource(hstring_view uriFormatString) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithUriFormatString(uriFormatString, outer, inner)); +} + +inline LocalMapTileDataSource::LocalMapTileDataSource() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline LocalMapTileDataSource::LocalMapTileDataSource(hstring_view uriFormatString) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithUriFormatString(uriFormatString, outer, inner)); +} + +inline MapActualCameraChangedEventArgs::MapActualCameraChangedEventArgs() : + MapActualCameraChangedEventArgs(activate_instance()) +{} + +inline MapActualCameraChangingEventArgs::MapActualCameraChangingEventArgs() : + MapActualCameraChangingEventArgs(activate_instance()) +{} + +inline MapBillboard::MapBillboard(const Windows::UI::Xaml::Controls::Maps::MapCamera & camera) : + MapBillboard(get_activation_factory().CreateInstanceFromCamera(camera)) +{} + +inline Windows::UI::Xaml::DependencyProperty MapBillboard::LocationProperty() +{ + return get_activation_factory().LocationProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapBillboard::NormalizedAnchorPointProperty() +{ + return get_activation_factory().NormalizedAnchorPointProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapBillboard::CollisionBehaviorDesiredProperty() +{ + return get_activation_factory().CollisionBehaviorDesiredProperty(); +} + +inline MapCamera::MapCamera(const Windows::Devices::Geolocation::Geopoint & location) : + MapCamera(get_activation_factory().CreateInstanceWithLocation(location)) +{} + +inline MapCamera::MapCamera(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees) : + MapCamera(get_activation_factory().CreateInstanceWithLocationAndHeading(location, headingInDegrees)) +{} + +inline MapCamera::MapCamera(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees, double pitchInDegrees) : + MapCamera(get_activation_factory().CreateInstanceWithLocationHeadingAndPitch(location, headingInDegrees, pitchInDegrees)) +{} + +inline MapCamera::MapCamera(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees, double pitchInDegrees, double rollInDegrees, double fieldOfViewInDegrees) : + MapCamera(get_activation_factory().CreateInstanceWithLocationHeadingPitchRollAndFieldOfView(location, headingInDegrees, pitchInDegrees, rollInDegrees, fieldOfViewInDegrees)) +{} + +inline MapContextRequestedEventArgs::MapContextRequestedEventArgs() : + MapContextRequestedEventArgs(activate_instance()) +{} + +inline MapControl::MapControl() : + MapControl(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty MapControl::CenterProperty() +{ + return get_activation_factory().CenterProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::ChildrenProperty() +{ + return get_activation_factory().ChildrenProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::ColorSchemeProperty() +{ + return get_activation_factory().ColorSchemeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::DesiredPitchProperty() +{ + return get_activation_factory().DesiredPitchProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::HeadingProperty() +{ + return get_activation_factory().HeadingProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::LandmarksVisibleProperty() +{ + return get_activation_factory().LandmarksVisibleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::LoadingStatusProperty() +{ + return get_activation_factory().LoadingStatusProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::MapServiceTokenProperty() +{ + return get_activation_factory().MapServiceTokenProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::PedestrianFeaturesVisibleProperty() +{ + return get_activation_factory().PedestrianFeaturesVisibleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::PitchProperty() +{ + return get_activation_factory().PitchProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::StyleProperty() +{ + return get_activation_factory().StyleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::TrafficFlowVisibleProperty() +{ + return get_activation_factory().TrafficFlowVisibleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::TransformOriginProperty() +{ + return get_activation_factory().TransformOriginProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::WatermarkModeProperty() +{ + return get_activation_factory().WatermarkModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::ZoomLevelProperty() +{ + return get_activation_factory().ZoomLevelProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::MapElementsProperty() +{ + return get_activation_factory().MapElementsProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::RoutesProperty() +{ + return get_activation_factory().RoutesProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::TileSourcesProperty() +{ + return get_activation_factory().TileSourcesProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::LocationProperty() +{ + return get_activation_factory().LocationProperty(); +} + +inline Windows::Devices::Geolocation::Geopoint MapControl::GetLocation(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetLocation(element); +} + +inline void MapControl::SetLocation(const Windows::UI::Xaml::DependencyObject & element, const Windows::Devices::Geolocation::Geopoint & value) +{ + get_activation_factory().SetLocation(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::NormalizedAnchorPointProperty() +{ + return get_activation_factory().NormalizedAnchorPointProperty(); +} + +inline Windows::Foundation::Point MapControl::GetNormalizedAnchorPoint(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetNormalizedAnchorPoint(element); +} + +inline void MapControl::SetNormalizedAnchorPoint(const Windows::UI::Xaml::DependencyObject & element, const Windows::Foundation::Point & value) +{ + get_activation_factory().SetNormalizedAnchorPoint(element, value); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::BusinessLandmarksVisibleProperty() +{ + return get_activation_factory().BusinessLandmarksVisibleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::TransitFeaturesVisibleProperty() +{ + return get_activation_factory().TransitFeaturesVisibleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::PanInteractionModeProperty() +{ + return get_activation_factory().PanInteractionModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::RotateInteractionModeProperty() +{ + return get_activation_factory().RotateInteractionModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::TiltInteractionModeProperty() +{ + return get_activation_factory().TiltInteractionModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::ZoomInteractionModeProperty() +{ + return get_activation_factory().ZoomInteractionModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::Is3DSupportedProperty() +{ + return get_activation_factory().Is3DSupportedProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::IsStreetsideSupportedProperty() +{ + return get_activation_factory().IsStreetsideSupportedProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::SceneProperty() +{ + return get_activation_factory().SceneProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::BusinessLandmarksEnabledProperty() +{ + return get_activation_factory().BusinessLandmarksEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::TransitFeaturesEnabledProperty() +{ + return get_activation_factory().TransitFeaturesEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::MapProjectionProperty() +{ + return get_activation_factory().MapProjectionProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::StyleSheetProperty() +{ + return get_activation_factory().StyleSheetProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapControl::ViewPaddingProperty() +{ + return get_activation_factory().ViewPaddingProperty(); +} + +inline MapControlBusinessLandmarkClickEventArgs::MapControlBusinessLandmarkClickEventArgs() : + MapControlBusinessLandmarkClickEventArgs(activate_instance()) +{} + +inline MapControlBusinessLandmarkPointerEnteredEventArgs::MapControlBusinessLandmarkPointerEnteredEventArgs() : + MapControlBusinessLandmarkPointerEnteredEventArgs(activate_instance()) +{} + +inline MapControlBusinessLandmarkPointerExitedEventArgs::MapControlBusinessLandmarkPointerExitedEventArgs() : + MapControlBusinessLandmarkPointerExitedEventArgs(activate_instance()) +{} + +inline MapControlBusinessLandmarkRightTappedEventArgs::MapControlBusinessLandmarkRightTappedEventArgs() : + MapControlBusinessLandmarkRightTappedEventArgs(activate_instance()) +{} + +inline MapControlDataHelper::MapControlDataHelper(const Windows::UI::Xaml::Controls::Maps::MapControl & map) : + MapControlDataHelper(get_activation_factory().CreateInstance(map)) +{} + +inline MapControlTransitFeatureClickEventArgs::MapControlTransitFeatureClickEventArgs() : + MapControlTransitFeatureClickEventArgs(activate_instance()) +{} + +inline MapControlTransitFeaturePointerEnteredEventArgs::MapControlTransitFeaturePointerEnteredEventArgs() : + MapControlTransitFeaturePointerEnteredEventArgs(activate_instance()) +{} + +inline MapControlTransitFeaturePointerExitedEventArgs::MapControlTransitFeaturePointerExitedEventArgs() : + MapControlTransitFeaturePointerExitedEventArgs(activate_instance()) +{} + +inline MapControlTransitFeatureRightTappedEventArgs::MapControlTransitFeatureRightTappedEventArgs() : + MapControlTransitFeatureRightTappedEventArgs(activate_instance()) +{} + +inline MapCustomExperience::MapCustomExperience() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline MapCustomExperienceChangedEventArgs::MapCustomExperienceChangedEventArgs() : + MapCustomExperienceChangedEventArgs(activate_instance()) +{} + +inline MapElement::MapElement() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline Windows::UI::Xaml::DependencyProperty MapElement::ZIndexProperty() +{ + return get_activation_factory().ZIndexProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapElement::VisibleProperty() +{ + return get_activation_factory().VisibleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapElement::MapTabIndexProperty() +{ + return get_activation_factory().MapTabIndexProperty(); +} + +inline MapElementClickEventArgs::MapElementClickEventArgs() : + MapElementClickEventArgs(activate_instance()) +{} + +inline MapElementPointerEnteredEventArgs::MapElementPointerEnteredEventArgs() : + MapElementPointerEnteredEventArgs(activate_instance()) +{} + +inline MapElementPointerExitedEventArgs::MapElementPointerExitedEventArgs() : + MapElementPointerExitedEventArgs(activate_instance()) +{} + +inline MapIcon::MapIcon() : + MapIcon(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty MapIcon::LocationProperty() +{ + return get_activation_factory().LocationProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapIcon::TitleProperty() +{ + return get_activation_factory().TitleProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapIcon::NormalizedAnchorPointProperty() +{ + return get_activation_factory().NormalizedAnchorPointProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapIcon::CollisionBehaviorDesiredProperty() +{ + return get_activation_factory().CollisionBehaviorDesiredProperty(); +} + +inline MapInputEventArgs::MapInputEventArgs() : + MapInputEventArgs(activate_instance()) +{} + +inline MapItemsControl::MapItemsControl() : + MapItemsControl(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty MapItemsControl::ItemsSourceProperty() +{ + return get_activation_factory().ItemsSourceProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapItemsControl::ItemsProperty() +{ + return get_activation_factory().ItemsProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapItemsControl::ItemTemplateProperty() +{ + return get_activation_factory().ItemTemplateProperty(); +} + +inline MapPolygon::MapPolygon() : + MapPolygon(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty MapPolygon::PathProperty() +{ + return get_activation_factory().PathProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapPolygon::StrokeThicknessProperty() +{ + return get_activation_factory().StrokeThicknessProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapPolygon::StrokeDashedProperty() +{ + return get_activation_factory().StrokeDashedProperty(); +} + +inline MapPolyline::MapPolyline() : + MapPolyline(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty MapPolyline::PathProperty() +{ + return get_activation_factory().PathProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapPolyline::StrokeDashedProperty() +{ + return get_activation_factory().StrokeDashedProperty(); +} + +inline MapRightTappedEventArgs::MapRightTappedEventArgs() : + MapRightTappedEventArgs(activate_instance()) +{} + +inline MapRouteView::MapRouteView(const Windows::Services::Maps::MapRoute & route) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithMapRoute(route, outer, inner)); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromBoundingBox(const Windows::Devices::Geolocation::GeoboundingBox & bounds) +{ + return get_activation_factory().CreateFromBoundingBox(bounds); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromBoundingBox(const Windows::Devices::Geolocation::GeoboundingBox & bounds, double headingInDegrees, double pitchInDegrees) +{ + return get_activation_factory().CreateFromBoundingBox(bounds, headingInDegrees, pitchInDegrees); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromCamera(const Windows::UI::Xaml::Controls::Maps::MapCamera & camera) +{ + return get_activation_factory().CreateFromCamera(camera); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromLocation(const Windows::Devices::Geolocation::Geopoint & location) +{ + return get_activation_factory().CreateFromLocation(location); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromLocation(const Windows::Devices::Geolocation::Geopoint & location, double headingInDegrees, double pitchInDegrees) +{ + return get_activation_factory().CreateFromLocation(location, headingInDegrees, pitchInDegrees); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromLocationAndRadius(const Windows::Devices::Geolocation::Geopoint & location, double radiusInMeters) +{ + return get_activation_factory().CreateFromLocationAndRadius(location, radiusInMeters); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromLocationAndRadius(const Windows::Devices::Geolocation::Geopoint & location, double radiusInMeters, double headingInDegrees, double pitchInDegrees) +{ + return get_activation_factory().CreateFromLocationAndRadius(location, radiusInMeters, headingInDegrees, pitchInDegrees); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromLocations(iterable locations) +{ + return get_activation_factory().CreateFromLocations(locations); +} + +inline Windows::UI::Xaml::Controls::Maps::MapScene MapScene::CreateFromLocations(iterable locations, double headingInDegrees, double pitchInDegrees) +{ + return get_activation_factory().CreateFromLocations(locations, headingInDegrees, pitchInDegrees); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::Aerial() +{ + return get_activation_factory().Aerial(); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::AerialWithOverlay() +{ + return get_activation_factory().AerialWithOverlay(); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::RoadLight() +{ + return get_activation_factory().RoadLight(); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::RoadDark() +{ + return get_activation_factory().RoadDark(); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::RoadHighContrastLight() +{ + return get_activation_factory().RoadHighContrastLight(); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::RoadHighContrastDark() +{ + return get_activation_factory().RoadHighContrastDark(); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::Combine(iterable styleSheets) +{ + return get_activation_factory().Combine(styleSheets); +} + +inline Windows::UI::Xaml::Controls::Maps::MapStyleSheet MapStyleSheet::ParseFromJson(hstring_view styleAsJson) +{ + return get_activation_factory().ParseFromJson(styleAsJson); +} + +inline bool MapStyleSheet::TryParseFromJson(hstring_view styleAsJson, Windows::UI::Xaml::Controls::Maps::MapStyleSheet & styleSheet) +{ + return get_activation_factory().TryParseFromJson(styleAsJson, styleSheet); +} + +inline MapTargetCameraChangedEventArgs::MapTargetCameraChangedEventArgs() : + MapTargetCameraChangedEventArgs(activate_instance()) +{} + +inline MapTileBitmapRequest::MapTileBitmapRequest() : + MapTileBitmapRequest(activate_instance()) +{} + +inline MapTileBitmapRequestDeferral::MapTileBitmapRequestDeferral() : + MapTileBitmapRequestDeferral(activate_instance()) +{} + +inline MapTileBitmapRequestedEventArgs::MapTileBitmapRequestedEventArgs() : + MapTileBitmapRequestedEventArgs(activate_instance()) +{} + +inline MapTileDataSource::MapTileDataSource() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline MapTileSource::MapTileSource() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline MapTileSource::MapTileSource(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithDataSource(dataSource, outer, inner)); +} + +inline MapTileSource::MapTileSource(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource, const Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange & zoomLevelRange) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithDataSourceAndZoomRange(dataSource, zoomLevelRange, outer, inner)); +} + +inline MapTileSource::MapTileSource(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource, const Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange & zoomLevelRange, const Windows::Devices::Geolocation::GeoboundingBox & bounds) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithDataSourceZoomRangeAndBounds(dataSource, zoomLevelRange, bounds, outer, inner)); +} + +inline MapTileSource::MapTileSource(const Windows::UI::Xaml::Controls::Maps::MapTileDataSource & dataSource, const Windows::UI::Xaml::Controls::Maps::MapZoomLevelRange & zoomLevelRange, const Windows::Devices::Geolocation::GeoboundingBox & bounds, int32_t tileSizeInPixels) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithDataSourceZoomRangeBoundsAndTileSize(dataSource, zoomLevelRange, bounds, tileSizeInPixels, outer, inner)); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::DataSourceProperty() +{ + return get_activation_factory().DataSourceProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::LayerProperty() +{ + return get_activation_factory().LayerProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::ZoomLevelRangeProperty() +{ + return get_activation_factory().ZoomLevelRangeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::BoundsProperty() +{ + return get_activation_factory().BoundsProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::AllowOverstretchProperty() +{ + return get_activation_factory().AllowOverstretchProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::IsFadingEnabledProperty() +{ + return get_activation_factory().IsFadingEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::IsTransparencyEnabledProperty() +{ + return get_activation_factory().IsTransparencyEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::IsRetryEnabledProperty() +{ + return get_activation_factory().IsRetryEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::ZIndexProperty() +{ + return get_activation_factory().ZIndexProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::TilePixelSizeProperty() +{ + return get_activation_factory().TilePixelSizeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty MapTileSource::VisibleProperty() +{ + return get_activation_factory().VisibleProperty(); +} + +inline MapTileUriRequest::MapTileUriRequest() : + MapTileUriRequest(activate_instance()) +{} + +inline MapTileUriRequestDeferral::MapTileUriRequestDeferral() : + MapTileUriRequestDeferral(activate_instance()) +{} + +inline MapTileUriRequestedEventArgs::MapTileUriRequestedEventArgs() : + MapTileUriRequestedEventArgs(activate_instance()) +{} + +inline StreetsideExperience::StreetsideExperience(const Windows::UI::Xaml::Controls::Maps::StreetsidePanorama & panorama) : + StreetsideExperience(get_activation_factory().CreateInstanceWithPanorama(panorama)) +{} + +inline StreetsideExperience::StreetsideExperience(const Windows::UI::Xaml::Controls::Maps::StreetsidePanorama & panorama, double headingInDegrees, double pitchInDegrees, double fieldOfViewInDegrees) : + StreetsideExperience(get_activation_factory().CreateInstanceWithPanoramaHeadingPitchAndFieldOfView(panorama, headingInDegrees, pitchInDegrees, fieldOfViewInDegrees)) +{} + +inline Windows::Foundation::IAsyncOperation StreetsidePanorama::FindNearbyAsync(const Windows::Devices::Geolocation::Geopoint & location) +{ + return get_activation_factory().FindNearbyAsync(location); +} + +inline Windows::Foundation::IAsyncOperation StreetsidePanorama::FindNearbyAsync(const Windows::Devices::Geolocation::Geopoint & location, double radiusInMeters) +{ + return get_activation_factory().FindNearbyAsync(location, radiusInMeters); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::ICustomMapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::ICustomMapTileDataSourceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IHttpMapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IHttpMapTileDataSourceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::ILocalMapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::ILocalMapTileDataSourceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapActualCameraChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapActualCameraChangedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapActualCameraChangingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapActualCameraChangingEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapBillboard & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapBillboardFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapBillboardStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapCamera & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapCameraFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapContextRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControl2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControl3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControl4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControl5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlBusinessLandmarkClickEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlBusinessLandmarkPointerEnteredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlBusinessLandmarkPointerExitedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlBusinessLandmarkRightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelper2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlDataHelperFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlStatics4 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlStatics5 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlTransitFeatureClickEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlTransitFeaturePointerEnteredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlTransitFeaturePointerExitedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapControlTransitFeatureRightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapCustomExperience & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapCustomExperienceChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapCustomExperienceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElement2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElementClickEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElementFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElementPointerEnteredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElementPointerExitedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElementStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapElementStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapIcon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapIcon2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapIconStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapIconStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapInputEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapItemsControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapItemsControlStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapPolygon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapPolygon2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapPolygonStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapPolyline & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapPolylineStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapRightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapRouteView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapRouteViewFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapScene & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapSceneStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapStyleSheet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapStyleSheetStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTargetCameraChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTargetCameraChangedEventArgs2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileBitmapRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileBitmapRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileBitmapRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileDataSourceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileSourceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileSourceStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileUriRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileUriRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IMapTileUriRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IStreetsideExperience & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IStreetsideExperienceFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IStreetsidePanorama & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::IStreetsidePanoramaStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::CustomMapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::HttpMapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::LocalMapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapActualCameraChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapActualCameraChangingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapBillboard & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapCamera & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapContextRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlBusinessLandmarkClickEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlBusinessLandmarkPointerEnteredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlBusinessLandmarkPointerExitedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlBusinessLandmarkRightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlDataHelper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlTransitFeatureClickEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlTransitFeaturePointerEnteredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlTransitFeaturePointerExitedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapControlTransitFeatureRightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapCustomExperience & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapCustomExperienceChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapElement & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapElementClickEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapElementPointerEnteredEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapElementPointerExitedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapIcon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapInputEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapItemsControl & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapPolygon & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapPolyline & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapRightTappedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapRouteView & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapScene & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapStyleSheet & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTargetCameraChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileBitmapRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileBitmapRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileBitmapRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileDataSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileSource & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileUriRequest & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileUriRequestDeferral & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::MapTileUriRequestedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::StreetsideExperience & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Maps::StreetsidePanorama & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.Primitives.h b/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.Primitives.h new file mode 100644 index 000000000..24559aa19 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.Primitives.h @@ -0,0 +1,13227 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Xaml.Controls.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.UI.Xaml.3.h" +#include "internal/Windows.UI.Xaml.Media.3.h" +#include "internal/Windows.UI.Xaml.Input.3.h" +#include "internal/Windows.UI.Xaml.Controls.Primitives.3.h" +#include "Windows.UI.Xaml.Controls.h" +#include "Windows.UI.Xaml.Data.h" +#include "internal/Windows.UI.Xaml.Controls.Primitives.4.h" +#include "internal/Windows.UI.Xaml.Controls.Primitives.5.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::UI::Xaml::Controls::Primitives { + +template DragCompletedEventHandler::DragCompletedEventHandler(L lambda) : + DragCompletedEventHandler(impl::make_delegate, DragCompletedEventHandler>(std::forward(lambda))) +{} + +template DragCompletedEventHandler::DragCompletedEventHandler(F * function) : + DragCompletedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DragCompletedEventHandler::DragCompletedEventHandler(O * object, M method) : + DragCompletedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DragCompletedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::Primitives::DragCompletedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template DragDeltaEventHandler::DragDeltaEventHandler(L lambda) : + DragDeltaEventHandler(impl::make_delegate, DragDeltaEventHandler>(std::forward(lambda))) +{} + +template DragDeltaEventHandler::DragDeltaEventHandler(F * function) : + DragDeltaEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DragDeltaEventHandler::DragDeltaEventHandler(O * object, M method) : + DragDeltaEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DragDeltaEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::Primitives::DragDeltaEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template DragStartedEventHandler::DragStartedEventHandler(L lambda) : + DragStartedEventHandler(impl::make_delegate, DragStartedEventHandler>(std::forward(lambda))) +{} + +template DragStartedEventHandler::DragStartedEventHandler(F * function) : + DragStartedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DragStartedEventHandler::DragStartedEventHandler(O * object, M method) : + DragStartedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DragStartedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::Primitives::DragStartedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template ItemsChangedEventHandler::ItemsChangedEventHandler(L lambda) : + ItemsChangedEventHandler(impl::make_delegate, ItemsChangedEventHandler>(std::forward(lambda))) +{} + +template ItemsChangedEventHandler::ItemsChangedEventHandler(F * function) : + ItemsChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ItemsChangedEventHandler::ItemsChangedEventHandler(O * object, M method) : + ItemsChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ItemsChangedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::Primitives::ItemsChangedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template RangeBaseValueChangedEventHandler::RangeBaseValueChangedEventHandler(L lambda) : + RangeBaseValueChangedEventHandler(impl::make_delegate, RangeBaseValueChangedEventHandler>(std::forward(lambda))) +{} + +template RangeBaseValueChangedEventHandler::RangeBaseValueChangedEventHandler(F * function) : + RangeBaseValueChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template RangeBaseValueChangedEventHandler::RangeBaseValueChangedEventHandler(O * object, M method) : + RangeBaseValueChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void RangeBaseValueChangedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template ScrollEventHandler::ScrollEventHandler(L lambda) : + ScrollEventHandler(impl::make_delegate, ScrollEventHandler>(std::forward(lambda))) +{} + +template ScrollEventHandler::ScrollEventHandler(F * function) : + ScrollEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ScrollEventHandler::ScrollEventHandler(O * object, M method) : + ScrollEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ScrollEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::Primitives::ScrollEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClipRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClipRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompactVerticalDelta(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompactVerticalDelta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompactRootMargin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompactRootMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimalVerticalDelta(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimalVerticalDelta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinimalRootMargin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimalRootMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HiddenVerticalDelta(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HiddenVerticalDelta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HiddenRootMargin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HiddenRootMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClickMode(Windows::UI::Xaml::Controls::ClickMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClickMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClickMode(Windows::UI::Xaml::Controls::ClickMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClickMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPointerOver(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPointerOver()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPressed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPressed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Command(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Command()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Command(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Command(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandParameter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandParameter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommandParameter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommandParameter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Click(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Click(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Click(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Click(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClickModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClickModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPointerOverProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPointerOverProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPressedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPressedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandParameterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandParameterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinViewWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinViewWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekDay1(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekDay1()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekDay2(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekDay2()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekDay3(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekDay3()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekDay4(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekDay4()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekDay5(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekDay5()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekDay6(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekDay6()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WeekDay7(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WeekDay7()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasMoreContentAfter(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasMoreContentAfter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasMoreContentBefore(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasMoreContentBefore()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasMoreViews(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasMoreViews()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClipRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClipRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CenterX(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CenterX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CenterY(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CenterY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanVerticallyScroll(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanVerticallyScroll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanVerticallyScroll(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanVerticallyScroll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanHorizontallyScroll(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanHorizontallyScroll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanHorizontallyScroll(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanHorizontallyScroll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollOwner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollOwner()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScrollOwner(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollOwner(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetHorizontalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHorizontalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVerticalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVerticalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakeVisible(impl::abi_arg_in visual, impl::abi_arg_in rectangle, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MakeVisible(*reinterpret_cast(&visual), *reinterpret_cast(&rectangle))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DropDownOpenedHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropDownOpenedHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropDownClosedHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropDownClosedHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropDownOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropDownOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItemDirection(Windows::UI::Xaml::Controls::Primitives::AnimationDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItemDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DropDownContentMinWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropDownContentMinWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowContentClipRect(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentClipRect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowContentMinWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentMinWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowContentMaxHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentMaxHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowContentHorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentHorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowContentHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NegativeOverflowContentHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NegativeOverflowContentHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OverflowContentMaxWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentMaxWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EffectiveOverflowButtonVisibility(Windows::UI::Xaml::Visibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EffectiveOverflowButtonVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Canceled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Canceled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithHorizontalChangeVerticalChangeAndCanceled(double horizontalChange, double verticalChange, bool canceled, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithHorizontalChangeVerticalChangeAndCanceled(horizontalChange, verticalChange, canceled, *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithHorizontalChangeAndVerticalChange(double horizontalChange, double verticalChange, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithHorizontalChangeAndVerticalChange(horizontalChange, verticalChange, *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithHorizontalOffsetAndVerticalOffset(double horizontalOffset, double verticalOffset, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithHorizontalOffsetAndVerticalOffset(horizontalOffset, verticalOffset, *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Placement(Windows::UI::Xaml::Controls::Primitives::FlyoutPlacementMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Placement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Placement(Windows::UI::Xaml::Controls::Primitives::FlyoutPlacementMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Placement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opened(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opened(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opening(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opening(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opening(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opening(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAt(impl::abi_arg_in placementTarget) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowAt(*reinterpret_cast(&placementTarget)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Hide() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hide(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Target(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Target()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowFocusOnInteraction(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowFocusOnInteraction()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowFocusOnInteraction(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowFocusOnInteraction(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowFocusWhenDisabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowFocusWhenDisabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowFocusWhenDisabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowFocusWhenDisabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElementSoundMode(Windows::UI::Xaml::ElementSoundMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElementSoundMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ElementSoundMode(Windows::UI::Xaml::ElementSoundMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ElementSoundMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closing(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closing(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OverlayInputPassThroughElement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverlayInputPassThroughElement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OverlayInputPassThroughElement(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OverlayInputPassThroughElement(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreatePresenter(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreatePresenter()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AttachedFlyoutProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AttachedFlyoutProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAttachedFlyout(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAttachedFlyout(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAttachedFlyout(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAttachedFlyout(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAttachedFlyout(impl::abi_arg_in flyoutOwner) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowAttachedFlyout(*reinterpret_cast(&flyoutOwner)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AllowFocusOnInteractionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowFocusOnInteractionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowFocusWhenDisabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowFocusWhenDisabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElementSoundModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElementSoundModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OverlayInputPassThroughElementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverlayInputPassThroughElementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_FromIndexAndOffset(int32_t index, int32_t offset, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().FromIndexAndOffset(index, offset)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionCheckMarkVisualEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionCheckMarkVisualEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionCheckMarkVisualEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionCheckMarkVisualEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckHintBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckHintBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckHintBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckHintBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckSelectingBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckSelectingBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckSelectingBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckSelectingBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DragBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DragForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FocusBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerOverBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerOverBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedPointerOverBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedPointerOverBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedPointerOverBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedPointerOverBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedBorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedBorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisabledOpacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisabledOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisabledOpacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisabledOpacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragOpacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DragOpacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragOpacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReorderHintOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReorderHintOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReorderHintOffset(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReorderHintOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GridViewItemPresenterHorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GridViewItemPresenterHorizontalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GridViewItemPresenterHorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GridViewItemPresenterHorizontalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GridViewItemPresenterVerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GridViewItemPresenterVerticalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GridViewItemPresenterVerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GridViewItemPresenterVerticalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GridViewItemPresenterPadding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GridViewItemPresenterPadding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GridViewItemPresenterPadding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GridViewItemPresenterPadding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackgroundMargin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackgroundMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerOverBackgroundMargin(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerOverBackgroundMargin(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentMargin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentMargin(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentMargin(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionCheckMarkVisualEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionCheckMarkVisualEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckHintBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckHintBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckSelectingBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckSelectingBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisabledOpacityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisabledOpacityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragOpacityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragOpacityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReorderHintOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReorderHintOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GridViewItemPresenterHorizontalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GridViewItemPresenterHorizontalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GridViewItemPresenterVerticalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GridViewItemPresenterVerticalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GridViewItemPresenterPaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GridViewItemPresenterPaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackgroundMarginProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackgroundMarginProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentMarginProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentMarginProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DragItemsCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragItemsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Action(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Action()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldPosition(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemUICount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemUICount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Enabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Disabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Disabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Disabled(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disabled(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Enabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Enabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Enabled(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Enabled(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Disabled(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Disabled()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Disabled(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Disabled(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetLayoutExceptionElement(impl::abi_arg_in dispatcher, impl::abi_arg_out element) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *element = detach_abi(this->shim().GetLayoutExceptionElement(*reinterpret_cast(&dispatcher))); + return S_OK; + } + catch (...) + { + *element = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLayoutSlot(impl::abi_arg_in element, impl::abi_arg_out slot) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *slot = detach_abi(this->shim().GetLayoutSlot(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionCheckMarkVisualEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionCheckMarkVisualEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionCheckMarkVisualEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionCheckMarkVisualEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckHintBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckHintBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckHintBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckHintBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckSelectingBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckSelectingBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckSelectingBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckSelectingBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DragBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DragForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FocusBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerOverBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerOverBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedPointerOverBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedPointerOverBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedPointerOverBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedPointerOverBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedBorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedBorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisabledOpacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisabledOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisabledOpacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisabledOpacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragOpacity(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragOpacity()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DragOpacity(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragOpacity(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReorderHintOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReorderHintOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReorderHintOffset(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReorderHintOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListViewItemPresenterHorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListViewItemPresenterHorizontalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListViewItemPresenterHorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListViewItemPresenterHorizontalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListViewItemPresenterVerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListViewItemPresenterVerticalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListViewItemPresenterVerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListViewItemPresenterVerticalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListViewItemPresenterPadding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListViewItemPresenterPadding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ListViewItemPresenterPadding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ListViewItemPresenterPadding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackgroundMargin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackgroundMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerOverBackgroundMargin(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerOverBackgroundMargin(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentMargin(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentMargin()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentMargin(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentMargin(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedPressedBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPressedBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedPressedBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedPressedBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PressedBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PressedBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PressedBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PressedBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckBoxBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckBoxBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckBoxBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckBoxBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusSecondaryBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusSecondaryBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FocusSecondaryBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusSecondaryBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckMode(Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenterCheckMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CheckMode(Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenterCheckMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CheckMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PointerOverForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PointerOverForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionCheckMarkVisualEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionCheckMarkVisualEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckHintBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckHintBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckSelectingBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckSelectingBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPointerOverBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPointerOverBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisabledOpacityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisabledOpacityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DragOpacityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragOpacityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ReorderHintOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReorderHintOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListViewItemPresenterHorizontalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListViewItemPresenterHorizontalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListViewItemPresenterVerticalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListViewItemPresenterVerticalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ListViewItemPresenterPaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ListViewItemPresenterPaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverBackgroundMarginProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverBackgroundMarginProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentMarginProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentMarginProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedPressedBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPressedBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PressedBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PressedBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckBoxBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckBoxBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusSecondaryBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusSecondaryBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CheckModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CheckModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PointerOverForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PointerOverForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DragItemsCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DragItemsCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShouldLoop(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldLoop()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShouldLoop(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShouldLoop(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Items(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Items(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemWidth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemWidth(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemHeight(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemHeight(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShouldLoopProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShouldLoopProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItemProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItemProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FlyoutContentMinWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlyoutContentMinWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanVerticallyScroll(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanVerticallyScroll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanVerticallyScroll(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanVerticallyScroll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanHorizontallyScroll(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanHorizontallyScroll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanHorizontallyScroll(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanHorizontallyScroll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollOwner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollOwner()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScrollOwner(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollOwner(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetHorizontalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHorizontalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVerticalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVerticalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakeVisible(impl::abi_arg_in visual, impl::abi_arg_in rectangle, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MakeVisible(*reinterpret_cast(&visual), *reinterpret_cast(&rectangle))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnConfirmed() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnConfirmed(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShouldShowConfirmationButtons(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShouldShowConfirmationButtons()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TitleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTitle(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetTitle(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetTitle(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetTitle(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Child(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Child()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Child(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Child(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalOffset(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalOffset(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChildTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChildTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLightDismissEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLightDismissEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLightDismissEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLightDismissEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opened(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opened(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ChildProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOpenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLightDismissEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLightDismissEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EllipseDiameter(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EllipseDiameter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EllipseOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EllipseOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EllipseAnimationWellPosition(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EllipseAnimationWellPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EllipseAnimationEndPosition(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EllipseAnimationEndPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainerAnimationStartPosition(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainerAnimationStartPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainerAnimationEndPosition(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainerAnimationEndPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndicatorLengthDelta(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndicatorLengthDelta()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_EllipseDiameter(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EllipseDiameter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_EllipseOffset(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().EllipseOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxSideLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSideLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Minimum(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Minimum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Minimum(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Minimum(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Maximum(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Maximum()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Maximum(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Maximum(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmallChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmallChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SmallChange(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SmallChange(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LargeChange(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LargeChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LargeChange(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LargeChange(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Value(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Value(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Value(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ValueChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ValueChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ValueChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ValueChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnMinimumChanged(double oldMinimum, double newMinimum) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnMinimumChanged(oldMinimum, newMinimum); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnMaximumChanged(double oldMaximum, double newMaximum) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnMaximumChanged(oldMaximum, newMaximum); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnValueChanged(double oldValue, double newValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnValueChanged(oldValue, newValue); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MinimumProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinimumProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SmallChangeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SmallChangeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LargeChangeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LargeChangeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ValueProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ValueProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldValue(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewValue(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Delay(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Delay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Delay(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Delay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Interval(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Interval()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Interval(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Interval(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DelayProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DelayProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IntervalProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntervalProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ViewportSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewportSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndicatorMode(Windows::UI::Xaml::Controls::Primitives::ScrollingIndicatorMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndicatorMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IndicatorMode(Windows::UI::Xaml::Controls::Primitives::ScrollingIndicatorMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IndicatorMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Scroll(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Scroll(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Scroll(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Scroll(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IndicatorModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IndicatorModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NewValue(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollEventType(Windows::UI::Xaml::Controls::Primitives::ScrollEventType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollEventType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreHorizontalSnapPointsRegular(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreHorizontalSnapPointsRegular()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AreVerticalSnapPointsRegular(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreVerticalSnapPointsRegular()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_HorizontalSnapPointsChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().HorizontalSnapPointsChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_HorizontalSnapPointsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalSnapPointsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VerticalSnapPointsChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VerticalSnapPointsChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VerticalSnapPointsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalSnapPointsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIrregularSnapPoints(Windows::UI::Xaml::Controls::Orientation orientation, Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment alignment, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetIrregularSnapPoints(orientation, alignment)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRegularSnapPoints(Windows::UI::Xaml::Controls::Orientation orientation, Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment alignment, float * offset, float * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetRegularSnapPoints(orientation, alignment, *offset)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValuePath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValuePath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedValuePath(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedValuePath(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSynchronizedWithCurrentItem(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSynchronizedWithCurrentItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSynchronizedWithCurrentItem(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSynchronizedWithCurrentItem(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSelected(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelected()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSelected(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSelected(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSelectedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelectedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItemProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItemProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValueProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValueProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValuePathProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValuePathProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSynchronizedWithCurrentItemProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSynchronizedWithCurrentItemProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsSelectionActive(impl::abi_arg_in element, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetIsSelectionActive(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IconSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OpenPaneLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenPaneLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NegativeOpenPaneLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NegativeOpenPaneLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpenPaneLengthMinusCompactLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenPaneLengthMinusCompactLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NegativeOpenPaneLengthMinusCompactLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NegativeOpenPaneLengthMinusCompactLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpenPaneGridLength(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenPaneGridLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompactPaneGridLength(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompactPaneGridLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDragging(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDragging()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DragStarted(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DragStarted(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DragStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DragDelta(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DragDelta(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DragDelta(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragDelta(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DragCompleted(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DragCompleted(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DragCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CancelDrag() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CancelDrag(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDraggingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDraggingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Fill(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Fill()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Fill(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Fill(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FillProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FillProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsChecked(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsChecked()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsChecked(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsChecked(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsThreeState(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsThreeState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsThreeState(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsThreeState(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Checked(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Checked(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Checked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Checked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Unchecked(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Unchecked(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Unchecked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unchecked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Indeterminate(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Indeterminate(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Indeterminate(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Indeterminate(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnToggle() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnToggle(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCheckedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCheckedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsThreeStateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsThreeStateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KnobCurrentToOnOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KnobCurrentToOnOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KnobCurrentToOffOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KnobCurrentToOffOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KnobOnToOffOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KnobOnToOffOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KnobOffToOnOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KnobOffToOnOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurtainCurrentToOnOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurtainCurrentToOnOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurtainCurrentToOffOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurtainCurrentToOffOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurtainOnToOffOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurtainOnToOffOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurtainOffToOnOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurtainOffToOnOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FromHorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromHorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FromVerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FromVerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Xaml::Controls::Primitives { + +template bool impl_IScrollSnapPointsInfo::AreHorizontalSnapPointsRegular() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->get_AreHorizontalSnapPointsRegular(&value)); + return value; +} + +template bool impl_IScrollSnapPointsInfo::AreVerticalSnapPointsRegular() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->get_AreVerticalSnapPointsRegular(&value)); + return value; +} + +template event_token impl_IScrollSnapPointsInfo::HorizontalSnapPointsChanged(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->add_HorizontalSnapPointsChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IScrollSnapPointsInfo::HorizontalSnapPointsChanged(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IScrollSnapPointsInfo::remove_HorizontalSnapPointsChanged, HorizontalSnapPointsChanged(value)); +} + +template void impl_IScrollSnapPointsInfo::HorizontalSnapPointsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->remove_HorizontalSnapPointsChanged(token)); +} + +template event_token impl_IScrollSnapPointsInfo::VerticalSnapPointsChanged(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->add_VerticalSnapPointsChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IScrollSnapPointsInfo::VerticalSnapPointsChanged(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IScrollSnapPointsInfo::remove_VerticalSnapPointsChanged, VerticalSnapPointsChanged(value)); +} + +template void impl_IScrollSnapPointsInfo::VerticalSnapPointsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->remove_VerticalSnapPointsChanged(token)); +} + +template Windows::Foundation::Collections::IVectorView impl_IScrollSnapPointsInfo::GetIrregularSnapPoints(Windows::UI::Xaml::Controls::Orientation orientation, Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment alignment) const +{ + Windows::Foundation::Collections::IVectorView returnValue; + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->abi_GetIrregularSnapPoints(orientation, alignment, put_abi(returnValue))); + return returnValue; +} + +template float impl_IScrollSnapPointsInfo::GetRegularSnapPoints(Windows::UI::Xaml::Controls::Orientation orientation, Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment alignment, float & offset) const +{ + float returnValue {}; + check_hresult(WINRT_SHIM(IScrollSnapPointsInfo)->abi_GetRegularSnapPoints(orientation, alignment, &offset, &returnValue)); + return returnValue; +} + +template int32_t impl_IItemsChangedEventArgs::Action() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsChangedEventArgs)->get_Action(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::GeneratorPosition impl_IItemsChangedEventArgs::Position() const +{ + Windows::UI::Xaml::Controls::Primitives::GeneratorPosition value {}; + check_hresult(WINRT_SHIM(IItemsChangedEventArgs)->get_Position(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::GeneratorPosition impl_IItemsChangedEventArgs::OldPosition() const +{ + Windows::UI::Xaml::Controls::Primitives::GeneratorPosition value {}; + check_hresult(WINRT_SHIM(IItemsChangedEventArgs)->get_OldPosition(put_abi(value))); + return value; +} + +template int32_t impl_IItemsChangedEventArgs::ItemCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsChangedEventArgs)->get_ItemCount(&value)); + return value; +} + +template int32_t impl_IItemsChangedEventArgs::ItemUICount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsChangedEventArgs)->get_ItemUICount(&value)); + return value; +} + +template Windows::UI::Xaml::UIElement impl_ILayoutInformationStatics::GetLayoutExceptionElement(const Windows::Foundation::IInspectable & dispatcher) const +{ + Windows::UI::Xaml::UIElement element { nullptr }; + check_hresult(WINRT_SHIM(ILayoutInformationStatics)->abi_GetLayoutExceptionElement(get_abi(dispatcher), put_abi(element))); + return element; +} + +template Windows::Foundation::Rect impl_ILayoutInformationStatics::GetLayoutSlot(const Windows::UI::Xaml::FrameworkElement & element) const +{ + Windows::Foundation::Rect slot {}; + check_hresult(WINRT_SHIM(ILayoutInformationStatics)->abi_GetLayoutSlot(get_abi(element), put_abi(slot))); + return slot; +} + +template double impl_IComboBoxTemplateSettings::DropDownOpenedHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IComboBoxTemplateSettings)->get_DropDownOpenedHeight(&value)); + return value; +} + +template double impl_IComboBoxTemplateSettings::DropDownClosedHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IComboBoxTemplateSettings)->get_DropDownClosedHeight(&value)); + return value; +} + +template double impl_IComboBoxTemplateSettings::DropDownOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IComboBoxTemplateSettings)->get_DropDownOffset(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::AnimationDirection impl_IComboBoxTemplateSettings::SelectedItemDirection() const +{ + Windows::UI::Xaml::Controls::Primitives::AnimationDirection value {}; + check_hresult(WINRT_SHIM(IComboBoxTemplateSettings)->get_SelectedItemDirection(&value)); + return value; +} + +template double impl_IComboBoxTemplateSettings2::DropDownContentMinWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IComboBoxTemplateSettings2)->get_DropDownContentMinWidth(&value)); + return value; +} + +template double impl_IDragCompletedEventArgs::HorizontalChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDragCompletedEventArgs)->get_HorizontalChange(&value)); + return value; +} + +template double impl_IDragCompletedEventArgs::VerticalChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDragCompletedEventArgs)->get_VerticalChange(&value)); + return value; +} + +template bool impl_IDragCompletedEventArgs::Canceled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDragCompletedEventArgs)->get_Canceled(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::DragCompletedEventArgs impl_IDragCompletedEventArgsFactory::CreateInstanceWithHorizontalChangeVerticalChangeAndCanceled(double horizontalChange, double verticalChange, bool canceled, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::DragCompletedEventArgs instance { nullptr }; + check_hresult(WINRT_SHIM(IDragCompletedEventArgsFactory)->abi_CreateInstanceWithHorizontalChangeVerticalChangeAndCanceled(horizontalChange, verticalChange, canceled, get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template double impl_IDragDeltaEventArgs::HorizontalChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDragDeltaEventArgs)->get_HorizontalChange(&value)); + return value; +} + +template double impl_IDragDeltaEventArgs::VerticalChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDragDeltaEventArgs)->get_VerticalChange(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::DragDeltaEventArgs impl_IDragDeltaEventArgsFactory::CreateInstanceWithHorizontalChangeAndVerticalChange(double horizontalChange, double verticalChange, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::DragDeltaEventArgs instance { nullptr }; + check_hresult(WINRT_SHIM(IDragDeltaEventArgsFactory)->abi_CreateInstanceWithHorizontalChangeAndVerticalChange(horizontalChange, verticalChange, get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template double impl_IDragStartedEventArgs::HorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDragStartedEventArgs)->get_HorizontalOffset(&value)); + return value; +} + +template double impl_IDragStartedEventArgs::VerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IDragStartedEventArgs)->get_VerticalOffset(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::DragStartedEventArgs impl_IDragStartedEventArgsFactory::CreateInstanceWithHorizontalOffsetAndVerticalOffset(double horizontalOffset, double verticalOffset, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::DragStartedEventArgs instance { nullptr }; + check_hresult(WINRT_SHIM(IDragStartedEventArgsFactory)->abi_CreateInstanceWithHorizontalOffsetAndVerticalOffset(horizontalOffset, verticalOffset, get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template int32_t impl_IGridViewItemTemplateSettings::DragItemsCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridViewItemTemplateSettings)->get_DragItemsCount(&value)); + return value; +} + +template int32_t impl_IListViewItemTemplateSettings::DragItemsCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IListViewItemTemplateSettings)->get_DragItemsCount(&value)); + return value; +} + +template double impl_IMenuFlyoutPresenterTemplateSettings::FlyoutContentMinWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMenuFlyoutPresenterTemplateSettings)->get_FlyoutContentMinWidth(&value)); + return value; +} + +template double impl_IProgressBarTemplateSettings::EllipseDiameter() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressBarTemplateSettings)->get_EllipseDiameter(&value)); + return value; +} + +template double impl_IProgressBarTemplateSettings::EllipseOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressBarTemplateSettings)->get_EllipseOffset(&value)); + return value; +} + +template double impl_IProgressBarTemplateSettings::EllipseAnimationWellPosition() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressBarTemplateSettings)->get_EllipseAnimationWellPosition(&value)); + return value; +} + +template double impl_IProgressBarTemplateSettings::EllipseAnimationEndPosition() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressBarTemplateSettings)->get_EllipseAnimationEndPosition(&value)); + return value; +} + +template double impl_IProgressBarTemplateSettings::ContainerAnimationStartPosition() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressBarTemplateSettings)->get_ContainerAnimationStartPosition(&value)); + return value; +} + +template double impl_IProgressBarTemplateSettings::ContainerAnimationEndPosition() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressBarTemplateSettings)->get_ContainerAnimationEndPosition(&value)); + return value; +} + +template double impl_IProgressBarTemplateSettings::IndicatorLengthDelta() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressBarTemplateSettings)->get_IndicatorLengthDelta(&value)); + return value; +} + +template double impl_IProgressRingTemplateSettings::EllipseDiameter() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressRingTemplateSettings)->get_EllipseDiameter(&value)); + return value; +} + +template Windows::UI::Xaml::Thickness impl_IProgressRingTemplateSettings::EllipseOffset() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IProgressRingTemplateSettings)->get_EllipseOffset(put_abi(value))); + return value; +} + +template double impl_IProgressRingTemplateSettings::MaxSideLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(IProgressRingTemplateSettings)->get_MaxSideLength(&value)); + return value; +} + +template double impl_IRangeBaseValueChangedEventArgs::OldValue() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeBaseValueChangedEventArgs)->get_OldValue(&value)); + return value; +} + +template double impl_IRangeBaseValueChangedEventArgs::NewValue() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeBaseValueChangedEventArgs)->get_NewValue(&value)); + return value; +} + +template double impl_IScrollEventArgs::NewValue() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollEventArgs)->get_NewValue(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::ScrollEventType impl_IScrollEventArgs::ScrollEventType() const +{ + Windows::UI::Xaml::Controls::Primitives::ScrollEventType value {}; + check_hresult(WINRT_SHIM(IScrollEventArgs)->get_ScrollEventType(&value)); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_ISettingsFlyoutTemplateSettings::HeaderBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutTemplateSettings)->get_HeaderBackground(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_ISettingsFlyoutTemplateSettings::HeaderForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutTemplateSettings)->get_HeaderForeground(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_ISettingsFlyoutTemplateSettings::BorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutTemplateSettings)->get_BorderBrush(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Thickness impl_ISettingsFlyoutTemplateSettings::BorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(ISettingsFlyoutTemplateSettings)->get_BorderThickness(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::ImageSource impl_ISettingsFlyoutTemplateSettings::IconSource() const +{ + Windows::UI::Xaml::Media::ImageSource value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutTemplateSettings)->get_IconSource(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_ISettingsFlyoutTemplateSettings::ContentTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutTemplateSettings)->get_ContentTransitions(put_abi(value))); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::KnobCurrentToOnOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_KnobCurrentToOnOffset(&value)); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::KnobCurrentToOffOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_KnobCurrentToOffOffset(&value)); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::KnobOnToOffOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_KnobOnToOffOffset(&value)); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::KnobOffToOnOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_KnobOffToOnOffset(&value)); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::CurtainCurrentToOnOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_CurtainCurrentToOnOffset(&value)); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::CurtainCurrentToOffOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_CurtainCurrentToOffOffset(&value)); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::CurtainOnToOffOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_CurtainOnToOffOffset(&value)); + return value; +} + +template double impl_IToggleSwitchTemplateSettings::CurtainOffToOnOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToggleSwitchTemplateSettings)->get_CurtainOffToOnOffset(&value)); + return value; +} + +template double impl_IToolTipTemplateSettings::FromHorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToolTipTemplateSettings)->get_FromHorizontalOffset(&value)); + return value; +} + +template double impl_IToolTipTemplateSettings::FromVerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToolTipTemplateSettings)->get_FromVerticalOffset(&value)); + return value; +} + +template Windows::UI::Xaml::UIElement impl_IPopup::Child() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IPopup)->get_Child(put_abi(value))); + return value; +} + +template void impl_IPopup::Child(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IPopup)->put_Child(get_abi(value))); +} + +template bool impl_IPopup::IsOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPopup)->get_IsOpen(&value)); + return value; +} + +template void impl_IPopup::IsOpen(bool value) const +{ + check_hresult(WINRT_SHIM(IPopup)->put_IsOpen(value)); +} + +template double impl_IPopup::HorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPopup)->get_HorizontalOffset(&value)); + return value; +} + +template void impl_IPopup::HorizontalOffset(double value) const +{ + check_hresult(WINRT_SHIM(IPopup)->put_HorizontalOffset(value)); +} + +template double impl_IPopup::VerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IPopup)->get_VerticalOffset(&value)); + return value; +} + +template void impl_IPopup::VerticalOffset(double value) const +{ + check_hresult(WINRT_SHIM(IPopup)->put_VerticalOffset(value)); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IPopup::ChildTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IPopup)->get_ChildTransitions(put_abi(value))); + return value; +} + +template void impl_IPopup::ChildTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IPopup)->put_ChildTransitions(get_abi(value))); +} + +template bool impl_IPopup::IsLightDismissEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPopup)->get_IsLightDismissEnabled(&value)); + return value; +} + +template void impl_IPopup::IsLightDismissEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPopup)->put_IsLightDismissEnabled(value)); +} + +template event_token impl_IPopup::Opened(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPopup)->add_Opened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IPopup::Opened(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IPopup::remove_Opened, Opened(value)); +} + +template void impl_IPopup::Opened(event_token token) const +{ + check_hresult(WINRT_SHIM(IPopup)->remove_Opened(token)); +} + +template event_token impl_IPopup::Closed(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPopup)->add_Closed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IPopup::Closed(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IPopup::remove_Closed, Closed(value)); +} + +template void impl_IPopup::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IPopup)->remove_Closed(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IPopupStatics::ChildProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPopupStatics)->get_ChildProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPopupStatics::IsOpenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPopupStatics)->get_IsOpenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPopupStatics::HorizontalOffsetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPopupStatics)->get_HorizontalOffsetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPopupStatics::VerticalOffsetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPopupStatics)->get_VerticalOffsetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPopupStatics::ChildTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPopupStatics)->get_ChildTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPopupStatics::IsLightDismissEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPopupStatics)->get_IsLightDismissEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_IPopup2::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(IPopup2)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_IPopup2::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(IPopup2)->put_LightDismissOverlayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IPopupStatics2::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPopupStatics2)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_ITickBar::Fill() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ITickBar)->get_Fill(put_abi(value))); + return value; +} + +template void impl_ITickBar::Fill(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ITickBar)->put_Fill(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITickBarStatics::FillProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITickBarStatics)->get_FillProperty(put_abi(value))); + return value; +} + +template double impl_IRangeBase::Minimum() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeBase)->get_Minimum(&value)); + return value; +} + +template void impl_IRangeBase::Minimum(double value) const +{ + check_hresult(WINRT_SHIM(IRangeBase)->put_Minimum(value)); +} + +template double impl_IRangeBase::Maximum() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeBase)->get_Maximum(&value)); + return value; +} + +template void impl_IRangeBase::Maximum(double value) const +{ + check_hresult(WINRT_SHIM(IRangeBase)->put_Maximum(value)); +} + +template double impl_IRangeBase::SmallChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeBase)->get_SmallChange(&value)); + return value; +} + +template void impl_IRangeBase::SmallChange(double value) const +{ + check_hresult(WINRT_SHIM(IRangeBase)->put_SmallChange(value)); +} + +template double impl_IRangeBase::LargeChange() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeBase)->get_LargeChange(&value)); + return value; +} + +template void impl_IRangeBase::LargeChange(double value) const +{ + check_hresult(WINRT_SHIM(IRangeBase)->put_LargeChange(value)); +} + +template double impl_IRangeBase::Value() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRangeBase)->get_Value(&value)); + return value; +} + +template void impl_IRangeBase::Value(double value) const +{ + check_hresult(WINRT_SHIM(IRangeBase)->put_Value(value)); +} + +template event_token impl_IRangeBase::ValueChanged(const Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRangeBase)->add_ValueChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRangeBase::ValueChanged(auto_revoke_t, const Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IRangeBase::remove_ValueChanged, ValueChanged(value)); +} + +template void impl_IRangeBase::ValueChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRangeBase)->remove_ValueChanged(token)); +} + +template void impl_IRangeBaseOverrides::OnMinimumChanged(double oldMinimum, double newMinimum) const +{ + check_hresult(WINRT_SHIM(IRangeBaseOverrides)->abi_OnMinimumChanged(oldMinimum, newMinimum)); +} + +template void impl_IRangeBaseOverrides::OnMaximumChanged(double oldMaximum, double newMaximum) const +{ + check_hresult(WINRT_SHIM(IRangeBaseOverrides)->abi_OnMaximumChanged(oldMaximum, newMaximum)); +} + +template void impl_IRangeBaseOverrides::OnValueChanged(double oldValue, double newValue) const +{ + check_hresult(WINRT_SHIM(IRangeBaseOverrides)->abi_OnValueChanged(oldValue, newValue)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRangeBaseStatics::MinimumProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeBaseStatics)->get_MinimumProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRangeBaseStatics::MaximumProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeBaseStatics)->get_MaximumProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRangeBaseStatics::SmallChangeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeBaseStatics)->get_SmallChangeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRangeBaseStatics::LargeChangeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeBaseStatics)->get_LargeChangeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRangeBaseStatics::ValueProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRangeBaseStatics)->get_ValueProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::RangeBase impl_IRangeBaseFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::RangeBase instance { nullptr }; + check_hresult(WINRT_SHIM(IRangeBaseFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IThumb::IsDragging() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IThumb)->get_IsDragging(&value)); + return value; +} + +template event_token impl_IThumb::DragStarted(const Windows::UI::Xaml::Controls::Primitives::DragStartedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IThumb)->add_DragStarted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IThumb::DragStarted(auto_revoke_t, const Windows::UI::Xaml::Controls::Primitives::DragStartedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IThumb::remove_DragStarted, DragStarted(value)); +} + +template void impl_IThumb::DragStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(IThumb)->remove_DragStarted(token)); +} + +template event_token impl_IThumb::DragDelta(const Windows::UI::Xaml::Controls::Primitives::DragDeltaEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IThumb)->add_DragDelta(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IThumb::DragDelta(auto_revoke_t, const Windows::UI::Xaml::Controls::Primitives::DragDeltaEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IThumb::remove_DragDelta, DragDelta(value)); +} + +template void impl_IThumb::DragDelta(event_token token) const +{ + check_hresult(WINRT_SHIM(IThumb)->remove_DragDelta(token)); +} + +template event_token impl_IThumb::DragCompleted(const Windows::UI::Xaml::Controls::Primitives::DragCompletedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IThumb)->add_DragCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IThumb::DragCompleted(auto_revoke_t, const Windows::UI::Xaml::Controls::Primitives::DragCompletedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IThumb::remove_DragCompleted, DragCompleted(value)); +} + +template void impl_IThumb::DragCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IThumb)->remove_DragCompleted(token)); +} + +template void impl_IThumb::CancelDrag() const +{ + check_hresult(WINRT_SHIM(IThumb)->abi_CancelDrag()); +} + +template Windows::UI::Xaml::DependencyProperty impl_IThumbStatics::IsDraggingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IThumbStatics)->get_IsDraggingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ClickMode impl_IButtonBase::ClickMode() const +{ + Windows::UI::Xaml::Controls::ClickMode value {}; + check_hresult(WINRT_SHIM(IButtonBase)->get_ClickMode(&value)); + return value; +} + +template void impl_IButtonBase::ClickMode(Windows::UI::Xaml::Controls::ClickMode value) const +{ + check_hresult(WINRT_SHIM(IButtonBase)->put_ClickMode(value)); +} + +template bool impl_IButtonBase::IsPointerOver() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IButtonBase)->get_IsPointerOver(&value)); + return value; +} + +template bool impl_IButtonBase::IsPressed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IButtonBase)->get_IsPressed(&value)); + return value; +} + +template Windows::UI::Xaml::Input::ICommand impl_IButtonBase::Command() const +{ + Windows::UI::Xaml::Input::ICommand value; + check_hresult(WINRT_SHIM(IButtonBase)->get_Command(put_abi(value))); + return value; +} + +template void impl_IButtonBase::Command(const Windows::UI::Xaml::Input::ICommand & value) const +{ + check_hresult(WINRT_SHIM(IButtonBase)->put_Command(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IButtonBase::CommandParameter() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IButtonBase)->get_CommandParameter(put_abi(value))); + return value; +} + +template void impl_IButtonBase::CommandParameter(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IButtonBase)->put_CommandParameter(get_abi(value))); +} + +template event_token impl_IButtonBase::Click(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IButtonBase)->add_Click(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IButtonBase::Click(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IButtonBase::remove_Click, Click(value)); +} + +template void impl_IButtonBase::Click(event_token token) const +{ + check_hresult(WINRT_SHIM(IButtonBase)->remove_Click(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IButtonBaseStatics::ClickModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IButtonBaseStatics)->get_ClickModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IButtonBaseStatics::IsPointerOverProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IButtonBaseStatics)->get_IsPointerOverProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IButtonBaseStatics::IsPressedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IButtonBaseStatics)->get_IsPressedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IButtonBaseStatics::CommandProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IButtonBaseStatics)->get_CommandProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IButtonBaseStatics::CommandParameterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IButtonBaseStatics)->get_CommandParameterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::ButtonBase impl_IButtonBaseFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::ButtonBase instance { nullptr }; + check_hresult(WINRT_SHIM(IButtonBaseFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_ICarouselPanel::CanVerticallyScroll() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_CanVerticallyScroll(&value)); + return value; +} + +template void impl_ICarouselPanel::CanVerticallyScroll(bool value) const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->put_CanVerticallyScroll(value)); +} + +template bool impl_ICarouselPanel::CanHorizontallyScroll() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_CanHorizontallyScroll(&value)); + return value; +} + +template void impl_ICarouselPanel::CanHorizontallyScroll(bool value) const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->put_CanHorizontallyScroll(value)); +} + +template double impl_ICarouselPanel::ExtentWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_ExtentWidth(&value)); + return value; +} + +template double impl_ICarouselPanel::ExtentHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_ExtentHeight(&value)); + return value; +} + +template double impl_ICarouselPanel::ViewportWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_ViewportWidth(&value)); + return value; +} + +template double impl_ICarouselPanel::ViewportHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_ViewportHeight(&value)); + return value; +} + +template double impl_ICarouselPanel::HorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_HorizontalOffset(&value)); + return value; +} + +template double impl_ICarouselPanel::VerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_VerticalOffset(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_ICarouselPanel::ScrollOwner() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ICarouselPanel)->get_ScrollOwner(put_abi(value))); + return value; +} + +template void impl_ICarouselPanel::ScrollOwner(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->put_ScrollOwner(get_abi(value))); +} + +template void impl_ICarouselPanel::LineUp() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_LineUp()); +} + +template void impl_ICarouselPanel::LineDown() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_LineDown()); +} + +template void impl_ICarouselPanel::LineLeft() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_LineLeft()); +} + +template void impl_ICarouselPanel::LineRight() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_LineRight()); +} + +template void impl_ICarouselPanel::PageUp() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_PageUp()); +} + +template void impl_ICarouselPanel::PageDown() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_PageDown()); +} + +template void impl_ICarouselPanel::PageLeft() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_PageLeft()); +} + +template void impl_ICarouselPanel::PageRight() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_PageRight()); +} + +template void impl_ICarouselPanel::MouseWheelUp() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_MouseWheelUp()); +} + +template void impl_ICarouselPanel::MouseWheelDown() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_MouseWheelDown()); +} + +template void impl_ICarouselPanel::MouseWheelLeft() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_MouseWheelLeft()); +} + +template void impl_ICarouselPanel::MouseWheelRight() const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_MouseWheelRight()); +} + +template void impl_ICarouselPanel::SetHorizontalOffset(double offset) const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_SetHorizontalOffset(offset)); +} + +template void impl_ICarouselPanel::SetVerticalOffset(double offset) const +{ + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_SetVerticalOffset(offset)); +} + +template Windows::Foundation::Rect impl_ICarouselPanel::MakeVisible(const Windows::UI::Xaml::UIElement & visual, const Windows::Foundation::Rect & rectangle) const +{ + Windows::Foundation::Rect returnValue {}; + check_hresult(WINRT_SHIM(ICarouselPanel)->abi_MakeVisible(get_abi(visual), get_abi(rectangle), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Primitives::CarouselPanel impl_ICarouselPanelFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::CarouselPanel instance { nullptr }; + check_hresult(WINRT_SHIM(ICarouselPanelFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IOrientedVirtualizingPanel::CanVerticallyScroll() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_CanVerticallyScroll(&value)); + return value; +} + +template void impl_IOrientedVirtualizingPanel::CanVerticallyScroll(bool value) const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->put_CanVerticallyScroll(value)); +} + +template bool impl_IOrientedVirtualizingPanel::CanHorizontallyScroll() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_CanHorizontallyScroll(&value)); + return value; +} + +template void impl_IOrientedVirtualizingPanel::CanHorizontallyScroll(bool value) const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->put_CanHorizontallyScroll(value)); +} + +template double impl_IOrientedVirtualizingPanel::ExtentWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_ExtentWidth(&value)); + return value; +} + +template double impl_IOrientedVirtualizingPanel::ExtentHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_ExtentHeight(&value)); + return value; +} + +template double impl_IOrientedVirtualizingPanel::ViewportWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_ViewportWidth(&value)); + return value; +} + +template double impl_IOrientedVirtualizingPanel::ViewportHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_ViewportHeight(&value)); + return value; +} + +template double impl_IOrientedVirtualizingPanel::HorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_HorizontalOffset(&value)); + return value; +} + +template double impl_IOrientedVirtualizingPanel::VerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_VerticalOffset(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IOrientedVirtualizingPanel::ScrollOwner() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->get_ScrollOwner(put_abi(value))); + return value; +} + +template void impl_IOrientedVirtualizingPanel::ScrollOwner(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->put_ScrollOwner(get_abi(value))); +} + +template void impl_IOrientedVirtualizingPanel::LineUp() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_LineUp()); +} + +template void impl_IOrientedVirtualizingPanel::LineDown() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_LineDown()); +} + +template void impl_IOrientedVirtualizingPanel::LineLeft() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_LineLeft()); +} + +template void impl_IOrientedVirtualizingPanel::LineRight() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_LineRight()); +} + +template void impl_IOrientedVirtualizingPanel::PageUp() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_PageUp()); +} + +template void impl_IOrientedVirtualizingPanel::PageDown() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_PageDown()); +} + +template void impl_IOrientedVirtualizingPanel::PageLeft() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_PageLeft()); +} + +template void impl_IOrientedVirtualizingPanel::PageRight() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_PageRight()); +} + +template void impl_IOrientedVirtualizingPanel::MouseWheelUp() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_MouseWheelUp()); +} + +template void impl_IOrientedVirtualizingPanel::MouseWheelDown() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_MouseWheelDown()); +} + +template void impl_IOrientedVirtualizingPanel::MouseWheelLeft() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_MouseWheelLeft()); +} + +template void impl_IOrientedVirtualizingPanel::MouseWheelRight() const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_MouseWheelRight()); +} + +template void impl_IOrientedVirtualizingPanel::SetHorizontalOffset(double offset) const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_SetHorizontalOffset(offset)); +} + +template void impl_IOrientedVirtualizingPanel::SetVerticalOffset(double offset) const +{ + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_SetVerticalOffset(offset)); +} + +template Windows::Foundation::Rect impl_IOrientedVirtualizingPanel::MakeVisible(const Windows::UI::Xaml::UIElement & visual, const Windows::Foundation::Rect & rectangle) const +{ + Windows::Foundation::Rect returnValue {}; + check_hresult(WINRT_SHIM(IOrientedVirtualizingPanel)->abi_MakeVisible(get_abi(visual), get_abi(rectangle), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::Orientation impl_IScrollBar::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IScrollBar)->get_Orientation(&value)); + return value; +} + +template void impl_IScrollBar::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IScrollBar)->put_Orientation(value)); +} + +template double impl_IScrollBar::ViewportSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollBar)->get_ViewportSize(&value)); + return value; +} + +template void impl_IScrollBar::ViewportSize(double value) const +{ + check_hresult(WINRT_SHIM(IScrollBar)->put_ViewportSize(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::ScrollingIndicatorMode impl_IScrollBar::IndicatorMode() const +{ + Windows::UI::Xaml::Controls::Primitives::ScrollingIndicatorMode value {}; + check_hresult(WINRT_SHIM(IScrollBar)->get_IndicatorMode(&value)); + return value; +} + +template void impl_IScrollBar::IndicatorMode(Windows::UI::Xaml::Controls::Primitives::ScrollingIndicatorMode value) const +{ + check_hresult(WINRT_SHIM(IScrollBar)->put_IndicatorMode(value)); +} + +template event_token impl_IScrollBar::Scroll(const Windows::UI::Xaml::Controls::Primitives::ScrollEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IScrollBar)->add_Scroll(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IScrollBar::Scroll(auto_revoke_t, const Windows::UI::Xaml::Controls::Primitives::ScrollEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IScrollBar::remove_Scroll, Scroll(value)); +} + +template void impl_IScrollBar::Scroll(event_token token) const +{ + check_hresult(WINRT_SHIM(IScrollBar)->remove_Scroll(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IScrollBarStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollBarStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IScrollBarStatics::ViewportSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollBarStatics)->get_ViewportSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IScrollBarStatics::IndicatorModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IScrollBarStatics)->get_IndicatorModeProperty(put_abi(value))); + return value; +} + +template int32_t impl_ISelector::SelectedIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ISelector)->get_SelectedIndex(&value)); + return value; +} + +template void impl_ISelector::SelectedIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(ISelector)->put_SelectedIndex(value)); +} + +template Windows::Foundation::IInspectable impl_ISelector::SelectedItem() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ISelector)->get_SelectedItem(put_abi(value))); + return value; +} + +template void impl_ISelector::SelectedItem(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ISelector)->put_SelectedItem(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_ISelector::SelectedValue() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ISelector)->get_SelectedValue(put_abi(value))); + return value; +} + +template void impl_ISelector::SelectedValue(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ISelector)->put_SelectedValue(get_abi(value))); +} + +template hstring impl_ISelector::SelectedValuePath() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISelector)->get_SelectedValuePath(put_abi(value))); + return value; +} + +template void impl_ISelector::SelectedValuePath(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISelector)->put_SelectedValuePath(get_abi(value))); +} + +template Windows::Foundation::IReference impl_ISelector::IsSynchronizedWithCurrentItem() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ISelector)->get_IsSynchronizedWithCurrentItem(put_abi(value))); + return value; +} + +template void impl_ISelector::IsSynchronizedWithCurrentItem(const optional & value) const +{ + check_hresult(WINRT_SHIM(ISelector)->put_IsSynchronizedWithCurrentItem(get_abi(value))); +} + +template event_token impl_ISelector::SelectionChanged(const Windows::UI::Xaml::Controls::SelectionChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISelector)->add_SelectionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISelector::SelectionChanged(auto_revoke_t, const Windows::UI::Xaml::Controls::SelectionChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::ISelector::remove_SelectionChanged, SelectionChanged(value)); +} + +template void impl_ISelector::SelectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISelector)->remove_SelectionChanged(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISelectorStatics::SelectedIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectorStatics)->get_SelectedIndexProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISelectorStatics::SelectedItemProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectorStatics)->get_SelectedItemProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISelectorStatics::SelectedValueProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectorStatics)->get_SelectedValueProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISelectorStatics::SelectedValuePathProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectorStatics)->get_SelectedValuePathProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISelectorStatics::IsSynchronizedWithCurrentItemProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectorStatics)->get_IsSynchronizedWithCurrentItemProperty(put_abi(value))); + return value; +} + +template bool impl_ISelectorStatics::GetIsSelectionActive(const Windows::UI::Xaml::DependencyObject & element) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(ISelectorStatics)->abi_GetIsSelectionActive(get_abi(element), &returnValue)); + return returnValue; +} + +template bool impl_ISelectorItem::IsSelected() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISelectorItem)->get_IsSelected(&value)); + return value; +} + +template void impl_ISelectorItem::IsSelected(bool value) const +{ + check_hresult(WINRT_SHIM(ISelectorItem)->put_IsSelected(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISelectorItemStatics::IsSelectedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISelectorItemStatics)->get_IsSelectedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::SelectorItem impl_ISelectorItemFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::SelectorItem instance { nullptr }; + check_hresult(WINRT_SHIM(ISelectorItemFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template int32_t impl_IRepeatButton::Delay() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRepeatButton)->get_Delay(&value)); + return value; +} + +template void impl_IRepeatButton::Delay(int32_t value) const +{ + check_hresult(WINRT_SHIM(IRepeatButton)->put_Delay(value)); +} + +template int32_t impl_IRepeatButton::Interval() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRepeatButton)->get_Interval(&value)); + return value; +} + +template void impl_IRepeatButton::Interval(int32_t value) const +{ + check_hresult(WINRT_SHIM(IRepeatButton)->put_Interval(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRepeatButtonStatics::DelayProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRepeatButtonStatics)->get_DelayProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRepeatButtonStatics::IntervalProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRepeatButtonStatics)->get_IntervalProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IToggleButton::IsChecked() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IToggleButton)->get_IsChecked(put_abi(value))); + return value; +} + +template void impl_IToggleButton::IsChecked(const optional & value) const +{ + check_hresult(WINRT_SHIM(IToggleButton)->put_IsChecked(get_abi(value))); +} + +template bool impl_IToggleButton::IsThreeState() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IToggleButton)->get_IsThreeState(&value)); + return value; +} + +template void impl_IToggleButton::IsThreeState(bool value) const +{ + check_hresult(WINRT_SHIM(IToggleButton)->put_IsThreeState(value)); +} + +template event_token impl_IToggleButton::Checked(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IToggleButton)->add_Checked(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IToggleButton::Checked(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IToggleButton::remove_Checked, Checked(value)); +} + +template void impl_IToggleButton::Checked(event_token token) const +{ + check_hresult(WINRT_SHIM(IToggleButton)->remove_Checked(token)); +} + +template event_token impl_IToggleButton::Unchecked(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IToggleButton)->add_Unchecked(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IToggleButton::Unchecked(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IToggleButton::remove_Unchecked, Unchecked(value)); +} + +template void impl_IToggleButton::Unchecked(event_token token) const +{ + check_hresult(WINRT_SHIM(IToggleButton)->remove_Unchecked(token)); +} + +template event_token impl_IToggleButton::Indeterminate(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IToggleButton)->add_Indeterminate(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IToggleButton::Indeterminate(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IToggleButton::remove_Indeterminate, Indeterminate(value)); +} + +template void impl_IToggleButton::Indeterminate(event_token token) const +{ + check_hresult(WINRT_SHIM(IToggleButton)->remove_Indeterminate(token)); +} + +template void impl_IToggleButtonOverrides::OnToggle() const +{ + check_hresult(WINRT_SHIM(IToggleButtonOverrides)->abi_OnToggle()); +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleButtonStatics::IsCheckedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleButtonStatics)->get_IsCheckedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleButtonStatics::IsThreeStateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleButtonStatics)->get_IsThreeStateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::ToggleButton impl_IToggleButtonFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::ToggleButton instance { nullptr }; + check_hresult(WINRT_SHIM(IToggleButtonFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Rect impl_IAppBarTemplateSettings::ClipRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(IAppBarTemplateSettings)->get_ClipRect(put_abi(value))); + return value; +} + +template double impl_IAppBarTemplateSettings::CompactVerticalDelta() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppBarTemplateSettings)->get_CompactVerticalDelta(&value)); + return value; +} + +template Windows::UI::Xaml::Thickness impl_IAppBarTemplateSettings::CompactRootMargin() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IAppBarTemplateSettings)->get_CompactRootMargin(put_abi(value))); + return value; +} + +template double impl_IAppBarTemplateSettings::MinimalVerticalDelta() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppBarTemplateSettings)->get_MinimalVerticalDelta(&value)); + return value; +} + +template Windows::UI::Xaml::Thickness impl_IAppBarTemplateSettings::MinimalRootMargin() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IAppBarTemplateSettings)->get_MinimalRootMargin(put_abi(value))); + return value; +} + +template double impl_IAppBarTemplateSettings::HiddenVerticalDelta() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAppBarTemplateSettings)->get_HiddenVerticalDelta(&value)); + return value; +} + +template Windows::UI::Xaml::Thickness impl_IAppBarTemplateSettings::HiddenRootMargin() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IAppBarTemplateSettings)->get_HiddenRootMargin(put_abi(value))); + return value; +} + +template double impl_ICalendarViewTemplateSettings::MinViewWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_MinViewWidth(&value)); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::HeaderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_HeaderText(put_abi(value))); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::WeekDay1() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_WeekDay1(put_abi(value))); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::WeekDay2() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_WeekDay2(put_abi(value))); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::WeekDay3() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_WeekDay3(put_abi(value))); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::WeekDay4() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_WeekDay4(put_abi(value))); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::WeekDay5() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_WeekDay5(put_abi(value))); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::WeekDay6() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_WeekDay6(put_abi(value))); + return value; +} + +template hstring impl_ICalendarViewTemplateSettings::WeekDay7() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_WeekDay7(put_abi(value))); + return value; +} + +template bool impl_ICalendarViewTemplateSettings::HasMoreContentAfter() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_HasMoreContentAfter(&value)); + return value; +} + +template bool impl_ICalendarViewTemplateSettings::HasMoreContentBefore() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_HasMoreContentBefore(&value)); + return value; +} + +template bool impl_ICalendarViewTemplateSettings::HasMoreViews() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_HasMoreViews(&value)); + return value; +} + +template Windows::Foundation::Rect impl_ICalendarViewTemplateSettings::ClipRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_ClipRect(put_abi(value))); + return value; +} + +template double impl_ICalendarViewTemplateSettings::CenterX() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_CenterX(&value)); + return value; +} + +template double impl_ICalendarViewTemplateSettings::CenterY() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICalendarViewTemplateSettings)->get_CenterY(&value)); + return value; +} + +template double impl_ICommandBarTemplateSettings::ContentHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings)->get_ContentHeight(&value)); + return value; +} + +template Windows::Foundation::Rect impl_ICommandBarTemplateSettings::OverflowContentClipRect() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings)->get_OverflowContentClipRect(put_abi(value))); + return value; +} + +template double impl_ICommandBarTemplateSettings::OverflowContentMinWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings)->get_OverflowContentMinWidth(&value)); + return value; +} + +template double impl_ICommandBarTemplateSettings::OverflowContentMaxHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings)->get_OverflowContentMaxHeight(&value)); + return value; +} + +template double impl_ICommandBarTemplateSettings::OverflowContentHorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings)->get_OverflowContentHorizontalOffset(&value)); + return value; +} + +template double impl_ICommandBarTemplateSettings::OverflowContentHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings)->get_OverflowContentHeight(&value)); + return value; +} + +template double impl_ICommandBarTemplateSettings::NegativeOverflowContentHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings)->get_NegativeOverflowContentHeight(&value)); + return value; +} + +template double impl_ICommandBarTemplateSettings2::OverflowContentMaxWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings2)->get_OverflowContentMaxWidth(&value)); + return value; +} + +template Windows::UI::Xaml::Visibility impl_ICommandBarTemplateSettings3::EffectiveOverflowButtonVisibility() const +{ + Windows::UI::Xaml::Visibility value {}; + check_hresult(WINRT_SHIM(ICommandBarTemplateSettings3)->get_EffectiveOverflowButtonVisibility(&value)); + return value; +} + +template double impl_ISplitViewTemplateSettings::OpenPaneLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISplitViewTemplateSettings)->get_OpenPaneLength(&value)); + return value; +} + +template double impl_ISplitViewTemplateSettings::NegativeOpenPaneLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISplitViewTemplateSettings)->get_NegativeOpenPaneLength(&value)); + return value; +} + +template double impl_ISplitViewTemplateSettings::OpenPaneLengthMinusCompactLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISplitViewTemplateSettings)->get_OpenPaneLengthMinusCompactLength(&value)); + return value; +} + +template double impl_ISplitViewTemplateSettings::NegativeOpenPaneLengthMinusCompactLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISplitViewTemplateSettings)->get_NegativeOpenPaneLengthMinusCompactLength(&value)); + return value; +} + +template Windows::UI::Xaml::GridLength impl_ISplitViewTemplateSettings::OpenPaneGridLength() const +{ + Windows::UI::Xaml::GridLength value {}; + check_hresult(WINRT_SHIM(ISplitViewTemplateSettings)->get_OpenPaneGridLength(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::GridLength impl_ISplitViewTemplateSettings::CompactPaneGridLength() const +{ + Windows::UI::Xaml::GridLength value {}; + check_hresult(WINRT_SHIM(ISplitViewTemplateSettings)->get_CompactPaneGridLength(put_abi(value))); + return value; +} + +template bool impl_IGridViewItemPresenter::SelectionCheckMarkVisualEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_SelectionCheckMarkVisualEnabled(&value)); + return value; +} + +template void impl_IGridViewItemPresenter::SelectionCheckMarkVisualEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_SelectionCheckMarkVisualEnabled(value)); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::CheckHintBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_CheckHintBrush(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::CheckHintBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_CheckHintBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::CheckSelectingBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_CheckSelectingBrush(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::CheckSelectingBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_CheckSelectingBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::CheckBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_CheckBrush(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::CheckBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_CheckBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::DragBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_DragBackground(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::DragBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_DragBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::DragForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_DragForeground(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::DragForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_DragForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::FocusBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_FocusBorderBrush(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::FocusBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_FocusBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::PlaceholderBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_PlaceholderBackground(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::PlaceholderBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_PlaceholderBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::PointerOverBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_PointerOverBackground(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::PointerOverBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_PointerOverBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::SelectedBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_SelectedBackground(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::SelectedBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_SelectedBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::SelectedForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_SelectedForeground(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::SelectedForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_SelectedForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::SelectedPointerOverBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_SelectedPointerOverBackground(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::SelectedPointerOverBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_SelectedPointerOverBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IGridViewItemPresenter::SelectedPointerOverBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_SelectedPointerOverBorderBrush(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::SelectedPointerOverBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_SelectedPointerOverBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IGridViewItemPresenter::SelectedBorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_SelectedBorderThickness(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::SelectedBorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_SelectedBorderThickness(get_abi(value))); +} + +template double impl_IGridViewItemPresenter::DisabledOpacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_DisabledOpacity(&value)); + return value; +} + +template void impl_IGridViewItemPresenter::DisabledOpacity(double value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_DisabledOpacity(value)); +} + +template double impl_IGridViewItemPresenter::DragOpacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_DragOpacity(&value)); + return value; +} + +template void impl_IGridViewItemPresenter::DragOpacity(double value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_DragOpacity(value)); +} + +template double impl_IGridViewItemPresenter::ReorderHintOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_ReorderHintOffset(&value)); + return value; +} + +template void impl_IGridViewItemPresenter::ReorderHintOffset(double value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_ReorderHintOffset(value)); +} + +template Windows::UI::Xaml::HorizontalAlignment impl_IGridViewItemPresenter::GridViewItemPresenterHorizontalContentAlignment() const +{ + Windows::UI::Xaml::HorizontalAlignment value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_GridViewItemPresenterHorizontalContentAlignment(&value)); + return value; +} + +template void impl_IGridViewItemPresenter::GridViewItemPresenterHorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_GridViewItemPresenterHorizontalContentAlignment(value)); +} + +template Windows::UI::Xaml::VerticalAlignment impl_IGridViewItemPresenter::GridViewItemPresenterVerticalContentAlignment() const +{ + Windows::UI::Xaml::VerticalAlignment value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_GridViewItemPresenterVerticalContentAlignment(&value)); + return value; +} + +template void impl_IGridViewItemPresenter::GridViewItemPresenterVerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_GridViewItemPresenterVerticalContentAlignment(value)); +} + +template Windows::UI::Xaml::Thickness impl_IGridViewItemPresenter::GridViewItemPresenterPadding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_GridViewItemPresenterPadding(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::GridViewItemPresenterPadding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_GridViewItemPresenterPadding(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IGridViewItemPresenter::PointerOverBackgroundMargin() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_PointerOverBackgroundMargin(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::PointerOverBackgroundMargin(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_PointerOverBackgroundMargin(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IGridViewItemPresenter::ContentMargin() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->get_ContentMargin(put_abi(value))); + return value; +} + +template void impl_IGridViewItemPresenter::ContentMargin(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IGridViewItemPresenter)->put_ContentMargin(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::SelectionCheckMarkVisualEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_SelectionCheckMarkVisualEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::CheckHintBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_CheckHintBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::CheckSelectingBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_CheckSelectingBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::CheckBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_CheckBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::DragBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_DragBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::DragForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_DragForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::FocusBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_FocusBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::PlaceholderBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_PlaceholderBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::PointerOverBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_PointerOverBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::SelectedBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_SelectedBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::SelectedForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_SelectedForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::SelectedPointerOverBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_SelectedPointerOverBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::SelectedPointerOverBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_SelectedPointerOverBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::SelectedBorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_SelectedBorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::DisabledOpacityProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_DisabledOpacityProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::DragOpacityProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_DragOpacityProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::ReorderHintOffsetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_ReorderHintOffsetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::GridViewItemPresenterHorizontalContentAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_GridViewItemPresenterHorizontalContentAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::GridViewItemPresenterVerticalContentAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_GridViewItemPresenterVerticalContentAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::GridViewItemPresenterPaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_GridViewItemPresenterPaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::PointerOverBackgroundMarginProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_PointerOverBackgroundMarginProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridViewItemPresenterStatics::ContentMarginProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterStatics)->get_ContentMarginProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter impl_IGridViewItemPresenterFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter instance { nullptr }; + check_hresult(WINRT_SHIM(IGridViewItemPresenterFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IListViewItemPresenter::SelectionCheckMarkVisualEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_SelectionCheckMarkVisualEnabled(&value)); + return value; +} + +template void impl_IListViewItemPresenter::SelectionCheckMarkVisualEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_SelectionCheckMarkVisualEnabled(value)); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::CheckHintBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_CheckHintBrush(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::CheckHintBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_CheckHintBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::CheckSelectingBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_CheckSelectingBrush(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::CheckSelectingBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_CheckSelectingBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::CheckBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_CheckBrush(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::CheckBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_CheckBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::DragBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_DragBackground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::DragBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_DragBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::DragForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_DragForeground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::DragForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_DragForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::FocusBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_FocusBorderBrush(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::FocusBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_FocusBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::PlaceholderBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_PlaceholderBackground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::PlaceholderBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_PlaceholderBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::PointerOverBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_PointerOverBackground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::PointerOverBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_PointerOverBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::SelectedBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_SelectedBackground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::SelectedBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_SelectedBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::SelectedForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_SelectedForeground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::SelectedForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_SelectedForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::SelectedPointerOverBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_SelectedPointerOverBackground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::SelectedPointerOverBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_SelectedPointerOverBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter::SelectedPointerOverBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_SelectedPointerOverBorderBrush(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::SelectedPointerOverBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_SelectedPointerOverBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IListViewItemPresenter::SelectedBorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_SelectedBorderThickness(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::SelectedBorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_SelectedBorderThickness(get_abi(value))); +} + +template double impl_IListViewItemPresenter::DisabledOpacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_DisabledOpacity(&value)); + return value; +} + +template void impl_IListViewItemPresenter::DisabledOpacity(double value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_DisabledOpacity(value)); +} + +template double impl_IListViewItemPresenter::DragOpacity() const +{ + double value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_DragOpacity(&value)); + return value; +} + +template void impl_IListViewItemPresenter::DragOpacity(double value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_DragOpacity(value)); +} + +template double impl_IListViewItemPresenter::ReorderHintOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_ReorderHintOffset(&value)); + return value; +} + +template void impl_IListViewItemPresenter::ReorderHintOffset(double value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_ReorderHintOffset(value)); +} + +template Windows::UI::Xaml::HorizontalAlignment impl_IListViewItemPresenter::ListViewItemPresenterHorizontalContentAlignment() const +{ + Windows::UI::Xaml::HorizontalAlignment value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_ListViewItemPresenterHorizontalContentAlignment(&value)); + return value; +} + +template void impl_IListViewItemPresenter::ListViewItemPresenterHorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_ListViewItemPresenterHorizontalContentAlignment(value)); +} + +template Windows::UI::Xaml::VerticalAlignment impl_IListViewItemPresenter::ListViewItemPresenterVerticalContentAlignment() const +{ + Windows::UI::Xaml::VerticalAlignment value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_ListViewItemPresenterVerticalContentAlignment(&value)); + return value; +} + +template void impl_IListViewItemPresenter::ListViewItemPresenterVerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_ListViewItemPresenterVerticalContentAlignment(value)); +} + +template Windows::UI::Xaml::Thickness impl_IListViewItemPresenter::ListViewItemPresenterPadding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_ListViewItemPresenterPadding(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::ListViewItemPresenterPadding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_ListViewItemPresenterPadding(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IListViewItemPresenter::PointerOverBackgroundMargin() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_PointerOverBackgroundMargin(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::PointerOverBackgroundMargin(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_PointerOverBackgroundMargin(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IListViewItemPresenter::ContentMargin() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter)->get_ContentMargin(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter::ContentMargin(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter)->put_ContentMargin(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::SelectionCheckMarkVisualEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_SelectionCheckMarkVisualEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::CheckHintBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_CheckHintBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::CheckSelectingBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_CheckSelectingBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::CheckBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_CheckBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::DragBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_DragBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::DragForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_DragForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::FocusBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_FocusBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::PlaceholderBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_PlaceholderBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::PointerOverBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_PointerOverBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::SelectedBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_SelectedBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::SelectedForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_SelectedForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::SelectedPointerOverBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_SelectedPointerOverBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::SelectedPointerOverBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_SelectedPointerOverBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::SelectedBorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_SelectedBorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::DisabledOpacityProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_DisabledOpacityProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::DragOpacityProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_DragOpacityProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::ReorderHintOffsetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_ReorderHintOffsetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::ListViewItemPresenterHorizontalContentAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_ListViewItemPresenterHorizontalContentAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::ListViewItemPresenterVerticalContentAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_ListViewItemPresenterVerticalContentAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::ListViewItemPresenterPaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_ListViewItemPresenterPaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::PointerOverBackgroundMarginProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_PointerOverBackgroundMarginProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics::ContentMarginProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics)->get_ContentMarginProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter impl_IListViewItemPresenterFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter2::SelectedPressedBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->get_SelectedPressedBackground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter2::SelectedPressedBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->put_SelectedPressedBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter2::PressedBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->get_PressedBackground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter2::PressedBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->put_PressedBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter2::CheckBoxBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->get_CheckBoxBrush(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter2::CheckBoxBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->put_CheckBoxBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter2::FocusSecondaryBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->get_FocusSecondaryBorderBrush(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter2::FocusSecondaryBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->put_FocusSecondaryBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenterCheckMode impl_IListViewItemPresenter2::CheckMode() const +{ + Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenterCheckMode value {}; + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->get_CheckMode(&value)); + return value; +} + +template void impl_IListViewItemPresenter2::CheckMode(Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenterCheckMode value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->put_CheckMode(value)); +} + +template Windows::UI::Xaml::Media::Brush impl_IListViewItemPresenter2::PointerOverForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->get_PointerOverForeground(put_abi(value))); + return value; +} + +template void impl_IListViewItemPresenter2::PointerOverForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IListViewItemPresenter2)->put_PointerOverForeground(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics2::SelectedPressedBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics2)->get_SelectedPressedBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics2::PressedBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics2)->get_PressedBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics2::CheckBoxBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics2)->get_CheckBoxBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics2::FocusSecondaryBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics2)->get_FocusSecondaryBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics2::CheckModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics2)->get_CheckModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewItemPresenterStatics2::PointerOverForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewItemPresenterStatics2)->get_PointerOverForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::GeneratorPosition impl_IGeneratorPositionHelperStatics::FromIndexAndOffset(int32_t index, int32_t offset) const +{ + Windows::UI::Xaml::Controls::Primitives::GeneratorPosition returnValue {}; + check_hresult(WINRT_SHIM(IGeneratorPositionHelperStatics)->abi_FromIndexAndOffset(index, offset, put_abi(returnValue))); + return returnValue; +} + +template bool impl_IFlyoutBaseClosingEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlyoutBaseClosingEventArgs)->get_Cancel(&value)); + return value; +} + +template void impl_IFlyoutBaseClosingEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBaseClosingEventArgs)->put_Cancel(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::FlyoutPlacementMode impl_IFlyoutBase::Placement() const +{ + Windows::UI::Xaml::Controls::Primitives::FlyoutPlacementMode value {}; + check_hresult(WINRT_SHIM(IFlyoutBase)->get_Placement(&value)); + return value; +} + +template void impl_IFlyoutBase::Placement(Windows::UI::Xaml::Controls::Primitives::FlyoutPlacementMode value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase)->put_Placement(value)); +} + +template event_token impl_IFlyoutBase::Opened(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFlyoutBase)->add_Opened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IFlyoutBase::Opened(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IFlyoutBase::remove_Opened, Opened(value)); +} + +template void impl_IFlyoutBase::Opened(event_token token) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase)->remove_Opened(token)); +} + +template event_token impl_IFlyoutBase::Closed(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFlyoutBase)->add_Closed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IFlyoutBase::Closed(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IFlyoutBase::remove_Closed, Closed(value)); +} + +template void impl_IFlyoutBase::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase)->remove_Closed(token)); +} + +template event_token impl_IFlyoutBase::Opening(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFlyoutBase)->add_Opening(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IFlyoutBase::Opening(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IFlyoutBase::remove_Opening, Opening(value)); +} + +template void impl_IFlyoutBase::Opening(event_token token) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase)->remove_Opening(token)); +} + +template void impl_IFlyoutBase::ShowAt(const Windows::UI::Xaml::FrameworkElement & placementTarget) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase)->abi_ShowAt(get_abi(placementTarget))); +} + +template void impl_IFlyoutBase::Hide() const +{ + check_hresult(WINRT_SHIM(IFlyoutBase)->abi_Hide()); +} + +template Windows::UI::Xaml::Controls::Control impl_IFlyoutBaseOverrides::CreatePresenter() const +{ + Windows::UI::Xaml::Controls::Control returnValue { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseOverrides)->abi_CreatePresenter(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutBaseStatics::PlacementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics)->get_PlacementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutBaseStatics::AttachedFlyoutProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics)->get_AttachedFlyoutProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::FlyoutBase impl_IFlyoutBaseStatics::GetAttachedFlyout(const Windows::UI::Xaml::FrameworkElement & element) const +{ + Windows::UI::Xaml::Controls::Primitives::FlyoutBase value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics)->abi_GetAttachedFlyout(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IFlyoutBaseStatics::SetAttachedFlyout(const Windows::UI::Xaml::FrameworkElement & element, const Windows::UI::Xaml::Controls::Primitives::FlyoutBase & value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBaseStatics)->abi_SetAttachedFlyout(get_abi(element), get_abi(value))); +} + +template void impl_IFlyoutBaseStatics::ShowAttachedFlyout(const Windows::UI::Xaml::FrameworkElement & flyoutOwner) const +{ + check_hresult(WINRT_SHIM(IFlyoutBaseStatics)->abi_ShowAttachedFlyout(get_abi(flyoutOwner))); +} + +template Windows::UI::Xaml::Controls::Primitives::FlyoutBase impl_IFlyoutBaseFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::FlyoutBase instance { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::FrameworkElement impl_IFlyoutBase2::Target() const +{ + Windows::UI::Xaml::FrameworkElement value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBase2)->get_Target(put_abi(value))); + return value; +} + +template bool impl_IFlyoutBase2::AllowFocusOnInteraction() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlyoutBase2)->get_AllowFocusOnInteraction(&value)); + return value; +} + +template void impl_IFlyoutBase2::AllowFocusOnInteraction(bool value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase2)->put_AllowFocusOnInteraction(value)); +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_IFlyoutBase2::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(IFlyoutBase2)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_IFlyoutBase2::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase2)->put_LightDismissOverlayMode(value)); +} + +template bool impl_IFlyoutBase2::AllowFocusWhenDisabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlyoutBase2)->get_AllowFocusWhenDisabled(&value)); + return value; +} + +template void impl_IFlyoutBase2::AllowFocusWhenDisabled(bool value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase2)->put_AllowFocusWhenDisabled(value)); +} + +template Windows::UI::Xaml::ElementSoundMode impl_IFlyoutBase2::ElementSoundMode() const +{ + Windows::UI::Xaml::ElementSoundMode value {}; + check_hresult(WINRT_SHIM(IFlyoutBase2)->get_ElementSoundMode(&value)); + return value; +} + +template void impl_IFlyoutBase2::ElementSoundMode(Windows::UI::Xaml::ElementSoundMode value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase2)->put_ElementSoundMode(value)); +} + +template event_token impl_IFlyoutBase2::Closing(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFlyoutBase2)->add_Closing(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IFlyoutBase2::Closing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::IFlyoutBase2::remove_Closing, Closing(value)); +} + +template void impl_IFlyoutBase2::Closing(event_token token) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase2)->remove_Closing(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutBaseStatics2::AllowFocusOnInteractionProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics2)->get_AllowFocusOnInteractionProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutBaseStatics2::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics2)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutBaseStatics2::AllowFocusWhenDisabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics2)->get_AllowFocusWhenDisabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutBaseStatics2::ElementSoundModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics2)->get_ElementSoundModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyObject impl_IFlyoutBase3::OverlayInputPassThroughElement() const +{ + Windows::UI::Xaml::DependencyObject value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBase3)->get_OverlayInputPassThroughElement(put_abi(value))); + return value; +} + +template void impl_IFlyoutBase3::OverlayInputPassThroughElement(const Windows::UI::Xaml::DependencyObject & value) const +{ + check_hresult(WINRT_SHIM(IFlyoutBase3)->put_OverlayInputPassThroughElement(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutBaseStatics3::OverlayInputPassThroughElementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutBaseStatics3)->get_OverlayInputPassThroughElementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_IJumpListItemBackgroundConverter::Enabled() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemBackgroundConverter)->get_Enabled(put_abi(value))); + return value; +} + +template void impl_IJumpListItemBackgroundConverter::Enabled(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IJumpListItemBackgroundConverter)->put_Enabled(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IJumpListItemBackgroundConverter::Disabled() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemBackgroundConverter)->get_Disabled(put_abi(value))); + return value; +} + +template void impl_IJumpListItemBackgroundConverter::Disabled(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IJumpListItemBackgroundConverter)->put_Disabled(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IJumpListItemBackgroundConverterStatics::EnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemBackgroundConverterStatics)->get_EnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IJumpListItemBackgroundConverterStatics::DisabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemBackgroundConverterStatics)->get_DisabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_IJumpListItemForegroundConverter::Enabled() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemForegroundConverter)->get_Enabled(put_abi(value))); + return value; +} + +template void impl_IJumpListItemForegroundConverter::Enabled(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IJumpListItemForegroundConverter)->put_Enabled(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IJumpListItemForegroundConverter::Disabled() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemForegroundConverter)->get_Disabled(put_abi(value))); + return value; +} + +template void impl_IJumpListItemForegroundConverter::Disabled(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IJumpListItemForegroundConverter)->put_Disabled(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IJumpListItemForegroundConverterStatics::EnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemForegroundConverterStatics)->get_EnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IJumpListItemForegroundConverterStatics::DisabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IJumpListItemForegroundConverterStatics)->get_DisabledProperty(put_abi(value))); + return value; +} + +template void impl_IPickerFlyoutBaseOverrides::OnConfirmed() const +{ + check_hresult(WINRT_SHIM(IPickerFlyoutBaseOverrides)->abi_OnConfirmed()); +} + +template bool impl_IPickerFlyoutBaseOverrides::ShouldShowConfirmationButtons() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IPickerFlyoutBaseOverrides)->abi_ShouldShowConfirmationButtons(&returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPickerFlyoutBaseStatics::TitleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPickerFlyoutBaseStatics)->get_TitleProperty(put_abi(value))); + return value; +} + +template hstring impl_IPickerFlyoutBaseStatics::GetTitle(const Windows::UI::Xaml::DependencyObject & element) const +{ + hstring value; + check_hresult(WINRT_SHIM(IPickerFlyoutBaseStatics)->abi_GetTitle(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IPickerFlyoutBaseStatics::SetTitle(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPickerFlyoutBaseStatics)->abi_SetTitle(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Primitives::PickerFlyoutBase impl_IPickerFlyoutBaseFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::PickerFlyoutBase instance { nullptr }; + check_hresult(WINRT_SHIM(IPickerFlyoutBaseFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_ILoopingSelector::ShouldLoop() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ILoopingSelector)->get_ShouldLoop(&value)); + return value; +} + +template void impl_ILoopingSelector::ShouldLoop(bool value) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->put_ShouldLoop(value)); +} + +template Windows::Foundation::Collections::IVector impl_ILoopingSelector::Items() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ILoopingSelector)->get_Items(put_abi(value))); + return value; +} + +template void impl_ILoopingSelector::Items(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->put_Items(get_abi(value))); +} + +template int32_t impl_ILoopingSelector::SelectedIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ILoopingSelector)->get_SelectedIndex(&value)); + return value; +} + +template void impl_ILoopingSelector::SelectedIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->put_SelectedIndex(value)); +} + +template Windows::Foundation::IInspectable impl_ILoopingSelector::SelectedItem() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ILoopingSelector)->get_SelectedItem(put_abi(value))); + return value; +} + +template void impl_ILoopingSelector::SelectedItem(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->put_SelectedItem(get_abi(value))); +} + +template int32_t impl_ILoopingSelector::ItemWidth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ILoopingSelector)->get_ItemWidth(&value)); + return value; +} + +template void impl_ILoopingSelector::ItemWidth(int32_t value) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->put_ItemWidth(value)); +} + +template int32_t impl_ILoopingSelector::ItemHeight() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ILoopingSelector)->get_ItemHeight(&value)); + return value; +} + +template void impl_ILoopingSelector::ItemHeight(int32_t value) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->put_ItemHeight(value)); +} + +template Windows::UI::Xaml::DataTemplate impl_ILoopingSelector::ItemTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelector)->get_ItemTemplate(put_abi(value))); + return value; +} + +template void impl_ILoopingSelector::ItemTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->put_ItemTemplate(get_abi(value))); +} + +template event_token impl_ILoopingSelector::SelectionChanged(const Windows::UI::Xaml::Controls::SelectionChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ILoopingSelector)->add_SelectionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ILoopingSelector::SelectionChanged(auto_revoke_t, const Windows::UI::Xaml::Controls::SelectionChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::Primitives::ILoopingSelector::remove_SelectionChanged, SelectionChanged(value)); +} + +template void impl_ILoopingSelector::SelectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ILoopingSelector)->remove_SelectionChanged(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ILoopingSelectorStatics::ShouldLoopProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelectorStatics)->get_ShouldLoopProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ILoopingSelectorStatics::ItemsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelectorStatics)->get_ItemsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ILoopingSelectorStatics::SelectedIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelectorStatics)->get_SelectedIndexProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ILoopingSelectorStatics::SelectedItemProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelectorStatics)->get_SelectedItemProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ILoopingSelectorStatics::ItemWidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelectorStatics)->get_ItemWidthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ILoopingSelectorStatics::ItemHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelectorStatics)->get_ItemHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ILoopingSelectorStatics::ItemTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ILoopingSelectorStatics)->get_ItemTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::PivotHeaderItem impl_IPivotHeaderItemFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Primitives::PivotHeaderItem instance { nullptr }; + check_hresult(WINRT_SHIM(IPivotHeaderItemFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +inline Windows::UI::Xaml::DependencyProperty ButtonBase::ClickModeProperty() +{ + return get_activation_factory().ClickModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ButtonBase::IsPointerOverProperty() +{ + return get_activation_factory().IsPointerOverProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ButtonBase::IsPressedProperty() +{ + return get_activation_factory().IsPressedProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ButtonBase::CommandProperty() +{ + return get_activation_factory().CommandProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ButtonBase::CommandParameterProperty() +{ + return get_activation_factory().CommandParameterProperty(); +} + +inline CalendarPanel::CalendarPanel() : + CalendarPanel(activate_instance()) +{} + +inline CarouselPanel::CarouselPanel() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline DragCompletedEventArgs::DragCompletedEventArgs(double horizontalChange, double verticalChange, bool canceled) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithHorizontalChangeVerticalChangeAndCanceled(horizontalChange, verticalChange, canceled, outer, inner)); +} + +inline DragDeltaEventArgs::DragDeltaEventArgs(double horizontalChange, double verticalChange) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithHorizontalChangeAndVerticalChange(horizontalChange, verticalChange, outer, inner)); +} + +inline DragStartedEventArgs::DragStartedEventArgs(double horizontalOffset, double verticalOffset) +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstanceWithHorizontalOffsetAndVerticalOffset(horizontalOffset, verticalOffset, outer, inner)); +} + +inline Windows::UI::Xaml::DependencyProperty FlyoutBase::PlacementProperty() +{ + return get_activation_factory().PlacementProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty FlyoutBase::AttachedFlyoutProperty() +{ + return get_activation_factory().AttachedFlyoutProperty(); +} + +inline Windows::UI::Xaml::Controls::Primitives::FlyoutBase FlyoutBase::GetAttachedFlyout(const Windows::UI::Xaml::FrameworkElement & element) +{ + return get_activation_factory().GetAttachedFlyout(element); +} + +inline void FlyoutBase::SetAttachedFlyout(const Windows::UI::Xaml::FrameworkElement & element, const Windows::UI::Xaml::Controls::Primitives::FlyoutBase & value) +{ + get_activation_factory().SetAttachedFlyout(element, value); +} + +inline void FlyoutBase::ShowAttachedFlyout(const Windows::UI::Xaml::FrameworkElement & flyoutOwner) +{ + get_activation_factory().ShowAttachedFlyout(flyoutOwner); +} + +inline Windows::UI::Xaml::DependencyProperty FlyoutBase::AllowFocusOnInteractionProperty() +{ + return get_activation_factory().AllowFocusOnInteractionProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty FlyoutBase::LightDismissOverlayModeProperty() +{ + return get_activation_factory().LightDismissOverlayModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty FlyoutBase::AllowFocusWhenDisabledProperty() +{ + return get_activation_factory().AllowFocusWhenDisabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty FlyoutBase::ElementSoundModeProperty() +{ + return get_activation_factory().ElementSoundModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty FlyoutBase::OverlayInputPassThroughElementProperty() +{ + return get_activation_factory().OverlayInputPassThroughElementProperty(); +} + +inline Windows::UI::Xaml::Controls::Primitives::GeneratorPosition GeneratorPositionHelper::FromIndexAndOffset(int32_t index, int32_t offset) +{ + return get_activation_factory().FromIndexAndOffset(index, offset); +} + +inline GridViewItemPresenter::GridViewItemPresenter() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::SelectionCheckMarkVisualEnabledProperty() +{ + return get_activation_factory().SelectionCheckMarkVisualEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::CheckHintBrushProperty() +{ + return get_activation_factory().CheckHintBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::CheckSelectingBrushProperty() +{ + return get_activation_factory().CheckSelectingBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::CheckBrushProperty() +{ + return get_activation_factory().CheckBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::DragBackgroundProperty() +{ + return get_activation_factory().DragBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::DragForegroundProperty() +{ + return get_activation_factory().DragForegroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::FocusBorderBrushProperty() +{ + return get_activation_factory().FocusBorderBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::PlaceholderBackgroundProperty() +{ + return get_activation_factory().PlaceholderBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::PointerOverBackgroundProperty() +{ + return get_activation_factory().PointerOverBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::SelectedBackgroundProperty() +{ + return get_activation_factory().SelectedBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::SelectedForegroundProperty() +{ + return get_activation_factory().SelectedForegroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::SelectedPointerOverBackgroundProperty() +{ + return get_activation_factory().SelectedPointerOverBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::SelectedPointerOverBorderBrushProperty() +{ + return get_activation_factory().SelectedPointerOverBorderBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::SelectedBorderThicknessProperty() +{ + return get_activation_factory().SelectedBorderThicknessProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::DisabledOpacityProperty() +{ + return get_activation_factory().DisabledOpacityProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::DragOpacityProperty() +{ + return get_activation_factory().DragOpacityProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::ReorderHintOffsetProperty() +{ + return get_activation_factory().ReorderHintOffsetProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::GridViewItemPresenterHorizontalContentAlignmentProperty() +{ + return get_activation_factory().GridViewItemPresenterHorizontalContentAlignmentProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::GridViewItemPresenterVerticalContentAlignmentProperty() +{ + return get_activation_factory().GridViewItemPresenterVerticalContentAlignmentProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::GridViewItemPresenterPaddingProperty() +{ + return get_activation_factory().GridViewItemPresenterPaddingProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::PointerOverBackgroundMarginProperty() +{ + return get_activation_factory().PointerOverBackgroundMarginProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty GridViewItemPresenter::ContentMarginProperty() +{ + return get_activation_factory().ContentMarginProperty(); +} + +inline JumpListItemBackgroundConverter::JumpListItemBackgroundConverter() : + JumpListItemBackgroundConverter(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty JumpListItemBackgroundConverter::EnabledProperty() +{ + return get_activation_factory().EnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty JumpListItemBackgroundConverter::DisabledProperty() +{ + return get_activation_factory().DisabledProperty(); +} + +inline JumpListItemForegroundConverter::JumpListItemForegroundConverter() : + JumpListItemForegroundConverter(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty JumpListItemForegroundConverter::EnabledProperty() +{ + return get_activation_factory().EnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty JumpListItemForegroundConverter::DisabledProperty() +{ + return get_activation_factory().DisabledProperty(); +} + +inline Windows::UI::Xaml::UIElement LayoutInformation::GetLayoutExceptionElement(const Windows::Foundation::IInspectable & dispatcher) +{ + return get_activation_factory().GetLayoutExceptionElement(dispatcher); +} + +inline Windows::Foundation::Rect LayoutInformation::GetLayoutSlot(const Windows::UI::Xaml::FrameworkElement & element) +{ + return get_activation_factory().GetLayoutSlot(element); +} + +inline ListViewItemPresenter::ListViewItemPresenter() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::SelectionCheckMarkVisualEnabledProperty() +{ + return get_activation_factory().SelectionCheckMarkVisualEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::CheckHintBrushProperty() +{ + return get_activation_factory().CheckHintBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::CheckSelectingBrushProperty() +{ + return get_activation_factory().CheckSelectingBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::CheckBrushProperty() +{ + return get_activation_factory().CheckBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::DragBackgroundProperty() +{ + return get_activation_factory().DragBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::DragForegroundProperty() +{ + return get_activation_factory().DragForegroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::FocusBorderBrushProperty() +{ + return get_activation_factory().FocusBorderBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::PlaceholderBackgroundProperty() +{ + return get_activation_factory().PlaceholderBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::PointerOverBackgroundProperty() +{ + return get_activation_factory().PointerOverBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::SelectedBackgroundProperty() +{ + return get_activation_factory().SelectedBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::SelectedForegroundProperty() +{ + return get_activation_factory().SelectedForegroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::SelectedPointerOverBackgroundProperty() +{ + return get_activation_factory().SelectedPointerOverBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::SelectedPointerOverBorderBrushProperty() +{ + return get_activation_factory().SelectedPointerOverBorderBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::SelectedBorderThicknessProperty() +{ + return get_activation_factory().SelectedBorderThicknessProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::DisabledOpacityProperty() +{ + return get_activation_factory().DisabledOpacityProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::DragOpacityProperty() +{ + return get_activation_factory().DragOpacityProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::ReorderHintOffsetProperty() +{ + return get_activation_factory().ReorderHintOffsetProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::ListViewItemPresenterHorizontalContentAlignmentProperty() +{ + return get_activation_factory().ListViewItemPresenterHorizontalContentAlignmentProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::ListViewItemPresenterVerticalContentAlignmentProperty() +{ + return get_activation_factory().ListViewItemPresenterVerticalContentAlignmentProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::ListViewItemPresenterPaddingProperty() +{ + return get_activation_factory().ListViewItemPresenterPaddingProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::PointerOverBackgroundMarginProperty() +{ + return get_activation_factory().PointerOverBackgroundMarginProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::ContentMarginProperty() +{ + return get_activation_factory().ContentMarginProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::SelectedPressedBackgroundProperty() +{ + return get_activation_factory().SelectedPressedBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::PressedBackgroundProperty() +{ + return get_activation_factory().PressedBackgroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::CheckBoxBrushProperty() +{ + return get_activation_factory().CheckBoxBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::FocusSecondaryBorderBrushProperty() +{ + return get_activation_factory().FocusSecondaryBorderBrushProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::CheckModeProperty() +{ + return get_activation_factory().CheckModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ListViewItemPresenter::PointerOverForegroundProperty() +{ + return get_activation_factory().PointerOverForegroundProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty LoopingSelector::ShouldLoopProperty() +{ + return get_activation_factory().ShouldLoopProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty LoopingSelector::ItemsProperty() +{ + return get_activation_factory().ItemsProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty LoopingSelector::SelectedIndexProperty() +{ + return get_activation_factory().SelectedIndexProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty LoopingSelector::SelectedItemProperty() +{ + return get_activation_factory().SelectedItemProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty LoopingSelector::ItemWidthProperty() +{ + return get_activation_factory().ItemWidthProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty LoopingSelector::ItemHeightProperty() +{ + return get_activation_factory().ItemHeightProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty LoopingSelector::ItemTemplateProperty() +{ + return get_activation_factory().ItemTemplateProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty PickerFlyoutBase::TitleProperty() +{ + return get_activation_factory().TitleProperty(); +} + +inline hstring PickerFlyoutBase::GetTitle(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetTitle(element); +} + +inline void PickerFlyoutBase::SetTitle(const Windows::UI::Xaml::DependencyObject & element, hstring_view value) +{ + get_activation_factory().SetTitle(element, value); +} + +inline PivotHeaderItem::PivotHeaderItem() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline PivotHeaderPanel::PivotHeaderPanel() : + PivotHeaderPanel(activate_instance()) +{} + +inline PivotPanel::PivotPanel() : + PivotPanel(activate_instance()) +{} + +inline Popup::Popup() : + Popup(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty Popup::ChildProperty() +{ + return get_activation_factory().ChildProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Popup::IsOpenProperty() +{ + return get_activation_factory().IsOpenProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Popup::HorizontalOffsetProperty() +{ + return get_activation_factory().HorizontalOffsetProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Popup::VerticalOffsetProperty() +{ + return get_activation_factory().VerticalOffsetProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Popup::ChildTransitionsProperty() +{ + return get_activation_factory().ChildTransitionsProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Popup::IsLightDismissEnabledProperty() +{ + return get_activation_factory().IsLightDismissEnabledProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Popup::LightDismissOverlayModeProperty() +{ + return get_activation_factory().LightDismissOverlayModeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty RangeBase::MinimumProperty() +{ + return get_activation_factory().MinimumProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty RangeBase::MaximumProperty() +{ + return get_activation_factory().MaximumProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty RangeBase::SmallChangeProperty() +{ + return get_activation_factory().SmallChangeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty RangeBase::LargeChangeProperty() +{ + return get_activation_factory().LargeChangeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty RangeBase::ValueProperty() +{ + return get_activation_factory().ValueProperty(); +} + +inline RepeatButton::RepeatButton() : + RepeatButton(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty RepeatButton::DelayProperty() +{ + return get_activation_factory().DelayProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty RepeatButton::IntervalProperty() +{ + return get_activation_factory().IntervalProperty(); +} + +inline ScrollBar::ScrollBar() : + ScrollBar(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty ScrollBar::OrientationProperty() +{ + return get_activation_factory().OrientationProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ScrollBar::ViewportSizeProperty() +{ + return get_activation_factory().ViewportSizeProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ScrollBar::IndicatorModeProperty() +{ + return get_activation_factory().IndicatorModeProperty(); +} + +inline ScrollEventArgs::ScrollEventArgs() : + ScrollEventArgs(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty Selector::SelectedIndexProperty() +{ + return get_activation_factory().SelectedIndexProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Selector::SelectedItemProperty() +{ + return get_activation_factory().SelectedItemProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Selector::SelectedValueProperty() +{ + return get_activation_factory().SelectedValueProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Selector::SelectedValuePathProperty() +{ + return get_activation_factory().SelectedValuePathProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty Selector::IsSynchronizedWithCurrentItemProperty() +{ + return get_activation_factory().IsSynchronizedWithCurrentItemProperty(); +} + +inline bool Selector::GetIsSelectionActive(const Windows::UI::Xaml::DependencyObject & element) +{ + return get_activation_factory().GetIsSelectionActive(element); +} + +inline Windows::UI::Xaml::DependencyProperty SelectorItem::IsSelectedProperty() +{ + return get_activation_factory().IsSelectedProperty(); +} + +inline Thumb::Thumb() : + Thumb(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty Thumb::IsDraggingProperty() +{ + return get_activation_factory().IsDraggingProperty(); +} + +inline TickBar::TickBar() : + TickBar(activate_instance()) +{} + +inline Windows::UI::Xaml::DependencyProperty TickBar::FillProperty() +{ + return get_activation_factory().FillProperty(); +} + +inline ToggleButton::ToggleButton() +{ + Windows::Foundation::IInspectable outer, inner; + impl_move(get_activation_factory().CreateInstance(outer, inner)); +} + +inline Windows::UI::Xaml::DependencyProperty ToggleButton::IsCheckedProperty() +{ + return get_activation_factory().IsCheckedProperty(); +} + +inline Windows::UI::Xaml::DependencyProperty ToggleButton::IsThreeStateProperty() +{ + return get_activation_factory().IsThreeStateProperty(); +} + +} + +} + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IAppBarTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IButtonBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IButtonBaseFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IButtonBaseStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ICalendarPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ICalendarViewTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ICarouselPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ICarouselPanelFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IComboBoxTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IComboBoxTemplateSettings2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ICommandBarTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ICommandBarTemplateSettings2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ICommandBarTemplateSettings3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IDragCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IDragCompletedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IDragDeltaEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IDragDeltaEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IDragStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IDragStartedEventArgsFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBase2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBase3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBaseClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBaseFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBaseOverrides & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBaseStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBaseStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IFlyoutBaseStatics3 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IGeneratorPositionHelper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IGeneratorPositionHelperStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IGridViewItemPresenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IGridViewItemPresenterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IGridViewItemPresenterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IGridViewItemTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IItemsChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IJumpListItemBackgroundConverter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IJumpListItemBackgroundConverterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IJumpListItemForegroundConverter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IJumpListItemForegroundConverterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ILayoutInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ILayoutInformationStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IListViewItemPresenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IListViewItemPresenter2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IListViewItemPresenterFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IListViewItemPresenterStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IListViewItemPresenterStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IListViewItemTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ILoopingSelector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ILoopingSelectorItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ILoopingSelectorPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ILoopingSelectorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IMenuFlyoutPresenterTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IOrientedVirtualizingPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IOrientedVirtualizingPanelFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPickerFlyoutBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPickerFlyoutBaseFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPickerFlyoutBaseOverrides & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPickerFlyoutBaseStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPivotHeaderItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPivotHeaderItemFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPivotHeaderPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPivotPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPopup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPopup2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPopupStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IPopupStatics2 & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IProgressBarTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IProgressRingTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IRangeBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IRangeBaseFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IRangeBaseOverrides & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IRangeBaseStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IRangeBaseValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IRepeatButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IRepeatButtonStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IScrollBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IScrollBarStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IScrollEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IScrollSnapPointsInfo & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISelector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISelectorFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISelectorItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISelectorItemFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISelectorItemStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISelectorStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISettingsFlyoutTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ISplitViewTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IThumb & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IThumbStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ITickBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ITickBarStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IToggleButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IToggleButtonFactory & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IToggleButtonOverrides & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IToggleButtonStatics & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IToggleSwitchTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::IToolTipTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::AppBarTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ButtonBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::CalendarPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::CalendarViewTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::CarouselPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ComboBoxTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::CommandBarTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::DragCompletedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::DragDeltaEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::DragStartedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::FlyoutBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::GeneratorPositionHelper & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemPresenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::GridViewItemTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ItemsChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::JumpListItemBackgroundConverter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::JumpListItemForegroundConverter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::LayoutInformation & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemPresenter & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ListViewItemTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::LoopingSelector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::LoopingSelectorItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::LoopingSelectorPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::MenuFlyoutPresenterTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::OrientedVirtualizingPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::PickerFlyoutBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::PivotHeaderItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::PivotHeaderPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::PivotPanel & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::Popup & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ProgressBarTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ProgressRingTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::RangeBase & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::RepeatButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ScrollBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ScrollEventArgs & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::Selector & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::SelectorItem & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::SettingsFlyoutTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::SplitViewTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::Thumb & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::TickBar & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ToggleButton & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ToggleSwitchTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +template<> +struct std::hash +{ + size_t operator()(const winrt::Windows::UI::Xaml::Controls::Primitives::ToolTipTemplateSettings & value) const noexcept + { + return winrt::impl::hash_unknown(value); + } +}; + +WINRT_WARNING_POP diff --git a/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.h b/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.h new file mode 100644 index 000000000..a46d5b907 --- /dev/null +++ b/10.0.15042.0/winrt/Windows.UI.Xaml.Controls.h @@ -0,0 +1,78625 @@ +// C++ for the Windows Runtime v1.0.private +// Copyright (c) 2017 Microsoft Corporation. All rights reserved. + +#pragma once + +#include "base.h" +WINRT_WARNING_PUSH + +#include "internal/Windows.Foundation.3.h" +#include "internal/Windows.UI.Xaml.3.h" +#include "internal/Windows.UI.Xaml.Interop.3.h" +#include "internal/Windows.UI.Xaml.Controls.Primitives.3.h" +#include "internal/Windows.Foundation.Collections.3.h" +#include "internal/Windows.ApplicationModel.DataTransfer.3.h" +#include "internal/Windows.UI.Xaml.Media.3.h" +#include "internal/Windows.Media.Capture.3.h" +#include "internal/Windows.UI.Text.3.h" +#include "internal/Windows.Media.PlayTo.3.h" +#include "internal/Windows.Media.Casting.3.h" +#include "internal/Windows.UI.Composition.3.h" +#include "internal/Windows.UI.Xaml.Documents.3.h" +#include "internal/Windows.UI.Xaml.Input.3.h" +#include "internal/Windows.UI.Xaml.Data.3.h" +#include "internal/Windows.UI.Xaml.Media.Animation.3.h" +#include "internal/Windows.ApplicationModel.Search.3.h" +#include "internal/Windows.System.3.h" +#include "internal/Windows.Web.3.h" +#include "internal/Windows.UI.Input.Inking.3.h" +#include "internal/Windows.Media.Protection.3.h" +#include "internal/Windows.Storage.Streams.3.h" +#include "internal/Windows.Media.Core.3.h" +#include "internal/Windows.Media.Playback.3.h" +#include "internal/Windows.UI.Xaml.Navigation.3.h" +#include "internal/Windows.UI.3.h" +#include "internal/Windows.Web.Http.3.h" +#include "internal/Windows.Globalization.3.h" +#include "internal/Windows.UI.Core.3.h" +#include "internal/Windows.UI.Xaml.Controls.3.h" +#include "Windows.UI.Xaml.h" +#include "Windows.Foundation.Collections.h" +#include "Windows.UI.Xaml.Controls.Primitives.h" +#include "Windows.UI.Xaml.Data.h" +#include "Windows.UI.Xaml.Media.h" +#include "internal/Windows.UI.Xaml.Controls.4.h" +#include "internal/Windows.UI.Xaml.Controls.5.h" + +WINRT_EXPORT namespace winrt { + +namespace Windows::UI::Xaml::Controls { + +template BackClickEventHandler::BackClickEventHandler(L lambda) : + BackClickEventHandler(impl::make_delegate, BackClickEventHandler>(std::forward(lambda))) +{} + +template BackClickEventHandler::BackClickEventHandler(F * function) : + BackClickEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template BackClickEventHandler::BackClickEventHandler(O * object, M method) : + BackClickEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void BackClickEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::BackClickEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template CalendarViewDayItemChangingEventHandler::CalendarViewDayItemChangingEventHandler(L lambda) : + CalendarViewDayItemChangingEventHandler(impl::make_delegate, CalendarViewDayItemChangingEventHandler>(std::forward(lambda))) +{} + +template CalendarViewDayItemChangingEventHandler::CalendarViewDayItemChangingEventHandler(F * function) : + CalendarViewDayItemChangingEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template CalendarViewDayItemChangingEventHandler::CalendarViewDayItemChangingEventHandler(O * object, M method) : + CalendarViewDayItemChangingEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void CalendarViewDayItemChangingEventHandler::operator()(const Windows::UI::Xaml::Controls::CalendarView & sender, const Windows::UI::Xaml::Controls::CalendarViewDayItemChangingEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template CleanUpVirtualizedItemEventHandler::CleanUpVirtualizedItemEventHandler(L lambda) : + CleanUpVirtualizedItemEventHandler(impl::make_delegate, CleanUpVirtualizedItemEventHandler>(std::forward(lambda))) +{} + +template CleanUpVirtualizedItemEventHandler::CleanUpVirtualizedItemEventHandler(F * function) : + CleanUpVirtualizedItemEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template CleanUpVirtualizedItemEventHandler::CleanUpVirtualizedItemEventHandler(O * object, M method) : + CleanUpVirtualizedItemEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void CleanUpVirtualizedItemEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::CleanUpVirtualizedItemEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template ContextMenuOpeningEventHandler::ContextMenuOpeningEventHandler(L lambda) : + ContextMenuOpeningEventHandler(impl::make_delegate, ContextMenuOpeningEventHandler>(std::forward(lambda))) +{} + +template ContextMenuOpeningEventHandler::ContextMenuOpeningEventHandler(F * function) : + ContextMenuOpeningEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ContextMenuOpeningEventHandler::ContextMenuOpeningEventHandler(O * object, M method) : + ContextMenuOpeningEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ContextMenuOpeningEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::ContextMenuEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template DragItemsStartingEventHandler::DragItemsStartingEventHandler(L lambda) : + DragItemsStartingEventHandler(impl::make_delegate, DragItemsStartingEventHandler>(std::forward(lambda))) +{} + +template DragItemsStartingEventHandler::DragItemsStartingEventHandler(F * function) : + DragItemsStartingEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template DragItemsStartingEventHandler::DragItemsStartingEventHandler(O * object, M method) : + DragItemsStartingEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void DragItemsStartingEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::DragItemsStartingEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template HubSectionHeaderClickEventHandler::HubSectionHeaderClickEventHandler(L lambda) : + HubSectionHeaderClickEventHandler(impl::make_delegate, HubSectionHeaderClickEventHandler>(std::forward(lambda))) +{} + +template HubSectionHeaderClickEventHandler::HubSectionHeaderClickEventHandler(F * function) : + HubSectionHeaderClickEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template HubSectionHeaderClickEventHandler::HubSectionHeaderClickEventHandler(O * object, M method) : + HubSectionHeaderClickEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void HubSectionHeaderClickEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::HubSectionHeaderClickEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template ItemClickEventHandler::ItemClickEventHandler(L lambda) : + ItemClickEventHandler(impl::make_delegate, ItemClickEventHandler>(std::forward(lambda))) +{} + +template ItemClickEventHandler::ItemClickEventHandler(F * function) : + ItemClickEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template ItemClickEventHandler::ItemClickEventHandler(O * object, M method) : + ItemClickEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void ItemClickEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::ItemClickEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template ListViewItemToKeyHandler::ListViewItemToKeyHandler(L lambda) : + ListViewItemToKeyHandler(impl::make_delegate, ListViewItemToKeyHandler>(std::forward(lambda))) +{} + +template ListViewItemToKeyHandler::ListViewItemToKeyHandler(F * function) : + ListViewItemToKeyHandler([=](auto && ... args) { return function(args ...); }) +{} + +template ListViewItemToKeyHandler::ListViewItemToKeyHandler(O * object, M method) : + ListViewItemToKeyHandler([=](auto && ... args) { return ((*object).*(method))(args ...); }) +{} + +inline hstring ListViewItemToKeyHandler::operator()(const Windows::Foundation::IInspectable & item) const +{ + hstring returnValue; + check_hresult((*(abi **)this)->abi_Invoke(get_abi(item), put_abi(returnValue))); + return returnValue; +} + +template ListViewKeyToItemHandler::ListViewKeyToItemHandler(L lambda) : + ListViewKeyToItemHandler(impl::make_delegate, ListViewKeyToItemHandler>(std::forward(lambda))) +{} + +template ListViewKeyToItemHandler::ListViewKeyToItemHandler(F * function) : + ListViewKeyToItemHandler([=](auto && ... args) { return function(args ...); }) +{} + +template ListViewKeyToItemHandler::ListViewKeyToItemHandler(O * object, M method) : + ListViewKeyToItemHandler([=](auto && ... args) { return ((*object).*(method))(args ...); }) +{} + +inline Windows::Foundation::IAsyncOperation ListViewKeyToItemHandler::operator()(hstring_view key) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult((*(abi **)this)->abi_Invoke(get_abi(key), put_abi(returnValue))); + return returnValue; +} + +template NotifyEventHandler::NotifyEventHandler(L lambda) : + NotifyEventHandler(impl::make_delegate, NotifyEventHandler>(std::forward(lambda))) +{} + +template NotifyEventHandler::NotifyEventHandler(F * function) : + NotifyEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template NotifyEventHandler::NotifyEventHandler(O * object, M method) : + NotifyEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void NotifyEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::NotifyEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template SectionsInViewChangedEventHandler::SectionsInViewChangedEventHandler(L lambda) : + SectionsInViewChangedEventHandler(impl::make_delegate, SectionsInViewChangedEventHandler>(std::forward(lambda))) +{} + +template SectionsInViewChangedEventHandler::SectionsInViewChangedEventHandler(F * function) : + SectionsInViewChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template SectionsInViewChangedEventHandler::SectionsInViewChangedEventHandler(O * object, M method) : + SectionsInViewChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SectionsInViewChangedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::SectionsInViewChangedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template SelectionChangedEventHandler::SelectionChangedEventHandler(L lambda) : + SelectionChangedEventHandler(impl::make_delegate, SelectionChangedEventHandler>(std::forward(lambda))) +{} + +template SelectionChangedEventHandler::SelectionChangedEventHandler(F * function) : + SelectionChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template SelectionChangedEventHandler::SelectionChangedEventHandler(O * object, M method) : + SelectionChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SelectionChangedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::SelectionChangedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template SemanticZoomViewChangedEventHandler::SemanticZoomViewChangedEventHandler(L lambda) : + SemanticZoomViewChangedEventHandler(impl::make_delegate, SemanticZoomViewChangedEventHandler>(std::forward(lambda))) +{} + +template SemanticZoomViewChangedEventHandler::SemanticZoomViewChangedEventHandler(F * function) : + SemanticZoomViewChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template SemanticZoomViewChangedEventHandler::SemanticZoomViewChangedEventHandler(O * object, M method) : + SemanticZoomViewChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void SemanticZoomViewChangedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::SemanticZoomViewChangedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template TextChangedEventHandler::TextChangedEventHandler(L lambda) : + TextChangedEventHandler(impl::make_delegate, TextChangedEventHandler>(std::forward(lambda))) +{} + +template TextChangedEventHandler::TextChangedEventHandler(F * function) : + TextChangedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template TextChangedEventHandler::TextChangedEventHandler(O * object, M method) : + TextChangedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void TextChangedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::TextChangedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template TextControlPasteEventHandler::TextControlPasteEventHandler(L lambda) : + TextControlPasteEventHandler(impl::make_delegate, TextControlPasteEventHandler>(std::forward(lambda))) +{} + +template TextControlPasteEventHandler::TextControlPasteEventHandler(F * function) : + TextControlPasteEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template TextControlPasteEventHandler::TextControlPasteEventHandler(O * object, M method) : + TextControlPasteEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void TextControlPasteEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::TextControlPasteEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +template WebViewNavigationFailedEventHandler::WebViewNavigationFailedEventHandler(L lambda) : + WebViewNavigationFailedEventHandler(impl::make_delegate, WebViewNavigationFailedEventHandler>(std::forward(lambda))) +{} + +template WebViewNavigationFailedEventHandler::WebViewNavigationFailedEventHandler(F * function) : + WebViewNavigationFailedEventHandler([=](auto && ... args) { function(args ...); }) +{} + +template WebViewNavigationFailedEventHandler::WebViewNavigationFailedEventHandler(O * object, M method) : + WebViewNavigationFailedEventHandler([=](auto && ... args) { ((*object).*(method))(args ...); }) +{} + +inline void WebViewNavigationFailedEventHandler::operator()(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::WebViewNavigationFailedEventArgs & e) const +{ + check_hresult((*(abi **)this)->abi_Invoke(get_abi(sender), get_abi(e))); +} + +} + +namespace impl { + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSticky(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSticky()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSticky(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSticky(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opened(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opened(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClosedDisplayMode(Windows::UI::Xaml::Controls::AppBarClosedDisplayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClosedDisplayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClosedDisplayMode(Windows::UI::Xaml::Controls::AppBarClosedDisplayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClosedDisplayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opening(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opening(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opening(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opening(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closing(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closing(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Icon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Icon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LabelPosition(Windows::UI::Xaml::Controls::CommandBarLabelPosition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabelPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LabelPosition(Windows::UI::Xaml::Controls::CommandBarLabelPosition value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LabelPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LabelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IconProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCompactProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompactProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LabelPositionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabelPositionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInOverflowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInOverflowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DynamicOverflowOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DynamicOverflowOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnClosed(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnClosed(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnOpened(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnOpened(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnClosing(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnClosing(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnOpening(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnOpening(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCompactProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompactProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsInOverflowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInOverflowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DynamicOverflowOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DynamicOverflowOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsOpenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStickyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStickyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClosedDisplayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClosedDisplayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Label(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Label()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Label(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Label(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Icon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Icon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LabelPosition(Windows::UI::Xaml::Controls::CommandBarLabelPosition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabelPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LabelPosition(Windows::UI::Xaml::Controls::CommandBarLabelPosition value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LabelPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LabelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IconProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCompactProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompactProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LabelPositionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LabelPositionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInOverflowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInOverflowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DynamicOverflowOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DynamicOverflowOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxSuggestionListHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSuggestionListHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxSuggestionListHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxSuggestionListHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSuggestionListOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSuggestionListOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSuggestionListOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSuggestionListOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextMemberPath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextMemberPath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextMemberPath(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextMemberPath(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdateTextOnSelect(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateTextOnSelect()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UpdateTextOnSelect(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UpdateTextOnSelect(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoMaximizeSuggestionArea(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoMaximizeSuggestionArea()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoMaximizeSuggestionArea(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoMaximizeSuggestionArea(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextBoxStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextBoxStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextBoxStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextBoxStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SuggestionChosen(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SuggestionChosen(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SuggestionChosen(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestionChosen(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryIcon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryIcon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QueryIcon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QueryIcon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QuerySubmitted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QuerySubmitted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QuerySubmitted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuerySubmitted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChosenSuggestion(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChosenSuggestion()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxSuggestionListHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxSuggestionListHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSuggestionListOpenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSuggestionListOpenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextMemberPathProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextMemberPathProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UpdateTextOnSelectProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UpdateTextOnSelectProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoMaximizeSuggestionAreaProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoMaximizeSuggestionAreaProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextBoxStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextBoxStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryIconProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryIconProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Reason(Windows::UI::Xaml::Controls::AutoSuggestionBoxTextChangeReason * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Reason()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Reason(Windows::UI::Xaml::Controls::AutoSuggestionBoxTextChangeReason value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Reason(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CheckCurrent(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CheckCurrent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReasonProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReasonProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UriSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UriSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UriSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UriSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShowAsMonochrome(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowAsMonochrome()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowAsMonochrome(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowAsMonochrome(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UriSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UriSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShowAsMonochromeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowAsMonochromeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Background(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Background()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Background(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Background(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadius(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CornerRadius(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CornerRadius(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Child(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Child()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Child(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Child(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChildTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChildTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadiusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadiusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FlyoutProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlyoutProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Flyout(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Flyout()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Flyout(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Flyout(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Date(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Date(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Date(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCalendarOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCalendarOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCalendarOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCalendarOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DateFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DateFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarViewStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarViewStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarViewStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarViewStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinDate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinDate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxDate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxDate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTodayHighlighted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTodayHighlighted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTodayHighlighted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTodayHighlighted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMode(Windows::UI::Xaml::Controls::CalendarViewDisplayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMode(Windows::UI::Xaml::Controls::CalendarViewDisplayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstDayOfWeek(Windows::Globalization::DayOfWeek * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstDayOfWeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstDayOfWeek(Windows::Globalization::DayOfWeek value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstDayOfWeek(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayOfWeekFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayOfWeekFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayOfWeekFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayOfWeekFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOutOfScopeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOutOfScopeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOutOfScopeEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOutOfScopeEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGroupLabelVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGroupLabelVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsGroupLabelVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsGroupLabelVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CalendarViewDayItemChanging(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CalendarViewDayItemChanging(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CalendarViewDayItemChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarViewDayItemChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opened(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opened(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDisplayDate(impl::abi_arg_in date) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDisplayDate(*reinterpret_cast(&date)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetYearDecadeDisplayDimensions(int32_t columns, int32_t rows) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetYearDecadeDisplayDimensions(columns, rows); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NewDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OldDate(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldDate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCalendarOpenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCalendarOpenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarViewStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarViewStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinDateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinDateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTodayHighlightedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTodayHighlightedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstDayOfWeekProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstDayOfWeekProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayOfWeekFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayOfWeekFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarIdentifierProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifierProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOutOfScopeEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOutOfScopeEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGroupLabelVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGroupLabelVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CalendarIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayOfWeekFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayOfWeekFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayOfWeekFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayOfWeekFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGroupLabelVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGroupLabelVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsGroupLabelVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsGroupLabelVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMode(Windows::UI::Xaml::Controls::CalendarViewDisplayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMode(Windows::UI::Xaml::Controls::CalendarViewDisplayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstDayOfWeek(Windows::Globalization::DayOfWeek * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstDayOfWeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstDayOfWeek(Windows::Globalization::DayOfWeek value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstDayOfWeek(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOutOfScopeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOutOfScopeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOutOfScopeEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOutOfScopeEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTodayHighlighted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTodayHighlighted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTodayHighlighted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTodayHighlighted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxDate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxDate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinDate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinDate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfWeeksInView(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfWeeksInView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NumberOfWeeksInView(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NumberOfWeeksInView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedDates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedDates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionMode(Windows::UI::Xaml::Controls::CalendarViewSelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionMode(Windows::UI::Xaml::Controls::CalendarViewSelectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FocusBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedHoverBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedHoverBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedHoverBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedHoverBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPressedBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPressedBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedPressedBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedPressedBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HoverBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HoverBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HoverBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HoverBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PressedBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PressedBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PressedBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PressedBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemBorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemBorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarItemBorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarItemBorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutOfScopeBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutOfScopeBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutOfScopeBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutOfScopeBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarItemBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarItemBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PressedForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PressedForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PressedForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PressedForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TodayForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TodayForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TodayForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TodayForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BlackoutForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BlackoutForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BlackoutForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BlackoutForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutOfScopeForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutOfScopeForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OutOfScopeForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OutOfScopeForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarItemForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarItemForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayItemFontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayItemFontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayItemFontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayItemFontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayItemFontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayItemFontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayItemFontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayItemFontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TodayFontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TodayFontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TodayFontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TodayFontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfMonthLabelFontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfMonthLabelFontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfMonthLabelFontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfMonthLabelFontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfMonthLabelFontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfMonthLabelFontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfMonthLabelFontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfMonthLabelFontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthYearItemFontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthYearItemFontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthYearItemFontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthYearItemFontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthYearItemFontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthYearItemFontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthYearItemFontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthYearItemFontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfYearDecadeLabelFontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfYearDecadeLabelFontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfYearDecadeLabelFontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfYearDecadeLabelFontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfYearDecadeLabelFontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfYearDecadeLabelFontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FirstOfYearDecadeLabelFontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FirstOfYearDecadeLabelFontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalDayItemAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalDayItemAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalDayItemAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalDayItemAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalDayItemAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalDayItemAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalDayItemAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalDayItemAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalFirstOfMonthLabelAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalFirstOfMonthLabelAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalFirstOfMonthLabelAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalFirstOfMonthLabelAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalFirstOfMonthLabelAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalFirstOfMonthLabelAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalFirstOfMonthLabelAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalFirstOfMonthLabelAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemBorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemBorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarItemBorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarItemBorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarViewDayItemStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarViewDayItemStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarViewDayItemStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarViewDayItemStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CalendarViewDayItemChanging(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CalendarViewDayItemChanging(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CalendarViewDayItemChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarViewDayItemChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectedDatesChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectedDatesChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectedDatesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedDatesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDisplayDate(impl::abi_arg_in date) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDisplayDate(*reinterpret_cast(&date)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetYearDecadeDisplayDimensions(int32_t columns, int32_t rows) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetYearDecadeDisplayDimensions(columns, rows); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsBlackout(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBlackout()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsBlackout(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsBlackout(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDensityColors(impl::abi_arg_in> colors) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDensityColors(*reinterpret_cast *>(&colors)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InRecycleQueue(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InRecycleQueue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Phase(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Phase()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterUpdateCallback(impl::abi_arg_in> callback) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterUpdateCallback(*reinterpret_cast *>(&callback)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterUpdateCallbackWithPhase(uint32_t callbackPhase, impl::abi_arg_in> callback) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterUpdateCallback(callbackPhase, *reinterpret_cast *>(&callback)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsBlackoutProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsBlackoutProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddedDates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddedDates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovedDates(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedDates()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CalendarIdentifierProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifierProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayOfWeekFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayOfWeekFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGroupLabelVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGroupLabelVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstDayOfWeekProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstDayOfWeekProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOutOfScopeEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOutOfScopeEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTodayHighlightedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTodayHighlightedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinDateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinDateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NumberOfWeeksInViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NumberOfWeeksInViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedDatesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedDatesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettingsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettingsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedHoverBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedHoverBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedPressedBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedPressedBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HoverBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HoverBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PressedBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PressedBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemBorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemBorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutOfScopeBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutOfScopeBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PressedForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PressedForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TodayForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TodayForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BlackoutForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BlackoutForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OutOfScopeForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OutOfScopeForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayItemFontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayItemFontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TodayFontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TodayFontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfMonthLabelFontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfMonthLabelFontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthYearItemFontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthYearItemFontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstOfYearDecadeLabelFontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstOfYearDecadeLabelFontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalDayItemAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalDayItemAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalDayItemAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalDayItemAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalFirstOfMonthLabelAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalFirstOfMonthLabelAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalFirstOfMonthLabelAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalFirstOfMonthLabelAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarItemBorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarItemBorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarViewDayItemStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarViewDayItemStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Bounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LeftProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLeft(impl::abi_arg_in element, double * length) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *length = detach_abi(this->shim().GetLeft(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLeft(impl::abi_arg_in element, double length) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLeft(*reinterpret_cast(&element), length); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTop(impl::abi_arg_in element, double * length) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *length = detach_abi(this->shim().GetTop(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetTop(impl::abi_arg_in element, double length) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetTop(*reinterpret_cast(&element), length); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetZIndex(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetZIndex(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetZIndex(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetZIndex(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stretch(Windows::UI::Xaml::Media::Stretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stretch(Windows::UI::Xaml::Media::Stretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupHeaderContainer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupHeaderContainer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupHeaderContainer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupHeaderContainer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Group(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Group()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemContainer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemContainer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsContainerPrepared(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContainerPrepared()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsContainerPrepared(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsContainerPrepared(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_UIElement(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UIElement()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Width(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Width()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Width(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Width(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_WidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDropDownOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDropDownOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDropDownOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDropDownOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEditable(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEditable()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSelectionBoxHighlighted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSelectionBoxHighlighted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDropDownHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDropDownHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxDropDownHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxDropDownHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionBoxItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionBoxItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionBoxItemTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionBoxItemTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DropDownClosed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DropDownClosed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DropDownClosed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DropDownClosed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DropDownOpened(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DropDownOpened(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DropDownOpened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DropDownOpened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextSearchEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextSearchEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextSearchEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextSearchEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionChangedTrigger(Windows::UI::Xaml::Controls::ComboBoxSelectionChangedTrigger * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionChangedTrigger()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionChangedTrigger(Windows::UI::Xaml::Controls::ComboBoxSelectionChangedTrigger value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChangedTrigger(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnDropDownClosed(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDropDownClosed(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnDropDownOpened(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDropDownOpened(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsDropDownOpenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDropDownOpenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxDropDownHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxDropDownHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextSearchEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextSearchEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionChangedTriggerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionChangedTriggerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrimaryCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryCommands(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryCommands()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CommandBarOverflowPresenterStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandBarOverflowPresenterStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommandBarOverflowPresenterStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommandBarOverflowPresenterStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandBarTemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandBarTemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultLabelPosition(Windows::UI::Xaml::Controls::CommandBarDefaultLabelPosition * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultLabelPosition()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultLabelPosition(Windows::UI::Xaml::Controls::CommandBarDefaultLabelPosition value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultLabelPosition(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowButtonVisibility(Windows::UI::Xaml::Controls::CommandBarOverflowButtonVisibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowButtonVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OverflowButtonVisibility(Windows::UI::Xaml::Controls::CommandBarOverflowButtonVisibility value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OverflowButtonVisibility(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDynamicOverflowEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDynamicOverflowEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDynamicOverflowEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDynamicOverflowEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DynamicOverflowItemsChanging(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DynamicOverflowItemsChanging(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DynamicOverflowItemsChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DynamicOverflowItemsChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCompact(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompact()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCompact(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCompact(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsInOverflow(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInOverflow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DynamicOverflowOrder(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DynamicOverflowOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DynamicOverflowOrder(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DynamicOverflowOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrimaryCommandsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryCommandsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryCommandsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryCommandsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CommandBarOverflowPresenterStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandBarOverflowPresenterStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultLabelPositionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultLabelPositionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowButtonVisibilityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowButtonVisibilityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDynamicOverflowEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDynamicOverflowEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemContainer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InRecycleQueue(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InRecycleQueue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Phase(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Phase()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterUpdateCallback(impl::abi_arg_in> callback) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterUpdateCallback(*reinterpret_cast *>(&callback)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RegisterUpdateCallbackWithPhase(uint32_t callbackPhase, impl::abi_arg_in> callback) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RegisterUpdateCallback(callbackPhase, *reinterpret_cast *>(&callback)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplateSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTemplateSelector(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTemplateSelector(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentTemplateRoot(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateRoot()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnContentChanged(impl::abi_arg_in oldContent, impl::abi_arg_in newContent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentChanged(*reinterpret_cast(&oldContent), *reinterpret_cast(&newContent)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnContentTemplateChanged(impl::abi_arg_in oldContentTemplate, impl::abi_arg_in newContentTemplate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentTemplateChanged(*reinterpret_cast(&oldContentTemplate), *reinterpret_cast(&newContentTemplate)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnContentTemplateSelectorChanged(impl::abi_arg_in oldContentTemplateSelector, impl::abi_arg_in newContentTemplateSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentTemplateSelectorChanged(*reinterpret_cast(&oldContentTemplateSelector), *reinterpret_cast(&newContentTemplateSelector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplateSelectorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateSelectorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TitleTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TitleTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullSizeDesired(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullSizeDesired()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FullSizeDesired(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FullSizeDesired(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryButtonText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryButtonText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SecondaryButtonText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SecondaryButtonText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonCommand(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonCommand()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryButtonCommand(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryButtonCommand(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonCommand(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonCommand()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SecondaryButtonCommand(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SecondaryButtonCommand(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonCommandParameter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonCommandParameter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryButtonCommandParameter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryButtonCommandParameter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonCommandParameter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonCommandParameter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SecondaryButtonCommandParameter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SecondaryButtonCommandParameter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPrimaryButtonEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrimaryButtonEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPrimaryButtonEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPrimaryButtonEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSecondaryButtonEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSecondaryButtonEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSecondaryButtonEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSecondaryButtonEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closing(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closing(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opened(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opened(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PrimaryButtonClick(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PrimaryButtonClick(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PrimaryButtonClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryButtonClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SecondaryButtonClick(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SecondaryButtonClick(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SecondaryButtonClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SecondaryButtonClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Hide() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hide(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAsync(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShowAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CloseButtonText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CloseButtonText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseButtonText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloseButtonCommand(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonCommand()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CloseButtonCommand(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseButtonCommand(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloseButtonCommandParameter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonCommandParameter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CloseButtonCommandParameter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseButtonCommandParameter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryButtonStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryButtonStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SecondaryButtonStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SecondaryButtonStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloseButtonStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CloseButtonStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseButtonStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultButton(Windows::UI::Xaml::Controls::ContentDialogButton * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultButton()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultButton(Windows::UI::Xaml::Controls::ContentDialogButton value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultButton(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CloseButtonClick(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CloseButtonClick(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CloseButtonClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CloseButtonClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Result(Windows::UI::Xaml::Controls::ContentDialogResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Complete() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Complete(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Result(Windows::UI::Xaml::Controls::ContentDialogResult * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Result()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDeferral(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetDeferral()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TitleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FullSizeDesiredProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FullSizeDesiredProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonCommandProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonCommandProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonCommandProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonCommandProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonCommandParameterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonCommandParameterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonCommandParameterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonCommandParameterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPrimaryButtonEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPrimaryButtonEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSecondaryButtonEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSecondaryButtonEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CloseButtonTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloseButtonCommandProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonCommandProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloseButtonCommandParameterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonCommandParameterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PrimaryButtonStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryButtonStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryButtonStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryButtonStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CloseButtonStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CloseButtonStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultButtonProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultButtonProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplateSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTemplateSelector(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTemplateSelector(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretch(Windows::UI::Text::FontStretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStretch(Windows::UI::Text::FontStretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacing(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharacterSpacing(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterSpacing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Foreground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Foreground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Foreground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Foreground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalMarginAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpticalMarginAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLineBounds(Windows::UI::Xaml::TextLineBounds * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLineBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextLineBounds(Windows::UI::Xaml::TextLineBounds value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextLineBounds(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextScaleFactorEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextScaleFactorEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextWrapping(Windows::UI::Xaml::TextWrapping * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrapping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextWrapping(Windows::UI::Xaml::TextWrapping value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextWrapping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLines(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLines()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLines(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLines(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineStackingStrategy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineStackingStrategy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadius(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CornerRadius(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CornerRadius(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Background(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Background()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Background(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Background(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnContentTemplateChanged(impl::abi_arg_in oldContentTemplate, impl::abi_arg_in newContentTemplate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentTemplateChanged(*reinterpret_cast(&oldContentTemplate), *reinterpret_cast(&newContentTemplate)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnContentTemplateSelectorChanged(impl::abi_arg_in oldContentTemplateSelector, impl::abi_arg_in newContentTemplateSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentTemplateSelectorChanged(*reinterpret_cast(&oldContentTemplateSelector), *reinterpret_cast(&newContentTemplateSelector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplateSelectorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateSelectorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OpticalMarginAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalMarginAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLineBoundsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLineBoundsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextWrappingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrappingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLinesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLinesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineStackingStrategyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineStackingStrategyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadiusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadiusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CursorLeft(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CursorLeft()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CursorTop(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CursorTop()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretch(Windows::UI::Text::FontStretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStretch(Windows::UI::Text::FontStretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacing(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharacterSpacing(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterSpacing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Foreground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Foreground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Foreground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Foreground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTabStop(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTabStop()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTabStop(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTabStop(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TabIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TabIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TabIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TabIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TabNavigation(Windows::UI::Xaml::Input::KeyboardNavigationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TabNavigation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TabNavigation(Windows::UI::Xaml::Input::KeyboardNavigationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TabNavigation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Template(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Template()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Template(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Template(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalContentAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalContentAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Background(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Background()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Background(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Background(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusState(Windows::UI::Xaml::FocusState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsEnabledChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsEnabledChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsEnabledChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsEnabledChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ApplyTemplate(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ApplyTemplate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Focus(Windows::UI::Xaml::FocusState value, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Focus(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextScaleFactorEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextScaleFactorEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UseSystemFocusVisuals(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseSystemFocusVisuals()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UseSystemFocusVisuals(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UseSystemFocusVisuals(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsFocusEngagementEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFocusEngagementEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFocusEngagementEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFocusEngagementEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFocusEngaged(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFocusEngaged()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFocusEngaged(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFocusEngaged(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequiresPointer(Windows::UI::Xaml::Controls::RequiresPointer * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequiresPointer()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RequiresPointer(Windows::UI::Xaml::Controls::RequiresPointer value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RequiresPointer(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusLeft(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusLeft()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusLeft(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusLeft(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusRight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusRight()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusRight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusRight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusUp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusUp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusUp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusUp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusDown(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusDown()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusDown(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusDown(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElementSoundMode(Windows::UI::Xaml::ElementSoundMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElementSoundMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ElementSoundMode(Windows::UI::Xaml::ElementSoundMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ElementSoundMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FocusEngaged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FocusEngaged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FocusEngaged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusEngaged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FocusDisengaged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FocusDisengaged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FocusDisengaged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusDisengaged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveFocusEngagement() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveFocusEngagement(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultStyleResourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultStyleResourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultStyleResourceUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultStyleResourceUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnPointerEntered(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerEntered(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPointerPressed(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerPressed(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPointerMoved(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerMoved(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPointerReleased(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerReleased(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPointerExited(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerExited(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPointerCaptureLost(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerCaptureLost(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPointerCanceled(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerCanceled(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnPointerWheelChanged(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnPointerWheelChanged(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnTapped(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnTapped(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnDoubleTapped(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDoubleTapped(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnHolding(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnHolding(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnRightTapped(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnRightTapped(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnManipulationStarting(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnManipulationStarting(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnManipulationInertiaStarting(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnManipulationInertiaStarting(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnManipulationStarted(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnManipulationStarted(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnManipulationDelta(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnManipulationDelta(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnManipulationCompleted(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnManipulationCompleted(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnKeyUp(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnKeyUp(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnKeyDown(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnKeyDown(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnGotFocus(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnGotFocus(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnLostFocus(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnLostFocus(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnDragEnter(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDragEnter(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnDragLeave(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDragLeave(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnDragOver(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDragOver(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnDrop(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnDrop(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultStyleKey(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultStyleKey()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultStyleKey(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultStyleKey(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetTemplateChild(impl::abi_arg_in childName, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetTemplateChild(*reinterpret_cast(&childName))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTabStopProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTabStopProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TabIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TabIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TabNavigationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TabNavigationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalContentAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalContentAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultStyleKeyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultStyleKeyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusStateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusStateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UseSystemFocusVisualsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseSystemFocusVisualsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTemplateFocusTargetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTemplateFocusTargetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsTemplateFocusTarget(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIsTemplateFocusTarget(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsTemplateFocusTarget(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsTemplateFocusTarget(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsFocusEngagementEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFocusEngagementEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFocusEngagedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFocusEngagedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RequiresPointerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RequiresPointerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusLeftProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusLeftProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusRightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusRightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusUpProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusUpProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusDownProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusDownProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ElementSoundModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ElementSoundModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultStyleResourceUriProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultStyleResourceUriProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTemplateKeyTipTargetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTemplateKeyTipTargetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsTemplateKeyTipTarget(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIsTemplateKeyTipTarget(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsTemplateKeyTipTarget(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsTemplateKeyTipTarget(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TargetType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectTemplate(impl::abi_arg_in item, impl::abi_arg_in container, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectTemplate(*reinterpret_cast(&item), *reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectTemplateForItem(impl::abi_arg_in item, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectTemplate(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectTemplateCore(impl::abi_arg_in item, impl::abi_arg_in container, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectTemplateCore(*reinterpret_cast(&item), *reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectTemplateForItemCore(impl::abi_arg_in item, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectTemplateCore(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Date(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Date(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_YearVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().YearVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_YearFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().YearFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinYear(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinYear(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinYear(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxYear(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxYear(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxYear(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DateChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DateChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CalendarIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CalendarIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CalendarIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Date(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Date()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Date(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Date(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_YearVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().YearVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinYear(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinYear(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinYear(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxYear(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxYear()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxYear(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxYear(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DatePicked(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DatePicked(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DatePicked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DatePicked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAtAsync(impl::abi_arg_in target, impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShowAtAsync(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DayFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DayFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DayFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MonthFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MonthFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearFormat(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearFormat()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_YearFormat(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().YearFormat(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrimaryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PrimaryText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrimaryText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SecondaryText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SecondaryText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PrimaryTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PrimaryTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SecondaryTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SecondaryTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CalendarIdentifierProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifierProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinYearProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinYearProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxYearProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxYearProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DayFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CalendarIdentifierProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CalendarIdentifierProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DayFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DayFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MonthFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MonthFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_YearFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().YearFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinYearProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinYearProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxYearProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxYearProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewDate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewDate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DropResult(Windows::ApplicationModel::DataTransfer::DataPackageOperation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropResult()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Action(Windows::UI::Xaml::Controls::CommandBarDynamicOverflowAction * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Action()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UseTouchAnimationsForAllNavigation(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseTouchAnimationsForAllNavigation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_UseTouchAnimationsForAllNavigation(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UseTouchAnimationsForAllNavigation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_UseTouchAnimationsForAllNavigationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().UseTouchAnimationsForAllNavigationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlyoutPresenterStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlyoutPresenterStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FlyoutPresenterStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FlyoutPresenterStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FlyoutPresenterStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FlyoutPresenterStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Glyph(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Glyph()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Glyph(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Glyph(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextScaleFactorEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextScaleFactorEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MirroredWhenRightToLeft(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MirroredWhenRightToLeft()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MirroredWhenRightToLeft(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MirroredWhenRightToLeft(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GlyphProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GlyphProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MirroredWhenRightToLeftProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MirroredWhenRightToLeftProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CacheSize(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CacheSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CacheSize(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CacheSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGoBack(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoBack()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGoForward(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoForward()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentSourcePageType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentSourcePageType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourcePageType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourcePageType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourcePageType(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourcePageType(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackStackDepth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackStackDepth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Navigated(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Navigated(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Navigated(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Navigated(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Navigating(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Navigating(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Navigating(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Navigating(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationFailed(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationFailed(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationStopped(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationStopped(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationStopped(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationStopped(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GoBack() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GoBack(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GoForward() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GoForward(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Navigate(impl::abi_arg_in sourcePageType, impl::abi_arg_in parameter, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Navigate(*reinterpret_cast(&sourcePageType), *reinterpret_cast(¶meter))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetNavigationState(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetNavigationState()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetNavigationState(impl::abi_arg_in navigationState) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetNavigationState(*reinterpret_cast(&navigationState)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BackStack(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackStack()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForwardStack(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForwardStack()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Navigate(impl::abi_arg_in sourcePageType, impl::abi_arg_in parameter, impl::abi_arg_in infoOverride, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Navigate(*reinterpret_cast(&sourcePageType), *reinterpret_cast(¶meter), *reinterpret_cast(&infoOverride))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GoBack(impl::abi_arg_in transitionInfoOverride) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GoBack(*reinterpret_cast(&transitionInfoOverride)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SetNavigationStateWithNavigationControl(impl::abi_arg_in navigationState, bool suppressNavigate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetNavigationState(*reinterpret_cast(&navigationState), suppressNavigate); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CacheSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CacheSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGoBackProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoBackProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGoForwardProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoForwardProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentSourcePageTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentSourcePageTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourcePageTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourcePageTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BackStackDepthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackStackDepthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BackStackProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackStackProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForwardStackProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForwardStackProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RowDefinitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowDefinitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColumnDefinitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnDefinitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadius(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CornerRadius(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CornerRadius(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRow(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRow(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRow(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRow(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColumnProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetColumn(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetColumn(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetColumn(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetColumn(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowSpanProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowSpanProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRowSpan(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRowSpan(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRowSpan(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRowSpan(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColumnSpanProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnSpanProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetColumnSpan(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetColumnSpan(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetColumnSpan(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetColumnSpan(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadiusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadiusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Panel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Panel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Panel(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Panel(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainerStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainerStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContainerStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContainerStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContainerStyleSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainerStyleSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContainerStyleSelector(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContainerStyleSelector(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplateSelector(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplateSelector(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HidesIfEmpty(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HidesIfEmpty()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HidesIfEmpty(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HidesIfEmpty(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderContainerStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderContainerStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderContainerStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderContainerStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectGroupStyle(impl::abi_arg_in group, uint32_t level, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectGroupStyle(*reinterpret_cast(&group), level)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectGroupStyleCore(impl::abi_arg_in group, uint32_t level, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectGroupStyleCore(*reinterpret_cast(&group), level)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultSectionIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultSectionIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultSectionIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultSectionIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Sections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Sections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SectionsInView(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SectionsInView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SectionHeaders(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SectionHeaders()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SectionHeaderClick(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SectionHeaderClick(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SectionHeaderClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SectionHeaderClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SectionsInViewChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SectionsInViewChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SectionsInViewChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SectionsInViewChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollToSection(impl::abi_arg_in section) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollToSection(*reinterpret_cast(§ion)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ContentTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHeaderInteractive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHeaderInteractive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHeaderInteractive(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHeaderInteractive(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Section(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Section()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHeaderInteractiveProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHeaderInteractiveProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultSectionIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultSectionIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SemanticZoomOwnerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SemanticZoomOwnerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActiveViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActiveViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomedInViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomedInViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NavigateUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NavigateUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NavigateUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigateUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NavigateUriProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NavigateUriProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Foreground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Foreground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Foreground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Foreground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stretch(Windows::UI::Xaml::Media::Stretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stretch(Windows::UI::Xaml::Media::Stretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NineGrid(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NineGrid()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NineGrid(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NineGrid(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayToSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayToSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ImageFailed(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ImageFailed(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ImageFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ImageFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ImageOpened(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ImageOpened(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ImageOpened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ImageOpened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAsCastingSource(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAsCastingSource()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAlphaMask(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAlphaMask()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NineGridProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NineGridProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayToSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayToSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InkPresenter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InkPresenter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InitialControls(Windows::UI::Xaml::Controls::InkToolbarInitialControls * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialControls()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InitialControls(Windows::UI::Xaml::Controls::InkToolbarInitialControls value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitialControls(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Children(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Children()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActiveTool(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActiveTool()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ActiveTool(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActiveTool(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InkDrawingAttributes(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InkDrawingAttributes()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRulerButtonChecked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRulerButtonChecked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRulerButtonChecked(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRulerButtonChecked(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetInkCanvas(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetInkCanvas()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TargetInkCanvas(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TargetInkCanvas(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ActiveToolChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ActiveToolChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ActiveToolChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ActiveToolChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_InkDrawingAttributesChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().InkDrawingAttributesChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_InkDrawingAttributesChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InkDrawingAttributesChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_EraseAllClicked(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().EraseAllClicked(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_EraseAllClicked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().EraseAllClicked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsRulerButtonCheckedChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsRulerButtonCheckedChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsRulerButtonCheckedChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRulerButtonCheckedChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetToolButton(Windows::UI::Xaml::Controls::InkToolbarTool tool, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetToolButton(tool)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetToggleButton(Windows::UI::Xaml::Controls::InkToolbarToggle tool, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetToggleButton(tool)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsStencilButtonChecked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStencilButtonChecked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsStencilButtonChecked(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsStencilButtonChecked(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonFlyoutPlacement(Windows::UI::Xaml::Controls::InkToolbarButtonFlyoutPlacement * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonFlyoutPlacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ButtonFlyoutPlacement(Windows::UI::Xaml::Controls::InkToolbarButtonFlyoutPlacement value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ButtonFlyoutPlacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_IsStencilButtonCheckedChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().IsStencilButtonCheckedChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_IsStencilButtonCheckedChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsStencilButtonCheckedChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetMenuButton(Windows::UI::Xaml::Controls::InkToolbarMenuKind menu, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetMenuButton(menu)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInkDrawingAttributes(impl::abi_arg_in brush, double strokeWidth, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateInkDrawingAttributes(*reinterpret_cast(&brush), strokeWidth)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CustomPen(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomPen()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CustomPen(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CustomPen(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConfigurationContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfigurationContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ConfigurationContent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigurationContent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CustomPenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CustomPenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConfigurationContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfigurationContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInkDrawingAttributesCore(impl::abi_arg_in brush, double strokeWidth, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateInkDrawingAttributesCore(*reinterpret_cast(&brush), strokeWidth)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConfigurationContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfigurationContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ConfigurationContent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfigurationContent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ConfigurationContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfigurationContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsClearAllVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsClearAllVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsClearAllVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsClearAllVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsClearAllVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsClearAllVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Kind(Windows::UI::Xaml::Controls::InkToolbarFlyoutItemKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Kind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Kind(Windows::UI::Xaml::Controls::InkToolbarFlyoutItemKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Kind(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsChecked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsChecked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsChecked(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsChecked(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Checked(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Checked(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Checked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Checked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Unchecked(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Unchecked(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Unchecked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Unchecked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_KindProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KindProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCheckedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCheckedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StencilButton(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StencilButton()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StencilKind(Windows::UI::Xaml::Controls::InkToolbarStencilKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StencilKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MenuKind(Windows::UI::Xaml::Controls::InkToolbarMenuKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MenuKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsExtensionGlyphShown(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsExtensionGlyphShown()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsExtensionGlyphShown(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsExtensionGlyphShown(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsExtensionGlyphShownProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsExtensionGlyphShownProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Palette(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Palette()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Palette(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Palette(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinStrokeWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinStrokeWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinStrokeWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinStrokeWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxStrokeWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxStrokeWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxStrokeWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxStrokeWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBrushIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBrushIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedBrushIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedBrushIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedStrokeWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedStrokeWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedStrokeWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedStrokeWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PaletteProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaletteProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinStrokeWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinStrokeWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxStrokeWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxStrokeWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedBrushIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedBrushIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedStrokeWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedStrokeWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PenButton(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PenButton()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PenButtonProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PenButtonProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Ruler(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ruler()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RulerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RulerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_InitialControlsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InitialControlsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildrenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildrenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActiveToolProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActiveToolProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InkDrawingAttributesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InkDrawingAttributesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRulerButtonCheckedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRulerButtonCheckedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TargetInkCanvasProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TargetInkCanvasProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsStencilButtonCheckedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStencilButtonCheckedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ButtonFlyoutPlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ButtonFlyoutPlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Ruler(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Ruler()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Protractor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Protractor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedStencil(Windows::UI::Xaml::Controls::InkToolbarStencilKind * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedStencil()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedStencil(Windows::UI::Xaml::Controls::InkToolbarStencilKind value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedStencil(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRulerItemVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRulerItemVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsRulerItemVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsRulerItemVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsProtractorItemVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProtractorItemVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsProtractorItemVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsProtractorItemVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_RulerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RulerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtractorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtractorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedStencilProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedStencilProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsRulerItemVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsRulerItemVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsProtractorItemVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsProtractorItemVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ToggleKind(Windows::UI::Xaml::Controls::InkToolbarToggle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToggleKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ToolKind(Windows::UI::Xaml::Controls::InkToolbarTool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToolKind()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsExtensionGlyphShown(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsExtensionGlyphShown()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsExtensionGlyphShown(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsExtensionGlyphShown(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsExtensionGlyphShownProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsExtensionGlyphShownProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetInsertionIndexes(impl::abi_arg_in position, int32_t * first, int32_t * second) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GetInsertionIndexes(*reinterpret_cast(&position), *first, *second); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClickedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClickedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_ItemsChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemsChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ItemFromContainer(impl::abi_arg_in container, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ItemFromContainer(*reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainerFromItem(impl::abi_arg_in item, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ContainerFromItem(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IndexFromContainer(impl::abi_arg_in container, int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IndexFromContainer(*reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainerFromIndex(int32_t index, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ContainerFromIndex(index)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemContainerGeneratorForPanel(impl::abi_arg_in panel, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItemContainerGeneratorForPanel(*reinterpret_cast(&panel))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartAt(impl::abi_arg_in position, Windows::UI::Xaml::Controls::Primitives::GeneratorDirection direction, bool allowStartAtRealizedItem) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartAt(*reinterpret_cast(&position), direction, allowStartAtRealizedItem); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GenerateNext(bool * isNewlyRealized, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GenerateNext(*isNewlyRealized)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareItemContainer(impl::abi_arg_in container) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrepareItemContainer(*reinterpret_cast(&container)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Remove(impl::abi_arg_in position, int32_t count) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Remove(*reinterpret_cast(&position), count); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GeneratorPositionFromIndex(int32_t itemIndex, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GeneratorPositionFromIndex(itemIndex)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IndexFromGeneratorPosition(impl::abi_arg_in position, int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IndexFromGeneratorPosition(*reinterpret_cast(&position))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Recycle(impl::abi_arg_in position, int32_t count) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Recycle(*reinterpret_cast(&position), count); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ItemFromContainer(impl::abi_arg_in container, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ItemFromContainer(*reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainerFromItem(impl::abi_arg_in item, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ContainerFromItem(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IndexFromContainer(impl::abi_arg_in container, int32_t * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IndexFromContainer(*reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ContainerFromIndex(int32_t index, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ContainerFromIndex(index)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemsSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplateSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplateSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemTemplateSelector(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemTemplateSelector(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemsPanel(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsPanel()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemsPanel(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsPanel(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMemberPath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMemberPath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMemberPath(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMemberPath(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainerStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemContainerStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemContainerStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainerStyleSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerStyleSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemContainerStyleSelector(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemContainerStyleSelector(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainerGenerator(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerGenerator()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainerTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemContainerTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemContainerTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupStyle(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupStyleSelector(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupStyleSelector()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupStyleSelector(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupStyleSelector(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGrouping(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGrouping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsPanelRoot(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsPanelRoot()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GroupHeaderContainerFromItemContainer(impl::abi_arg_in itemContainer, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GroupHeaderContainerFromItemContainer(*reinterpret_cast(&itemContainer))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_IsItemItsOwnContainerOverride(impl::abi_arg_in item, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsItemItsOwnContainerOverride(*reinterpret_cast(&item))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetContainerForItemOverride(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetContainerForItemOverride()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearContainerForItemOverride(impl::abi_arg_in element, impl::abi_arg_in item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClearContainerForItemOverride(*reinterpret_cast(&element), *reinterpret_cast(&item)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareContainerForItemOverride(impl::abi_arg_in element, impl::abi_arg_in item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrepareContainerForItemOverride(*reinterpret_cast(&element), *reinterpret_cast(&item)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnItemsChanged(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnItemsChanged(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnItemContainerStyleChanged(impl::abi_arg_in oldItemContainerStyle, impl::abi_arg_in newItemContainerStyle) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnItemContainerStyleChanged(*reinterpret_cast(&oldItemContainerStyle), *reinterpret_cast(&newItemContainerStyle)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnItemContainerStyleSelectorChanged(impl::abi_arg_in oldItemContainerStyleSelector, impl::abi_arg_in newItemContainerStyleSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnItemContainerStyleSelectorChanged(*reinterpret_cast(&oldItemContainerStyleSelector), *reinterpret_cast(&newItemContainerStyleSelector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnItemTemplateChanged(impl::abi_arg_in oldItemTemplate, impl::abi_arg_in newItemTemplate) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnItemTemplateChanged(*reinterpret_cast(&oldItemTemplate), *reinterpret_cast(&newItemTemplate)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnItemTemplateSelectorChanged(impl::abi_arg_in oldItemTemplateSelector, impl::abi_arg_in newItemTemplateSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnItemTemplateSelectorChanged(*reinterpret_cast(&oldItemTemplateSelector), *reinterpret_cast(&newItemTemplateSelector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnGroupStyleSelectorChanged(impl::abi_arg_in oldGroupStyleSelector, impl::abi_arg_in newGroupStyleSelector) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnGroupStyleSelectorChanged(*reinterpret_cast(&oldGroupStyleSelector), *reinterpret_cast(&newGroupStyleSelector)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplateSelectorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplateSelectorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemsPanelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsPanelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMemberPathProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMemberPathProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainerStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainerStyleSelectorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerStyleSelectorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemContainerTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupStyleSelectorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupStyleSelectorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsGroupingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsGroupingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetItemsOwner(impl::abi_arg_in element, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetItemsOwner(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ItemsControlFromItemContainer(impl::abi_arg_in container, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ItemsControlFromItemContainer(*reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Footer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Footer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Footer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Footer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FooterTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FooterTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FooterTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FooterTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FooterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupPadding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupPadding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupPadding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupPadding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstCacheIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstCacheIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstVisibleIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstVisibleIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastVisibleIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastVisibleIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastCacheIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastCacheIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollingDirection(Windows::UI::Xaml::Controls::PanelScrollingDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollingDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupHeaderPlacement(Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupHeaderPlacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupHeaderPlacement(Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupHeaderPlacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemsUpdatingScrollMode(Windows::UI::Xaml::Controls::ItemsUpdatingScrollMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsUpdatingScrollMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemsUpdatingScrollMode(Windows::UI::Xaml::Controls::ItemsUpdatingScrollMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsUpdatingScrollMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CacheLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CacheLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CacheLength(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CacheLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreStickyGroupHeadersEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreStickyGroupHeadersEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreStickyGroupHeadersEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreStickyGroupHeadersEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupPaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupPaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupHeaderPlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupHeaderPlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CacheLengthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CacheLengthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreStickyGroupHeadersEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreStickyGroupHeadersEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupPadding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupPadding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupPadding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupPadding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumRowsOrColumns(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumRowsOrColumns()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaximumRowsOrColumns(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaximumRowsOrColumns(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstCacheIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstCacheIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FirstVisibleIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FirstVisibleIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastVisibleIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastVisibleIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LastCacheIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LastCacheIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollingDirection(Windows::UI::Xaml::Controls::PanelScrollingDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollingDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupHeaderPlacement(Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupHeaderPlacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupHeaderPlacement(Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupHeaderPlacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CacheLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CacheLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CacheLength(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CacheLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreStickyGroupHeadersEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreStickyGroupHeadersEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreStickyGroupHeadersEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreStickyGroupHeadersEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupPaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupPaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumRowsOrColumnsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumRowsOrColumnsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_GroupHeaderPlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupHeaderPlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CacheLengthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CacheLengthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreStickyGroupHeadersEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreStickyGroupHeadersEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionMode(Windows::UI::Xaml::Controls::SelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionMode(Windows::UI::Xaml::Controls::SelectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollIntoView(impl::abi_arg_in item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollIntoView(*reinterpret_cast(&item)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SingleSelectionFollowsFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SingleSelectionFollowsFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SingleSelectionFollowsFocus(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SingleSelectionFollowsFocus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SingleSelectionFollowsFocusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SingleSelectionFollowsFocusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemsSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMemberPath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMemberPath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMemberPath(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMemberPath(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionMode(Windows::UI::Xaml::Controls::ListPickerFlyoutSelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionMode(Windows::UI::Xaml::Controls::ListPickerFlyoutSelectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValue(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValue()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedValue(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedValue(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValuePath(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValuePath()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedValuePath(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedValuePath(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemsPicked(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemsPicked(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemsPicked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemsPicked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAtAsync(impl::abi_arg_in target, impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShowAtAsync(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemsSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemsSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMemberPathProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMemberPathProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItemProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItemProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValueProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValueProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedValuePathProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedValuePathProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionMode(Windows::UI::Xaml::Controls::ListViewSelectionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionMode(Windows::UI::Xaml::Controls::ListViewSelectionMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSwipeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSwipeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSwipeEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSwipeEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanDragItems(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanDragItems()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanDragItems(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanDragItems(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanReorderItems(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanReorderItems()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanReorderItems(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanReorderItems(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsItemClickEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsItemClickEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsItemClickEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsItemClickEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataFetchSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataFetchSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DataFetchSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DataFetchSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncrementalLoadingThreshold(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncrementalLoadingThreshold()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncrementalLoadingThreshold(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncrementalLoadingThreshold(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncrementalLoadingTrigger(Windows::UI::Xaml::Controls::IncrementalLoadingTrigger * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncrementalLoadingTrigger()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IncrementalLoadingTrigger(Windows::UI::Xaml::Controls::IncrementalLoadingTrigger value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IncrementalLoadingTrigger(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ItemClick(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ItemClick(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ItemClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DragItemsStarting(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DragItemsStarting(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DragItemsStarting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragItemsStarting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollIntoView(impl::abi_arg_in item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollIntoView(*reinterpret_cast(&item)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LoadMoreItemsAsync(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().LoadMoreItemsAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollIntoViewWithAlignment(impl::abi_arg_in item, Windows::UI::Xaml::Controls::ScrollIntoViewAlignment alignment) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollIntoView(*reinterpret_cast(&item), alignment); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShowsScrollingPlaceholders(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowsScrollingPlaceholders()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowsScrollingPlaceholders(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowsScrollingPlaceholders(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContainerContentChanging(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContainerContentChanging(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContainerContentChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContainerContentChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDesiredContainerUpdateDuration(impl::abi_arg_in duration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDesiredContainerUpdateDuration(*reinterpret_cast(&duration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Footer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Footer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Footer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Footer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FooterTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FooterTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FooterTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FooterTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReorderMode(Windows::UI::Xaml::Controls::ListViewReorderMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReorderMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ReorderMode(Windows::UI::Xaml::Controls::ListViewReorderMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ReorderMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectedRanges(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedRanges()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMultiSelectCheckBoxEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMultiSelectCheckBoxEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMultiSelectCheckBoxEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMultiSelectCheckBoxEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DragItemsCompleted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DragItemsCompleted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DragItemsCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DragItemsCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ChoosingItemContainer(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ChoosingItemContainer(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ChoosingItemContainer(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChoosingItemContainer(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ChoosingGroupHeaderContainer(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ChoosingGroupHeaderContainer(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ChoosingGroupHeaderContainer(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChoosingGroupHeaderContainer(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectRange(impl::abi_arg_in itemIndexRange) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectRange(*reinterpret_cast(&itemIndexRange)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeselectRange(impl::abi_arg_in itemIndexRange) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DeselectRange(*reinterpret_cast(&itemIndexRange)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SingleSelectionFollowsFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SingleSelectionFollowsFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SingleSelectionFollowsFocus(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SingleSelectionFollowsFocus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_IsDragSource(bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().IsDragSource()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_TryStartConnectedAnimationAsync(impl::abi_arg_in animation, impl::abi_arg_in item, impl::abi_arg_in elementName, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().TryStartConnectedAnimationAsync(*reinterpret_cast(&animation), *reinterpret_cast(&item), *reinterpret_cast(&elementName))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PrepareConnectedAnimation(impl::abi_arg_in key, impl::abi_arg_in item, impl::abi_arg_in elementName, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().PrepareConnectedAnimation(*reinterpret_cast(&key), *reinterpret_cast(&item), *reinterpret_cast(&elementName))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSwipeEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSwipeEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanDragItemsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanDragItemsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanReorderItemsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanReorderItemsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsItemClickEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsItemClickEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataFetchSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataFetchSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncrementalLoadingThresholdProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncrementalLoadingThresholdProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IncrementalLoadingTriggerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IncrementalLoadingTriggerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SemanticZoomOwnerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SemanticZoomOwnerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActiveViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActiveViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomedInViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomedInViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ShowsScrollingPlaceholdersProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowsScrollingPlaceholdersProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FooterTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FooterTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ReorderModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ReorderModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsMultiSelectCheckBoxEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMultiSelectCheckBoxEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SingleSelectionFollowsFocusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SingleSelectionFollowsFocusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetRelativeScrollPosition(impl::abi_arg_in listViewBase, impl::abi_arg_in itemToKeyHandler, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetRelativeScrollPosition(*reinterpret_cast(&listViewBase), *reinterpret_cast(&itemToKeyHandler))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRelativeScrollPositionAsync(impl::abi_arg_in listViewBase, impl::abi_arg_in relativeScrollPosition, impl::abi_arg_in keyToItemHandler, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SetRelativeScrollPositionAsync(*reinterpret_cast(&listViewBase), *reinterpret_cast(&relativeScrollPosition), *reinterpret_cast(&keyToItemHandler))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PosterSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PosterSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PosterSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PosterSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMuted(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMuted()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsMuted(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsMuted(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAudioOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAudioOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoPlay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoPlay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoPlay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoPlay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Volume(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Volume()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Volume(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Volume(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Balance(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Balance()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Balance(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Balance(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalVideoHeight(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalVideoHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalVideoWidth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalVideoWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalDuration(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalDuration()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Position(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Position()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Position(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Position(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadProgress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferingProgress(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferingProgress()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadProgressOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadProgressOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentState(Windows::UI::Xaml::Media::MediaElementState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentState()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Markers(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Markers()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSeek(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSeek()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanPause(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPause()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioStreamCount(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioStreamCount()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioStreamIndex(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioStreamIndex()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioStreamIndex(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioStreamIndex(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaybackRate(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaybackRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLooping(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLooping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLooping(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLooping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayToSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayToSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultPlaybackRate(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultPlaybackRate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultPlaybackRate(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultPlaybackRate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AspectRatioWidth(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AspectRatioWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AspectRatioHeight(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AspectRatioHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RealTimePlayback(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RealTimePlayback()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RealTimePlayback(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RealTimePlayback(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioCategory(Windows::UI::Xaml::Media::AudioCategory * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioCategory()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioCategory(Windows::UI::Xaml::Media::AudioCategory value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioCategory(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioDeviceType(Windows::UI::Xaml::Media::AudioDeviceType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDeviceType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AudioDeviceType(Windows::UI::Xaml::Media::AudioDeviceType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AudioDeviceType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionManager(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionManager()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ProtectionManager(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ProtectionManager(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stereo3DVideoPackingMode(Windows::UI::Xaml::Media::Stereo3DVideoPackingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stereo3DVideoPackingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stereo3DVideoPackingMode(Windows::UI::Xaml::Media::Stereo3DVideoPackingMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stereo3DVideoPackingMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stereo3DVideoRenderMode(Windows::UI::Xaml::Media::Stereo3DVideoRenderMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stereo3DVideoRenderMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stereo3DVideoRenderMode(Windows::UI::Xaml::Media::Stereo3DVideoRenderMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stereo3DVideoRenderMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStereo3DVideo(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStereo3DVideo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MediaOpened(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MediaOpened(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MediaOpened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaOpened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MediaEnded(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MediaEnded(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MediaEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MediaFailed(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MediaFailed(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MediaFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DownloadProgressChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DownloadProgressChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DownloadProgressChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DownloadProgressChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BufferingProgressChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BufferingProgressChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BufferingProgressChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BufferingProgressChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CurrentStateChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CurrentStateChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CurrentStateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CurrentStateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_MarkerReached(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().MarkerReached(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_MarkerReached(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MarkerReached(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_RateChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().RateChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_RateChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RateChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_VolumeChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().VolumeChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_VolumeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VolumeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SeekCompleted(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SeekCompleted(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SeekCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SeekCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Play() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Play(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Pause() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pause(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CanPlayType(impl::abi_arg_in type, Windows::UI::Xaml::Media::MediaCanPlayResponse * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CanPlayType(*reinterpret_cast(&type))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSource(impl::abi_arg_in stream, impl::abi_arg_in mimeType) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSource(*reinterpret_cast(&stream), *reinterpret_cast(&mimeType)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAudioStreamLanguage(impl::abi_arg_in> index, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAudioStreamLanguage(*reinterpret_cast *>(&index))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddAudioEffect(impl::abi_arg_in effectID, bool effectOptional, impl::abi_arg_in effectConfiguration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddAudioEffect(*reinterpret_cast(&effectID), effectOptional, *reinterpret_cast(&effectConfiguration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddVideoEffect(impl::abi_arg_in effectID, bool effectOptional, impl::abi_arg_in effectConfiguration) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddVideoEffect(*reinterpret_cast(&effectID), effectOptional, *reinterpret_cast(&effectConfiguration)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveAllEffects() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveAllEffects(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualStereo3DVideoPackingMode(Windows::UI::Xaml::Media::Stereo3DVideoPackingMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualStereo3DVideoPackingMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreTransportControlsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreTransportControlsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreTransportControlsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreTransportControlsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stretch(Windows::UI::Xaml::Media::Stretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stretch(Windows::UI::Xaml::Media::Stretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindow(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFullWindow(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFullWindow(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMediaStreamSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetMediaStreamSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayToPreferredSourceUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayToPreferredSourceUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlayToPreferredSourceUri(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlayToPreferredSourceUri(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TransportControls(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportControls()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransportControls(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransportControls(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PartialMediaFailureDetected(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PartialMediaFailureDetected(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PartialMediaFailureDetected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PartialMediaFailureDetected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPlaybackSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPlaybackSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAsCastingSource(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAsCastingSource()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PosterSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PosterSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsMutedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsMutedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsAudioOnlyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsAudioOnlyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoPlayProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoPlayProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VolumeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VolumeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BalanceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BalanceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalVideoHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalVideoHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalVideoWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalVideoWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NaturalDurationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NaturalDurationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PositionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PositionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadProgressProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadProgressProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BufferingProgressProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BufferingProgressProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DownloadProgressOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DownloadProgressOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CurrentStateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CurrentStateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanSeekProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanSeekProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanPauseProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanPauseProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioStreamCountProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioStreamCountProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioStreamIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioStreamIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaybackRateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaybackRateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLoopingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLoopingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayToSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayToSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultPlaybackRateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultPlaybackRateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AspectRatioWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AspectRatioWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AspectRatioHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AspectRatioHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RealTimePlaybackProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RealTimePlaybackProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioCategoryProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioCategoryProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AudioDeviceTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AudioDeviceTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ProtectionManagerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ProtectionManagerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stereo3DVideoPackingModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stereo3DVideoPackingModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stereo3DVideoRenderModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stereo3DVideoRenderModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStereo3DVideoProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStereo3DVideoProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualStereo3DVideoPackingModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualStereo3DVideoPackingModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreTransportControlsEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreTransportControlsEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlayToPreferredSourceUriProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlayToPreferredSourceUriProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TransportControls(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TransportControls()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TransportControls(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TransportControls(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AreTransportControlsEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreTransportControlsEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreTransportControlsEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreTransportControlsEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PosterSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PosterSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PosterSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PosterSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stretch(Windows::UI::Xaml::Media::Stretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stretch(Windows::UI::Xaml::Media::Stretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoPlay(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoPlay()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AutoPlay(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AutoPlay(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindow(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFullWindow(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFullWindow(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlayer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetMediaPlayer(impl::abi_arg_in mediaPlayer) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetMediaPlayer(*reinterpret_cast(&mediaPlayer)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AreTransportControlsEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreTransportControlsEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PosterSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PosterSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AutoPlayProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AutoPlayProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MediaPlayerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaPlayer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MediaPlayer(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MediaPlayer(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stretch(Windows::UI::Xaml::Media::Stretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stretch(Windows::UI::Xaml::Media::Stretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindow(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindow()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFullWindow(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFullWindow(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaPlayerProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaPlayerProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsFullWindowButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindowButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFullWindowButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFullWindowButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindowEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindowEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFullWindowEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFullWindowEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZoomButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZoomButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZoomEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZoomEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastForwardButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastForwardButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFastForwardButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFastForwardButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastForwardEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastForwardEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFastForwardEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFastForwardEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastRewindButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastRewindButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFastRewindButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFastRewindButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastRewindEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastRewindEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsFastRewindEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsFastRewindEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStopButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStopButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsStopButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsStopButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStopEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStopEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsStopEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsStopEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVolumeButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVolumeButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVolumeButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVolumeButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVolumeEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVolumeEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVolumeEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVolumeEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlaybackRateButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlaybackRateButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPlaybackRateButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPlaybackRateButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlaybackRateEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlaybackRateEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPlaybackRateEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPlaybackRateEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSeekBarVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSeekBarVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSeekBarVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSeekBarVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSeekEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSeekEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSeekEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSeekEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCompact(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompact()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsCompact(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsCompact(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSkipForwardButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipForwardButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSkipForwardButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSkipForwardButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSkipForwardEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipForwardEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSkipForwardEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSkipForwardEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSkipBackwardButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipBackwardButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSkipBackwardButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSkipBackwardButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSkipBackwardEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipBackwardEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSkipBackwardEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSkipBackwardEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNextTrackButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNextTrackButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsNextTrackButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsNextTrackButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPreviousTrackButtonVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPreviousTrackButtonVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPreviousTrackButtonVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPreviousTrackButtonVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FastPlayFallbackBehaviour(Windows::UI::Xaml::Media::FastPlayFallbackBehaviour * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FastPlayFallbackBehaviour()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FastPlayFallbackBehaviour(Windows::UI::Xaml::Media::FastPlayFallbackBehaviour value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FastPlayFallbackBehaviour(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ThumbnailRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ThumbnailRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ThumbnailRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThumbnailRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DropoutOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DropoutOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetDropoutOrder(impl::abi_arg_in element, impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetDropoutOrder(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetDropoutOrder(impl::abi_arg_in element, impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetDropoutOrder(*reinterpret_cast(&element), *reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsFullWindowButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindowButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFullWindowEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFullWindowEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastForwardButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastForwardButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastForwardEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastForwardEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastRewindButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastRewindButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsFastRewindEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsFastRewindEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStopButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStopButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsStopEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsStopEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVolumeButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVolumeButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVolumeEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVolumeEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlaybackRateButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlaybackRateButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPlaybackRateEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPlaybackRateEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSeekBarVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSeekBarVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSeekEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSeekEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsCompactProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCompactProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSkipForwardButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipForwardButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSkipForwardEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipForwardEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSkipBackwardButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipBackwardButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSkipBackwardEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSkipBackwardEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsNextTrackButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsNextTrackButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPreviousTrackButtonVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPreviousTrackButtonVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FastPlayFallbackBehaviourProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FastPlayFallbackBehaviourProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MenuFlyoutPresenterStyle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MenuFlyoutPresenterStyle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MenuFlyoutPresenterStyle(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MenuFlyoutPresenterStyle(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_ShowAt(impl::abi_arg_in targetElement, impl::abi_arg_in point) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowAt(*reinterpret_cast(&targetElement), *reinterpret_cast(&point)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Command(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Command()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Command(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Command(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandParameter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandParameter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CommandParameter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CommandParameter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Click(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Click(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Click(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Click(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Icon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Icon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CommandParameterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CommandParameterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IconProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MenuFlyoutPresenterStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MenuFlyoutPresenterStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Items(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Items()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Icon(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Icon()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Icon(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Icon(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IconProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Navigate(impl::abi_arg_in sourcePageType, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Navigate(*reinterpret_cast(&sourcePageType))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Value(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Value()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CallingUri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CallingUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Frame(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Frame()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NavigationCacheMode(Windows::UI::Xaml::Navigation::NavigationCacheMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NavigationCacheMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_NavigationCacheMode(Windows::UI::Xaml::Navigation::NavigationCacheMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationCacheMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopAppBar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopAppBar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TopAppBar(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TopAppBar(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BottomAppBar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BottomAppBar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BottomAppBar(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BottomAppBar(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnNavigatedFrom(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnNavigatedFrom(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnNavigatedTo(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnNavigatedTo(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnNavigatingFrom(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnNavigatingFrom(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FrameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FrameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopAppBarProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopAppBarProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BottomAppBarProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BottomAppBarProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Children(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Children()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Background(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Background()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Background(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Background(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsItemsHost(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsItemsHost()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildrenTransitions(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildrenTransitions()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChildrenTransitions(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChildrenTransitions(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsItemsHostProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsItemsHostProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChildrenTransitionsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChildrenTransitionsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Password(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Password()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Password(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Password(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PasswordChar(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordChar()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PasswordChar(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PasswordChar(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPasswordRevealButtonEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPasswordRevealButtonEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPasswordRevealButtonEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPasswordRevealButtonEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLength(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PasswordChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PasswordChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PasswordChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PasswordChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContextMenuOpening(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContextMenuOpening(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContextMenuOpening(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContextMenuOpening(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionHighlightColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionHighlightColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreventKeyboardDisplayOnProgrammaticFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreventKeyboardDisplayOnProgrammaticFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreventKeyboardDisplayOnProgrammaticFocus(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreventKeyboardDisplayOnProgrammaticFocus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Paste(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Paste(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Paste(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Paste(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PasswordRevealMode(Windows::UI::Xaml::Controls::PasswordRevealMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordRevealMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PasswordRevealMode(Windows::UI::Xaml::Controls::PasswordRevealMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PasswordRevealMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextReadingOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputScope(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputScope()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputScope(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputScope(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PasswordProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PasswordCharProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordCharProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPasswordRevealButtonEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPasswordRevealButtonEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLengthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLengthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreventKeyboardDisplayOnProgrammaticFocusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreventKeyboardDisplayOnProgrammaticFocusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PasswordRevealModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PasswordRevealModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputScopeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputScopeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Data(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Data()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Data(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Data(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DataProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConfirmationButtonsVisible(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfirmationButtonsVisible()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ConfirmationButtonsVisible(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ConfirmationButtonsVisible(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Confirmed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Confirmed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Confirmed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Confirmed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAtAsync(impl::abi_arg_in target, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShowAtAsync(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ConfirmationButtonsVisibleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ConfirmationButtonsVisibleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TitleTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TitleTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedIndex(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedIndex(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLocked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLocked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsLocked(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsLocked(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PivotItemLoading(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PivotItemLoading(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PivotItemLoading(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PivotItemLoading(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PivotItemLoaded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PivotItemLoaded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PivotItemLoaded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PivotItemLoaded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PivotItemUnloading(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PivotItemUnloading(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PivotItemUnloading(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PivotItemUnloading(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PivotItemUnloaded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PivotItemUnloaded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PivotItemUnloaded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PivotItemUnloaded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LeftHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LeftHeader(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeftHeader(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftHeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftHeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LeftHeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeftHeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightHeader(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightHeader(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightHeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightHeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_RightHeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RightHeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderFocusVisualPlacement(Windows::UI::Xaml::Controls::PivotHeaderFocusVisualPlacement * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderFocusVisualPlacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderFocusVisualPlacement(Windows::UI::Xaml::Controls::PivotHeaderFocusVisualPlacement value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderFocusVisualPlacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHeaderItemsCarouselEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHeaderItemsCarouselEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHeaderItemsCarouselEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHeaderItemsCarouselEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Item(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Item(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TitleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TitleTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedIndexProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedIndexProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedItemProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedItemProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsLockedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsLockedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SlideInAnimationGroupProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SlideInAnimationGroupProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetSlideInAnimationGroup(impl::abi_arg_in element, Windows::UI::Xaml::Controls::PivotSlideInAnimationGroup * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetSlideInAnimationGroup(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSlideInAnimationGroup(impl::abi_arg_in element, Windows::UI::Xaml::Controls::PivotSlideInAnimationGroup value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSlideInAnimationGroup(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LeftHeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftHeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftHeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftHeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightHeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightHeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightHeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightHeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderFocusVisualPlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderFocusVisualPlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHeaderItemsCarouselEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHeaderItemsCarouselEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsIndeterminate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIndeterminate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsIndeterminate(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsIndeterminate(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowError(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowError()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowError(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowError(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowPaused(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowPaused()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ShowPaused(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowPaused(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsIndeterminateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIndeterminateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowErrorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowErrorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ShowPausedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ShowPausedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsActive(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsActive(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsActiveProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActiveProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_GroupName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GroupName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_GroupNameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GroupNameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadius(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CornerRadius(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CornerRadius(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LeftOfProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftOfProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetLeftOf(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetLeftOf(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLeftOf(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLeftOf(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AboveProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AboveProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAbove(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAbove(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAbove(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAbove(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RightOfProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RightOfProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRightOf(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRightOf(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRightOf(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRightOf(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BelowProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BelowProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBelow(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetBelow(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBelow(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBelow(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignHorizontalCenterWithProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignHorizontalCenterWithProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignHorizontalCenterWith(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignHorizontalCenterWith(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignHorizontalCenterWith(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignHorizontalCenterWith(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignVerticalCenterWithProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignVerticalCenterWithProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignVerticalCenterWith(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignVerticalCenterWith(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignVerticalCenterWith(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignVerticalCenterWith(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignLeftWithProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignLeftWithProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignLeftWith(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignLeftWith(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignLeftWith(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignLeftWith(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignTopWithProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignTopWithProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignTopWith(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignTopWith(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignTopWith(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignTopWith(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignRightWithProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignRightWithProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignRightWith(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignRightWith(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignRightWith(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignRightWith(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignBottomWithProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignBottomWithProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignBottomWith(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignBottomWith(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignBottomWith(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignBottomWith(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignLeftWithPanelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignLeftWithPanelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignLeftWithPanel(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignLeftWithPanel(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignLeftWithPanel(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignLeftWithPanel(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignTopWithPanelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignTopWithPanelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignTopWithPanel(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignTopWithPanel(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignTopWithPanel(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignTopWithPanel(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignRightWithPanelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignRightWithPanelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignRightWithPanel(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignRightWithPanel(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignRightWithPanel(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignRightWithPanel(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignBottomWithPanelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignBottomWithPanelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignBottomWithPanel(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignBottomWithPanel(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignBottomWithPanel(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignBottomWithPanel(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignHorizontalCenterWithPanelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignHorizontalCenterWithPanelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignHorizontalCenterWithPanel(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignHorizontalCenterWithPanel(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignHorizontalCenterWithPanel(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignHorizontalCenterWithPanel(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AlignVerticalCenterWithPanelProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AlignVerticalCenterWithPanelProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetAlignVerticalCenterWithPanel(impl::abi_arg_in element, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetAlignVerticalCenterWithPanel(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetAlignVerticalCenterWithPanel(impl::abi_arg_in element, bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetAlignVerticalCenterWithPanel(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadiusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadiusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsReadOnly(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsReadOnly(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AcceptsReturn(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceptsReturn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AcceptsReturn(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptsReturn(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignment(Windows::UI::Xaml::TextAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextAlignment(Windows::UI::Xaml::TextAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrapping(Windows::UI::Xaml::TextWrapping * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrapping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextWrapping(Windows::UI::Xaml::TextWrapping value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextWrapping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSpellCheckEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSpellCheckEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSpellCheckEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSpellCheckEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextPredictionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextPredictionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextPredictionEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextPredictionEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Document(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Document()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputScope(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputScope()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputScope(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputScope(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContextMenuOpening(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContextMenuOpening(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContextMenuOpening(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContextMenuOpening(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionHighlightColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionHighlightColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreventKeyboardDisplayOnProgrammaticFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreventKeyboardDisplayOnProgrammaticFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreventKeyboardDisplayOnProgrammaticFocus(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreventKeyboardDisplayOnProgrammaticFocus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsColorFontEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsColorFontEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Paste(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Paste(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Paste(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Paste(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_TextCompositionStarted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextCompositionStarted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextCompositionStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextCompositionStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextCompositionChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextCompositionChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextCompositionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextCompositionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextCompositionEnded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextCompositionEnded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextCompositionEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextCompositionEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextReadingOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredCandidateWindowAlignment(Windows::UI::Xaml::Controls::CandidateWindowAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredCandidateWindowAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredCandidateWindowAlignment(Windows::UI::Xaml::Controls::CandidateWindowAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredCandidateWindowAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CandidateWindowBoundsChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CandidateWindowBoundsChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CandidateWindowBoundsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CandidateWindowBoundsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextChanging(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextChanging(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetLinguisticAlternativesAsync(impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLinguisticAlternativesAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClipboardCopyFormat(Windows::UI::Xaml::Controls::RichEditClipboardFormat * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClipboardCopyFormat()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClipboardCopyFormat(Windows::UI::Xaml::Controls::RichEditClipboardFormat value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClipboardCopyFormat(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionHighlightColorWhenNotFocused(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorWhenNotFocused()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionHighlightColorWhenNotFocused(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionHighlightColorWhenNotFocused(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLength(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsReadOnlyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnlyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AcceptsReturnProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceptsReturnProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrappingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrappingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSpellCheckEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSpellCheckEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextPredictionEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextPredictionEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputScopeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputScopeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreventKeyboardDisplayOnProgrammaticFocusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreventKeyboardDisplayOnProgrammaticFocusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredCandidateWindowAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredCandidateWindowAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClipboardCopyFormatProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClipboardCopyFormatProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionHighlightColorWhenNotFocusedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorWhenNotFocusedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLengthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLengthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsContentChanging(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContentChanging()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretch(Windows::UI::Text::FontStretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStretch(Windows::UI::Text::FontStretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Foreground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Foreground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Foreground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Foreground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrapping(Windows::UI::Xaml::TextWrapping * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrapping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextWrapping(Windows::UI::Xaml::TextWrapping value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextWrapping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextTrimming(Windows::UI::Xaml::TextTrimming * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextTrimming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextTrimming(Windows::UI::Xaml::TextTrimming value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextTrimming(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignment(Windows::UI::Xaml::TextAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextAlignment(Windows::UI::Xaml::TextAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Blocks(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Blocks()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineStackingStrategy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineStackingStrategy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacing(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharacterSpacing(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterSpacing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowContentTarget(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentTarget()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OverflowContentTarget(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OverflowContentTarget(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextSelectionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextSelectionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextSelectionEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextSelectionEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasOverflowContent(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasOverflowContent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentStart()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentEnd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentEnd()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionStart()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionEnd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionEnd()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BaselineOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BaselineOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContextMenuOpening(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContextMenuOpening(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContextMenuOpening(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContextMenuOpening(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Select(impl::abi_arg_in start, impl::abi_arg_in end) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Select(*reinterpret_cast(&start), *reinterpret_cast(&end)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPositionFromPoint(impl::abi_arg_in point, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPositionFromPoint(*reinterpret_cast(&point))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Focus(Windows::UI::Xaml::FocusState value, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Focus(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextIndent(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextIndent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextIndent(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextIndent(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxLines(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLines()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLines(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLines(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLineBounds(Windows::UI::Xaml::TextLineBounds * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLineBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextLineBounds(Windows::UI::Xaml::TextLineBounds value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextLineBounds(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionHighlightColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionHighlightColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalMarginAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpticalMarginAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsColorFontEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsColorFontEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextReadingOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextScaleFactorEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextScaleFactorEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextDecorations(Windows::UI::Text::TextDecorations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextDecorations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextDecorations(Windows::UI::Text::TextDecorations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextDecorations(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OverflowContentTarget(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentTarget()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OverflowContentTarget(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OverflowContentTarget(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasOverflowContent(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasOverflowContent()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentStart()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentEnd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentEnd()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BaselineOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BaselineOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPositionFromPoint(impl::abi_arg_in point, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetPositionFromPoint(*reinterpret_cast(&point))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Focus(Windows::UI::Xaml::FocusState value, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Focus(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxLines(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLines()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLines(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLines(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OverflowContentTargetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentTargetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasOverflowContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasOverflowContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxLinesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLinesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrappingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrappingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextTrimmingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextTrimmingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineStackingStrategyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineStackingStrategyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OverflowContentTargetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OverflowContentTargetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextSelectionEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextSelectionEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HasOverflowContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HasOverflowContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextIndentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextIndentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MaxLinesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLinesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLineBoundsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLineBoundsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpticalMarginAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalMarginAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextDecorationsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextDecorationsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Height(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Height()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Height(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Height(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ActualHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ActualHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanVerticallyScroll(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanVerticallyScroll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanVerticallyScroll(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanVerticallyScroll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanHorizontallyScroll(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanHorizontallyScroll()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanHorizontallyScroll(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanHorizontallyScroll(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollOwner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollOwner()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ScrollOwner(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollOwner(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_LineRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_PageRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PageRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelUp() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelUp(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelDown() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelDown(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelLeft() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelLeft(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MouseWheelRight() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MouseWheelRight(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetHorizontalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHorizontalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVerticalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVerticalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakeVisible(impl::abi_arg_in visual, impl::abi_arg_in rectangle, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().MakeVisible(*reinterpret_cast(&visual), *reinterpret_cast(&rectangle))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalScrollBarVisibility(Windows::UI::Xaml::Controls::ScrollBarVisibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalScrollBarVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalScrollBarVisibility(Windows::UI::Xaml::Controls::ScrollBarVisibility value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalScrollBarVisibility(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalScrollBarVisibility(Windows::UI::Xaml::Controls::ScrollBarVisibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalScrollBarVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalScrollBarVisibility(Windows::UI::Xaml::Controls::ScrollBarVisibility value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalScrollBarVisibility(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHorizontalRailEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHorizontalRailEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHorizontalRailEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHorizontalRailEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVerticalRailEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVerticalRailEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVerticalRailEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVerticalRailEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHorizontalScrollChainingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHorizontalScrollChainingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsHorizontalScrollChainingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsHorizontalScrollChainingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVerticalScrollChainingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVerticalScrollChainingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsVerticalScrollChainingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsVerticalScrollChainingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomChainingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomChainingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZoomChainingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZoomChainingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsScrollInertiaEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsScrollInertiaEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsScrollInertiaEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsScrollInertiaEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomInertiaEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomInertiaEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZoomInertiaEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZoomInertiaEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalScrollMode(Windows::UI::Xaml::Controls::ScrollMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalScrollMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalScrollMode(Windows::UI::Xaml::Controls::ScrollMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalScrollMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalScrollMode(Windows::UI::Xaml::Controls::ScrollMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalScrollMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalScrollMode(Windows::UI::Xaml::Controls::ScrollMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalScrollMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomMode(Windows::UI::Xaml::Controls::ZoomMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomMode(Windows::UI::Xaml::Controls::ZoomMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalSnapPointsAlignment(Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalSnapPointsAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalSnapPointsAlignment(Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalSnapPointsAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalSnapPointsAlignment(Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalSnapPointsAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalSnapPointsAlignment(Windows::UI::Xaml::Controls::Primitives::SnapPointsAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalSnapPointsAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalSnapPointsType(Windows::UI::Xaml::Controls::SnapPointsType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalSnapPointsType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalSnapPointsType(Windows::UI::Xaml::Controls::SnapPointsType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalSnapPointsType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalSnapPointsType(Windows::UI::Xaml::Controls::SnapPointsType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalSnapPointsType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalSnapPointsType(Windows::UI::Xaml::Controls::SnapPointsType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalSnapPointsType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomSnapPointsType(Windows::UI::Xaml::Controls::SnapPointsType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomSnapPointsType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomSnapPointsType(Windows::UI::Xaml::Controls::SnapPointsType value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomSnapPointsType(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollableWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollableWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ComputedHorizontalScrollBarVisibility(Windows::UI::Xaml::Visibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputedHorizontalScrollBarVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollableHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollableHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ComputedVerticalScrollBarVisibility(Windows::UI::Xaml::Visibility * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputedVerticalScrollBarVisibility()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinZoomFactor(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinZoomFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinZoomFactor(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinZoomFactor(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxZoomFactor(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxZoomFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxZoomFactor(float value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxZoomFactor(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomFactor(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomSnapPoints(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomSnapPoints()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ViewChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ViewChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ViewChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollToHorizontalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollToHorizontalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ScrollToVerticalOffset(double offset) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScrollToVerticalOffset(offset); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ZoomToFactor(float factor) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomToFactor(factor); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InvalidateScrollInfo() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InvalidateScrollInfo(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDeferredScrollingEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDeferredScrollingEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDeferredScrollingEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDeferredScrollingEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BringIntoViewOnFocusChange(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BringIntoViewOnFocusChange()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BringIntoViewOnFocusChange(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BringIntoViewOnFocusChange(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TopLeftHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopLeftHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TopLeftHeader(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TopLeftHeader(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LeftHeader(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LeftHeader(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopHeader(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopHeader()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TopHeader(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TopHeader(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ViewChanging(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ViewChanging(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ViewChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeView(impl::abi_arg_in> horizontalOffset, impl::abi_arg_in> verticalOffset, impl::abi_arg_in> zoomFactor, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ChangeView(*reinterpret_cast *>(&horizontalOffset), *reinterpret_cast *>(&verticalOffset), *reinterpret_cast *>(&zoomFactor))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ChangeViewWithOptionalAnimation(impl::abi_arg_in> horizontalOffset, impl::abi_arg_in> verticalOffset, impl::abi_arg_in> zoomFactor, bool disableAnimation, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ChangeView(*reinterpret_cast *>(&horizontalOffset), *reinterpret_cast *>(&verticalOffset), *reinterpret_cast *>(&zoomFactor), disableAnimation)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_DirectManipulationStarted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DirectManipulationStarted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DirectManipulationStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DirectManipulationStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DirectManipulationCompleted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DirectManipulationCompleted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DirectManipulationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DirectManipulationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalSnapPointsAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalSnapPointsAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalSnapPointsAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalSnapPointsAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalSnapPointsTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalSnapPointsTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalSnapPointsTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalSnapPointsTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomSnapPointsTypeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomSnapPointsTypeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollableWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollableWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ComputedHorizontalScrollBarVisibilityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputedHorizontalScrollBarVisibilityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ViewportHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ViewportHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ScrollableHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ScrollableHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ComputedVerticalScrollBarVisibilityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ComputedVerticalScrollBarVisibilityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ExtentHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExtentHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinZoomFactorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinZoomFactorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxZoomFactorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxZoomFactorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomFactorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomFactorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomSnapPointsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomSnapPointsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalScrollBarVisibilityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalScrollBarVisibilityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHorizontalScrollBarVisibility(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollBarVisibility * horizontalScrollBarVisibility) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *horizontalScrollBarVisibility = detach_abi(this->shim().GetHorizontalScrollBarVisibility(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetHorizontalScrollBarVisibility(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollBarVisibility horizontalScrollBarVisibility) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHorizontalScrollBarVisibility(*reinterpret_cast(&element), horizontalScrollBarVisibility); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalScrollBarVisibilityProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalScrollBarVisibilityProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVerticalScrollBarVisibility(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollBarVisibility * verticalScrollBarVisibility) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *verticalScrollBarVisibility = detach_abi(this->shim().GetVerticalScrollBarVisibility(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVerticalScrollBarVisibility(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollBarVisibility verticalScrollBarVisibility) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVerticalScrollBarVisibility(*reinterpret_cast(&element), verticalScrollBarVisibility); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHorizontalRailEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHorizontalRailEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsHorizontalRailEnabled(impl::abi_arg_in element, bool * isHorizontalRailEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isHorizontalRailEnabled = detach_abi(this->shim().GetIsHorizontalRailEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsHorizontalRailEnabled(impl::abi_arg_in element, bool isHorizontalRailEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsHorizontalRailEnabled(*reinterpret_cast(&element), isHorizontalRailEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVerticalRailEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVerticalRailEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsVerticalRailEnabled(impl::abi_arg_in element, bool * isVerticalRailEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isVerticalRailEnabled = detach_abi(this->shim().GetIsVerticalRailEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsVerticalRailEnabled(impl::abi_arg_in element, bool isVerticalRailEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsVerticalRailEnabled(*reinterpret_cast(&element), isVerticalRailEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsHorizontalScrollChainingEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsHorizontalScrollChainingEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsHorizontalScrollChainingEnabled(impl::abi_arg_in element, bool * isHorizontalScrollChainingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isHorizontalScrollChainingEnabled = detach_abi(this->shim().GetIsHorizontalScrollChainingEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsHorizontalScrollChainingEnabled(impl::abi_arg_in element, bool isHorizontalScrollChainingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsHorizontalScrollChainingEnabled(*reinterpret_cast(&element), isHorizontalScrollChainingEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVerticalScrollChainingEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVerticalScrollChainingEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsVerticalScrollChainingEnabled(impl::abi_arg_in element, bool * isVerticalScrollChainingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isVerticalScrollChainingEnabled = detach_abi(this->shim().GetIsVerticalScrollChainingEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsVerticalScrollChainingEnabled(impl::abi_arg_in element, bool isVerticalScrollChainingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsVerticalScrollChainingEnabled(*reinterpret_cast(&element), isVerticalScrollChainingEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomChainingEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomChainingEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsZoomChainingEnabled(impl::abi_arg_in element, bool * isZoomChainingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isZoomChainingEnabled = detach_abi(this->shim().GetIsZoomChainingEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsZoomChainingEnabled(impl::abi_arg_in element, bool isZoomChainingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsZoomChainingEnabled(*reinterpret_cast(&element), isZoomChainingEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsScrollInertiaEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsScrollInertiaEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsScrollInertiaEnabled(impl::abi_arg_in element, bool * isScrollInertiaEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isScrollInertiaEnabled = detach_abi(this->shim().GetIsScrollInertiaEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsScrollInertiaEnabled(impl::abi_arg_in element, bool isScrollInertiaEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsScrollInertiaEnabled(*reinterpret_cast(&element), isScrollInertiaEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomInertiaEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomInertiaEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsZoomInertiaEnabled(impl::abi_arg_in element, bool * isZoomInertiaEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isZoomInertiaEnabled = detach_abi(this->shim().GetIsZoomInertiaEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsZoomInertiaEnabled(impl::abi_arg_in element, bool isZoomInertiaEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsZoomInertiaEnabled(*reinterpret_cast(&element), isZoomInertiaEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalScrollModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalScrollModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetHorizontalScrollMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollMode * horizontalScrollMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *horizontalScrollMode = detach_abi(this->shim().GetHorizontalScrollMode(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetHorizontalScrollMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollMode horizontalScrollMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetHorizontalScrollMode(*reinterpret_cast(&element), horizontalScrollMode); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalScrollModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalScrollModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVerticalScrollMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollMode * verticalScrollMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *verticalScrollMode = detach_abi(this->shim().GetVerticalScrollMode(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVerticalScrollMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ScrollMode verticalScrollMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVerticalScrollMode(*reinterpret_cast(&element), verticalScrollMode); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetZoomMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ZoomMode * zoomMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *zoomMode = detach_abi(this->shim().GetZoomMode(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetZoomMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::ZoomMode zoomMode) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetZoomMode(*reinterpret_cast(&element), zoomMode); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDeferredScrollingEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDeferredScrollingEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsDeferredScrollingEnabled(impl::abi_arg_in element, bool * isDeferredScrollingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *isDeferredScrollingEnabled = detach_abi(this->shim().GetIsDeferredScrollingEnabled(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetIsDeferredScrollingEnabled(impl::abi_arg_in element, bool isDeferredScrollingEnabled) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetIsDeferredScrollingEnabled(*reinterpret_cast(&element), isDeferredScrollingEnabled); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BringIntoViewOnFocusChangeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BringIntoViewOnFocusChangeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetBringIntoViewOnFocusChange(impl::abi_arg_in element, bool * bringIntoViewOnFocusChange) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *bringIntoViewOnFocusChange = detach_abi(this->shim().GetBringIntoViewOnFocusChange(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetBringIntoViewOnFocusChange(impl::abi_arg_in element, bool bringIntoViewOnFocusChange) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetBringIntoViewOnFocusChange(*reinterpret_cast(&element), bringIntoViewOnFocusChange); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TopLeftHeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopLeftHeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LeftHeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LeftHeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TopHeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TopHeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomFactor(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomFactor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsIntermediate(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIntermediate()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_NextView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NextView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FinalView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FinalView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsInertial(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsInertial()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SearchHistoryEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchHistoryEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchHistoryEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchHistoryContext(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryContext()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SearchHistoryContext(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SearchHistoryContext(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_QueryText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QueryText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusOnKeyboardInput(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusOnKeyboardInput()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FocusOnKeyboardInput(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FocusOnKeyboardInput(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChooseSuggestionOnEnter(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChooseSuggestionOnEnter()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ChooseSuggestionOnEnter(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ChooseSuggestionOnEnter(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QueryChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QueryChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QueryChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QueryChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SuggestionsRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SuggestionsRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SuggestionsRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SuggestionsRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_QuerySubmitted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().QuerySubmitted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_QuerySubmitted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().QuerySubmitted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ResultSuggestionChosen(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ResultSuggestionChosen(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ResultSuggestionChosen(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ResultSuggestionChosen(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PrepareForFocusOnKeyboardInput(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PrepareForFocusOnKeyboardInput(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PrepareForFocusOnKeyboardInput(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PrepareForFocusOnKeyboardInput(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetLocalContentSuggestionSettings(impl::abi_arg_in settings) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetLocalContentSuggestionSettings(*reinterpret_cast(&settings)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinguisticDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinguisticDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinguisticDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinguisticDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Tag(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Tag()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_KeyModifiers(Windows::System::VirtualKeyModifiers * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().KeyModifiers()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SearchHistoryEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SearchHistoryContextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SearchHistoryContextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_QueryTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FocusOnKeyboardInputProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FocusOnKeyboardInputProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ChooseSuggestionOnEnterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ChooseSuggestionOnEnterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_QueryText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().QueryText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Language(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Language()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LinguisticDetails(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LinguisticDetails()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Request(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Request()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddedSections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddedSections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovedSections(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedSections()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AddedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AddedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RemovedItems(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RemovedItems()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithRemovedItemsAndAddedItems(impl::abi_arg_in> removedItems, impl::abi_arg_in> addedItems, impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithRemovedItemsAndAddedItems(*reinterpret_cast *>(&removedItems), *reinterpret_cast *>(&addedItems), *reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ZoomedInView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomedInView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomedInView(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomedInView(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomedOutView(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomedOutView()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ZoomedOutView(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ZoomedOutView(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomedInViewActive(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomedInViewActive()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZoomedInViewActive(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZoomedInViewActive(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanChangeViews(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanChangeViews()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CanChangeViews(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CanChangeViews(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ViewChangeStarted(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ViewChangeStarted(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ViewChangeStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewChangeStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ViewChangeCompleted(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ViewChangeCompleted(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ViewChangeCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ViewChangeCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ToggleActiveView() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ToggleActiveView(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomOutButtonEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomOutButtonEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZoomOutButtonEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZoomOutButtonEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SemanticZoomOwner(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SemanticZoomOwner()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SemanticZoomOwner(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SemanticZoomOwner(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsActiveView(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsActiveView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsActiveView(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsActiveView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomedInView(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomedInView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsZoomedInView(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsZoomedInView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InitializeViewChange() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InitializeViewChange(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompleteViewChange() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompleteViewChange(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_MakeVisible(impl::abi_arg_in item) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MakeVisible(*reinterpret_cast(&item)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartViewChangeFrom(impl::abi_arg_in source, impl::abi_arg_in destination) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartViewChangeFrom(*reinterpret_cast(&source), *reinterpret_cast(&destination)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_StartViewChangeTo(impl::abi_arg_in source, impl::abi_arg_in destination) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StartViewChangeTo(*reinterpret_cast(&source), *reinterpret_cast(&destination)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompleteViewChangeFrom(impl::abi_arg_in source, impl::abi_arg_in destination) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompleteViewChangeFrom(*reinterpret_cast(&source), *reinterpret_cast(&destination)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CompleteViewChangeTo(impl::abi_arg_in source, impl::abi_arg_in destination) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompleteViewChangeTo(*reinterpret_cast(&source), *reinterpret_cast(&destination)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Item(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Item()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Item(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Item(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Bounds(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Bounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Bounds(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Bounds(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ZoomedInViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomedInViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ZoomedOutViewProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ZoomedOutViewProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomedInViewActiveProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomedInViewActiveProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanChangeViewsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanChangeViewsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsZoomOutButtonEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsZoomOutButtonEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsSourceZoomedInView(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSourceZoomedInView()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSourceZoomedInView(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSourceZoomedInView(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DestinationItem(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DestinationItem()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DestinationItem(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DestinationItem(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Title(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Title()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Title(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Title(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderForeground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderForeground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderForeground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderForeground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IconSource(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconSource()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IconSource(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IconSource(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_BackClick(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().BackClick(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_BackClick(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BackClick(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Show() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Show(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowIndependent() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ShowIndependent(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Hide() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Hide(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TitleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TitleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IconSourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IconSourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IntermediateValue(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntermediateValue()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IntermediateValue(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IntermediateValue(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StepFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StepFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StepFrequency(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StepFrequency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SnapsTo(Windows::UI::Xaml::Controls::Primitives::SliderSnapsTo * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SnapsTo()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SnapsTo(Windows::UI::Xaml::Controls::Primitives::SliderSnapsTo value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SnapsTo(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TickFrequency(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TickFrequency()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TickFrequency(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TickFrequency(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TickPlacement(Windows::UI::Xaml::Controls::Primitives::TickPlacement * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TickPlacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TickPlacement(Windows::UI::Xaml::Controls::Primitives::TickPlacement value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TickPlacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDirectionReversed(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDirectionReversed()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsDirectionReversed(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsDirectionReversed(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsThumbToolTipEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsThumbToolTipEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsThumbToolTipEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsThumbToolTipEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbToolTipValueConverter(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbToolTipValueConverter()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ThumbToolTipValueConverter(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ThumbToolTipValueConverter(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IntermediateValueProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IntermediateValueProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StepFrequencyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StepFrequencyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SnapsToProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SnapsToProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TickFrequencyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TickFrequencyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TickPlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TickPlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsDirectionReversedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsDirectionReversedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsThumbToolTipEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsThumbToolTipEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ThumbToolTipValueConverterProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ThumbToolTipValueConverterProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Pane(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Pane()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Pane(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Pane(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaneOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaneOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsPaneOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsPaneOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpenPaneLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenPaneLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OpenPaneLength(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpenPaneLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompactPaneLength(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompactPaneLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CompactPaneLength(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompactPaneLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PanePlacement(Windows::UI::Xaml::Controls::SplitViewPanePlacement * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PanePlacement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PanePlacement(Windows::UI::Xaml::Controls::SplitViewPanePlacement value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PanePlacement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayMode(Windows::UI::Xaml::Controls::SplitViewDisplayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DisplayMode(Windows::UI::Xaml::Controls::SplitViewDisplayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DisplayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaneBackground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaneBackground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PaneBackground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PaneBackground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PaneClosing(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PaneClosing(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PaneClosing(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PaneClosing(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PaneClosed(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PaneClosed(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PaneClosed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PaneClosed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaneProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaneProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsPaneOpenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsPaneOpenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpenPaneLengthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpenPaneLengthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompactPaneLengthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompactPaneLengthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PanePlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PanePlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DisplayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DisplayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettingsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettingsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaneBackgroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaneBackgroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreScrollSnapPointsRegular(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreScrollSnapPointsRegular()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreScrollSnapPointsRegular(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreScrollSnapPointsRegular(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BorderBrush(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrush()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderBrush(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderBrush(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThickness(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThickness()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_BorderThickness(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BorderThickness(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadius(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadius()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CornerRadius(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CornerRadius(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreScrollSnapPointsRegularProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreScrollSnapPointsRegularProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_BorderBrushProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderBrushProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BorderThicknessProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BorderThicknessProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CornerRadiusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CornerRadiusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectStyle(impl::abi_arg_in item, impl::abi_arg_in container, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectStyle(*reinterpret_cast(&item), *reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_SelectStyleCore(impl::abi_arg_in item, impl::abi_arg_in container, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().SelectStyleCore(*reinterpret_cast(&item), *reinterpret_cast(&container))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateCoreIndependentInputSource(Windows::UI::Core::CoreInputDeviceTypes deviceTypes, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateCoreIndependentInputSource(deviceTypes)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CompositionScaleX(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositionScaleX()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompositionScaleY(float * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositionScaleY()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CompositionScaleChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CompositionScaleChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CompositionScaleChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CompositionScaleChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CreateCoreIndependentInputSource(Windows::UI::Core::CoreInputDeviceTypes deviceTypes, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CreateCoreIndependentInputSource(deviceTypes)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CompositionScaleXProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositionScaleXProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CompositionScaleYProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CompositionScaleYProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Symbol(Windows::UI::Xaml::Controls::Symbol * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Symbol()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Symbol(Windows::UI::Xaml::Controls::Symbol value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Symbol(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithSymbol(Windows::UI::Xaml::Controls::Symbol symbol, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithSymbol(symbol)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SymbolProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SymbolProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontSize(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSize()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontSize(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontSize(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamily(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamily()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontFamily(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontFamily(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontWeight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontWeight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyle(Windows::UI::Text::FontStyle * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyle()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStyle(Windows::UI::Text::FontStyle value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStyle(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretch(Windows::UI::Text::FontStretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_FontStretch(Windows::UI::Text::FontStretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FontStretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacing(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacing()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_CharacterSpacing(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CharacterSpacing(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Foreground(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Foreground()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Foreground(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Foreground(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrapping(Windows::UI::Xaml::TextWrapping * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrapping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextWrapping(Windows::UI::Xaml::TextWrapping value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextWrapping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextTrimming(Windows::UI::Xaml::TextTrimming * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextTrimming()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextTrimming(Windows::UI::Xaml::TextTrimming value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextTrimming(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignment(Windows::UI::Xaml::TextAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextAlignment(Windows::UI::Xaml::TextAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Inlines(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Inlines()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Padding(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Padding()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Padding(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Padding(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineStackingStrategy()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LineStackingStrategy(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextSelectionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextSelectionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextSelectionEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextSelectionEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentStart()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ContentEnd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentEnd()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionStart(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionStart()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionEnd(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionEnd()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_BaselineOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().BaselineOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContextMenuOpening(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContextMenuOpening(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContextMenuOpening(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContextMenuOpening(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Select(impl::abi_arg_in start, impl::abi_arg_in end) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Select(*reinterpret_cast(&start), *reinterpret_cast(&end)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Focus(Windows::UI::Xaml::FocusState value, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Focus(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionHighlightColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionHighlightColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionHighlightColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLines(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLines()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLines(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLines(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLineBounds(Windows::UI::Xaml::TextLineBounds * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLineBounds()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextLineBounds(Windows::UI::Xaml::TextLineBounds value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextLineBounds(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalMarginAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OpticalMarginAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsColorFontEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsColorFontEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextReadingOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextScaleFactorEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextScaleFactorEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetAlphaMask(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetAlphaMask()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextDecorations(Windows::UI::Text::TextDecorations * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextDecorations()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextDecorations(Windows::UI::Text::TextDecorations value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextDecorations(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_FontSizeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontSizeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontFamilyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontFamilyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontWeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontWeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStyleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStyleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_FontStretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().FontStretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CharacterSpacingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CharacterSpacingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ForegroundProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ForegroundProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrappingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrappingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextTrimmingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextTrimmingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PaddingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PaddingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_LineStackingStrategyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LineStackingStrategyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextSelectionEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextSelectionEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionHighlightColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLinesProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLinesProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextLineBoundsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextLineBoundsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OpticalMarginAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OpticalMarginAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsTextScaleFactorEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextScaleFactorEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextDecorationsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextDecorationsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Text(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Text()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Text(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Text(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectedText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectedText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectedText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectedText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionLength(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionStart(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionStart()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionStart(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionStart(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLength(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLength()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaxLength(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaxLength(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReadOnly(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnly()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsReadOnly(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsReadOnly(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AcceptsReturn(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceptsReturn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AcceptsReturn(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AcceptsReturn(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignment(Windows::UI::Xaml::TextAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextAlignment(Windows::UI::Xaml::TextAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrapping(Windows::UI::Xaml::TextWrapping * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrapping()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextWrapping(Windows::UI::Xaml::TextWrapping value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextWrapping(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSpellCheckEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSpellCheckEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsSpellCheckEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsSpellCheckEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextPredictionEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextPredictionEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsTextPredictionEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsTextPredictionEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputScope(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputScope()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_InputScope(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InputScope(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_SelectionChanged(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().SelectionChanged(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_SelectionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContextMenuOpening(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContextMenuOpening(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContextMenuOpening(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContextMenuOpening(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Select(int32_t start, int32_t length) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Select(start, length); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SelectAll() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectAll(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRectFromCharacterIndex(int32_t charIndex, bool trailingEdge, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetRectFromCharacterIndex(charIndex, trailingEdge)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderText(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderText()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlaceholderText(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlaceholderText(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColor()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionHighlightColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionHighlightColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreventKeyboardDisplayOnProgrammaticFocus(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreventKeyboardDisplayOnProgrammaticFocus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PreventKeyboardDisplayOnProgrammaticFocus(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PreventKeyboardDisplayOnProgrammaticFocus(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsColorFontEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsColorFontEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Paste(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Paste(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Paste(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Paste(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall add_TextCompositionStarted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextCompositionStarted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextCompositionStarted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextCompositionStarted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextCompositionChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextCompositionChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextCompositionChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextCompositionChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextCompositionEnded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextCompositionEnded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextCompositionEnded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextCompositionEnded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrder()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextReadingOrder(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DesiredCandidateWindowAlignment(Windows::UI::Xaml::Controls::CandidateWindowAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredCandidateWindowAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DesiredCandidateWindowAlignment(Windows::UI::Xaml::Controls::CandidateWindowAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DesiredCandidateWindowAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CandidateWindowBoundsChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CandidateWindowBoundsChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CandidateWindowBoundsChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CandidateWindowBoundsChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TextChanging(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TextChanging(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TextChanging(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TextChanging(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_GetLinguisticAlternativesAsync(impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().GetLinguisticAlternativesAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionHighlightColorWhenNotFocused(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorWhenNotFocused()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SelectionHighlightColorWhenNotFocused(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SelectionHighlightColorWhenNotFocused(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_TextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaxLengthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaxLengthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsReadOnlyProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsReadOnlyProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AcceptsReturnProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AcceptsReturnProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextWrappingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextWrappingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSpellCheckEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSpellCheckEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsTextPredictionEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsTextPredictionEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_InputScopeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().InputScopeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlaceholderTextProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlaceholderTextProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SelectionHighlightColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PreventKeyboardDisplayOnProgrammaticFocusProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PreventKeyboardDisplayOnProgrammaticFocusProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsColorFontEnabledProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsColorFontEnabledProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DesiredCandidateWindowAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DesiredCandidateWindowAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TextReadingOrderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TextReadingOrderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SelectionHighlightColorWhenNotFocusedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SelectionHighlightColorWhenNotFocusedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsContentChanging(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsContentChanging()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StartIndex(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StartIndex()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Length(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Length()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClockIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClockIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClockIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClockIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinuteIncrement(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinuteIncrement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinuteIncrement(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinuteIncrement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Time(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Time()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Time(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Time(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TimeChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TimeChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TimeChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimeChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LightDismissOverlayMode(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClockIdentifier(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClockIdentifier()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ClockIdentifier(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ClockIdentifier(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Time(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Time()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Time(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Time(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinuteIncrement(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinuteIncrement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MinuteIncrement(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MinuteIncrement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_TimePicked(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().TimePicked(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_TimePicked(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().TimePicked(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ShowAtAsync(impl::abi_arg_in target, impl::abi_arg_out>> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ShowAtAsync(*reinterpret_cast(&target))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ClockIdentifierProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClockIdentifierProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinuteIncrementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinuteIncrementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ClockIdentifierProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ClockIdentifierProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MinuteIncrementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MinuteIncrementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TimeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TimeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_LightDismissOverlayModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().LightDismissOverlayModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_OldTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OldTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_NewTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().NewTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsChecked(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsChecked()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsChecked(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsChecked(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsCheckedProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsCheckedProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsOn(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOn()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOn(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOn(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Header(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Header()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Header(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Header(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HeaderTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HeaderTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OnContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OnContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OnContent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OnContentTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OnContentTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OnContentTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnContentTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OffContent(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OffContent()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OffContent(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OffContent(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OffContentTemplate(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OffContentTemplate()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_OffContentTemplate(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OffContentTemplate(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Toggled(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Toggled(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Toggled(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Toggled(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnToggled() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnToggled(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnOnContentChanged(impl::abi_arg_in oldContent, impl::abi_arg_in newContent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnOnContentChanged(*reinterpret_cast(&oldContent), *reinterpret_cast(&newContent)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnOffContentChanged(impl::abi_arg_in oldContent, impl::abi_arg_in newContent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnOffContentChanged(*reinterpret_cast(&oldContent), *reinterpret_cast(&newContent)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnHeaderChanged(impl::abi_arg_in oldContent, impl::abi_arg_in newContent) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnHeaderChanged(*reinterpret_cast(&oldContent), *reinterpret_cast(&newContent)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsOnProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOnProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HeaderTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HeaderTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OnContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OnContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OnContentTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OnContentTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OffContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OffContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OffContentTemplateProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OffContentTemplateProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalOffset(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOpen(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpen()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsOpen(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsOpen(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Placement(Windows::UI::Xaml::Controls::Primitives::PlacementMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Placement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Placement(Windows::UI::Xaml::Controls::Primitives::PlacementMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Placement(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlacementTarget(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlacementTarget()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_PlacementTarget(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PlacementTarget(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffset(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffset()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalOffset(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalOffset(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_TemplateSettings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().TemplateSettings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Closed(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Closed(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Closed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Closed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_Opened(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().Opened(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_Opened(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Opened(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPlacement(impl::abi_arg_in element, Windows::UI::Xaml::Controls::Primitives::PlacementMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPlacement(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPlacement(impl::abi_arg_in element, Windows::UI::Xaml::Controls::Primitives::PlacementMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPlacement(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlacementTargetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlacementTargetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetPlacementTarget(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetPlacementTarget(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetPlacementTarget(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetPlacementTarget(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ToolTipProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ToolTipProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetToolTip(impl::abi_arg_in element, impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetToolTip(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetToolTip(impl::abi_arg_in element, impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetToolTip(*reinterpret_cast(&element), *reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_HorizontalOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsOpenProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsOpenProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlacementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlacementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PlacementTargetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PlacementTargetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalOffsetProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalOffsetProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_Move(uint32_t oldIndex, uint32_t newIndex) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Move(oldIndex, newIndex); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Content(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Content()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Content(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Content(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstance(impl::abi_arg_in outer, impl::abi_arg_out inner, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstance(*reinterpret_cast(&outer), *inner)); + return S_OK; + } + catch (...) + { + *inner = nullptr; + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalChildrenAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalChildrenAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalChildrenAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalChildrenAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalChildrenAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalChildrenAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalChildrenAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalChildrenAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumRowsOrColumns(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumRowsOrColumns()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaximumRowsOrColumns(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaximumRowsOrColumns(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalChildrenAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalChildrenAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalChildrenAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalChildrenAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumRowsOrColumnsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumRowsOrColumnsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_RowSpanProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().RowSpanProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetRowSpan(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetRowSpan(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetRowSpan(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetRowSpan(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ColumnSpanProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ColumnSpanProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetColumnSpan(impl::abi_arg_in element, int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetColumnSpan(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetColumnSpan(impl::abi_arg_in element, int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetColumnSpan(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Child(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Child()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Child(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Child(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Stretch(Windows::UI::Xaml::Media::Stretch * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Stretch()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Stretch(Windows::UI::Xaml::Media::Stretch value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stretch(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StretchDirection(Windows::UI::Xaml::Controls::StretchDirection * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchDirection()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StretchDirection(Windows::UI::Xaml::Controls::StretchDirection value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StretchDirection(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_StretchProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StretchDirectionProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StretchDirectionProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemContainerGenerator(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemContainerGenerator()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnItemsChanged(impl::abi_arg_in sender, impl::abi_arg_in args) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnItemsChanged(*reinterpret_cast(&sender), *reinterpret_cast(&args)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_OnClearChildren() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnClearChildren(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BringIndexIntoView(int32_t index) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().BringIndexIntoView(index); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_AddInternalChild(impl::abi_arg_in child) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddInternalChild(*reinterpret_cast(&child)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InsertInternalChild(int32_t index, impl::abi_arg_in child) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().InsertInternalChild(index, *reinterpret_cast(&child)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_RemoveInternalChildRange(int32_t index, int32_t range) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().RemoveInternalChildRange(index, range); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreScrollSnapPointsRegular(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreScrollSnapPointsRegular()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AreScrollSnapPointsRegular(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AreScrollSnapPointsRegular(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_CleanUpVirtualizedItemEvent(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().CleanUpVirtualizedItemEvent(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_CleanUpVirtualizedItemEvent(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().CleanUpVirtualizedItemEvent(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_OnCleanUpVirtualizedItem(impl::abi_arg_in e) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().OnCleanUpVirtualizedItem(*reinterpret_cast(&e)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AreScrollSnapPointsRegularProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AreScrollSnapPointsRegularProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VirtualizationModeProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VirtualizationModeProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetVirtualizationMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::VirtualizationMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetVirtualizationMode(*reinterpret_cast(&element))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetVirtualizationMode(impl::abi_arg_in element, Windows::UI::Xaml::Controls::VirtualizationMode value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetVirtualizationMode(*reinterpret_cast(&element), value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsVirtualizingProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsVirtualizingProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GetIsVirtualizing(impl::abi_arg_in o, bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().GetIsVirtualizing(*reinterpret_cast(&o))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Source(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Source()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Source(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Source(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowedScriptNotifyUris(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedScriptNotifyUris()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_AllowedScriptNotifyUris(impl::abi_arg_in> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AllowedScriptNotifyUris(*reinterpret_cast *>(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataTransferPackage(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataTransferPackage()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LoadCompleted(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LoadCompleted(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LoadCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LoadCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ScriptNotify(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ScriptNotify(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ScriptNotify(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ScriptNotify(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationFailed(impl::abi_arg_in value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationFailed(*reinterpret_cast(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationFailed(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationFailed(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InvokeScript(impl::abi_arg_in scriptName, uint32_t __argumentsSize, impl::abi_arg_in * arguments, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().InvokeScript(*reinterpret_cast(&scriptName), *reinterpret_cast(&arguments))); + return S_OK; + } + catch (...) + { + *arguments = nullptr; + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Navigate(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Navigate(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NavigateToString(impl::abi_arg_in text) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigateToString(*reinterpret_cast(&text)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanGoBack(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoBack()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGoForward(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoForward()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentTitle(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentTitle()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationStarting(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationStarting(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationStarting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationStarting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContentLoading(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContentLoading(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContentLoading(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContentLoading(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_DOMContentLoaded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().DOMContentLoaded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_DOMContentLoaded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DOMContentLoaded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GoForward() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GoForward(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_GoBack() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().GoBack(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Refresh() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Refresh(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Stop() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Stop(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CapturePreviewToStreamAsync(impl::abi_arg_in stream, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CapturePreviewToStreamAsync(*reinterpret_cast(&stream))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_InvokeScriptAsync(impl::abi_arg_in scriptName, impl::abi_arg_in> arguments, impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().InvokeScriptAsync(*reinterpret_cast(&scriptName), *reinterpret_cast *>(&arguments))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_CaptureSelectedContentToDataPackageAsync(impl::abi_arg_out> returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().CaptureSelectedContentToDataPackageAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NavigateToLocalStreamUri(impl::abi_arg_in source, impl::abi_arg_in streamResolver) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigateToLocalStreamUri(*reinterpret_cast(&source), *reinterpret_cast(&streamResolver)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_BuildLocalStreamUri(impl::abi_arg_in contentIdentifier, impl::abi_arg_in relativePath, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().BuildLocalStreamUri(*reinterpret_cast(&contentIdentifier), *reinterpret_cast(&relativePath))); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultBackgroundColor(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultBackgroundColor()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_DefaultBackgroundColor(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().DefaultBackgroundColor(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NavigationCompleted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NavigationCompleted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NavigationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FrameNavigationStarting(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameNavigationStarting(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameNavigationStarting(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameNavigationStarting(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FrameContentLoading(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameContentLoading(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameContentLoading(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameContentLoading(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FrameDOMContentLoaded(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameDOMContentLoaded(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameDOMContentLoaded(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameDOMContentLoaded(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_FrameNavigationCompleted(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().FrameNavigationCompleted(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_FrameNavigationCompleted(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().FrameNavigationCompleted(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_LongRunningScriptDetected(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().LongRunningScriptDetected(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_LongRunningScriptDetected(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().LongRunningScriptDetected(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UnsafeContentWarningDisplaying(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UnsafeContentWarningDisplaying(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UnsafeContentWarningDisplaying(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnsafeContentWarningDisplaying(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UnviewableContentIdentified(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UnviewableContentIdentified(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UnviewableContentIdentified(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnviewableContentIdentified(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_NavigateWithHttpRequestMessage(impl::abi_arg_in requestMessage) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NavigateWithHttpRequestMessage(*reinterpret_cast(&requestMessage)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Focus(Windows::UI::Xaml::FocusState value, bool * returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().Focus(value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContainsFullScreenElement(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainsFullScreenElement()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_ContainsFullScreenElementChanged(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().ContainsFullScreenElementChanged(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_ContainsFullScreenElementChanged(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ContainsFullScreenElementChanged(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExecutionMode(Windows::UI::Xaml::Controls::WebViewExecutionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExecutionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DeferredPermissionRequests(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DeferredPermissionRequests()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Settings(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Settings()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_UnsupportedUriSchemeIdentified(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().UnsupportedUriSchemeIdentified(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_UnsupportedUriSchemeIdentified(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().UnsupportedUriSchemeIdentified(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_NewWindowRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().NewWindowRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_NewWindowRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().NewWindowRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall add_PermissionRequested(impl::abi_arg_in> value, event_token * token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *token = detach_abi(this->shim().PermissionRequested(*reinterpret_cast *>(&value))); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall remove_PermissionRequested(event_token token) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().PermissionRequested(token); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_AddWebAllowedObject(impl::abi_arg_in name, impl::abi_arg_in pObject) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().AddWebAllowedObject(*reinterpret_cast(&name), *reinterpret_cast(&pObject)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_DeferredPermissionRequestById(uint32_t id, impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().DeferredPermissionRequestById(id)); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_XYFocusLeft(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusLeft()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusLeft(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusLeft(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusRight(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusRight()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusRight(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusRight(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusUp(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusUp()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusUp(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusUp(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusDown(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusDown()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_XYFocusDown(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().XYFocusDown(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceName(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceName()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_SourceName(impl::abi_arg_in value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SourceName(*reinterpret_cast(&value)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Redraw() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Redraw(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_SetSource(impl::abi_arg_in source) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().SetSource(*reinterpret_cast(&source)); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_SourceNameProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceNameProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PermissionType(Windows::UI::Xaml::Controls::WebViewPermissionType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PermissionType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Allow() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Allow(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Deny() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Deny(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall abi_CreateInstanceWithExecutionMode(Windows::UI::Xaml::Controls::WebViewExecutionMode executionMode, impl::abi_arg_out instance) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *instance = detach_abi(this->shim().CreateInstanceWithExecutionMode(executionMode)); + return S_OK; + } + catch (...) + { + *instance = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ExecutionTime(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ExecutionTime()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_StopPageScriptExecution(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().StopPageScriptExecution()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_StopPageScriptExecution(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().StopPageScriptExecution(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsSuccess(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsSuccess()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebErrorStatus(Windows::Web::WebErrorStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebErrorStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_WebErrorStatus(Windows::Web::WebErrorStatus * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().WebErrorStatus()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Cancel(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Cancel()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Cancel(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Cancel(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Referrer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Referrer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_PermissionType(Windows::UI::Xaml::Controls::WebViewPermissionType * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PermissionType()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Id(uint32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Id()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_State(Windows::UI::Xaml::Controls::WebViewPermissionState * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().State()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Defer() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Defer(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Allow() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Allow(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_Deny() noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Deny(); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_PermissionRequest(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().PermissionRequest()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_IsJavaScriptEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsJavaScriptEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsJavaScriptEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsJavaScriptEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_IsIndexedDBEnabled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().IsIndexedDBEnabled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_IsIndexedDBEnabled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().IsIndexedDBEnabled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_AnyScriptNotifyUri(impl::abi_arg_out> value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AnyScriptNotifyUri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_SourceProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().SourceProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_AllowedScriptNotifyUrisProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().AllowedScriptNotifyUrisProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DataTransferPackageProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DataTransferPackageProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_CanGoBackProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoBackProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_CanGoForwardProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().CanGoForwardProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DocumentTitleProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DocumentTitleProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_DefaultBackgroundColorProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultBackgroundColorProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ContainsFullScreenElementProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ContainsFullScreenElementProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_DefaultExecutionMode(Windows::UI::Xaml::Controls::WebViewExecutionMode * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().DefaultExecutionMode()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall abi_ClearTemporaryWebDataAsync(impl::abi_arg_out returnValue) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *returnValue = detach_abi(this->shim().ClearTemporaryWebDataAsync()); + return S_OK; + } + catch (...) + { + *returnValue = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_XYFocusLeftProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusLeftProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusRightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusRightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusUpProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusUpProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_XYFocusDownProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().XYFocusDownProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Handled(bool * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Handled()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Handled(bool value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Handled(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_Uri(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Uri()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Referrer(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Referrer()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_MediaType(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MediaType()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemWidth(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidth()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemWidth(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemWidth(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemHeight(double * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeight()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_ItemHeight(double value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().ItemHeight(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_Orientation(Windows::UI::Xaml::Controls::Orientation * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().Orientation()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_Orientation(Windows::UI::Xaml::Controls::Orientation value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().Orientation(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalChildrenAlignment(Windows::UI::Xaml::HorizontalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalChildrenAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_HorizontalChildrenAlignment(Windows::UI::Xaml::HorizontalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().HorizontalChildrenAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalChildrenAlignment(Windows::UI::Xaml::VerticalAlignment * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalChildrenAlignment()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_VerticalChildrenAlignment(Windows::UI::Xaml::VerticalAlignment value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().VerticalChildrenAlignment(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumRowsOrColumns(int32_t * value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumRowsOrColumns()); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } + + HRESULT __stdcall put_MaximumRowsOrColumns(int32_t value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + this->shim().MaximumRowsOrColumns(value); + return S_OK; + } + catch (...) + { + return impl::to_hresult(); + } + } +}; + +template +struct produce : produce_base +{ + HRESULT __stdcall get_ItemWidthProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemWidthProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_ItemHeightProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().ItemHeightProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_OrientationProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().OrientationProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_HorizontalChildrenAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().HorizontalChildrenAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_VerticalChildrenAlignmentProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().VerticalChildrenAlignmentProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } + + HRESULT __stdcall get_MaximumRowsOrColumnsProperty(impl::abi_arg_out value) noexcept override + { + try + { + typename D::abi_guard guard(this->shim()); + *value = detach_abi(this->shim().MaximumRowsOrColumnsProperty()); + return S_OK; + } + catch (...) + { + *value = nullptr; + return impl::to_hresult(); + } + } +}; + +} + +namespace Windows::UI::Xaml::Controls { + +template void impl_IInsertionPanel::GetInsertionIndexes(const Windows::Foundation::Point & position, int32_t & first, int32_t & second) const +{ + check_hresult(WINRT_SHIM(IInsertionPanel)->abi_GetInsertionIndexes(get_abi(position), &first, &second)); +} + +template Windows::Foundation::IInspectable impl_IItemContainerMapping::ItemFromContainer(const Windows::UI::Xaml::DependencyObject & container) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IItemContainerMapping)->abi_ItemFromContainer(get_abi(container), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyObject impl_IItemContainerMapping::ContainerFromItem(const Windows::Foundation::IInspectable & item) const +{ + Windows::UI::Xaml::DependencyObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemContainerMapping)->abi_ContainerFromItem(get_abi(item), put_abi(returnValue))); + return returnValue; +} + +template int32_t impl_IItemContainerMapping::IndexFromContainer(const Windows::UI::Xaml::DependencyObject & container) const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IItemContainerMapping)->abi_IndexFromContainer(get_abi(container), &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyObject impl_IItemContainerMapping::ContainerFromIndex(int32_t index) const +{ + Windows::UI::Xaml::DependencyObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemContainerMapping)->abi_ContainerFromIndex(index, put_abi(returnValue))); + return returnValue; +} + +template bool impl_INavigate::Navigate(const Windows::UI::Xaml::Interop::TypeName & sourcePageType) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(INavigate)->abi_Navigate(get_abi(sourcePageType), &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::Controls::SemanticZoom impl_ISemanticZoomInformation::SemanticZoomOwner() const +{ + Windows::UI::Xaml::Controls::SemanticZoom value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->get_SemanticZoomOwner(put_abi(value))); + return value; +} + +template void impl_ISemanticZoomInformation::SemanticZoomOwner(const Windows::UI::Xaml::Controls::SemanticZoom & value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->put_SemanticZoomOwner(get_abi(value))); +} + +template bool impl_ISemanticZoomInformation::IsActiveView() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->get_IsActiveView(&value)); + return value; +} + +template void impl_ISemanticZoomInformation::IsActiveView(bool value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->put_IsActiveView(value)); +} + +template bool impl_ISemanticZoomInformation::IsZoomedInView() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->get_IsZoomedInView(&value)); + return value; +} + +template void impl_ISemanticZoomInformation::IsZoomedInView(bool value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->put_IsZoomedInView(value)); +} + +template void impl_ISemanticZoomInformation::InitializeViewChange() const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->abi_InitializeViewChange()); +} + +template void impl_ISemanticZoomInformation::CompleteViewChange() const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->abi_CompleteViewChange()); +} + +template void impl_ISemanticZoomInformation::MakeVisible(const Windows::UI::Xaml::Controls::SemanticZoomLocation & item) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->abi_MakeVisible(get_abi(item))); +} + +template void impl_ISemanticZoomInformation::StartViewChangeFrom(const Windows::UI::Xaml::Controls::SemanticZoomLocation & source, const Windows::UI::Xaml::Controls::SemanticZoomLocation & destination) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->abi_StartViewChangeFrom(get_abi(source), get_abi(destination))); +} + +template void impl_ISemanticZoomInformation::StartViewChangeTo(const Windows::UI::Xaml::Controls::SemanticZoomLocation & source, const Windows::UI::Xaml::Controls::SemanticZoomLocation & destination) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->abi_StartViewChangeTo(get_abi(source), get_abi(destination))); +} + +template void impl_ISemanticZoomInformation::CompleteViewChangeFrom(const Windows::UI::Xaml::Controls::SemanticZoomLocation & source, const Windows::UI::Xaml::Controls::SemanticZoomLocation & destination) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->abi_CompleteViewChangeFrom(get_abi(source), get_abi(destination))); +} + +template void impl_ISemanticZoomInformation::CompleteViewChangeTo(const Windows::UI::Xaml::Controls::SemanticZoomLocation & source, const Windows::UI::Xaml::Controls::SemanticZoomLocation & destination) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomInformation)->abi_CompleteViewChangeTo(get_abi(source), get_abi(destination))); +} + +template bool impl_IBackClickEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBackClickEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IBackClickEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IBackClickEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Rect impl_ICandidateWindowBoundsChangedEventArgs::Bounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ICandidateWindowBoundsChangedEventArgs)->get_Bounds(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ListViewBaseHeaderItem impl_IChoosingGroupHeaderContainerEventArgs::GroupHeaderContainer() const +{ + Windows::UI::Xaml::Controls::ListViewBaseHeaderItem value { nullptr }; + check_hresult(WINRT_SHIM(IChoosingGroupHeaderContainerEventArgs)->get_GroupHeaderContainer(put_abi(value))); + return value; +} + +template void impl_IChoosingGroupHeaderContainerEventArgs::GroupHeaderContainer(const Windows::UI::Xaml::Controls::ListViewBaseHeaderItem & value) const +{ + check_hresult(WINRT_SHIM(IChoosingGroupHeaderContainerEventArgs)->put_GroupHeaderContainer(get_abi(value))); +} + +template int32_t impl_IChoosingGroupHeaderContainerEventArgs::GroupIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IChoosingGroupHeaderContainerEventArgs)->get_GroupIndex(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IChoosingGroupHeaderContainerEventArgs::Group() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IChoosingGroupHeaderContainerEventArgs)->get_Group(put_abi(value))); + return value; +} + +template int32_t impl_IChoosingItemContainerEventArgs::ItemIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IChoosingItemContainerEventArgs)->get_ItemIndex(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IChoosingItemContainerEventArgs::Item() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IChoosingItemContainerEventArgs)->get_Item(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::SelectorItem impl_IChoosingItemContainerEventArgs::ItemContainer() const +{ + Windows::UI::Xaml::Controls::Primitives::SelectorItem value { nullptr }; + check_hresult(WINRT_SHIM(IChoosingItemContainerEventArgs)->get_ItemContainer(put_abi(value))); + return value; +} + +template void impl_IChoosingItemContainerEventArgs::ItemContainer(const Windows::UI::Xaml::Controls::Primitives::SelectorItem & value) const +{ + check_hresult(WINRT_SHIM(IChoosingItemContainerEventArgs)->put_ItemContainer(get_abi(value))); +} + +template bool impl_IChoosingItemContainerEventArgs::IsContainerPrepared() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IChoosingItemContainerEventArgs)->get_IsContainerPrepared(&value)); + return value; +} + +template void impl_IChoosingItemContainerEventArgs::IsContainerPrepared(bool value) const +{ + check_hresult(WINRT_SHIM(IChoosingItemContainerEventArgs)->put_IsContainerPrepared(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::SelectorItem impl_IContainerContentChangingEventArgs::ItemContainer() const +{ + Windows::UI::Xaml::Controls::Primitives::SelectorItem value { nullptr }; + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->get_ItemContainer(put_abi(value))); + return value; +} + +template bool impl_IContainerContentChangingEventArgs::InRecycleQueue() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->get_InRecycleQueue(&value)); + return value; +} + +template int32_t impl_IContainerContentChangingEventArgs::ItemIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->get_ItemIndex(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IContainerContentChangingEventArgs::Item() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->get_Item(put_abi(value))); + return value; +} + +template uint32_t impl_IContainerContentChangingEventArgs::Phase() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->get_Phase(&value)); + return value; +} + +template bool impl_IContainerContentChangingEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IContainerContentChangingEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->put_Handled(value)); +} + +template void impl_IContainerContentChangingEventArgs::RegisterUpdateCallback(const Windows::Foundation::TypedEventHandler & callback) const +{ + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->abi_RegisterUpdateCallback(get_abi(callback))); +} + +template void impl_IContainerContentChangingEventArgs::RegisterUpdateCallback(uint32_t callbackPhase, const Windows::Foundation::TypedEventHandler & callback) const +{ + check_hresult(WINRT_SHIM(IContainerContentChangingEventArgs)->abi_RegisterUpdateCallbackWithPhase(callbackPhase, get_abi(callback))); +} + +template Windows::UI::Xaml::DataTemplate impl_IDataTemplateSelector::SelectTemplate(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::DependencyObject & container) const +{ + Windows::UI::Xaml::DataTemplate returnValue { nullptr }; + check_hresult(WINRT_SHIM(IDataTemplateSelector)->abi_SelectTemplate(get_abi(item), get_abi(container), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DataTemplate impl_IDataTemplateSelectorOverrides::SelectTemplateCore(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::DependencyObject & container) const +{ + Windows::UI::Xaml::DataTemplate returnValue { nullptr }; + check_hresult(WINRT_SHIM(IDataTemplateSelectorOverrides)->abi_SelectTemplateCore(get_abi(item), get_abi(container), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::DataTemplateSelector impl_IDataTemplateSelectorFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::DataTemplateSelector instance { nullptr }; + check_hresult(WINRT_SHIM(IDataTemplateSelectorFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::DataTemplate impl_IDataTemplateSelector2::SelectTemplate(const Windows::Foundation::IInspectable & item) const +{ + Windows::UI::Xaml::DataTemplate returnValue { nullptr }; + check_hresult(WINRT_SHIM(IDataTemplateSelector2)->abi_SelectTemplateForItem(get_abi(item), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DataTemplate impl_IDataTemplateSelectorOverrides2::SelectTemplateCore(const Windows::Foundation::IInspectable & item) const +{ + Windows::UI::Xaml::DataTemplate returnValue { nullptr }; + check_hresult(WINRT_SHIM(IDataTemplateSelectorOverrides2)->abi_SelectTemplateForItemCore(get_abi(item), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::Collections::IVectorView impl_IDragItemsCompletedEventArgs::Items() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IDragItemsCompletedEventArgs)->get_Items(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackageOperation impl_IDragItemsCompletedEventArgs::DropResult() const +{ + Windows::ApplicationModel::DataTransfer::DataPackageOperation value {}; + check_hresult(WINRT_SHIM(IDragItemsCompletedEventArgs)->get_DropResult(&value)); + return value; +} + +template bool impl_IDragItemsStartingEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDragItemsStartingEventArgs)->get_Cancel(&value)); + return value; +} + +template void impl_IDragItemsStartingEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(IDragItemsStartingEventArgs)->put_Cancel(value)); +} + +template Windows::Foundation::Collections::IVector impl_IDragItemsStartingEventArgs::Items() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IDragItemsStartingEventArgs)->get_Items(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::DataTransfer::DataPackage impl_IDragItemsStartingEventArgs::Data() const +{ + Windows::ApplicationModel::DataTransfer::DataPackage value { nullptr }; + check_hresult(WINRT_SHIM(IDragItemsStartingEventArgs)->get_Data(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ItemsPanelTemplate impl_IGroupStyle::Panel() const +{ + Windows::UI::Xaml::Controls::ItemsPanelTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyle)->get_Panel(put_abi(value))); + return value; +} + +template void impl_IGroupStyle::Panel(const Windows::UI::Xaml::Controls::ItemsPanelTemplate & value) const +{ + check_hresult(WINRT_SHIM(IGroupStyle)->put_Panel(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_IGroupStyle::ContainerStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyle)->get_ContainerStyle(put_abi(value))); + return value; +} + +template void impl_IGroupStyle::ContainerStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IGroupStyle)->put_ContainerStyle(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::StyleSelector impl_IGroupStyle::ContainerStyleSelector() const +{ + Windows::UI::Xaml::Controls::StyleSelector value { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyle)->get_ContainerStyleSelector(put_abi(value))); + return value; +} + +template void impl_IGroupStyle::ContainerStyleSelector(const Windows::UI::Xaml::Controls::StyleSelector & value) const +{ + check_hresult(WINRT_SHIM(IGroupStyle)->put_ContainerStyleSelector(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IGroupStyle::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyle)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IGroupStyle::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IGroupStyle)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::DataTemplateSelector impl_IGroupStyle::HeaderTemplateSelector() const +{ + Windows::UI::Xaml::Controls::DataTemplateSelector value { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyle)->get_HeaderTemplateSelector(put_abi(value))); + return value; +} + +template void impl_IGroupStyle::HeaderTemplateSelector(const Windows::UI::Xaml::Controls::DataTemplateSelector & value) const +{ + check_hresult(WINRT_SHIM(IGroupStyle)->put_HeaderTemplateSelector(get_abi(value))); +} + +template bool impl_IGroupStyle::HidesIfEmpty() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IGroupStyle)->get_HidesIfEmpty(&value)); + return value; +} + +template void impl_IGroupStyle::HidesIfEmpty(bool value) const +{ + check_hresult(WINRT_SHIM(IGroupStyle)->put_HidesIfEmpty(value)); +} + +template Windows::UI::Xaml::Controls::GroupStyle impl_IGroupStyleFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::GroupStyle instance { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyleFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Style impl_IGroupStyle2::HeaderContainerStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyle2)->get_HeaderContainerStyle(put_abi(value))); + return value; +} + +template void impl_IGroupStyle2::HeaderContainerStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IGroupStyle2)->put_HeaderContainerStyle(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::GroupStyle impl_IGroupStyleSelector::SelectGroupStyle(const Windows::Foundation::IInspectable & group, uint32_t level) const +{ + Windows::UI::Xaml::Controls::GroupStyle returnValue { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyleSelector)->abi_SelectGroupStyle(get_abi(group), level, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::GroupStyle impl_IGroupStyleSelectorOverrides::SelectGroupStyleCore(const Windows::Foundation::IInspectable & group, uint32_t level) const +{ + Windows::UI::Xaml::Controls::GroupStyle returnValue { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyleSelectorOverrides)->abi_SelectGroupStyleCore(get_abi(group), level, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::GroupStyleSelector impl_IGroupStyleSelectorFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::GroupStyleSelector instance { nullptr }; + check_hresult(WINRT_SHIM(IGroupStyleSelectorFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template event_token impl_IItemContainerGenerator::ItemsChanged(const Windows::UI::Xaml::Controls::Primitives::ItemsChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->add_ItemsChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IItemContainerGenerator::ItemsChanged(auto_revoke_t, const Windows::UI::Xaml::Controls::Primitives::ItemsChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IItemContainerGenerator::remove_ItemsChanged, ItemsChanged(value)); +} + +template void impl_IItemContainerGenerator::ItemsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IItemContainerGenerator)->remove_ItemsChanged(token)); +} + +template Windows::Foundation::IInspectable impl_IItemContainerGenerator::ItemFromContainer(const Windows::UI::Xaml::DependencyObject & container) const +{ + Windows::Foundation::IInspectable returnValue; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_ItemFromContainer(get_abi(container), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyObject impl_IItemContainerGenerator::ContainerFromItem(const Windows::Foundation::IInspectable & item) const +{ + Windows::UI::Xaml::DependencyObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_ContainerFromItem(get_abi(item), put_abi(returnValue))); + return returnValue; +} + +template int32_t impl_IItemContainerGenerator::IndexFromContainer(const Windows::UI::Xaml::DependencyObject & container) const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_IndexFromContainer(get_abi(container), &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyObject impl_IItemContainerGenerator::ContainerFromIndex(int32_t index) const +{ + Windows::UI::Xaml::DependencyObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_ContainerFromIndex(index, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::ItemContainerGenerator impl_IItemContainerGenerator::GetItemContainerGeneratorForPanel(const Windows::UI::Xaml::Controls::Panel & panel) const +{ + Windows::UI::Xaml::Controls::ItemContainerGenerator returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_GetItemContainerGeneratorForPanel(get_abi(panel), put_abi(returnValue))); + return returnValue; +} + +template void impl_IItemContainerGenerator::StartAt(const Windows::UI::Xaml::Controls::Primitives::GeneratorPosition & position, Windows::UI::Xaml::Controls::Primitives::GeneratorDirection direction, bool allowStartAtRealizedItem) const +{ + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_StartAt(get_abi(position), direction, allowStartAtRealizedItem)); +} + +template void impl_IItemContainerGenerator::Stop() const +{ + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_Stop()); +} + +template Windows::UI::Xaml::DependencyObject impl_IItemContainerGenerator::GenerateNext(bool & isNewlyRealized) const +{ + Windows::UI::Xaml::DependencyObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_GenerateNext(&isNewlyRealized, put_abi(returnValue))); + return returnValue; +} + +template void impl_IItemContainerGenerator::PrepareItemContainer(const Windows::UI::Xaml::DependencyObject & container) const +{ + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_PrepareItemContainer(get_abi(container))); +} + +template void impl_IItemContainerGenerator::RemoveAll() const +{ + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_RemoveAll()); +} + +template void impl_IItemContainerGenerator::Remove(const Windows::UI::Xaml::Controls::Primitives::GeneratorPosition & position, int32_t count) const +{ + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_Remove(get_abi(position), count)); +} + +template Windows::UI::Xaml::Controls::Primitives::GeneratorPosition impl_IItemContainerGenerator::GeneratorPositionFromIndex(int32_t itemIndex) const +{ + Windows::UI::Xaml::Controls::Primitives::GeneratorPosition returnValue {}; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_GeneratorPositionFromIndex(itemIndex, put_abi(returnValue))); + return returnValue; +} + +template int32_t impl_IItemContainerGenerator::IndexFromGeneratorPosition(const Windows::UI::Xaml::Controls::Primitives::GeneratorPosition & position) const +{ + int32_t returnValue {}; + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_IndexFromGeneratorPosition(get_abi(position), &returnValue)); + return returnValue; +} + +template void impl_IItemContainerGenerator::Recycle(const Windows::UI::Xaml::Controls::Primitives::GeneratorPosition & position, int32_t count) const +{ + check_hresult(WINRT_SHIM(IItemContainerGenerator)->abi_Recycle(get_abi(position), count)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsHelperStatics::DropoutOrderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsHelperStatics)->get_DropoutOrderProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_IMediaTransportControlsHelperStatics::GetDropoutOrder(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaTransportControlsHelperStatics)->abi_GetDropoutOrder(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IMediaTransportControlsHelperStatics::SetDropoutOrder(const Windows::UI::Xaml::UIElement & element, const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControlsHelperStatics)->abi_SetDropoutOrder(get_abi(element), get_abi(value))); +} + +template hstring impl_INotifyEventArgs::Value() const +{ + hstring value; + check_hresult(WINRT_SHIM(INotifyEventArgs)->get_Value(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_INotifyEventArgs2::CallingUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(INotifyEventArgs2)->get_CallingUri(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_ISemanticZoomLocation::Item() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ISemanticZoomLocation)->get_Item(put_abi(value))); + return value; +} + +template void impl_ISemanticZoomLocation::Item(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomLocation)->put_Item(get_abi(value))); +} + +template Windows::Foundation::Rect impl_ISemanticZoomLocation::Bounds() const +{ + Windows::Foundation::Rect value {}; + check_hresult(WINRT_SHIM(ISemanticZoomLocation)->get_Bounds(put_abi(value))); + return value; +} + +template void impl_ISemanticZoomLocation::Bounds(const Windows::Foundation::Rect & value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomLocation)->put_Bounds(get_abi(value))); +} + +template bool impl_ISemanticZoomViewChangedEventArgs::IsSourceZoomedInView() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISemanticZoomViewChangedEventArgs)->get_IsSourceZoomedInView(&value)); + return value; +} + +template void impl_ISemanticZoomViewChangedEventArgs::IsSourceZoomedInView(bool value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomViewChangedEventArgs)->put_IsSourceZoomedInView(value)); +} + +template Windows::UI::Xaml::Controls::SemanticZoomLocation impl_ISemanticZoomViewChangedEventArgs::SourceItem() const +{ + Windows::UI::Xaml::Controls::SemanticZoomLocation value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomViewChangedEventArgs)->get_SourceItem(put_abi(value))); + return value; +} + +template void impl_ISemanticZoomViewChangedEventArgs::SourceItem(const Windows::UI::Xaml::Controls::SemanticZoomLocation & value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomViewChangedEventArgs)->put_SourceItem(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::SemanticZoomLocation impl_ISemanticZoomViewChangedEventArgs::DestinationItem() const +{ + Windows::UI::Xaml::Controls::SemanticZoomLocation value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomViewChangedEventArgs)->get_DestinationItem(put_abi(value))); + return value; +} + +template void impl_ISemanticZoomViewChangedEventArgs::DestinationItem(const Windows::UI::Xaml::Controls::SemanticZoomLocation & value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoomViewChangedEventArgs)->put_DestinationItem(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_IStyleSelector::SelectStyle(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::DependencyObject & container) const +{ + Windows::UI::Xaml::Style returnValue { nullptr }; + check_hresult(WINRT_SHIM(IStyleSelector)->abi_SelectStyle(get_abi(item), get_abi(container), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Style impl_IStyleSelectorOverrides::SelectStyleCore(const Windows::Foundation::IInspectable & item, const Windows::UI::Xaml::DependencyObject & container) const +{ + Windows::UI::Xaml::Style returnValue { nullptr }; + check_hresult(WINRT_SHIM(IStyleSelectorOverrides)->abi_SelectStyleCore(get_abi(item), get_abi(container), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::StyleSelector impl_IStyleSelectorFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::StyleSelector instance { nullptr }; + check_hresult(WINRT_SHIM(IStyleSelectorFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_ITextBoxTextChangingEventArgs2::IsContentChanging() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBoxTextChangingEventArgs2)->get_IsContentChanging(&value)); + return value; +} + +template int32_t impl_ITextCompositionChangedEventArgs::StartIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextCompositionChangedEventArgs)->get_StartIndex(&value)); + return value; +} + +template int32_t impl_ITextCompositionChangedEventArgs::Length() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextCompositionChangedEventArgs)->get_Length(&value)); + return value; +} + +template int32_t impl_ITextCompositionEndedEventArgs::StartIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextCompositionEndedEventArgs)->get_StartIndex(&value)); + return value; +} + +template int32_t impl_ITextCompositionEndedEventArgs::Length() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextCompositionEndedEventArgs)->get_Length(&value)); + return value; +} + +template int32_t impl_ITextCompositionStartedEventArgs::StartIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextCompositionStartedEventArgs)->get_StartIndex(&value)); + return value; +} + +template int32_t impl_ITextCompositionStartedEventArgs::Length() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextCompositionStartedEventArgs)->get_Length(&value)); + return value; +} + +template bool impl_ITextControlPasteEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextControlPasteEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_ITextControlPasteEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(ITextControlPasteEventArgs)->put_Handled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipServiceStatics::PlacementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->get_PlacementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::PlacementMode impl_IToolTipServiceStatics::GetPlacement(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::Controls::Primitives::PlacementMode value {}; + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->abi_GetPlacement(get_abi(element), &value)); + return value; +} + +template void impl_IToolTipServiceStatics::SetPlacement(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Controls::Primitives::PlacementMode value) const +{ + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->abi_SetPlacement(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipServiceStatics::PlacementTargetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->get_PlacementTargetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::UIElement impl_IToolTipServiceStatics::GetPlacementTarget(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->abi_GetPlacementTarget(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IToolTipServiceStatics::SetPlacementTarget(const Windows::UI::Xaml::DependencyObject & element, const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->abi_SetPlacementTarget(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipServiceStatics::ToolTipProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->get_ToolTipProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IToolTipServiceStatics::GetToolTip(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->abi_GetToolTip(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IToolTipServiceStatics::SetToolTip(const Windows::UI::Xaml::DependencyObject & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IToolTipServiceStatics)->abi_SetToolTip(get_abi(element), get_abi(value))); +} + +template void impl_IUIElementCollection::Move(uint32_t oldIndex, uint32_t newIndex) const +{ + check_hresult(WINRT_SHIM(IUIElementCollection)->abi_Move(oldIndex, newIndex)); +} + +template Windows::Foundation::IInspectable impl_ICleanUpVirtualizedItemEventArgs::Value() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ICleanUpVirtualizedItemEventArgs)->get_Value(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::UIElement impl_ICleanUpVirtualizedItemEventArgs::UIElement() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(ICleanUpVirtualizedItemEventArgs)->get_UIElement(put_abi(value))); + return value; +} + +template bool impl_ICleanUpVirtualizedItemEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICleanUpVirtualizedItemEventArgs)->get_Cancel(&value)); + return value; +} + +template void impl_ICleanUpVirtualizedItemEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(ICleanUpVirtualizedItemEventArgs)->put_Cancel(value)); +} + +template Windows::UI::Xaml::GridLength impl_IColumnDefinition::Width() const +{ + Windows::UI::Xaml::GridLength value {}; + check_hresult(WINRT_SHIM(IColumnDefinition)->get_Width(put_abi(value))); + return value; +} + +template void impl_IColumnDefinition::Width(const Windows::UI::Xaml::GridLength & value) const +{ + check_hresult(WINRT_SHIM(IColumnDefinition)->put_Width(get_abi(value))); +} + +template double impl_IColumnDefinition::MaxWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IColumnDefinition)->get_MaxWidth(&value)); + return value; +} + +template void impl_IColumnDefinition::MaxWidth(double value) const +{ + check_hresult(WINRT_SHIM(IColumnDefinition)->put_MaxWidth(value)); +} + +template double impl_IColumnDefinition::MinWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IColumnDefinition)->get_MinWidth(&value)); + return value; +} + +template void impl_IColumnDefinition::MinWidth(double value) const +{ + check_hresult(WINRT_SHIM(IColumnDefinition)->put_MinWidth(value)); +} + +template double impl_IColumnDefinition::ActualWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IColumnDefinition)->get_ActualWidth(&value)); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IColumnDefinitionStatics::WidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IColumnDefinitionStatics)->get_WidthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IColumnDefinitionStatics::MaxWidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IColumnDefinitionStatics)->get_MaxWidthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IColumnDefinitionStatics::MinWidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IColumnDefinitionStatics)->get_MinWidthProperty(put_abi(value))); + return value; +} + +template bool impl_IContextMenuEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContextMenuEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IContextMenuEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IContextMenuEventArgs)->put_Handled(value)); +} + +template double impl_IContextMenuEventArgs::CursorLeft() const +{ + double value {}; + check_hresult(WINRT_SHIM(IContextMenuEventArgs)->get_CursorLeft(&value)); + return value; +} + +template double impl_IContextMenuEventArgs::CursorTop() const +{ + double value {}; + check_hresult(WINRT_SHIM(IContextMenuEventArgs)->get_CursorTop(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IItemClickEventArgs::ClickedItem() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IItemClickEventArgs)->get_ClickedItem(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::GridLength impl_IRowDefinition::Height() const +{ + Windows::UI::Xaml::GridLength value {}; + check_hresult(WINRT_SHIM(IRowDefinition)->get_Height(put_abi(value))); + return value; +} + +template void impl_IRowDefinition::Height(const Windows::UI::Xaml::GridLength & value) const +{ + check_hresult(WINRT_SHIM(IRowDefinition)->put_Height(get_abi(value))); +} + +template double impl_IRowDefinition::MaxHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRowDefinition)->get_MaxHeight(&value)); + return value; +} + +template void impl_IRowDefinition::MaxHeight(double value) const +{ + check_hresult(WINRT_SHIM(IRowDefinition)->put_MaxHeight(value)); +} + +template double impl_IRowDefinition::MinHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRowDefinition)->get_MinHeight(&value)); + return value; +} + +template void impl_IRowDefinition::MinHeight(double value) const +{ + check_hresult(WINRT_SHIM(IRowDefinition)->put_MinHeight(value)); +} + +template double impl_IRowDefinition::ActualHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRowDefinition)->get_ActualHeight(&value)); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRowDefinitionStatics::HeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRowDefinitionStatics)->get_HeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRowDefinitionStatics::MaxHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRowDefinitionStatics)->get_MaxHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRowDefinitionStatics::MinHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRowDefinitionStatics)->get_MinHeightProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISelectionChangedEventArgs::AddedItems() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISelectionChangedEventArgs)->get_AddedItems(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISelectionChangedEventArgs::RemovedItems() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISelectionChangedEventArgs)->get_RemovedItems(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::SelectionChangedEventArgs impl_ISelectionChangedEventArgsFactory::CreateInstanceWithRemovedItemsAndAddedItems(const Windows::Foundation::Collections::IVector & removedItems, const Windows::Foundation::Collections::IVector & addedItems, const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::SelectionChangedEventArgs instance { nullptr }; + check_hresult(WINRT_SHIM(ISelectionChangedEventArgsFactory)->abi_CreateInstanceWithRemovedItemsAndAddedItems(get_abi(removedItems), get_abi(addedItems), get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Media::Brush impl_IBorder::BorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IBorder)->get_BorderBrush(put_abi(value))); + return value; +} + +template void impl_IBorder::BorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IBorder)->put_BorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IBorder::BorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IBorder)->get_BorderThickness(put_abi(value))); + return value; +} + +template void impl_IBorder::BorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IBorder)->put_BorderThickness(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IBorder::Background() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IBorder)->get_Background(put_abi(value))); + return value; +} + +template void impl_IBorder::Background(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IBorder)->put_Background(get_abi(value))); +} + +template Windows::UI::Xaml::CornerRadius impl_IBorder::CornerRadius() const +{ + Windows::UI::Xaml::CornerRadius value {}; + check_hresult(WINRT_SHIM(IBorder)->get_CornerRadius(put_abi(value))); + return value; +} + +template void impl_IBorder::CornerRadius(const Windows::UI::Xaml::CornerRadius & value) const +{ + check_hresult(WINRT_SHIM(IBorder)->put_CornerRadius(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IBorder::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IBorder)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IBorder::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IBorder)->put_Padding(get_abi(value))); +} + +template Windows::UI::Xaml::UIElement impl_IBorder::Child() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IBorder)->get_Child(put_abi(value))); + return value; +} + +template void impl_IBorder::Child(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IBorder)->put_Child(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IBorder::ChildTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IBorder)->get_ChildTransitions(put_abi(value))); + return value; +} + +template void impl_IBorder::ChildTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IBorder)->put_ChildTransitions(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IBorderStatics::BorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBorderStatics)->get_BorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IBorderStatics::BorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBorderStatics)->get_BorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IBorderStatics::BackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBorderStatics)->get_BackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IBorderStatics::CornerRadiusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBorderStatics)->get_CornerRadiusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IBorderStatics::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBorderStatics)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IBorderStatics::ChildTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBorderStatics)->get_ChildTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::Media::Capture::MediaCapture impl_ICaptureElement::Source() const +{ + Windows::Media::Capture::MediaCapture value { nullptr }; + check_hresult(WINRT_SHIM(ICaptureElement)->get_Source(put_abi(value))); + return value; +} + +template void impl_ICaptureElement::Source(const Windows::Media::Capture::MediaCapture & value) const +{ + check_hresult(WINRT_SHIM(ICaptureElement)->put_Source(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Stretch impl_ICaptureElement::Stretch() const +{ + Windows::UI::Xaml::Media::Stretch value {}; + check_hresult(WINRT_SHIM(ICaptureElement)->get_Stretch(&value)); + return value; +} + +template void impl_ICaptureElement::Stretch(Windows::UI::Xaml::Media::Stretch value) const +{ + check_hresult(WINRT_SHIM(ICaptureElement)->put_Stretch(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ICaptureElementStatics::SourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICaptureElementStatics)->get_SourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICaptureElementStatics::StretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICaptureElementStatics)->get_StretchProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IContentPresenter::Content() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IContentPresenter)->get_Content(put_abi(value))); + return value; +} + +template void impl_IContentPresenter::Content(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_Content(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IContentPresenter::ContentTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenter)->get_ContentTemplate(put_abi(value))); + return value; +} + +template void impl_IContentPresenter::ContentTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_ContentTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::DataTemplateSelector impl_IContentPresenter::ContentTemplateSelector() const +{ + Windows::UI::Xaml::Controls::DataTemplateSelector value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenter)->get_ContentTemplateSelector(put_abi(value))); + return value; +} + +template void impl_IContentPresenter::ContentTemplateSelector(const Windows::UI::Xaml::Controls::DataTemplateSelector & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_ContentTemplateSelector(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IContentPresenter::ContentTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenter)->get_ContentTransitions(put_abi(value))); + return value; +} + +template void impl_IContentPresenter::ContentTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_ContentTransitions(get_abi(value))); +} + +template double impl_IContentPresenter::FontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IContentPresenter)->get_FontSize(&value)); + return value; +} + +template void impl_IContentPresenter::FontSize(double value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_FontSize(value)); +} + +template Windows::UI::Xaml::Media::FontFamily impl_IContentPresenter::FontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenter)->get_FontFamily(put_abi(value))); + return value; +} + +template void impl_IContentPresenter::FontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_FontFamily(get_abi(value))); +} + +template Windows::UI::Text::FontWeight impl_IContentPresenter::FontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IContentPresenter)->get_FontWeight(put_abi(value))); + return value; +} + +template void impl_IContentPresenter::FontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_FontWeight(get_abi(value))); +} + +template Windows::UI::Text::FontStyle impl_IContentPresenter::FontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(IContentPresenter)->get_FontStyle(&value)); + return value; +} + +template void impl_IContentPresenter::FontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_FontStyle(value)); +} + +template Windows::UI::Text::FontStretch impl_IContentPresenter::FontStretch() const +{ + Windows::UI::Text::FontStretch value {}; + check_hresult(WINRT_SHIM(IContentPresenter)->get_FontStretch(&value)); + return value; +} + +template void impl_IContentPresenter::FontStretch(Windows::UI::Text::FontStretch value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_FontStretch(value)); +} + +template int32_t impl_IContentPresenter::CharacterSpacing() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IContentPresenter)->get_CharacterSpacing(&value)); + return value; +} + +template void impl_IContentPresenter::CharacterSpacing(int32_t value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_CharacterSpacing(value)); +} + +template Windows::UI::Xaml::Media::Brush impl_IContentPresenter::Foreground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenter)->get_Foreground(put_abi(value))); + return value; +} + +template void impl_IContentPresenter::Foreground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter)->put_Foreground(get_abi(value))); +} + +template void impl_IContentPresenterOverrides::OnContentTemplateChanged(const Windows::UI::Xaml::DataTemplate & oldContentTemplate, const Windows::UI::Xaml::DataTemplate & newContentTemplate) const +{ + check_hresult(WINRT_SHIM(IContentPresenterOverrides)->abi_OnContentTemplateChanged(get_abi(oldContentTemplate), get_abi(newContentTemplate))); +} + +template void impl_IContentPresenterOverrides::OnContentTemplateSelectorChanged(const Windows::UI::Xaml::Controls::DataTemplateSelector & oldContentTemplateSelector, const Windows::UI::Xaml::Controls::DataTemplateSelector & newContentTemplateSelector) const +{ + check_hresult(WINRT_SHIM(IContentPresenterOverrides)->abi_OnContentTemplateSelectorChanged(get_abi(oldContentTemplateSelector), get_abi(newContentTemplateSelector))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::ContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_ContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::ContentTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_ContentTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::ContentTemplateSelectorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_ContentTemplateSelectorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::ContentTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_ContentTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::FontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_FontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::FontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_FontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::FontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_FontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::FontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_FontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::FontStretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_FontStretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::CharacterSpacingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_CharacterSpacingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics::ForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics)->get_ForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ContentPresenter impl_IContentPresenterFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ContentPresenter instance { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::OpticalMarginAlignment impl_IContentPresenter2::OpticalMarginAlignment() const +{ + Windows::UI::Xaml::OpticalMarginAlignment value {}; + check_hresult(WINRT_SHIM(IContentPresenter2)->get_OpticalMarginAlignment(&value)); + return value; +} + +template void impl_IContentPresenter2::OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter2)->put_OpticalMarginAlignment(value)); +} + +template Windows::UI::Xaml::TextLineBounds impl_IContentPresenter2::TextLineBounds() const +{ + Windows::UI::Xaml::TextLineBounds value {}; + check_hresult(WINRT_SHIM(IContentPresenter2)->get_TextLineBounds(&value)); + return value; +} + +template void impl_IContentPresenter2::TextLineBounds(Windows::UI::Xaml::TextLineBounds value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter2)->put_TextLineBounds(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics2::OpticalMarginAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics2)->get_OpticalMarginAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics2::TextLineBoundsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics2)->get_TextLineBoundsProperty(put_abi(value))); + return value; +} + +template bool impl_IContentPresenter3::IsTextScaleFactorEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContentPresenter3)->get_IsTextScaleFactorEnabled(&value)); + return value; +} + +template void impl_IContentPresenter3::IsTextScaleFactorEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter3)->put_IsTextScaleFactorEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics3::IsTextScaleFactorEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics3)->get_IsTextScaleFactorEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::TextWrapping impl_IContentPresenter4::TextWrapping() const +{ + Windows::UI::Xaml::TextWrapping value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_TextWrapping(&value)); + return value; +} + +template void impl_IContentPresenter4::TextWrapping(Windows::UI::Xaml::TextWrapping value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_TextWrapping(value)); +} + +template int32_t impl_IContentPresenter4::MaxLines() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_MaxLines(&value)); + return value; +} + +template void impl_IContentPresenter4::MaxLines(int32_t value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_MaxLines(value)); +} + +template Windows::UI::Xaml::LineStackingStrategy impl_IContentPresenter4::LineStackingStrategy() const +{ + Windows::UI::Xaml::LineStackingStrategy value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_LineStackingStrategy(&value)); + return value; +} + +template void impl_IContentPresenter4::LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_LineStackingStrategy(value)); +} + +template double impl_IContentPresenter4::LineHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_LineHeight(&value)); + return value; +} + +template void impl_IContentPresenter4::LineHeight(double value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_LineHeight(value)); +} + +template Windows::UI::Xaml::Media::Brush impl_IContentPresenter4::BorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_BorderBrush(put_abi(value))); + return value; +} + +template void impl_IContentPresenter4::BorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_BorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IContentPresenter4::BorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_BorderThickness(put_abi(value))); + return value; +} + +template void impl_IContentPresenter4::BorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_BorderThickness(get_abi(value))); +} + +template Windows::UI::Xaml::CornerRadius impl_IContentPresenter4::CornerRadius() const +{ + Windows::UI::Xaml::CornerRadius value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_CornerRadius(put_abi(value))); + return value; +} + +template void impl_IContentPresenter4::CornerRadius(const Windows::UI::Xaml::CornerRadius & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_CornerRadius(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IContentPresenter4::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IContentPresenter4::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_Padding(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_IContentPresenter4::Background() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_Background(put_abi(value))); + return value; +} + +template void impl_IContentPresenter4::Background(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_Background(get_abi(value))); +} + +template Windows::UI::Xaml::HorizontalAlignment impl_IContentPresenter4::HorizontalContentAlignment() const +{ + Windows::UI::Xaml::HorizontalAlignment value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_HorizontalContentAlignment(&value)); + return value; +} + +template void impl_IContentPresenter4::HorizontalContentAlignment(Windows::UI::Xaml::HorizontalAlignment value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_HorizontalContentAlignment(value)); +} + +template Windows::UI::Xaml::VerticalAlignment impl_IContentPresenter4::VerticalContentAlignment() const +{ + Windows::UI::Xaml::VerticalAlignment value {}; + check_hresult(WINRT_SHIM(IContentPresenter4)->get_VerticalContentAlignment(&value)); + return value; +} + +template void impl_IContentPresenter4::VerticalContentAlignment(Windows::UI::Xaml::VerticalAlignment value) const +{ + check_hresult(WINRT_SHIM(IContentPresenter4)->put_VerticalContentAlignment(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::TextWrappingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_TextWrappingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::MaxLinesProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_MaxLinesProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::LineStackingStrategyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_LineStackingStrategyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::LineHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_LineHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::BorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_BorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::BorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_BorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::CornerRadiusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_CornerRadiusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::BackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_BackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::HorizontalContentAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_HorizontalContentAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentPresenterStatics4::VerticalContentAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentPresenterStatics4)->get_VerticalContentAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::ImageSource impl_IImage::Source() const +{ + Windows::UI::Xaml::Media::ImageSource value { nullptr }; + check_hresult(WINRT_SHIM(IImage)->get_Source(put_abi(value))); + return value; +} + +template void impl_IImage::Source(const Windows::UI::Xaml::Media::ImageSource & value) const +{ + check_hresult(WINRT_SHIM(IImage)->put_Source(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Stretch impl_IImage::Stretch() const +{ + Windows::UI::Xaml::Media::Stretch value {}; + check_hresult(WINRT_SHIM(IImage)->get_Stretch(&value)); + return value; +} + +template void impl_IImage::Stretch(Windows::UI::Xaml::Media::Stretch value) const +{ + check_hresult(WINRT_SHIM(IImage)->put_Stretch(value)); +} + +template Windows::UI::Xaml::Thickness impl_IImage::NineGrid() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IImage)->get_NineGrid(put_abi(value))); + return value; +} + +template void impl_IImage::NineGrid(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IImage)->put_NineGrid(get_abi(value))); +} + +template Windows::Media::PlayTo::PlayToSource impl_IImage::PlayToSource() const +{ + Windows::Media::PlayTo::PlayToSource value { nullptr }; + check_hresult(WINRT_SHIM(IImage)->get_PlayToSource(put_abi(value))); + return value; +} + +template event_token impl_IImage::ImageFailed(const Windows::UI::Xaml::ExceptionRoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IImage)->add_ImageFailed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IImage::ImageFailed(auto_revoke_t, const Windows::UI::Xaml::ExceptionRoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IImage::remove_ImageFailed, ImageFailed(value)); +} + +template void impl_IImage::ImageFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IImage)->remove_ImageFailed(token)); +} + +template event_token impl_IImage::ImageOpened(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IImage)->add_ImageOpened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IImage::ImageOpened(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IImage::remove_ImageOpened, ImageOpened(value)); +} + +template void impl_IImage::ImageOpened(event_token token) const +{ + check_hresult(WINRT_SHIM(IImage)->remove_ImageOpened(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IImageStatics::SourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IImageStatics)->get_SourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IImageStatics::StretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IImageStatics)->get_StretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IImageStatics::NineGridProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IImageStatics)->get_NineGridProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IImageStatics::PlayToSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IImageStatics)->get_PlayToSourceProperty(put_abi(value))); + return value; +} + +template Windows::Media::Casting::CastingSource impl_IImage2::GetAsCastingSource() const +{ + Windows::Media::Casting::CastingSource returnValue { nullptr }; + check_hresult(WINRT_SHIM(IImage2)->abi_GetAsCastingSource(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Composition::CompositionBrush impl_IImage3::GetAlphaMask() const +{ + Windows::UI::Composition::CompositionBrush returnValue { nullptr }; + check_hresult(WINRT_SHIM(IImage3)->abi_GetAlphaMask(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IInspectable impl_IItemsPresenter::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IItemsPresenter)->get_Header(put_abi(value))); + return value; +} + +template void impl_IItemsPresenter::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IItemsPresenter)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IItemsPresenter::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenter)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IItemsPresenter::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IItemsPresenter)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IItemsPresenter::HeaderTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenter)->get_HeaderTransitions(put_abi(value))); + return value; +} + +template void impl_IItemsPresenter::HeaderTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IItemsPresenter)->put_HeaderTransitions(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IItemsPresenter::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IItemsPresenter)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IItemsPresenter::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IItemsPresenter)->put_Padding(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsPresenterStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenterStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsPresenterStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenterStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsPresenterStatics::HeaderTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenterStatics)->get_HeaderTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsPresenterStatics::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenterStatics)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IItemsPresenter2::Footer() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IItemsPresenter2)->get_Footer(put_abi(value))); + return value; +} + +template void impl_IItemsPresenter2::Footer(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IItemsPresenter2)->put_Footer(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IItemsPresenter2::FooterTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenter2)->get_FooterTemplate(put_abi(value))); + return value; +} + +template void impl_IItemsPresenter2::FooterTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IItemsPresenter2)->put_FooterTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IItemsPresenter2::FooterTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenter2)->get_FooterTransitions(put_abi(value))); + return value; +} + +template void impl_IItemsPresenter2::FooterTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IItemsPresenter2)->put_FooterTransitions(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsPresenterStatics2::FooterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenterStatics2)->get_FooterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsPresenterStatics2::FooterTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenterStatics2)->get_FooterTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsPresenterStatics2::FooterTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsPresenterStatics2)->get_FooterTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::UIElementCollection impl_IPanel::Children() const +{ + Windows::UI::Xaml::Controls::UIElementCollection value { nullptr }; + check_hresult(WINRT_SHIM(IPanel)->get_Children(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_IPanel::Background() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IPanel)->get_Background(put_abi(value))); + return value; +} + +template void impl_IPanel::Background(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IPanel)->put_Background(get_abi(value))); +} + +template bool impl_IPanel::IsItemsHost() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPanel)->get_IsItemsHost(&value)); + return value; +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IPanel::ChildrenTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IPanel)->get_ChildrenTransitions(put_abi(value))); + return value; +} + +template void impl_IPanel::ChildrenTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IPanel)->put_ChildrenTransitions(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IPanelStatics::BackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPanelStatics)->get_BackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPanelStatics::IsItemsHostProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPanelStatics)->get_IsItemsHostProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPanelStatics::ChildrenTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPanelStatics)->get_ChildrenTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Panel impl_IPanelFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Panel instance { nullptr }; + check_hresult(WINRT_SHIM(IPanelFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template double impl_IRichTextBlock::FontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_FontSize(&value)); + return value; +} + +template void impl_IRichTextBlock::FontSize(double value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_FontSize(value)); +} + +template Windows::UI::Xaml::Media::FontFamily impl_IRichTextBlock::FontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_FontFamily(put_abi(value))); + return value; +} + +template void impl_IRichTextBlock::FontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_FontFamily(get_abi(value))); +} + +template Windows::UI::Text::FontWeight impl_IRichTextBlock::FontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_FontWeight(put_abi(value))); + return value; +} + +template void impl_IRichTextBlock::FontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_FontWeight(get_abi(value))); +} + +template Windows::UI::Text::FontStyle impl_IRichTextBlock::FontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_FontStyle(&value)); + return value; +} + +template void impl_IRichTextBlock::FontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_FontStyle(value)); +} + +template Windows::UI::Text::FontStretch impl_IRichTextBlock::FontStretch() const +{ + Windows::UI::Text::FontStretch value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_FontStretch(&value)); + return value; +} + +template void impl_IRichTextBlock::FontStretch(Windows::UI::Text::FontStretch value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_FontStretch(value)); +} + +template Windows::UI::Xaml::Media::Brush impl_IRichTextBlock::Foreground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_Foreground(put_abi(value))); + return value; +} + +template void impl_IRichTextBlock::Foreground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_Foreground(get_abi(value))); +} + +template Windows::UI::Xaml::TextWrapping impl_IRichTextBlock::TextWrapping() const +{ + Windows::UI::Xaml::TextWrapping value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_TextWrapping(&value)); + return value; +} + +template void impl_IRichTextBlock::TextWrapping(Windows::UI::Xaml::TextWrapping value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_TextWrapping(value)); +} + +template Windows::UI::Xaml::TextTrimming impl_IRichTextBlock::TextTrimming() const +{ + Windows::UI::Xaml::TextTrimming value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_TextTrimming(&value)); + return value; +} + +template void impl_IRichTextBlock::TextTrimming(Windows::UI::Xaml::TextTrimming value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_TextTrimming(value)); +} + +template Windows::UI::Xaml::TextAlignment impl_IRichTextBlock::TextAlignment() const +{ + Windows::UI::Xaml::TextAlignment value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_TextAlignment(&value)); + return value; +} + +template void impl_IRichTextBlock::TextAlignment(Windows::UI::Xaml::TextAlignment value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_TextAlignment(value)); +} + +template Windows::UI::Xaml::Documents::BlockCollection impl_IRichTextBlock::Blocks() const +{ + Windows::UI::Xaml::Documents::BlockCollection value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_Blocks(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Thickness impl_IRichTextBlock::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IRichTextBlock::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_Padding(get_abi(value))); +} + +template double impl_IRichTextBlock::LineHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_LineHeight(&value)); + return value; +} + +template void impl_IRichTextBlock::LineHeight(double value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_LineHeight(value)); +} + +template Windows::UI::Xaml::LineStackingStrategy impl_IRichTextBlock::LineStackingStrategy() const +{ + Windows::UI::Xaml::LineStackingStrategy value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_LineStackingStrategy(&value)); + return value; +} + +template void impl_IRichTextBlock::LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_LineStackingStrategy(value)); +} + +template int32_t impl_IRichTextBlock::CharacterSpacing() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_CharacterSpacing(&value)); + return value; +} + +template void impl_IRichTextBlock::CharacterSpacing(int32_t value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_CharacterSpacing(value)); +} + +template Windows::UI::Xaml::Controls::RichTextBlockOverflow impl_IRichTextBlock::OverflowContentTarget() const +{ + Windows::UI::Xaml::Controls::RichTextBlockOverflow value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_OverflowContentTarget(put_abi(value))); + return value; +} + +template void impl_IRichTextBlock::OverflowContentTarget(const Windows::UI::Xaml::Controls::RichTextBlockOverflow & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_OverflowContentTarget(get_abi(value))); +} + +template bool impl_IRichTextBlock::IsTextSelectionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_IsTextSelectionEnabled(&value)); + return value; +} + +template void impl_IRichTextBlock::IsTextSelectionEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_IsTextSelectionEnabled(value)); +} + +template bool impl_IRichTextBlock::HasOverflowContent() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_HasOverflowContent(&value)); + return value; +} + +template hstring impl_IRichTextBlock::SelectedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_SelectedText(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlock::ContentStart() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_ContentStart(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlock::ContentEnd() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_ContentEnd(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlock::SelectionStart() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_SelectionStart(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlock::SelectionEnd() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_SelectionEnd(put_abi(value))); + return value; +} + +template double impl_IRichTextBlock::BaselineOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_BaselineOffset(&value)); + return value; +} + +template event_token impl_IRichTextBlock::SelectionChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->add_SelectionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichTextBlock::SelectionChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichTextBlock::remove_SelectionChanged, SelectionChanged(value)); +} + +template void impl_IRichTextBlock::SelectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->remove_SelectionChanged(token)); +} + +template event_token impl_IRichTextBlock::ContextMenuOpening(const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->add_ContextMenuOpening(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichTextBlock::ContextMenuOpening(auto_revoke_t, const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichTextBlock::remove_ContextMenuOpening, ContextMenuOpening(value)); +} + +template void impl_IRichTextBlock::ContextMenuOpening(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->remove_ContextMenuOpening(token)); +} + +template void impl_IRichTextBlock::SelectAll() const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->abi_SelectAll()); +} + +template void impl_IRichTextBlock::Select(const Windows::UI::Xaml::Documents::TextPointer & start, const Windows::UI::Xaml::Documents::TextPointer & end) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->abi_Select(get_abi(start), get_abi(end))); +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlock::GetPositionFromPoint(const Windows::Foundation::Point & point) const +{ + Windows::UI::Xaml::Documents::TextPointer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock)->abi_GetPositionFromPoint(get_abi(point), put_abi(returnValue))); + return returnValue; +} + +template bool impl_IRichTextBlock::Focus(Windows::UI::Xaml::FocusState value) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->abi_Focus(value, &returnValue)); + return returnValue; +} + +template double impl_IRichTextBlock::TextIndent() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRichTextBlock)->get_TextIndent(&value)); + return value; +} + +template void impl_IRichTextBlock::TextIndent(double value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock)->put_TextIndent(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::FontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_FontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::FontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_FontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::FontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_FontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::FontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_FontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::FontStretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_FontStretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::ForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_ForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::TextWrappingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_TextWrappingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::TextTrimmingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_TextTrimmingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::TextAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_TextAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::LineHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_LineHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::LineStackingStrategyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_LineStackingStrategyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::CharacterSpacingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_CharacterSpacingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::OverflowContentTargetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_OverflowContentTargetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::IsTextSelectionEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_IsTextSelectionEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::HasOverflowContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_HasOverflowContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::SelectedTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_SelectedTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics::TextIndentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics)->get_TextIndentProperty(put_abi(value))); + return value; +} + +template int32_t impl_IRichTextBlock2::MaxLines() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRichTextBlock2)->get_MaxLines(&value)); + return value; +} + +template void impl_IRichTextBlock2::MaxLines(int32_t value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock2)->put_MaxLines(value)); +} + +template Windows::UI::Xaml::TextLineBounds impl_IRichTextBlock2::TextLineBounds() const +{ + Windows::UI::Xaml::TextLineBounds value {}; + check_hresult(WINRT_SHIM(IRichTextBlock2)->get_TextLineBounds(&value)); + return value; +} + +template void impl_IRichTextBlock2::TextLineBounds(Windows::UI::Xaml::TextLineBounds value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock2)->put_TextLineBounds(value)); +} + +template Windows::UI::Xaml::Media::SolidColorBrush impl_IRichTextBlock2::SelectionHighlightColor() const +{ + Windows::UI::Xaml::Media::SolidColorBrush value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlock2)->get_SelectionHighlightColor(put_abi(value))); + return value; +} + +template void impl_IRichTextBlock2::SelectionHighlightColor(const Windows::UI::Xaml::Media::SolidColorBrush & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock2)->put_SelectionHighlightColor(get_abi(value))); +} + +template Windows::UI::Xaml::OpticalMarginAlignment impl_IRichTextBlock2::OpticalMarginAlignment() const +{ + Windows::UI::Xaml::OpticalMarginAlignment value {}; + check_hresult(WINRT_SHIM(IRichTextBlock2)->get_OpticalMarginAlignment(&value)); + return value; +} + +template void impl_IRichTextBlock2::OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock2)->put_OpticalMarginAlignment(value)); +} + +template bool impl_IRichTextBlock2::IsColorFontEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichTextBlock2)->get_IsColorFontEnabled(&value)); + return value; +} + +template void impl_IRichTextBlock2::IsColorFontEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock2)->put_IsColorFontEnabled(value)); +} + +template Windows::UI::Xaml::TextReadingOrder impl_IRichTextBlock2::TextReadingOrder() const +{ + Windows::UI::Xaml::TextReadingOrder value {}; + check_hresult(WINRT_SHIM(IRichTextBlock2)->get_TextReadingOrder(&value)); + return value; +} + +template void impl_IRichTextBlock2::TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock2)->put_TextReadingOrder(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics2::MaxLinesProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics2)->get_MaxLinesProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics2::TextLineBoundsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics2)->get_TextLineBoundsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics2::SelectionHighlightColorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics2)->get_SelectionHighlightColorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics2::OpticalMarginAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics2)->get_OpticalMarginAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics2::IsColorFontEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics2)->get_IsColorFontEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics2::TextReadingOrderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics2)->get_TextReadingOrderProperty(put_abi(value))); + return value; +} + +template bool impl_IRichTextBlock3::IsTextScaleFactorEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichTextBlock3)->get_IsTextScaleFactorEnabled(&value)); + return value; +} + +template void impl_IRichTextBlock3::IsTextScaleFactorEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock3)->put_IsTextScaleFactorEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics3::IsTextScaleFactorEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics3)->get_IsTextScaleFactorEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Text::TextDecorations impl_IRichTextBlock4::TextDecorations() const +{ + Windows::UI::Text::TextDecorations value {}; + check_hresult(WINRT_SHIM(IRichTextBlock4)->get_TextDecorations(&value)); + return value; +} + +template void impl_IRichTextBlock4::TextDecorations(Windows::UI::Text::TextDecorations value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlock4)->put_TextDecorations(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockStatics4::TextDecorationsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockStatics4)->get_TextDecorationsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::RichTextBlockOverflow impl_IRichTextBlockOverflow::OverflowContentTarget() const +{ + Windows::UI::Xaml::Controls::RichTextBlockOverflow value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->get_OverflowContentTarget(put_abi(value))); + return value; +} + +template void impl_IRichTextBlockOverflow::OverflowContentTarget(const Windows::UI::Xaml::Controls::RichTextBlockOverflow & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->put_OverflowContentTarget(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IRichTextBlockOverflow::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IRichTextBlockOverflow::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->put_Padding(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::RichTextBlock impl_IRichTextBlockOverflow::ContentSource() const +{ + Windows::UI::Xaml::Controls::RichTextBlock value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->get_ContentSource(put_abi(value))); + return value; +} + +template bool impl_IRichTextBlockOverflow::HasOverflowContent() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->get_HasOverflowContent(&value)); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlockOverflow::ContentStart() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->get_ContentStart(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlockOverflow::ContentEnd() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->get_ContentEnd(put_abi(value))); + return value; +} + +template double impl_IRichTextBlockOverflow::BaselineOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->get_BaselineOffset(&value)); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_IRichTextBlockOverflow::GetPositionFromPoint(const Windows::Foundation::Point & point) const +{ + Windows::UI::Xaml::Documents::TextPointer returnValue { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->abi_GetPositionFromPoint(get_abi(point), put_abi(returnValue))); + return returnValue; +} + +template bool impl_IRichTextBlockOverflow::Focus(Windows::UI::Xaml::FocusState value) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow)->abi_Focus(value, &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockOverflowStatics::OverflowContentTargetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflowStatics)->get_OverflowContentTargetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockOverflowStatics::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflowStatics)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockOverflowStatics::HasOverflowContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflowStatics)->get_HasOverflowContentProperty(put_abi(value))); + return value; +} + +template int32_t impl_IRichTextBlockOverflow2::MaxLines() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRichTextBlockOverflow2)->get_MaxLines(&value)); + return value; +} + +template void impl_IRichTextBlockOverflow2::MaxLines(int32_t value) const +{ + check_hresult(WINRT_SHIM(IRichTextBlockOverflow2)->put_MaxLines(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichTextBlockOverflowStatics2::MaxLinesProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichTextBlockOverflowStatics2)->get_MaxLinesProperty(put_abi(value))); + return value; +} + +template double impl_ITextBlock::FontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_FontSize(&value)); + return value; +} + +template void impl_ITextBlock::FontSize(double value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_FontSize(value)); +} + +template Windows::UI::Xaml::Media::FontFamily impl_ITextBlock::FontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock)->get_FontFamily(put_abi(value))); + return value; +} + +template void impl_ITextBlock::FontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_FontFamily(get_abi(value))); +} + +template Windows::UI::Text::FontWeight impl_ITextBlock::FontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_FontWeight(put_abi(value))); + return value; +} + +template void impl_ITextBlock::FontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_FontWeight(get_abi(value))); +} + +template Windows::UI::Text::FontStyle impl_ITextBlock::FontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_FontStyle(&value)); + return value; +} + +template void impl_ITextBlock::FontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_FontStyle(value)); +} + +template Windows::UI::Text::FontStretch impl_ITextBlock::FontStretch() const +{ + Windows::UI::Text::FontStretch value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_FontStretch(&value)); + return value; +} + +template void impl_ITextBlock::FontStretch(Windows::UI::Text::FontStretch value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_FontStretch(value)); +} + +template int32_t impl_ITextBlock::CharacterSpacing() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_CharacterSpacing(&value)); + return value; +} + +template void impl_ITextBlock::CharacterSpacing(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_CharacterSpacing(value)); +} + +template Windows::UI::Xaml::Media::Brush impl_ITextBlock::Foreground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock)->get_Foreground(put_abi(value))); + return value; +} + +template void impl_ITextBlock::Foreground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_Foreground(get_abi(value))); +} + +template Windows::UI::Xaml::TextWrapping impl_ITextBlock::TextWrapping() const +{ + Windows::UI::Xaml::TextWrapping value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_TextWrapping(&value)); + return value; +} + +template void impl_ITextBlock::TextWrapping(Windows::UI::Xaml::TextWrapping value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_TextWrapping(value)); +} + +template Windows::UI::Xaml::TextTrimming impl_ITextBlock::TextTrimming() const +{ + Windows::UI::Xaml::TextTrimming value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_TextTrimming(&value)); + return value; +} + +template void impl_ITextBlock::TextTrimming(Windows::UI::Xaml::TextTrimming value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_TextTrimming(value)); +} + +template Windows::UI::Xaml::TextAlignment impl_ITextBlock::TextAlignment() const +{ + Windows::UI::Xaml::TextAlignment value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_TextAlignment(&value)); + return value; +} + +template void impl_ITextBlock::TextAlignment(Windows::UI::Xaml::TextAlignment value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_TextAlignment(value)); +} + +template hstring impl_ITextBlock::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextBlock)->get_Text(put_abi(value))); + return value; +} + +template void impl_ITextBlock::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_Text(get_abi(value))); +} + +template Windows::UI::Xaml::Documents::InlineCollection impl_ITextBlock::Inlines() const +{ + Windows::UI::Xaml::Documents::InlineCollection value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock)->get_Inlines(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Thickness impl_ITextBlock::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_Padding(put_abi(value))); + return value; +} + +template void impl_ITextBlock::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_Padding(get_abi(value))); +} + +template double impl_ITextBlock::LineHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_LineHeight(&value)); + return value; +} + +template void impl_ITextBlock::LineHeight(double value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_LineHeight(value)); +} + +template Windows::UI::Xaml::LineStackingStrategy impl_ITextBlock::LineStackingStrategy() const +{ + Windows::UI::Xaml::LineStackingStrategy value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_LineStackingStrategy(&value)); + return value; +} + +template void impl_ITextBlock::LineStackingStrategy(Windows::UI::Xaml::LineStackingStrategy value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_LineStackingStrategy(value)); +} + +template bool impl_ITextBlock::IsTextSelectionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_IsTextSelectionEnabled(&value)); + return value; +} + +template void impl_ITextBlock::IsTextSelectionEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->put_IsTextSelectionEnabled(value)); +} + +template hstring impl_ITextBlock::SelectedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextBlock)->get_SelectedText(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_ITextBlock::ContentStart() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock)->get_ContentStart(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_ITextBlock::ContentEnd() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock)->get_ContentEnd(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_ITextBlock::SelectionStart() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock)->get_SelectionStart(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Documents::TextPointer impl_ITextBlock::SelectionEnd() const +{ + Windows::UI::Xaml::Documents::TextPointer value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock)->get_SelectionEnd(put_abi(value))); + return value; +} + +template double impl_ITextBlock::BaselineOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(ITextBlock)->get_BaselineOffset(&value)); + return value; +} + +template event_token impl_ITextBlock::SelectionChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBlock)->add_SelectionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBlock::SelectionChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBlock::remove_SelectionChanged, SelectionChanged(value)); +} + +template void impl_ITextBlock::SelectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->remove_SelectionChanged(token)); +} + +template event_token impl_ITextBlock::ContextMenuOpening(const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBlock)->add_ContextMenuOpening(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBlock::ContextMenuOpening(auto_revoke_t, const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBlock::remove_ContextMenuOpening, ContextMenuOpening(value)); +} + +template void impl_ITextBlock::ContextMenuOpening(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->remove_ContextMenuOpening(token)); +} + +template void impl_ITextBlock::SelectAll() const +{ + check_hresult(WINRT_SHIM(ITextBlock)->abi_SelectAll()); +} + +template void impl_ITextBlock::Select(const Windows::UI::Xaml::Documents::TextPointer & start, const Windows::UI::Xaml::Documents::TextPointer & end) const +{ + check_hresult(WINRT_SHIM(ITextBlock)->abi_Select(get_abi(start), get_abi(end))); +} + +template bool impl_ITextBlock::Focus(Windows::UI::Xaml::FocusState value) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(ITextBlock)->abi_Focus(value, &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::FontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_FontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::FontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_FontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::FontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_FontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::FontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_FontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::FontStretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_FontStretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::CharacterSpacingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_CharacterSpacingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::ForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_ForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::TextWrappingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_TextWrappingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::TextTrimmingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_TextTrimmingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::TextAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_TextAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::TextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_TextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::LineHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_LineHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::LineStackingStrategyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_LineStackingStrategyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::IsTextSelectionEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_IsTextSelectionEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics::SelectedTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics)->get_SelectedTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::SolidColorBrush impl_ITextBlock2::SelectionHighlightColor() const +{ + Windows::UI::Xaml::Media::SolidColorBrush value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock2)->get_SelectionHighlightColor(put_abi(value))); + return value; +} + +template void impl_ITextBlock2::SelectionHighlightColor(const Windows::UI::Xaml::Media::SolidColorBrush & value) const +{ + check_hresult(WINRT_SHIM(ITextBlock2)->put_SelectionHighlightColor(get_abi(value))); +} + +template int32_t impl_ITextBlock2::MaxLines() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextBlock2)->get_MaxLines(&value)); + return value; +} + +template void impl_ITextBlock2::MaxLines(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextBlock2)->put_MaxLines(value)); +} + +template Windows::UI::Xaml::TextLineBounds impl_ITextBlock2::TextLineBounds() const +{ + Windows::UI::Xaml::TextLineBounds value {}; + check_hresult(WINRT_SHIM(ITextBlock2)->get_TextLineBounds(&value)); + return value; +} + +template void impl_ITextBlock2::TextLineBounds(Windows::UI::Xaml::TextLineBounds value) const +{ + check_hresult(WINRT_SHIM(ITextBlock2)->put_TextLineBounds(value)); +} + +template Windows::UI::Xaml::OpticalMarginAlignment impl_ITextBlock2::OpticalMarginAlignment() const +{ + Windows::UI::Xaml::OpticalMarginAlignment value {}; + check_hresult(WINRT_SHIM(ITextBlock2)->get_OpticalMarginAlignment(&value)); + return value; +} + +template void impl_ITextBlock2::OpticalMarginAlignment(Windows::UI::Xaml::OpticalMarginAlignment value) const +{ + check_hresult(WINRT_SHIM(ITextBlock2)->put_OpticalMarginAlignment(value)); +} + +template bool impl_ITextBlock2::IsColorFontEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBlock2)->get_IsColorFontEnabled(&value)); + return value; +} + +template void impl_ITextBlock2::IsColorFontEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBlock2)->put_IsColorFontEnabled(value)); +} + +template Windows::UI::Xaml::TextReadingOrder impl_ITextBlock2::TextReadingOrder() const +{ + Windows::UI::Xaml::TextReadingOrder value {}; + check_hresult(WINRT_SHIM(ITextBlock2)->get_TextReadingOrder(&value)); + return value; +} + +template void impl_ITextBlock2::TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) const +{ + check_hresult(WINRT_SHIM(ITextBlock2)->put_TextReadingOrder(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics2::SelectionHighlightColorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics2)->get_SelectionHighlightColorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics2::MaxLinesProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics2)->get_MaxLinesProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics2::TextLineBoundsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics2)->get_TextLineBoundsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics2::OpticalMarginAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics2)->get_OpticalMarginAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics2::IsColorFontEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics2)->get_IsColorFontEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics2::TextReadingOrderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics2)->get_TextReadingOrderProperty(put_abi(value))); + return value; +} + +template bool impl_ITextBlock3::IsTextScaleFactorEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBlock3)->get_IsTextScaleFactorEnabled(&value)); + return value; +} + +template void impl_ITextBlock3::IsTextScaleFactorEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBlock3)->put_IsTextScaleFactorEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics3::IsTextScaleFactorEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics3)->get_IsTextScaleFactorEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Composition::CompositionBrush impl_ITextBlock4::GetAlphaMask() const +{ + Windows::UI::Composition::CompositionBrush returnValue { nullptr }; + check_hresult(WINRT_SHIM(ITextBlock4)->abi_GetAlphaMask(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Text::TextDecorations impl_ITextBlock5::TextDecorations() const +{ + Windows::UI::Text::TextDecorations value {}; + check_hresult(WINRT_SHIM(ITextBlock5)->get_TextDecorations(&value)); + return value; +} + +template void impl_ITextBlock5::TextDecorations(Windows::UI::Text::TextDecorations value) const +{ + check_hresult(WINRT_SHIM(ITextBlock5)->put_TextDecorations(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBlockStatics5::TextDecorationsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBlockStatics5)->get_TextDecorationsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::UIElement impl_IViewbox::Child() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IViewbox)->get_Child(put_abi(value))); + return value; +} + +template void impl_IViewbox::Child(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IViewbox)->put_Child(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Stretch impl_IViewbox::Stretch() const +{ + Windows::UI::Xaml::Media::Stretch value {}; + check_hresult(WINRT_SHIM(IViewbox)->get_Stretch(&value)); + return value; +} + +template void impl_IViewbox::Stretch(Windows::UI::Xaml::Media::Stretch value) const +{ + check_hresult(WINRT_SHIM(IViewbox)->put_Stretch(value)); +} + +template Windows::UI::Xaml::Controls::StretchDirection impl_IViewbox::StretchDirection() const +{ + Windows::UI::Xaml::Controls::StretchDirection value {}; + check_hresult(WINRT_SHIM(IViewbox)->get_StretchDirection(&value)); + return value; +} + +template void impl_IViewbox::StretchDirection(Windows::UI::Xaml::Controls::StretchDirection value) const +{ + check_hresult(WINRT_SHIM(IViewbox)->put_StretchDirection(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IViewboxStatics::StretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IViewboxStatics)->get_StretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IViewboxStatics::StretchDirectionProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IViewboxStatics)->get_StretchDirectionProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICanvasStatics::LeftProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICanvasStatics)->get_LeftProperty(put_abi(value))); + return value; +} + +template double impl_ICanvasStatics::GetLeft(const Windows::UI::Xaml::UIElement & element) const +{ + double length {}; + check_hresult(WINRT_SHIM(ICanvasStatics)->abi_GetLeft(get_abi(element), &length)); + return length; +} + +template void impl_ICanvasStatics::SetLeft(const Windows::UI::Xaml::UIElement & element, double length) const +{ + check_hresult(WINRT_SHIM(ICanvasStatics)->abi_SetLeft(get_abi(element), length)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ICanvasStatics::TopProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICanvasStatics)->get_TopProperty(put_abi(value))); + return value; +} + +template double impl_ICanvasStatics::GetTop(const Windows::UI::Xaml::UIElement & element) const +{ + double length {}; + check_hresult(WINRT_SHIM(ICanvasStatics)->abi_GetTop(get_abi(element), &length)); + return length; +} + +template void impl_ICanvasStatics::SetTop(const Windows::UI::Xaml::UIElement & element, double length) const +{ + check_hresult(WINRT_SHIM(ICanvasStatics)->abi_SetTop(get_abi(element), length)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ICanvasStatics::ZIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICanvasStatics)->get_ZIndexProperty(put_abi(value))); + return value; +} + +template int32_t impl_ICanvasStatics::GetZIndex(const Windows::UI::Xaml::UIElement & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICanvasStatics)->abi_GetZIndex(get_abi(element), &value)); + return value; +} + +template void impl_ICanvasStatics::SetZIndex(const Windows::UI::Xaml::UIElement & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(ICanvasStatics)->abi_SetZIndex(get_abi(element), value)); +} + +template Windows::UI::Xaml::Controls::Canvas impl_ICanvasFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Canvas instance { nullptr }; + check_hresult(WINRT_SHIM(ICanvasFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_IContentControl::Content() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IContentControl)->get_Content(put_abi(value))); + return value; +} + +template void impl_IContentControl::Content(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IContentControl)->put_Content(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IContentControl::ContentTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IContentControl)->get_ContentTemplate(put_abi(value))); + return value; +} + +template void impl_IContentControl::ContentTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IContentControl)->put_ContentTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::DataTemplateSelector impl_IContentControl::ContentTemplateSelector() const +{ + Windows::UI::Xaml::Controls::DataTemplateSelector value { nullptr }; + check_hresult(WINRT_SHIM(IContentControl)->get_ContentTemplateSelector(put_abi(value))); + return value; +} + +template void impl_IContentControl::ContentTemplateSelector(const Windows::UI::Xaml::Controls::DataTemplateSelector & value) const +{ + check_hresult(WINRT_SHIM(IContentControl)->put_ContentTemplateSelector(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IContentControl::ContentTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IContentControl)->get_ContentTransitions(put_abi(value))); + return value; +} + +template void impl_IContentControl::ContentTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IContentControl)->put_ContentTransitions(get_abi(value))); +} + +template void impl_IContentControlOverrides::OnContentChanged(const Windows::Foundation::IInspectable & oldContent, const Windows::Foundation::IInspectable & newContent) const +{ + check_hresult(WINRT_SHIM(IContentControlOverrides)->abi_OnContentChanged(get_abi(oldContent), get_abi(newContent))); +} + +template void impl_IContentControlOverrides::OnContentTemplateChanged(const Windows::UI::Xaml::DataTemplate & oldContentTemplate, const Windows::UI::Xaml::DataTemplate & newContentTemplate) const +{ + check_hresult(WINRT_SHIM(IContentControlOverrides)->abi_OnContentTemplateChanged(get_abi(oldContentTemplate), get_abi(newContentTemplate))); +} + +template void impl_IContentControlOverrides::OnContentTemplateSelectorChanged(const Windows::UI::Xaml::Controls::DataTemplateSelector & oldContentTemplateSelector, const Windows::UI::Xaml::Controls::DataTemplateSelector & newContentTemplateSelector) const +{ + check_hresult(WINRT_SHIM(IContentControlOverrides)->abi_OnContentTemplateSelectorChanged(get_abi(oldContentTemplateSelector), get_abi(newContentTemplateSelector))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentControlStatics::ContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentControlStatics)->get_ContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentControlStatics::ContentTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentControlStatics)->get_ContentTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentControlStatics::ContentTemplateSelectorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentControlStatics)->get_ContentTemplateSelectorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentControlStatics::ContentTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentControlStatics)->get_ContentTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ContentControl impl_IContentControlFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ContentControl instance { nullptr }; + check_hresult(WINRT_SHIM(IContentControlFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::UIElement impl_IContentControl2::ContentTemplateRoot() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IContentControl2)->get_ContentTemplateRoot(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::RowDefinitionCollection impl_IGrid::RowDefinitions() const +{ + Windows::UI::Xaml::Controls::RowDefinitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IGrid)->get_RowDefinitions(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ColumnDefinitionCollection impl_IGrid::ColumnDefinitions() const +{ + Windows::UI::Xaml::Controls::ColumnDefinitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IGrid)->get_ColumnDefinitions(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics::RowProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics)->get_RowProperty(put_abi(value))); + return value; +} + +template int32_t impl_IGridStatics::GetRow(const Windows::UI::Xaml::FrameworkElement & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridStatics)->abi_GetRow(get_abi(element), &value)); + return value; +} + +template void impl_IGridStatics::SetRow(const Windows::UI::Xaml::FrameworkElement & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IGridStatics)->abi_SetRow(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics::ColumnProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics)->get_ColumnProperty(put_abi(value))); + return value; +} + +template int32_t impl_IGridStatics::GetColumn(const Windows::UI::Xaml::FrameworkElement & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridStatics)->abi_GetColumn(get_abi(element), &value)); + return value; +} + +template void impl_IGridStatics::SetColumn(const Windows::UI::Xaml::FrameworkElement & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IGridStatics)->abi_SetColumn(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics::RowSpanProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics)->get_RowSpanProperty(put_abi(value))); + return value; +} + +template int32_t impl_IGridStatics::GetRowSpan(const Windows::UI::Xaml::FrameworkElement & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridStatics)->abi_GetRowSpan(get_abi(element), &value)); + return value; +} + +template void impl_IGridStatics::SetRowSpan(const Windows::UI::Xaml::FrameworkElement & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IGridStatics)->abi_SetRowSpan(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics::ColumnSpanProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics)->get_ColumnSpanProperty(put_abi(value))); + return value; +} + +template int32_t impl_IGridStatics::GetColumnSpan(const Windows::UI::Xaml::FrameworkElement & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IGridStatics)->abi_GetColumnSpan(get_abi(element), &value)); + return value; +} + +template void impl_IGridStatics::SetColumnSpan(const Windows::UI::Xaml::FrameworkElement & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IGridStatics)->abi_SetColumnSpan(get_abi(element), value)); +} + +template Windows::UI::Xaml::Controls::Grid impl_IGridFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Grid instance { nullptr }; + check_hresult(WINRT_SHIM(IGridFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Media::Brush impl_IGrid2::BorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IGrid2)->get_BorderBrush(put_abi(value))); + return value; +} + +template void impl_IGrid2::BorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IGrid2)->put_BorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IGrid2::BorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IGrid2)->get_BorderThickness(put_abi(value))); + return value; +} + +template void impl_IGrid2::BorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IGrid2)->put_BorderThickness(get_abi(value))); +} + +template Windows::UI::Xaml::CornerRadius impl_IGrid2::CornerRadius() const +{ + Windows::UI::Xaml::CornerRadius value {}; + check_hresult(WINRT_SHIM(IGrid2)->get_CornerRadius(put_abi(value))); + return value; +} + +template void impl_IGrid2::CornerRadius(const Windows::UI::Xaml::CornerRadius & value) const +{ + check_hresult(WINRT_SHIM(IGrid2)->put_CornerRadius(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IGrid2::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IGrid2)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IGrid2::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IGrid2)->put_Padding(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics2::BorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics2)->get_BorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics2::BorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics2)->get_BorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics2::CornerRadiusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics2)->get_CornerRadiusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IGridStatics2::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IGridStatics2)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IItemsControl::ItemsSource() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemsSource(put_abi(value))); + return value; +} + +template void impl_IItemsControl::ItemsSource(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_ItemsSource(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::ItemCollection impl_IItemsControl::Items() const +{ + Windows::UI::Xaml::Controls::ItemCollection value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_Items(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DataTemplate impl_IItemsControl::ItemTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemTemplate(put_abi(value))); + return value; +} + +template void impl_IItemsControl::ItemTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_ItemTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::DataTemplateSelector impl_IItemsControl::ItemTemplateSelector() const +{ + Windows::UI::Xaml::Controls::DataTemplateSelector value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemTemplateSelector(put_abi(value))); + return value; +} + +template void impl_IItemsControl::ItemTemplateSelector(const Windows::UI::Xaml::Controls::DataTemplateSelector & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_ItemTemplateSelector(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::ItemsPanelTemplate impl_IItemsControl::ItemsPanel() const +{ + Windows::UI::Xaml::Controls::ItemsPanelTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemsPanel(put_abi(value))); + return value; +} + +template void impl_IItemsControl::ItemsPanel(const Windows::UI::Xaml::Controls::ItemsPanelTemplate & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_ItemsPanel(get_abi(value))); +} + +template hstring impl_IItemsControl::DisplayMemberPath() const +{ + hstring value; + check_hresult(WINRT_SHIM(IItemsControl)->get_DisplayMemberPath(put_abi(value))); + return value; +} + +template void impl_IItemsControl::DisplayMemberPath(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_DisplayMemberPath(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_IItemsControl::ItemContainerStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemContainerStyle(put_abi(value))); + return value; +} + +template void impl_IItemsControl::ItemContainerStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_ItemContainerStyle(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::StyleSelector impl_IItemsControl::ItemContainerStyleSelector() const +{ + Windows::UI::Xaml::Controls::StyleSelector value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemContainerStyleSelector(put_abi(value))); + return value; +} + +template void impl_IItemsControl::ItemContainerStyleSelector(const Windows::UI::Xaml::Controls::StyleSelector & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_ItemContainerStyleSelector(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::ItemContainerGenerator impl_IItemsControl::ItemContainerGenerator() const +{ + Windows::UI::Xaml::Controls::ItemContainerGenerator value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemContainerGenerator(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IItemsControl::ItemContainerTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_ItemContainerTransitions(put_abi(value))); + return value; +} + +template void impl_IItemsControl::ItemContainerTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_ItemContainerTransitions(get_abi(value))); +} + +template Windows::Foundation::Collections::IObservableVector impl_IItemsControl::GroupStyle() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IItemsControl)->get_GroupStyle(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::GroupStyleSelector impl_IItemsControl::GroupStyleSelector() const +{ + Windows::UI::Xaml::Controls::GroupStyleSelector value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl)->get_GroupStyleSelector(put_abi(value))); + return value; +} + +template void impl_IItemsControl::GroupStyleSelector(const Windows::UI::Xaml::Controls::GroupStyleSelector & value) const +{ + check_hresult(WINRT_SHIM(IItemsControl)->put_GroupStyleSelector(get_abi(value))); +} + +template bool impl_IItemsControl::IsGrouping() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IItemsControl)->get_IsGrouping(&value)); + return value; +} + +template bool impl_IItemsControlOverrides::IsItemItsOwnContainerOverride(const Windows::Foundation::IInspectable & item) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_IsItemItsOwnContainerOverride(get_abi(item), &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyObject impl_IItemsControlOverrides::GetContainerForItemOverride() const +{ + Windows::UI::Xaml::DependencyObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_GetContainerForItemOverride(put_abi(returnValue))); + return returnValue; +} + +template void impl_IItemsControlOverrides::ClearContainerForItemOverride(const Windows::UI::Xaml::DependencyObject & element, const Windows::Foundation::IInspectable & item) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_ClearContainerForItemOverride(get_abi(element), get_abi(item))); +} + +template void impl_IItemsControlOverrides::PrepareContainerForItemOverride(const Windows::UI::Xaml::DependencyObject & element, const Windows::Foundation::IInspectable & item) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_PrepareContainerForItemOverride(get_abi(element), get_abi(item))); +} + +template void impl_IItemsControlOverrides::OnItemsChanged(const Windows::Foundation::IInspectable & e) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_OnItemsChanged(get_abi(e))); +} + +template void impl_IItemsControlOverrides::OnItemContainerStyleChanged(const Windows::UI::Xaml::Style & oldItemContainerStyle, const Windows::UI::Xaml::Style & newItemContainerStyle) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_OnItemContainerStyleChanged(get_abi(oldItemContainerStyle), get_abi(newItemContainerStyle))); +} + +template void impl_IItemsControlOverrides::OnItemContainerStyleSelectorChanged(const Windows::UI::Xaml::Controls::StyleSelector & oldItemContainerStyleSelector, const Windows::UI::Xaml::Controls::StyleSelector & newItemContainerStyleSelector) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_OnItemContainerStyleSelectorChanged(get_abi(oldItemContainerStyleSelector), get_abi(newItemContainerStyleSelector))); +} + +template void impl_IItemsControlOverrides::OnItemTemplateChanged(const Windows::UI::Xaml::DataTemplate & oldItemTemplate, const Windows::UI::Xaml::DataTemplate & newItemTemplate) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_OnItemTemplateChanged(get_abi(oldItemTemplate), get_abi(newItemTemplate))); +} + +template void impl_IItemsControlOverrides::OnItemTemplateSelectorChanged(const Windows::UI::Xaml::Controls::DataTemplateSelector & oldItemTemplateSelector, const Windows::UI::Xaml::Controls::DataTemplateSelector & newItemTemplateSelector) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_OnItemTemplateSelectorChanged(get_abi(oldItemTemplateSelector), get_abi(newItemTemplateSelector))); +} + +template void impl_IItemsControlOverrides::OnGroupStyleSelectorChanged(const Windows::UI::Xaml::Controls::GroupStyleSelector & oldGroupStyleSelector, const Windows::UI::Xaml::Controls::GroupStyleSelector & newGroupStyleSelector) const +{ + check_hresult(WINRT_SHIM(IItemsControlOverrides)->abi_OnGroupStyleSelectorChanged(get_abi(oldGroupStyleSelector), get_abi(newGroupStyleSelector))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::ItemsSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_ItemsSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::ItemTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_ItemTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::ItemTemplateSelectorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_ItemTemplateSelectorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::ItemsPanelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_ItemsPanelProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::DisplayMemberPathProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_DisplayMemberPathProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::ItemContainerStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_ItemContainerStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::ItemContainerStyleSelectorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_ItemContainerStyleSelectorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::ItemContainerTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_ItemContainerTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::GroupStyleSelectorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_GroupStyleSelectorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsControlStatics::IsGroupingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->get_IsGroupingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ItemsControl impl_IItemsControlStatics::GetItemsOwner(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::Controls::ItemsControl returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->abi_GetItemsOwner(get_abi(element), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::ItemsControl impl_IItemsControlStatics::ItemsControlFromItemContainer(const Windows::UI::Xaml::DependencyObject & container) const +{ + Windows::UI::Xaml::Controls::ItemsControl returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlStatics)->abi_ItemsControlFromItemContainer(get_abi(container), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::ItemsControl impl_IItemsControlFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ItemsControl instance { nullptr }; + check_hresult(WINRT_SHIM(IItemsControlFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Panel impl_IItemsControl2::ItemsPanelRoot() const +{ + Windows::UI::Xaml::Controls::Panel value { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl2)->get_ItemsPanelRoot(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyObject impl_IItemsControl3::GroupHeaderContainerFromItemContainer(const Windows::UI::Xaml::DependencyObject & itemContainer) const +{ + Windows::UI::Xaml::DependencyObject returnValue { nullptr }; + check_hresult(WINRT_SHIM(IItemsControl3)->abi_GroupHeaderContainerFromItemContainer(get_abi(itemContainer), put_abi(returnValue))); + return returnValue; +} + +template bool impl_IMediaTransportControls::IsFullWindowButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsFullWindowButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsFullWindowButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsFullWindowButtonVisible(value)); +} + +template bool impl_IMediaTransportControls::IsFullWindowEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsFullWindowEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsFullWindowEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsFullWindowEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsZoomButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsZoomButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsZoomButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsZoomButtonVisible(value)); +} + +template bool impl_IMediaTransportControls::IsZoomEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsZoomEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsZoomEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsZoomEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsFastForwardButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsFastForwardButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsFastForwardButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsFastForwardButtonVisible(value)); +} + +template bool impl_IMediaTransportControls::IsFastForwardEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsFastForwardEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsFastForwardEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsFastForwardEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsFastRewindButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsFastRewindButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsFastRewindButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsFastRewindButtonVisible(value)); +} + +template bool impl_IMediaTransportControls::IsFastRewindEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsFastRewindEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsFastRewindEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsFastRewindEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsStopButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsStopButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsStopButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsStopButtonVisible(value)); +} + +template bool impl_IMediaTransportControls::IsStopEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsStopEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsStopEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsStopEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsVolumeButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsVolumeButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsVolumeButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsVolumeButtonVisible(value)); +} + +template bool impl_IMediaTransportControls::IsVolumeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsVolumeEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsVolumeEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsVolumeEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsPlaybackRateButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsPlaybackRateButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsPlaybackRateButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsPlaybackRateButtonVisible(value)); +} + +template bool impl_IMediaTransportControls::IsPlaybackRateEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsPlaybackRateEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsPlaybackRateEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsPlaybackRateEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsSeekBarVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsSeekBarVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsSeekBarVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsSeekBarVisible(value)); +} + +template bool impl_IMediaTransportControls::IsSeekEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsSeekEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsSeekEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsSeekEnabled(value)); +} + +template bool impl_IMediaTransportControls::IsCompact() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls)->get_IsCompact(&value)); + return value; +} + +template void impl_IMediaTransportControls::IsCompact(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls)->put_IsCompact(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsFullWindowButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsFullWindowButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsFullWindowEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsFullWindowEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsZoomButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsZoomButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsZoomEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsZoomEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsFastForwardButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsFastForwardButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsFastForwardEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsFastForwardEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsFastRewindButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsFastRewindButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsFastRewindEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsFastRewindEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsStopButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsStopButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsStopEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsStopEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsVolumeButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsVolumeButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsVolumeEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsVolumeEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsPlaybackRateButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsPlaybackRateButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsPlaybackRateEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsPlaybackRateEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsSeekBarVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsSeekBarVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsSeekEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsSeekEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics::IsCompactProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics)->get_IsCompactProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::MediaTransportControls impl_IMediaTransportControlsFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::MediaTransportControls instance { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IMediaTransportControls2::IsSkipForwardButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->get_IsSkipForwardButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls2::IsSkipForwardButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->put_IsSkipForwardButtonVisible(value)); +} + +template bool impl_IMediaTransportControls2::IsSkipForwardEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->get_IsSkipForwardEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls2::IsSkipForwardEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->put_IsSkipForwardEnabled(value)); +} + +template bool impl_IMediaTransportControls2::IsSkipBackwardButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->get_IsSkipBackwardButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls2::IsSkipBackwardButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->put_IsSkipBackwardButtonVisible(value)); +} + +template bool impl_IMediaTransportControls2::IsSkipBackwardEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->get_IsSkipBackwardEnabled(&value)); + return value; +} + +template void impl_IMediaTransportControls2::IsSkipBackwardEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->put_IsSkipBackwardEnabled(value)); +} + +template bool impl_IMediaTransportControls2::IsNextTrackButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->get_IsNextTrackButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls2::IsNextTrackButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->put_IsNextTrackButtonVisible(value)); +} + +template bool impl_IMediaTransportControls2::IsPreviousTrackButtonVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->get_IsPreviousTrackButtonVisible(&value)); + return value; +} + +template void impl_IMediaTransportControls2::IsPreviousTrackButtonVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->put_IsPreviousTrackButtonVisible(value)); +} + +template Windows::UI::Xaml::Media::FastPlayFallbackBehaviour impl_IMediaTransportControls2::FastPlayFallbackBehaviour() const +{ + Windows::UI::Xaml::Media::FastPlayFallbackBehaviour value {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->get_FastPlayFallbackBehaviour(&value)); + return value; +} + +template void impl_IMediaTransportControls2::FastPlayFallbackBehaviour(Windows::UI::Xaml::Media::FastPlayFallbackBehaviour value) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->put_FastPlayFallbackBehaviour(value)); +} + +template event_token impl_IMediaTransportControls2::ThumbnailRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaTransportControls2)->add_ThumbnailRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaTransportControls2::ThumbnailRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaTransportControls2::remove_ThumbnailRequested, ThumbnailRequested(value)); +} + +template void impl_IMediaTransportControls2::ThumbnailRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaTransportControls2)->remove_ThumbnailRequested(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics2::IsSkipForwardButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics2)->get_IsSkipForwardButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics2::IsSkipForwardEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics2)->get_IsSkipForwardEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics2::IsSkipBackwardButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics2)->get_IsSkipBackwardButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics2::IsSkipBackwardEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics2)->get_IsSkipBackwardEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics2::IsNextTrackButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics2)->get_IsNextTrackButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics2::IsPreviousTrackButtonVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics2)->get_IsPreviousTrackButtonVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaTransportControlsStatics2::FastPlayFallbackBehaviourProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaTransportControlsStatics2)->get_FastPlayFallbackBehaviourProperty(put_abi(value))); + return value; +} + +template hstring impl_IPasswordBox::Password() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPasswordBox)->get_Password(put_abi(value))); + return value; +} + +template void impl_IPasswordBox::Password(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox)->put_Password(get_abi(value))); +} + +template hstring impl_IPasswordBox::PasswordChar() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPasswordBox)->get_PasswordChar(put_abi(value))); + return value; +} + +template void impl_IPasswordBox::PasswordChar(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox)->put_PasswordChar(get_abi(value))); +} + +template bool impl_IPasswordBox::IsPasswordRevealButtonEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPasswordBox)->get_IsPasswordRevealButtonEnabled(&value)); + return value; +} + +template void impl_IPasswordBox::IsPasswordRevealButtonEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox)->put_IsPasswordRevealButtonEnabled(value)); +} + +template int32_t impl_IPasswordBox::MaxLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IPasswordBox)->get_MaxLength(&value)); + return value; +} + +template void impl_IPasswordBox::MaxLength(int32_t value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox)->put_MaxLength(value)); +} + +template event_token impl_IPasswordBox::PasswordChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPasswordBox)->add_PasswordChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IPasswordBox::PasswordChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IPasswordBox::remove_PasswordChanged, PasswordChanged(value)); +} + +template void impl_IPasswordBox::PasswordChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IPasswordBox)->remove_PasswordChanged(token)); +} + +template event_token impl_IPasswordBox::ContextMenuOpening(const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPasswordBox)->add_ContextMenuOpening(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IPasswordBox::ContextMenuOpening(auto_revoke_t, const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IPasswordBox::remove_ContextMenuOpening, ContextMenuOpening(value)); +} + +template void impl_IPasswordBox::ContextMenuOpening(event_token token) const +{ + check_hresult(WINRT_SHIM(IPasswordBox)->remove_ContextMenuOpening(token)); +} + +template void impl_IPasswordBox::SelectAll() const +{ + check_hresult(WINRT_SHIM(IPasswordBox)->abi_SelectAll()); +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics::PasswordProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics)->get_PasswordProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics::PasswordCharProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics)->get_PasswordCharProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics::IsPasswordRevealButtonEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics)->get_IsPasswordRevealButtonEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics::MaxLengthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics)->get_MaxLengthProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IPasswordBox2::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IPasswordBox2)->get_Header(put_abi(value))); + return value; +} + +template void impl_IPasswordBox2::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox2)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IPasswordBox2::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBox2)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IPasswordBox2::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox2)->put_HeaderTemplate(get_abi(value))); +} + +template hstring impl_IPasswordBox2::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IPasswordBox2)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_IPasswordBox2::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox2)->put_PlaceholderText(get_abi(value))); +} + +template Windows::UI::Xaml::Media::SolidColorBrush impl_IPasswordBox2::SelectionHighlightColor() const +{ + Windows::UI::Xaml::Media::SolidColorBrush value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBox2)->get_SelectionHighlightColor(put_abi(value))); + return value; +} + +template void impl_IPasswordBox2::SelectionHighlightColor(const Windows::UI::Xaml::Media::SolidColorBrush & value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox2)->put_SelectionHighlightColor(get_abi(value))); +} + +template bool impl_IPasswordBox2::PreventKeyboardDisplayOnProgrammaticFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IPasswordBox2)->get_PreventKeyboardDisplayOnProgrammaticFocus(&value)); + return value; +} + +template void impl_IPasswordBox2::PreventKeyboardDisplayOnProgrammaticFocus(bool value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox2)->put_PreventKeyboardDisplayOnProgrammaticFocus(value)); +} + +template event_token impl_IPasswordBox2::Paste(const Windows::UI::Xaml::Controls::TextControlPasteEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IPasswordBox2)->add_Paste(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IPasswordBox2::Paste(auto_revoke_t, const Windows::UI::Xaml::Controls::TextControlPasteEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IPasswordBox2::remove_Paste, Paste(value)); +} + +template void impl_IPasswordBox2::Paste(event_token token) const +{ + check_hresult(WINRT_SHIM(IPasswordBox2)->remove_Paste(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics2::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics2)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics2::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics2)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics2::PlaceholderTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics2)->get_PlaceholderTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics2::SelectionHighlightColorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics2)->get_SelectionHighlightColorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics2::PreventKeyboardDisplayOnProgrammaticFocusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics2)->get_PreventKeyboardDisplayOnProgrammaticFocusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::PasswordRevealMode impl_IPasswordBox3::PasswordRevealMode() const +{ + Windows::UI::Xaml::Controls::PasswordRevealMode value {}; + check_hresult(WINRT_SHIM(IPasswordBox3)->get_PasswordRevealMode(&value)); + return value; +} + +template void impl_IPasswordBox3::PasswordRevealMode(Windows::UI::Xaml::Controls::PasswordRevealMode value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox3)->put_PasswordRevealMode(value)); +} + +template Windows::UI::Xaml::TextReadingOrder impl_IPasswordBox3::TextReadingOrder() const +{ + Windows::UI::Xaml::TextReadingOrder value {}; + check_hresult(WINRT_SHIM(IPasswordBox3)->get_TextReadingOrder(&value)); + return value; +} + +template void impl_IPasswordBox3::TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox3)->put_TextReadingOrder(value)); +} + +template Windows::UI::Xaml::Input::InputScope impl_IPasswordBox3::InputScope() const +{ + Windows::UI::Xaml::Input::InputScope value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBox3)->get_InputScope(put_abi(value))); + return value; +} + +template void impl_IPasswordBox3::InputScope(const Windows::UI::Xaml::Input::InputScope & value) const +{ + check_hresult(WINRT_SHIM(IPasswordBox3)->put_InputScope(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics3::PasswordRevealModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics3)->get_PasswordRevealModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics3::TextReadingOrderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics3)->get_TextReadingOrderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IPasswordBoxStatics3::InputScopeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPasswordBoxStatics3)->get_InputScopeProperty(put_abi(value))); + return value; +} + +template bool impl_IProgressRing::IsActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProgressRing)->get_IsActive(&value)); + return value; +} + +template void impl_IProgressRing::IsActive(bool value) const +{ + check_hresult(WINRT_SHIM(IProgressRing)->put_IsActive(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::ProgressRingTemplateSettings impl_IProgressRing::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::ProgressRingTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(IProgressRing)->get_TemplateSettings(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IProgressRingStatics::IsActiveProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IProgressRingStatics)->get_IsActiveProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_IRelativePanel::BorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanel)->get_BorderBrush(put_abi(value))); + return value; +} + +template void impl_IRelativePanel::BorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanel)->put_BorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IRelativePanel::BorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IRelativePanel)->get_BorderThickness(put_abi(value))); + return value; +} + +template void impl_IRelativePanel::BorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanel)->put_BorderThickness(get_abi(value))); +} + +template Windows::UI::Xaml::CornerRadius impl_IRelativePanel::CornerRadius() const +{ + Windows::UI::Xaml::CornerRadius value {}; + check_hresult(WINRT_SHIM(IRelativePanel)->get_CornerRadius(put_abi(value))); + return value; +} + +template void impl_IRelativePanel::CornerRadius(const Windows::UI::Xaml::CornerRadius & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanel)->put_CornerRadius(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IRelativePanel::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IRelativePanel)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IRelativePanel::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanel)->put_Padding(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::LeftOfProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_LeftOfProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetLeftOf(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetLeftOf(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetLeftOf(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetLeftOf(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AboveProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AboveProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetAbove(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAbove(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetAbove(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAbove(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::RightOfProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_RightOfProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetRightOf(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetRightOf(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetRightOf(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetRightOf(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::BelowProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_BelowProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetBelow(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetBelow(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetBelow(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetBelow(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignHorizontalCenterWithProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignHorizontalCenterWithProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetAlignHorizontalCenterWith(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignHorizontalCenterWith(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignHorizontalCenterWith(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignHorizontalCenterWith(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignVerticalCenterWithProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignVerticalCenterWithProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetAlignVerticalCenterWith(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignVerticalCenterWith(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignVerticalCenterWith(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignVerticalCenterWith(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignLeftWithProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignLeftWithProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetAlignLeftWith(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignLeftWith(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignLeftWith(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignLeftWith(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignTopWithProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignTopWithProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetAlignTopWith(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignTopWith(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignTopWith(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignTopWith(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignRightWithProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignRightWithProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetAlignRightWith(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignRightWith(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignRightWith(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignRightWith(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignBottomWithProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignBottomWithProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IRelativePanelStatics::GetAlignBottomWith(const Windows::UI::Xaml::UIElement & element) const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignBottomWith(get_abi(element), put_abi(value))); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignBottomWith(const Windows::UI::Xaml::UIElement & element, const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignBottomWith(get_abi(element), get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignLeftWithPanelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignLeftWithPanelProperty(put_abi(value))); + return value; +} + +template bool impl_IRelativePanelStatics::GetAlignLeftWithPanel(const Windows::UI::Xaml::UIElement & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignLeftWithPanel(get_abi(element), &value)); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignLeftWithPanel(const Windows::UI::Xaml::UIElement & element, bool value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignLeftWithPanel(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignTopWithPanelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignTopWithPanelProperty(put_abi(value))); + return value; +} + +template bool impl_IRelativePanelStatics::GetAlignTopWithPanel(const Windows::UI::Xaml::UIElement & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignTopWithPanel(get_abi(element), &value)); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignTopWithPanel(const Windows::UI::Xaml::UIElement & element, bool value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignTopWithPanel(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignRightWithPanelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignRightWithPanelProperty(put_abi(value))); + return value; +} + +template bool impl_IRelativePanelStatics::GetAlignRightWithPanel(const Windows::UI::Xaml::UIElement & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignRightWithPanel(get_abi(element), &value)); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignRightWithPanel(const Windows::UI::Xaml::UIElement & element, bool value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignRightWithPanel(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignBottomWithPanelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignBottomWithPanelProperty(put_abi(value))); + return value; +} + +template bool impl_IRelativePanelStatics::GetAlignBottomWithPanel(const Windows::UI::Xaml::UIElement & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignBottomWithPanel(get_abi(element), &value)); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignBottomWithPanel(const Windows::UI::Xaml::UIElement & element, bool value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignBottomWithPanel(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignHorizontalCenterWithPanelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignHorizontalCenterWithPanelProperty(put_abi(value))); + return value; +} + +template bool impl_IRelativePanelStatics::GetAlignHorizontalCenterWithPanel(const Windows::UI::Xaml::UIElement & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignHorizontalCenterWithPanel(get_abi(element), &value)); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignHorizontalCenterWithPanel(const Windows::UI::Xaml::UIElement & element, bool value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignHorizontalCenterWithPanel(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::AlignVerticalCenterWithPanelProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_AlignVerticalCenterWithPanelProperty(put_abi(value))); + return value; +} + +template bool impl_IRelativePanelStatics::GetAlignVerticalCenterWithPanel(const Windows::UI::Xaml::UIElement & element) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_GetAlignVerticalCenterWithPanel(get_abi(element), &value)); + return value; +} + +template void impl_IRelativePanelStatics::SetAlignVerticalCenterWithPanel(const Windows::UI::Xaml::UIElement & element, bool value) const +{ + check_hresult(WINRT_SHIM(IRelativePanelStatics)->abi_SetAlignVerticalCenterWithPanel(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::BorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_BorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::BorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_BorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::CornerRadiusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_CornerRadiusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRelativePanelStatics::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelStatics)->get_PaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::RelativePanel impl_IRelativePanelFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::RelativePanel instance { nullptr }; + check_hresult(WINRT_SHIM(IRelativePanelFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::ISemanticZoomInformation impl_ISemanticZoom::ZoomedInView() const +{ + Windows::UI::Xaml::Controls::ISemanticZoomInformation value; + check_hresult(WINRT_SHIM(ISemanticZoom)->get_ZoomedInView(put_abi(value))); + return value; +} + +template void impl_ISemanticZoom::ZoomedInView(const Windows::UI::Xaml::Controls::ISemanticZoomInformation & value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->put_ZoomedInView(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::ISemanticZoomInformation impl_ISemanticZoom::ZoomedOutView() const +{ + Windows::UI::Xaml::Controls::ISemanticZoomInformation value; + check_hresult(WINRT_SHIM(ISemanticZoom)->get_ZoomedOutView(put_abi(value))); + return value; +} + +template void impl_ISemanticZoom::ZoomedOutView(const Windows::UI::Xaml::Controls::ISemanticZoomInformation & value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->put_ZoomedOutView(get_abi(value))); +} + +template bool impl_ISemanticZoom::IsZoomedInViewActive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISemanticZoom)->get_IsZoomedInViewActive(&value)); + return value; +} + +template void impl_ISemanticZoom::IsZoomedInViewActive(bool value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->put_IsZoomedInViewActive(value)); +} + +template bool impl_ISemanticZoom::CanChangeViews() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISemanticZoom)->get_CanChangeViews(&value)); + return value; +} + +template void impl_ISemanticZoom::CanChangeViews(bool value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->put_CanChangeViews(value)); +} + +template event_token impl_ISemanticZoom::ViewChangeStarted(const Windows::UI::Xaml::Controls::SemanticZoomViewChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISemanticZoom)->add_ViewChangeStarted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISemanticZoom::ViewChangeStarted(auto_revoke_t, const Windows::UI::Xaml::Controls::SemanticZoomViewChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISemanticZoom::remove_ViewChangeStarted, ViewChangeStarted(value)); +} + +template void impl_ISemanticZoom::ViewChangeStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->remove_ViewChangeStarted(token)); +} + +template event_token impl_ISemanticZoom::ViewChangeCompleted(const Windows::UI::Xaml::Controls::SemanticZoomViewChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISemanticZoom)->add_ViewChangeCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISemanticZoom::ViewChangeCompleted(auto_revoke_t, const Windows::UI::Xaml::Controls::SemanticZoomViewChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISemanticZoom::remove_ViewChangeCompleted, ViewChangeCompleted(value)); +} + +template void impl_ISemanticZoom::ViewChangeCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->remove_ViewChangeCompleted(token)); +} + +template void impl_ISemanticZoom::ToggleActiveView() const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->abi_ToggleActiveView()); +} + +template bool impl_ISemanticZoom::IsZoomOutButtonEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISemanticZoom)->get_IsZoomOutButtonEnabled(&value)); + return value; +} + +template void impl_ISemanticZoom::IsZoomOutButtonEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISemanticZoom)->put_IsZoomOutButtonEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISemanticZoomStatics::ZoomedInViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomStatics)->get_ZoomedInViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISemanticZoomStatics::ZoomedOutViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomStatics)->get_ZoomedOutViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISemanticZoomStatics::IsZoomedInViewActiveProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomStatics)->get_IsZoomedInViewActiveProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISemanticZoomStatics::CanChangeViewsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomStatics)->get_CanChangeViewsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISemanticZoomStatics::IsZoomOutButtonEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISemanticZoomStatics)->get_IsZoomOutButtonEnabledProperty(put_abi(value))); + return value; +} + +template bool impl_IStackPanel::AreScrollSnapPointsRegular() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IStackPanel)->get_AreScrollSnapPointsRegular(&value)); + return value; +} + +template void impl_IStackPanel::AreScrollSnapPointsRegular(bool value) const +{ + check_hresult(WINRT_SHIM(IStackPanel)->put_AreScrollSnapPointsRegular(value)); +} + +template Windows::UI::Xaml::Controls::Orientation impl_IStackPanel::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IStackPanel)->get_Orientation(&value)); + return value; +} + +template void impl_IStackPanel::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IStackPanel)->put_Orientation(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IStackPanelStatics::AreScrollSnapPointsRegularProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStackPanelStatics)->get_AreScrollSnapPointsRegularProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IStackPanelStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStackPanelStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::StackPanel impl_IStackPanelFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::StackPanel instance { nullptr }; + check_hresult(WINRT_SHIM(IStackPanelFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Media::Brush impl_IStackPanel2::BorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IStackPanel2)->get_BorderBrush(put_abi(value))); + return value; +} + +template void impl_IStackPanel2::BorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IStackPanel2)->put_BorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IStackPanel2::BorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IStackPanel2)->get_BorderThickness(put_abi(value))); + return value; +} + +template void impl_IStackPanel2::BorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IStackPanel2)->put_BorderThickness(get_abi(value))); +} + +template Windows::UI::Xaml::CornerRadius impl_IStackPanel2::CornerRadius() const +{ + Windows::UI::Xaml::CornerRadius value {}; + check_hresult(WINRT_SHIM(IStackPanel2)->get_CornerRadius(put_abi(value))); + return value; +} + +template void impl_IStackPanel2::CornerRadius(const Windows::UI::Xaml::CornerRadius & value) const +{ + check_hresult(WINRT_SHIM(IStackPanel2)->put_CornerRadius(get_abi(value))); +} + +template Windows::UI::Xaml::Thickness impl_IStackPanel2::Padding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IStackPanel2)->get_Padding(put_abi(value))); + return value; +} + +template void impl_IStackPanel2::Padding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IStackPanel2)->put_Padding(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IStackPanelStatics2::BorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStackPanelStatics2)->get_BorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IStackPanelStatics2::BorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStackPanelStatics2)->get_BorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IStackPanelStatics2::CornerRadiusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStackPanelStatics2)->get_CornerRadiusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IStackPanelStatics2::PaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IStackPanelStatics2)->get_PaddingProperty(put_abi(value))); + return value; +} + +template hstring impl_ITextBox::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextBox)->get_Text(put_abi(value))); + return value; +} + +template void impl_ITextBox::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_Text(get_abi(value))); +} + +template hstring impl_ITextBox::SelectedText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextBox)->get_SelectedText(put_abi(value))); + return value; +} + +template void impl_ITextBox::SelectedText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_SelectedText(get_abi(value))); +} + +template int32_t impl_ITextBox::SelectionLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_SelectionLength(&value)); + return value; +} + +template void impl_ITextBox::SelectionLength(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_SelectionLength(value)); +} + +template int32_t impl_ITextBox::SelectionStart() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_SelectionStart(&value)); + return value; +} + +template void impl_ITextBox::SelectionStart(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_SelectionStart(value)); +} + +template int32_t impl_ITextBox::MaxLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_MaxLength(&value)); + return value; +} + +template void impl_ITextBox::MaxLength(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_MaxLength(value)); +} + +template bool impl_ITextBox::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_IsReadOnly(&value)); + return value; +} + +template void impl_ITextBox::IsReadOnly(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_IsReadOnly(value)); +} + +template bool impl_ITextBox::AcceptsReturn() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_AcceptsReturn(&value)); + return value; +} + +template void impl_ITextBox::AcceptsReturn(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_AcceptsReturn(value)); +} + +template Windows::UI::Xaml::TextAlignment impl_ITextBox::TextAlignment() const +{ + Windows::UI::Xaml::TextAlignment value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_TextAlignment(&value)); + return value; +} + +template void impl_ITextBox::TextAlignment(Windows::UI::Xaml::TextAlignment value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_TextAlignment(value)); +} + +template Windows::UI::Xaml::TextWrapping impl_ITextBox::TextWrapping() const +{ + Windows::UI::Xaml::TextWrapping value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_TextWrapping(&value)); + return value; +} + +template void impl_ITextBox::TextWrapping(Windows::UI::Xaml::TextWrapping value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_TextWrapping(value)); +} + +template bool impl_ITextBox::IsSpellCheckEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_IsSpellCheckEnabled(&value)); + return value; +} + +template void impl_ITextBox::IsSpellCheckEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_IsSpellCheckEnabled(value)); +} + +template bool impl_ITextBox::IsTextPredictionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBox)->get_IsTextPredictionEnabled(&value)); + return value; +} + +template void impl_ITextBox::IsTextPredictionEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_IsTextPredictionEnabled(value)); +} + +template Windows::UI::Xaml::Input::InputScope impl_ITextBox::InputScope() const +{ + Windows::UI::Xaml::Input::InputScope value { nullptr }; + check_hresult(WINRT_SHIM(ITextBox)->get_InputScope(put_abi(value))); + return value; +} + +template void impl_ITextBox::InputScope(const Windows::UI::Xaml::Input::InputScope & value) const +{ + check_hresult(WINRT_SHIM(ITextBox)->put_InputScope(get_abi(value))); +} + +template event_token impl_ITextBox::TextChanged(const Windows::UI::Xaml::Controls::TextChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox)->add_TextChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox::TextChanged(auto_revoke_t, const Windows::UI::Xaml::Controls::TextChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox::remove_TextChanged, TextChanged(value)); +} + +template void impl_ITextBox::TextChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox)->remove_TextChanged(token)); +} + +template event_token impl_ITextBox::SelectionChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox)->add_SelectionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox::SelectionChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox::remove_SelectionChanged, SelectionChanged(value)); +} + +template void impl_ITextBox::SelectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox)->remove_SelectionChanged(token)); +} + +template event_token impl_ITextBox::ContextMenuOpening(const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox)->add_ContextMenuOpening(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox::ContextMenuOpening(auto_revoke_t, const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox::remove_ContextMenuOpening, ContextMenuOpening(value)); +} + +template void impl_ITextBox::ContextMenuOpening(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox)->remove_ContextMenuOpening(token)); +} + +template void impl_ITextBox::Select(int32_t start, int32_t length) const +{ + check_hresult(WINRT_SHIM(ITextBox)->abi_Select(start, length)); +} + +template void impl_ITextBox::SelectAll() const +{ + check_hresult(WINRT_SHIM(ITextBox)->abi_SelectAll()); +} + +template Windows::Foundation::Rect impl_ITextBox::GetRectFromCharacterIndex(int32_t charIndex, bool trailingEdge) const +{ + Windows::Foundation::Rect returnValue {}; + check_hresult(WINRT_SHIM(ITextBox)->abi_GetRectFromCharacterIndex(charIndex, trailingEdge, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::TextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_TextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::MaxLengthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_MaxLengthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::IsReadOnlyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_IsReadOnlyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::AcceptsReturnProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_AcceptsReturnProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::TextAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_TextAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::TextWrappingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_TextWrappingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::IsSpellCheckEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_IsSpellCheckEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::IsTextPredictionEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_IsTextPredictionEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics::InputScopeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics)->get_InputScopeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::TextBox impl_ITextBoxFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::TextBox instance { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_ITextBox2::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ITextBox2)->get_Header(put_abi(value))); + return value; +} + +template void impl_ITextBox2::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ITextBox2)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_ITextBox2::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(ITextBox2)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_ITextBox2::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(ITextBox2)->put_HeaderTemplate(get_abi(value))); +} + +template hstring impl_ITextBox2::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITextBox2)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_ITextBox2::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITextBox2)->put_PlaceholderText(get_abi(value))); +} + +template Windows::UI::Xaml::Media::SolidColorBrush impl_ITextBox2::SelectionHighlightColor() const +{ + Windows::UI::Xaml::Media::SolidColorBrush value { nullptr }; + check_hresult(WINRT_SHIM(ITextBox2)->get_SelectionHighlightColor(put_abi(value))); + return value; +} + +template void impl_ITextBox2::SelectionHighlightColor(const Windows::UI::Xaml::Media::SolidColorBrush & value) const +{ + check_hresult(WINRT_SHIM(ITextBox2)->put_SelectionHighlightColor(get_abi(value))); +} + +template bool impl_ITextBox2::PreventKeyboardDisplayOnProgrammaticFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBox2)->get_PreventKeyboardDisplayOnProgrammaticFocus(&value)); + return value; +} + +template void impl_ITextBox2::PreventKeyboardDisplayOnProgrammaticFocus(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBox2)->put_PreventKeyboardDisplayOnProgrammaticFocus(value)); +} + +template bool impl_ITextBox2::IsColorFontEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ITextBox2)->get_IsColorFontEnabled(&value)); + return value; +} + +template void impl_ITextBox2::IsColorFontEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ITextBox2)->put_IsColorFontEnabled(value)); +} + +template event_token impl_ITextBox2::Paste(const Windows::UI::Xaml::Controls::TextControlPasteEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox2)->add_Paste(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox2::Paste(auto_revoke_t, const Windows::UI::Xaml::Controls::TextControlPasteEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox2::remove_Paste, Paste(value)); +} + +template void impl_ITextBox2::Paste(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox2)->remove_Paste(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics2::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics2)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics2::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics2)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics2::PlaceholderTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics2)->get_PlaceholderTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics2::SelectionHighlightColorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics2)->get_SelectionHighlightColorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics2::PreventKeyboardDisplayOnProgrammaticFocusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics2)->get_PreventKeyboardDisplayOnProgrammaticFocusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics2::IsColorFontEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics2)->get_IsColorFontEnabledProperty(put_abi(value))); + return value; +} + +template event_token impl_ITextBox3::TextCompositionStarted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox3)->add_TextCompositionStarted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox3::TextCompositionStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox3::remove_TextCompositionStarted, TextCompositionStarted(value)); +} + +template void impl_ITextBox3::TextCompositionStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox3)->remove_TextCompositionStarted(token)); +} + +template event_token impl_ITextBox3::TextCompositionChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox3)->add_TextCompositionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox3::TextCompositionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox3::remove_TextCompositionChanged, TextCompositionChanged(value)); +} + +template void impl_ITextBox3::TextCompositionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox3)->remove_TextCompositionChanged(token)); +} + +template event_token impl_ITextBox3::TextCompositionEnded(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox3)->add_TextCompositionEnded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox3::TextCompositionEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox3::remove_TextCompositionEnded, TextCompositionEnded(value)); +} + +template void impl_ITextBox3::TextCompositionEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox3)->remove_TextCompositionEnded(token)); +} + +template Windows::UI::Xaml::TextReadingOrder impl_ITextBox3::TextReadingOrder() const +{ + Windows::UI::Xaml::TextReadingOrder value {}; + check_hresult(WINRT_SHIM(ITextBox3)->get_TextReadingOrder(&value)); + return value; +} + +template void impl_ITextBox3::TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) const +{ + check_hresult(WINRT_SHIM(ITextBox3)->put_TextReadingOrder(value)); +} + +template Windows::UI::Xaml::Controls::CandidateWindowAlignment impl_ITextBox3::DesiredCandidateWindowAlignment() const +{ + Windows::UI::Xaml::Controls::CandidateWindowAlignment value {}; + check_hresult(WINRT_SHIM(ITextBox3)->get_DesiredCandidateWindowAlignment(&value)); + return value; +} + +template void impl_ITextBox3::DesiredCandidateWindowAlignment(Windows::UI::Xaml::Controls::CandidateWindowAlignment value) const +{ + check_hresult(WINRT_SHIM(ITextBox3)->put_DesiredCandidateWindowAlignment(value)); +} + +template event_token impl_ITextBox3::CandidateWindowBoundsChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox3)->add_CandidateWindowBoundsChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox3::CandidateWindowBoundsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox3::remove_CandidateWindowBoundsChanged, CandidateWindowBoundsChanged(value)); +} + +template void impl_ITextBox3::CandidateWindowBoundsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox3)->remove_CandidateWindowBoundsChanged(token)); +} + +template event_token impl_ITextBox3::TextChanging(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITextBox3)->add_TextChanging(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITextBox3::TextChanging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITextBox3::remove_TextChanging, TextChanging(value)); +} + +template void impl_ITextBox3::TextChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(ITextBox3)->remove_TextChanging(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics3::DesiredCandidateWindowAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics3)->get_DesiredCandidateWindowAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics3::TextReadingOrderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics3)->get_TextReadingOrderProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_ITextBox4::GetLinguisticAlternativesAsync() const +{ + Windows::Foundation::IAsyncOperation> returnValue; + check_hresult(WINRT_SHIM(ITextBox4)->abi_GetLinguisticAlternativesAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Media::SolidColorBrush impl_ITextBox5::SelectionHighlightColorWhenNotFocused() const +{ + Windows::UI::Xaml::Media::SolidColorBrush value { nullptr }; + check_hresult(WINRT_SHIM(ITextBox5)->get_SelectionHighlightColorWhenNotFocused(put_abi(value))); + return value; +} + +template void impl_ITextBox5::SelectionHighlightColorWhenNotFocused(const Windows::UI::Xaml::Media::SolidColorBrush & value) const +{ + check_hresult(WINRT_SHIM(ITextBox5)->put_SelectionHighlightColorWhenNotFocused(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITextBoxStatics5::SelectionHighlightColorWhenNotFocusedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITextBoxStatics5)->get_SelectionHighlightColorWhenNotFocusedProperty(put_abi(value))); + return value; +} + +template bool impl_IToggleSwitch::IsOn() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_IsOn(&value)); + return value; +} + +template void impl_IToggleSwitch::IsOn(bool value) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->put_IsOn(value)); +} + +template Windows::Foundation::IInspectable impl_IToggleSwitch::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_Header(put_abi(value))); + return value; +} + +template void impl_IToggleSwitch::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IToggleSwitch::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IToggleSwitch::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IToggleSwitch::OnContent() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_OnContent(put_abi(value))); + return value; +} + +template void impl_IToggleSwitch::OnContent(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->put_OnContent(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IToggleSwitch::OnContentTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_OnContentTemplate(put_abi(value))); + return value; +} + +template void impl_IToggleSwitch::OnContentTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->put_OnContentTemplate(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IToggleSwitch::OffContent() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_OffContent(put_abi(value))); + return value; +} + +template void impl_IToggleSwitch::OffContent(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->put_OffContent(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IToggleSwitch::OffContentTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_OffContentTemplate(put_abi(value))); + return value; +} + +template void impl_IToggleSwitch::OffContentTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->put_OffContentTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Primitives::ToggleSwitchTemplateSettings impl_IToggleSwitch::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::ToggleSwitchTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitch)->get_TemplateSettings(put_abi(value))); + return value; +} + +template event_token impl_IToggleSwitch::Toggled(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IToggleSwitch)->add_Toggled(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IToggleSwitch::Toggled(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IToggleSwitch::remove_Toggled, Toggled(value)); +} + +template void impl_IToggleSwitch::Toggled(event_token token) const +{ + check_hresult(WINRT_SHIM(IToggleSwitch)->remove_Toggled(token)); +} + +template void impl_IToggleSwitchOverrides::OnToggled() const +{ + check_hresult(WINRT_SHIM(IToggleSwitchOverrides)->abi_OnToggled()); +} + +template void impl_IToggleSwitchOverrides::OnOnContentChanged(const Windows::Foundation::IInspectable & oldContent, const Windows::Foundation::IInspectable & newContent) const +{ + check_hresult(WINRT_SHIM(IToggleSwitchOverrides)->abi_OnOnContentChanged(get_abi(oldContent), get_abi(newContent))); +} + +template void impl_IToggleSwitchOverrides::OnOffContentChanged(const Windows::Foundation::IInspectable & oldContent, const Windows::Foundation::IInspectable & newContent) const +{ + check_hresult(WINRT_SHIM(IToggleSwitchOverrides)->abi_OnOffContentChanged(get_abi(oldContent), get_abi(newContent))); +} + +template void impl_IToggleSwitchOverrides::OnHeaderChanged(const Windows::Foundation::IInspectable & oldContent, const Windows::Foundation::IInspectable & newContent) const +{ + check_hresult(WINRT_SHIM(IToggleSwitchOverrides)->abi_OnHeaderChanged(get_abi(oldContent), get_abi(newContent))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleSwitchStatics::IsOnProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchStatics)->get_IsOnProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleSwitchStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleSwitchStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleSwitchStatics::OnContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchStatics)->get_OnContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleSwitchStatics::OnContentTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchStatics)->get_OnContentTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleSwitchStatics::OffContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchStatics)->get_OffContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToggleSwitchStatics::OffContentTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToggleSwitchStatics)->get_OffContentTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::UIElement impl_IUserControl::Content() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IUserControl)->get_Content(put_abi(value))); + return value; +} + +template void impl_IUserControl::Content(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IUserControl)->put_Content(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IUserControlStatics::ContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IUserControlStatics)->get_ContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::UserControl impl_IUserControlFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::UserControl instance { nullptr }; + check_hresult(WINRT_SHIM(IUserControlFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template double impl_IVariableSizedWrapGrid::ItemHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->get_ItemHeight(&value)); + return value; +} + +template void impl_IVariableSizedWrapGrid::ItemHeight(double value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->put_ItemHeight(value)); +} + +template double impl_IVariableSizedWrapGrid::ItemWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->get_ItemWidth(&value)); + return value; +} + +template void impl_IVariableSizedWrapGrid::ItemWidth(double value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->put_ItemWidth(value)); +} + +template Windows::UI::Xaml::Controls::Orientation impl_IVariableSizedWrapGrid::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->get_Orientation(&value)); + return value; +} + +template void impl_IVariableSizedWrapGrid::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->put_Orientation(value)); +} + +template Windows::UI::Xaml::HorizontalAlignment impl_IVariableSizedWrapGrid::HorizontalChildrenAlignment() const +{ + Windows::UI::Xaml::HorizontalAlignment value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->get_HorizontalChildrenAlignment(&value)); + return value; +} + +template void impl_IVariableSizedWrapGrid::HorizontalChildrenAlignment(Windows::UI::Xaml::HorizontalAlignment value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->put_HorizontalChildrenAlignment(value)); +} + +template Windows::UI::Xaml::VerticalAlignment impl_IVariableSizedWrapGrid::VerticalChildrenAlignment() const +{ + Windows::UI::Xaml::VerticalAlignment value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->get_VerticalChildrenAlignment(&value)); + return value; +} + +template void impl_IVariableSizedWrapGrid::VerticalChildrenAlignment(Windows::UI::Xaml::VerticalAlignment value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->put_VerticalChildrenAlignment(value)); +} + +template int32_t impl_IVariableSizedWrapGrid::MaximumRowsOrColumns() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->get_MaximumRowsOrColumns(&value)); + return value; +} + +template void impl_IVariableSizedWrapGrid::MaximumRowsOrColumns(int32_t value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGrid)->put_MaximumRowsOrColumns(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::ItemHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_ItemHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::ItemWidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_ItemWidthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::HorizontalChildrenAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_HorizontalChildrenAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::VerticalChildrenAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_VerticalChildrenAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::MaximumRowsOrColumnsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_MaximumRowsOrColumnsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::RowSpanProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_RowSpanProperty(put_abi(value))); + return value; +} + +template int32_t impl_IVariableSizedWrapGridStatics::GetRowSpan(const Windows::UI::Xaml::UIElement & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->abi_GetRowSpan(get_abi(element), &value)); + return value; +} + +template void impl_IVariableSizedWrapGridStatics::SetRowSpan(const Windows::UI::Xaml::UIElement & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->abi_SetRowSpan(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IVariableSizedWrapGridStatics::ColumnSpanProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->get_ColumnSpanProperty(put_abi(value))); + return value; +} + +template int32_t impl_IVariableSizedWrapGridStatics::GetColumnSpan(const Windows::UI::Xaml::UIElement & element) const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->abi_GetColumnSpan(get_abi(element), &value)); + return value; +} + +template void impl_IVariableSizedWrapGridStatics::SetColumnSpan(const Windows::UI::Xaml::UIElement & element, int32_t value) const +{ + check_hresult(WINRT_SHIM(IVariableSizedWrapGridStatics)->abi_SetColumnSpan(get_abi(element), value)); +} + +template Windows::UI::Xaml::Controls::ItemContainerGenerator impl_IVirtualizingPanel::ItemContainerGenerator() const +{ + Windows::UI::Xaml::Controls::ItemContainerGenerator value { nullptr }; + check_hresult(WINRT_SHIM(IVirtualizingPanel)->get_ItemContainerGenerator(put_abi(value))); + return value; +} + +template void impl_IVirtualizingPanelOverrides::OnItemsChanged(const Windows::Foundation::IInspectable & sender, const Windows::UI::Xaml::Controls::Primitives::ItemsChangedEventArgs & args) const +{ + check_hresult(WINRT_SHIM(IVirtualizingPanelOverrides)->abi_OnItemsChanged(get_abi(sender), get_abi(args))); +} + +template void impl_IVirtualizingPanelOverrides::OnClearChildren() const +{ + check_hresult(WINRT_SHIM(IVirtualizingPanelOverrides)->abi_OnClearChildren()); +} + +template void impl_IVirtualizingPanelOverrides::BringIndexIntoView(int32_t index) const +{ + check_hresult(WINRT_SHIM(IVirtualizingPanelOverrides)->abi_BringIndexIntoView(index)); +} + +template void impl_IVirtualizingPanelProtected::AddInternalChild(const Windows::UI::Xaml::UIElement & child) const +{ + check_hresult(WINRT_SHIM(IVirtualizingPanelProtected)->abi_AddInternalChild(get_abi(child))); +} + +template void impl_IVirtualizingPanelProtected::InsertInternalChild(int32_t index, const Windows::UI::Xaml::UIElement & child) const +{ + check_hresult(WINRT_SHIM(IVirtualizingPanelProtected)->abi_InsertInternalChild(index, get_abi(child))); +} + +template void impl_IVirtualizingPanelProtected::RemoveInternalChildRange(int32_t index, int32_t range) const +{ + check_hresult(WINRT_SHIM(IVirtualizingPanelProtected)->abi_RemoveInternalChildRange(index, range)); +} + +template Windows::UI::Xaml::Controls::GroupItem impl_IGroupItemFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::GroupItem instance { nullptr }; + check_hresult(WINRT_SHIM(IGroupItemFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IProgressBar::IsIndeterminate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProgressBar)->get_IsIndeterminate(&value)); + return value; +} + +template void impl_IProgressBar::IsIndeterminate(bool value) const +{ + check_hresult(WINRT_SHIM(IProgressBar)->put_IsIndeterminate(value)); +} + +template bool impl_IProgressBar::ShowError() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProgressBar)->get_ShowError(&value)); + return value; +} + +template void impl_IProgressBar::ShowError(bool value) const +{ + check_hresult(WINRT_SHIM(IProgressBar)->put_ShowError(value)); +} + +template bool impl_IProgressBar::ShowPaused() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IProgressBar)->get_ShowPaused(&value)); + return value; +} + +template void impl_IProgressBar::ShowPaused(bool value) const +{ + check_hresult(WINRT_SHIM(IProgressBar)->put_ShowPaused(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::ProgressBarTemplateSettings impl_IProgressBar::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::ProgressBarTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(IProgressBar)->get_TemplateSettings(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IProgressBarStatics::IsIndeterminateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IProgressBarStatics)->get_IsIndeterminateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IProgressBarStatics::ShowErrorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IProgressBarStatics)->get_ShowErrorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IProgressBarStatics::ShowPausedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IProgressBarStatics)->get_ShowPausedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ProgressBar impl_IProgressBarFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ProgressBar instance { nullptr }; + check_hresult(WINRT_SHIM(IProgressBarFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template hstring impl_ISettingsFlyout::Title() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISettingsFlyout)->get_Title(put_abi(value))); + return value; +} + +template void impl_ISettingsFlyout::Title(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->put_Title(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ISettingsFlyout::HeaderBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyout)->get_HeaderBackground(put_abi(value))); + return value; +} + +template void impl_ISettingsFlyout::HeaderBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->put_HeaderBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ISettingsFlyout::HeaderForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyout)->get_HeaderForeground(put_abi(value))); + return value; +} + +template void impl_ISettingsFlyout::HeaderForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->put_HeaderForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::ImageSource impl_ISettingsFlyout::IconSource() const +{ + Windows::UI::Xaml::Media::ImageSource value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyout)->get_IconSource(put_abi(value))); + return value; +} + +template void impl_ISettingsFlyout::IconSource(const Windows::UI::Xaml::Media::ImageSource & value) const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->put_IconSource(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Primitives::SettingsFlyoutTemplateSettings impl_ISettingsFlyout::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::SettingsFlyoutTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyout)->get_TemplateSettings(put_abi(value))); + return value; +} + +template event_token impl_ISettingsFlyout::BackClick(const Windows::UI::Xaml::Controls::BackClickEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISettingsFlyout)->add_BackClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISettingsFlyout::BackClick(auto_revoke_t, const Windows::UI::Xaml::Controls::BackClickEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISettingsFlyout::remove_BackClick, BackClick(value)); +} + +template void impl_ISettingsFlyout::BackClick(event_token token) const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->remove_BackClick(token)); +} + +template void impl_ISettingsFlyout::Show() const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->abi_Show()); +} + +template void impl_ISettingsFlyout::ShowIndependent() const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->abi_ShowIndependent()); +} + +template void impl_ISettingsFlyout::Hide() const +{ + check_hresult(WINRT_SHIM(ISettingsFlyout)->abi_Hide()); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISettingsFlyoutStatics::TitleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutStatics)->get_TitleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISettingsFlyoutStatics::HeaderBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutStatics)->get_HeaderBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISettingsFlyoutStatics::HeaderForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutStatics)->get_HeaderForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISettingsFlyoutStatics::IconSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutStatics)->get_IconSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::SettingsFlyout impl_ISettingsFlyoutFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::SettingsFlyout instance { nullptr }; + check_hresult(WINRT_SHIM(ISettingsFlyoutFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template double impl_ISlider::IntermediateValue() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISlider)->get_IntermediateValue(&value)); + return value; +} + +template void impl_ISlider::IntermediateValue(double value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_IntermediateValue(value)); +} + +template double impl_ISlider::StepFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISlider)->get_StepFrequency(&value)); + return value; +} + +template void impl_ISlider::StepFrequency(double value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_StepFrequency(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::SliderSnapsTo impl_ISlider::SnapsTo() const +{ + Windows::UI::Xaml::Controls::Primitives::SliderSnapsTo value {}; + check_hresult(WINRT_SHIM(ISlider)->get_SnapsTo(&value)); + return value; +} + +template void impl_ISlider::SnapsTo(Windows::UI::Xaml::Controls::Primitives::SliderSnapsTo value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_SnapsTo(value)); +} + +template double impl_ISlider::TickFrequency() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISlider)->get_TickFrequency(&value)); + return value; +} + +template void impl_ISlider::TickFrequency(double value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_TickFrequency(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::TickPlacement impl_ISlider::TickPlacement() const +{ + Windows::UI::Xaml::Controls::Primitives::TickPlacement value {}; + check_hresult(WINRT_SHIM(ISlider)->get_TickPlacement(&value)); + return value; +} + +template void impl_ISlider::TickPlacement(Windows::UI::Xaml::Controls::Primitives::TickPlacement value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_TickPlacement(value)); +} + +template Windows::UI::Xaml::Controls::Orientation impl_ISlider::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(ISlider)->get_Orientation(&value)); + return value; +} + +template void impl_ISlider::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_Orientation(value)); +} + +template bool impl_ISlider::IsDirectionReversed() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISlider)->get_IsDirectionReversed(&value)); + return value; +} + +template void impl_ISlider::IsDirectionReversed(bool value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_IsDirectionReversed(value)); +} + +template bool impl_ISlider::IsThumbToolTipEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISlider)->get_IsThumbToolTipEnabled(&value)); + return value; +} + +template void impl_ISlider::IsThumbToolTipEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_IsThumbToolTipEnabled(value)); +} + +template Windows::UI::Xaml::Data::IValueConverter impl_ISlider::ThumbToolTipValueConverter() const +{ + Windows::UI::Xaml::Data::IValueConverter value; + check_hresult(WINRT_SHIM(ISlider)->get_ThumbToolTipValueConverter(put_abi(value))); + return value; +} + +template void impl_ISlider::ThumbToolTipValueConverter(const Windows::UI::Xaml::Data::IValueConverter & value) const +{ + check_hresult(WINRT_SHIM(ISlider)->put_ThumbToolTipValueConverter(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::IntermediateValueProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_IntermediateValueProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::StepFrequencyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_StepFrequencyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::SnapsToProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_SnapsToProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::TickFrequencyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_TickFrequencyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::TickPlacementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_TickPlacementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::IsDirectionReversedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_IsDirectionReversedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::IsThumbToolTipEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_IsThumbToolTipEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics::ThumbToolTipValueConverterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics)->get_ThumbToolTipValueConverterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Slider impl_ISliderFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Slider instance { nullptr }; + check_hresult(WINRT_SHIM(ISliderFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_ISlider2::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ISlider2)->get_Header(put_abi(value))); + return value; +} + +template void impl_ISlider2::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ISlider2)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_ISlider2::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(ISlider2)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_ISlider2::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(ISlider2)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics2::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics2)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISliderStatics2::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISliderStatics2)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template double impl_IToolTip::HorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToolTip)->get_HorizontalOffset(&value)); + return value; +} + +template void impl_IToolTip::HorizontalOffset(double value) const +{ + check_hresult(WINRT_SHIM(IToolTip)->put_HorizontalOffset(value)); +} + +template bool impl_IToolTip::IsOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IToolTip)->get_IsOpen(&value)); + return value; +} + +template void impl_IToolTip::IsOpen(bool value) const +{ + check_hresult(WINRT_SHIM(IToolTip)->put_IsOpen(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::PlacementMode impl_IToolTip::Placement() const +{ + Windows::UI::Xaml::Controls::Primitives::PlacementMode value {}; + check_hresult(WINRT_SHIM(IToolTip)->get_Placement(&value)); + return value; +} + +template void impl_IToolTip::Placement(Windows::UI::Xaml::Controls::Primitives::PlacementMode value) const +{ + check_hresult(WINRT_SHIM(IToolTip)->put_Placement(value)); +} + +template Windows::UI::Xaml::UIElement impl_IToolTip::PlacementTarget() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IToolTip)->get_PlacementTarget(put_abi(value))); + return value; +} + +template void impl_IToolTip::PlacementTarget(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IToolTip)->put_PlacementTarget(get_abi(value))); +} + +template double impl_IToolTip::VerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IToolTip)->get_VerticalOffset(&value)); + return value; +} + +template void impl_IToolTip::VerticalOffset(double value) const +{ + check_hresult(WINRT_SHIM(IToolTip)->put_VerticalOffset(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::ToolTipTemplateSettings impl_IToolTip::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::ToolTipTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(IToolTip)->get_TemplateSettings(put_abi(value))); + return value; +} + +template event_token impl_IToolTip::Closed(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IToolTip)->add_Closed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IToolTip::Closed(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IToolTip::remove_Closed, Closed(value)); +} + +template void impl_IToolTip::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IToolTip)->remove_Closed(token)); +} + +template event_token impl_IToolTip::Opened(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IToolTip)->add_Opened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IToolTip::Opened(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IToolTip::remove_Opened, Opened(value)); +} + +template void impl_IToolTip::Opened(event_token token) const +{ + check_hresult(WINRT_SHIM(IToolTip)->remove_Opened(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipStatics::HorizontalOffsetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipStatics)->get_HorizontalOffsetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipStatics::IsOpenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipStatics)->get_IsOpenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipStatics::PlacementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipStatics)->get_PlacementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipStatics::PlacementTargetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipStatics)->get_PlacementTargetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IToolTipStatics::VerticalOffsetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IToolTipStatics)->get_VerticalOffsetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ToolTip impl_IToolTipFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ToolTip instance { nullptr }; + check_hresult(WINRT_SHIM(IToolTipFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Button impl_IButtonFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Button instance { nullptr }; + check_hresult(WINRT_SHIM(IButtonFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::Primitives::FlyoutBase impl_IButtonWithFlyout::Flyout() const +{ + Windows::UI::Xaml::Controls::Primitives::FlyoutBase value { nullptr }; + check_hresult(WINRT_SHIM(IButtonWithFlyout)->get_Flyout(put_abi(value))); + return value; +} + +template void impl_IButtonWithFlyout::Flyout(const Windows::UI::Xaml::Controls::Primitives::FlyoutBase & value) const +{ + check_hresult(WINRT_SHIM(IButtonWithFlyout)->put_Flyout(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IButtonStaticsWithFlyout::FlyoutProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IButtonStaticsWithFlyout)->get_FlyoutProperty(put_abi(value))); + return value; +} + +template bool impl_IComboBox::IsDropDownOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IComboBox)->get_IsDropDownOpen(&value)); + return value; +} + +template void impl_IComboBox::IsDropDownOpen(bool value) const +{ + check_hresult(WINRT_SHIM(IComboBox)->put_IsDropDownOpen(value)); +} + +template bool impl_IComboBox::IsEditable() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IComboBox)->get_IsEditable(&value)); + return value; +} + +template bool impl_IComboBox::IsSelectionBoxHighlighted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IComboBox)->get_IsSelectionBoxHighlighted(&value)); + return value; +} + +template double impl_IComboBox::MaxDropDownHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IComboBox)->get_MaxDropDownHeight(&value)); + return value; +} + +template void impl_IComboBox::MaxDropDownHeight(double value) const +{ + check_hresult(WINRT_SHIM(IComboBox)->put_MaxDropDownHeight(value)); +} + +template Windows::Foundation::IInspectable impl_IComboBox::SelectionBoxItem() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IComboBox)->get_SelectionBoxItem(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DataTemplate impl_IComboBox::SelectionBoxItemTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IComboBox)->get_SelectionBoxItemTemplate(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::ComboBoxTemplateSettings impl_IComboBox::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::ComboBoxTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(IComboBox)->get_TemplateSettings(put_abi(value))); + return value; +} + +template event_token impl_IComboBox::DropDownClosed(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IComboBox)->add_DropDownClosed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IComboBox::DropDownClosed(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IComboBox::remove_DropDownClosed, DropDownClosed(value)); +} + +template void impl_IComboBox::DropDownClosed(event_token token) const +{ + check_hresult(WINRT_SHIM(IComboBox)->remove_DropDownClosed(token)); +} + +template event_token impl_IComboBox::DropDownOpened(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IComboBox)->add_DropDownOpened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IComboBox::DropDownOpened(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IComboBox::remove_DropDownOpened, DropDownOpened(value)); +} + +template void impl_IComboBox::DropDownOpened(event_token token) const +{ + check_hresult(WINRT_SHIM(IComboBox)->remove_DropDownOpened(token)); +} + +template void impl_IComboBoxOverrides::OnDropDownClosed(const Windows::Foundation::IInspectable & e) const +{ + check_hresult(WINRT_SHIM(IComboBoxOverrides)->abi_OnDropDownClosed(get_abi(e))); +} + +template void impl_IComboBoxOverrides::OnDropDownOpened(const Windows::Foundation::IInspectable & e) const +{ + check_hresult(WINRT_SHIM(IComboBoxOverrides)->abi_OnDropDownOpened(get_abi(e))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics::IsDropDownOpenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics)->get_IsDropDownOpenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics::MaxDropDownHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics)->get_MaxDropDownHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ComboBox impl_IComboBoxFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ComboBox instance { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_IComboBox2::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IComboBox2)->get_Header(put_abi(value))); + return value; +} + +template void impl_IComboBox2::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IComboBox2)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IComboBox2::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IComboBox2)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IComboBox2::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IComboBox2)->put_HeaderTemplate(get_abi(value))); +} + +template hstring impl_IComboBox2::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IComboBox2)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_IComboBox2::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IComboBox2)->put_PlaceholderText(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics2::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics2)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics2::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics2)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics2::PlaceholderTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics2)->get_PlaceholderTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_IComboBox3::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(IComboBox3)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_IComboBox3::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(IComboBox3)->put_LightDismissOverlayMode(value)); +} + +template bool impl_IComboBox3::IsTextSearchEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IComboBox3)->get_IsTextSearchEnabled(&value)); + return value; +} + +template void impl_IComboBox3::IsTextSearchEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IComboBox3)->put_IsTextSearchEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics3::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics3)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics3::IsTextSearchEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics3)->get_IsTextSearchEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ComboBoxSelectionChangedTrigger impl_IComboBox4::SelectionChangedTrigger() const +{ + Windows::UI::Xaml::Controls::ComboBoxSelectionChangedTrigger value {}; + check_hresult(WINRT_SHIM(IComboBox4)->get_SelectionChangedTrigger(&value)); + return value; +} + +template void impl_IComboBox4::SelectionChangedTrigger(Windows::UI::Xaml::Controls::ComboBoxSelectionChangedTrigger value) const +{ + check_hresult(WINRT_SHIM(IComboBox4)->put_SelectionChangedTrigger(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IComboBoxStatics4::SelectionChangedTriggerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxStatics4)->get_SelectionChangedTriggerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ComboBoxItem impl_IComboBoxItemFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ComboBoxItem instance { nullptr }; + check_hresult(WINRT_SHIM(IComboBoxItemFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::FlipView impl_IFlipViewFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::FlipView instance { nullptr }; + check_hresult(WINRT_SHIM(IFlipViewFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IFlipView2::UseTouchAnimationsForAllNavigation() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFlipView2)->get_UseTouchAnimationsForAllNavigation(&value)); + return value; +} + +template void impl_IFlipView2::UseTouchAnimationsForAllNavigation(bool value) const +{ + check_hresult(WINRT_SHIM(IFlipView2)->put_UseTouchAnimationsForAllNavigation(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlipViewStatics2::UseTouchAnimationsForAllNavigationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlipViewStatics2)->get_UseTouchAnimationsForAllNavigationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::FlipViewItem impl_IFlipViewItemFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::FlipViewItem instance { nullptr }; + check_hresult(WINRT_SHIM(IFlipViewItemFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Uri impl_IHyperlinkButton::NavigateUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IHyperlinkButton)->get_NavigateUri(put_abi(value))); + return value; +} + +template void impl_IHyperlinkButton::NavigateUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IHyperlinkButton)->put_NavigateUri(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IHyperlinkButtonStatics::NavigateUriProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHyperlinkButtonStatics)->get_NavigateUriProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::HyperlinkButton impl_IHyperlinkButtonFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::HyperlinkButton instance { nullptr }; + check_hresult(WINRT_SHIM(IHyperlinkButtonFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Collections::IVector impl_IListBox::SelectedItems() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IListBox)->get_SelectedItems(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::SelectionMode impl_IListBox::SelectionMode() const +{ + Windows::UI::Xaml::Controls::SelectionMode value {}; + check_hresult(WINRT_SHIM(IListBox)->get_SelectionMode(&value)); + return value; +} + +template void impl_IListBox::SelectionMode(Windows::UI::Xaml::Controls::SelectionMode value) const +{ + check_hresult(WINRT_SHIM(IListBox)->put_SelectionMode(value)); +} + +template void impl_IListBox::ScrollIntoView(const Windows::Foundation::IInspectable & item) const +{ + check_hresult(WINRT_SHIM(IListBox)->abi_ScrollIntoView(get_abi(item))); +} + +template void impl_IListBox::SelectAll() const +{ + check_hresult(WINRT_SHIM(IListBox)->abi_SelectAll()); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListBoxStatics::SelectionModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListBoxStatics)->get_SelectionModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ListBox impl_IListBoxFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ListBox instance { nullptr }; + check_hresult(WINRT_SHIM(IListBoxFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IListBox2::SingleSelectionFollowsFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListBox2)->get_SingleSelectionFollowsFocus(&value)); + return value; +} + +template void impl_IListBox2::SingleSelectionFollowsFocus(bool value) const +{ + check_hresult(WINRT_SHIM(IListBox2)->put_SingleSelectionFollowsFocus(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListBoxStatics2::SingleSelectionFollowsFocusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListBoxStatics2)->get_SingleSelectionFollowsFocusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ListBoxItem impl_IListBoxItemFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ListBoxItem instance { nullptr }; + check_hresult(WINRT_SHIM(IListBoxItemFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Collections::IVector impl_IListViewBase::SelectedItems() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IListViewBase)->get_SelectedItems(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ListViewSelectionMode impl_IListViewBase::SelectionMode() const +{ + Windows::UI::Xaml::Controls::ListViewSelectionMode value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_SelectionMode(&value)); + return value; +} + +template void impl_IListViewBase::SelectionMode(Windows::UI::Xaml::Controls::ListViewSelectionMode value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_SelectionMode(value)); +} + +template bool impl_IListViewBase::IsSwipeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_IsSwipeEnabled(&value)); + return value; +} + +template void impl_IListViewBase::IsSwipeEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_IsSwipeEnabled(value)); +} + +template bool impl_IListViewBase::CanDragItems() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_CanDragItems(&value)); + return value; +} + +template void impl_IListViewBase::CanDragItems(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_CanDragItems(value)); +} + +template bool impl_IListViewBase::CanReorderItems() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_CanReorderItems(&value)); + return value; +} + +template void impl_IListViewBase::CanReorderItems(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_CanReorderItems(value)); +} + +template bool impl_IListViewBase::IsItemClickEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_IsItemClickEnabled(&value)); + return value; +} + +template void impl_IListViewBase::IsItemClickEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_IsItemClickEnabled(value)); +} + +template double impl_IListViewBase::DataFetchSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_DataFetchSize(&value)); + return value; +} + +template void impl_IListViewBase::DataFetchSize(double value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_DataFetchSize(value)); +} + +template double impl_IListViewBase::IncrementalLoadingThreshold() const +{ + double value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_IncrementalLoadingThreshold(&value)); + return value; +} + +template void impl_IListViewBase::IncrementalLoadingThreshold(double value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_IncrementalLoadingThreshold(value)); +} + +template Windows::UI::Xaml::Controls::IncrementalLoadingTrigger impl_IListViewBase::IncrementalLoadingTrigger() const +{ + Windows::UI::Xaml::Controls::IncrementalLoadingTrigger value {}; + check_hresult(WINRT_SHIM(IListViewBase)->get_IncrementalLoadingTrigger(&value)); + return value; +} + +template void impl_IListViewBase::IncrementalLoadingTrigger(Windows::UI::Xaml::Controls::IncrementalLoadingTrigger value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_IncrementalLoadingTrigger(value)); +} + +template event_token impl_IListViewBase::ItemClick(const Windows::UI::Xaml::Controls::ItemClickEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IListViewBase)->add_ItemClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IListViewBase::ItemClick(auto_revoke_t, const Windows::UI::Xaml::Controls::ItemClickEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IListViewBase::remove_ItemClick, ItemClick(value)); +} + +template void impl_IListViewBase::ItemClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->remove_ItemClick(token)); +} + +template event_token impl_IListViewBase::DragItemsStarting(const Windows::UI::Xaml::Controls::DragItemsStartingEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IListViewBase)->add_DragItemsStarting(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IListViewBase::DragItemsStarting(auto_revoke_t, const Windows::UI::Xaml::Controls::DragItemsStartingEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IListViewBase::remove_DragItemsStarting, DragItemsStarting(value)); +} + +template void impl_IListViewBase::DragItemsStarting(event_token token) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->remove_DragItemsStarting(token)); +} + +template void impl_IListViewBase::ScrollIntoView(const Windows::Foundation::IInspectable & item) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->abi_ScrollIntoView(get_abi(item))); +} + +template void impl_IListViewBase::SelectAll() const +{ + check_hresult(WINRT_SHIM(IListViewBase)->abi_SelectAll()); +} + +template Windows::Foundation::IAsyncOperation impl_IListViewBase::LoadMoreItemsAsync() const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IListViewBase)->abi_LoadMoreItemsAsync(put_abi(returnValue))); + return returnValue; +} + +template void impl_IListViewBase::ScrollIntoView(const Windows::Foundation::IInspectable & item, Windows::UI::Xaml::Controls::ScrollIntoViewAlignment alignment) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->abi_ScrollIntoViewWithAlignment(get_abi(item), alignment)); +} + +template Windows::Foundation::IInspectable impl_IListViewBase::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IListViewBase)->get_Header(put_abi(value))); + return value; +} + +template void impl_IListViewBase::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IListViewBase::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBase)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IListViewBase::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IListViewBase::HeaderTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBase)->get_HeaderTransitions(put_abi(value))); + return value; +} + +template void impl_IListViewBase::HeaderTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IListViewBase)->put_HeaderTransitions(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::SelectionModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_SelectionModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::IsSwipeEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_IsSwipeEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::CanDragItemsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_CanDragItemsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::CanReorderItemsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_CanReorderItemsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::IsItemClickEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_IsItemClickEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::DataFetchSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_DataFetchSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::IncrementalLoadingThresholdProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_IncrementalLoadingThresholdProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::IncrementalLoadingTriggerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_IncrementalLoadingTriggerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::SemanticZoomOwnerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_SemanticZoomOwnerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::IsActiveViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_IsActiveViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::IsZoomedInViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_IsZoomedInViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics::HeaderTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics)->get_HeaderTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ListViewBase impl_IListViewBaseFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ListViewBase instance { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IListViewBase2::ShowsScrollingPlaceholders() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewBase2)->get_ShowsScrollingPlaceholders(&value)); + return value; +} + +template void impl_IListViewBase2::ShowsScrollingPlaceholders(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewBase2)->put_ShowsScrollingPlaceholders(value)); +} + +template event_token impl_IListViewBase2::ContainerContentChanging(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IListViewBase2)->add_ContainerContentChanging(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IListViewBase2::ContainerContentChanging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IListViewBase2::remove_ContainerContentChanging, ContainerContentChanging(value)); +} + +template void impl_IListViewBase2::ContainerContentChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(IListViewBase2)->remove_ContainerContentChanging(token)); +} + +template void impl_IListViewBase2::SetDesiredContainerUpdateDuration(const Windows::Foundation::TimeSpan & duration) const +{ + check_hresult(WINRT_SHIM(IListViewBase2)->abi_SetDesiredContainerUpdateDuration(get_abi(duration))); +} + +template Windows::Foundation::IInspectable impl_IListViewBase2::Footer() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IListViewBase2)->get_Footer(put_abi(value))); + return value; +} + +template void impl_IListViewBase2::Footer(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IListViewBase2)->put_Footer(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IListViewBase2::FooterTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBase2)->get_FooterTemplate(put_abi(value))); + return value; +} + +template void impl_IListViewBase2::FooterTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IListViewBase2)->put_FooterTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Animation::TransitionCollection impl_IListViewBase2::FooterTransitions() const +{ + Windows::UI::Xaml::Media::Animation::TransitionCollection value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBase2)->get_FooterTransitions(put_abi(value))); + return value; +} + +template void impl_IListViewBase2::FooterTransitions(const Windows::UI::Xaml::Media::Animation::TransitionCollection & value) const +{ + check_hresult(WINRT_SHIM(IListViewBase2)->put_FooterTransitions(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics2::ShowsScrollingPlaceholdersProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics2)->get_ShowsScrollingPlaceholdersProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics2::FooterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics2)->get_FooterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics2::FooterTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics2)->get_FooterTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics2::FooterTransitionsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics2)->get_FooterTransitionsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ListViewReorderMode impl_IListViewBase3::ReorderMode() const +{ + Windows::UI::Xaml::Controls::ListViewReorderMode value {}; + check_hresult(WINRT_SHIM(IListViewBase3)->get_ReorderMode(&value)); + return value; +} + +template void impl_IListViewBase3::ReorderMode(Windows::UI::Xaml::Controls::ListViewReorderMode value) const +{ + check_hresult(WINRT_SHIM(IListViewBase3)->put_ReorderMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics3::ReorderModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics3)->get_ReorderModeProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_IListViewBase4::SelectedRanges() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(IListViewBase4)->get_SelectedRanges(put_abi(value))); + return value; +} + +template bool impl_IListViewBase4::IsMultiSelectCheckBoxEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewBase4)->get_IsMultiSelectCheckBoxEnabled(&value)); + return value; +} + +template void impl_IListViewBase4::IsMultiSelectCheckBoxEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewBase4)->put_IsMultiSelectCheckBoxEnabled(value)); +} + +template event_token impl_IListViewBase4::DragItemsCompleted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IListViewBase4)->add_DragItemsCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IListViewBase4::DragItemsCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IListViewBase4::remove_DragItemsCompleted, DragItemsCompleted(value)); +} + +template void impl_IListViewBase4::DragItemsCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IListViewBase4)->remove_DragItemsCompleted(token)); +} + +template event_token impl_IListViewBase4::ChoosingItemContainer(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IListViewBase4)->add_ChoosingItemContainer(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IListViewBase4::ChoosingItemContainer(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IListViewBase4::remove_ChoosingItemContainer, ChoosingItemContainer(value)); +} + +template void impl_IListViewBase4::ChoosingItemContainer(event_token token) const +{ + check_hresult(WINRT_SHIM(IListViewBase4)->remove_ChoosingItemContainer(token)); +} + +template event_token impl_IListViewBase4::ChoosingGroupHeaderContainer(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IListViewBase4)->add_ChoosingGroupHeaderContainer(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IListViewBase4::ChoosingGroupHeaderContainer(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IListViewBase4::remove_ChoosingGroupHeaderContainer, ChoosingGroupHeaderContainer(value)); +} + +template void impl_IListViewBase4::ChoosingGroupHeaderContainer(event_token token) const +{ + check_hresult(WINRT_SHIM(IListViewBase4)->remove_ChoosingGroupHeaderContainer(token)); +} + +template void impl_IListViewBase4::SelectRange(const Windows::UI::Xaml::Data::ItemIndexRange & itemIndexRange) const +{ + check_hresult(WINRT_SHIM(IListViewBase4)->abi_SelectRange(get_abi(itemIndexRange))); +} + +template void impl_IListViewBase4::DeselectRange(const Windows::UI::Xaml::Data::ItemIndexRange & itemIndexRange) const +{ + check_hresult(WINRT_SHIM(IListViewBase4)->abi_DeselectRange(get_abi(itemIndexRange))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics4::IsMultiSelectCheckBoxEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics4)->get_IsMultiSelectCheckBoxEnabledProperty(put_abi(value))); + return value; +} + +template bool impl_IListViewBase5::SingleSelectionFollowsFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IListViewBase5)->get_SingleSelectionFollowsFocus(&value)); + return value; +} + +template void impl_IListViewBase5::SingleSelectionFollowsFocus(bool value) const +{ + check_hresult(WINRT_SHIM(IListViewBase5)->put_SingleSelectionFollowsFocus(value)); +} + +template bool impl_IListViewBase5::IsDragSource() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IListViewBase5)->abi_IsDragSource(&returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IListViewBaseStatics5::SingleSelectionFollowsFocusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IListViewBaseStatics5)->get_SingleSelectionFollowsFocusProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation impl_IListViewBase6::TryStartConnectedAnimationAsync(const Windows::UI::Xaml::Media::Animation::ConnectedAnimation & animation, const Windows::Foundation::IInspectable & item, hstring_view elementName) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IListViewBase6)->abi_TryStartConnectedAnimationAsync(get_abi(animation), get_abi(item), get_abi(elementName), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Media::Animation::ConnectedAnimation impl_IListViewBase6::PrepareConnectedAnimation(hstring_view key, const Windows::Foundation::IInspectable & item, hstring_view elementName) const +{ + Windows::UI::Xaml::Media::Animation::ConnectedAnimation returnValue { nullptr }; + check_hresult(WINRT_SHIM(IListViewBase6)->abi_PrepareConnectedAnimation(get_abi(key), get_abi(item), get_abi(elementName), put_abi(returnValue))); + return returnValue; +} + +template bool impl_IVirtualizingStackPanel::AreScrollSnapPointsRegular() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVirtualizingStackPanel)->get_AreScrollSnapPointsRegular(&value)); + return value; +} + +template void impl_IVirtualizingStackPanel::AreScrollSnapPointsRegular(bool value) const +{ + check_hresult(WINRT_SHIM(IVirtualizingStackPanel)->put_AreScrollSnapPointsRegular(value)); +} + +template Windows::UI::Xaml::Controls::Orientation impl_IVirtualizingStackPanel::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IVirtualizingStackPanel)->get_Orientation(&value)); + return value; +} + +template void impl_IVirtualizingStackPanel::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IVirtualizingStackPanel)->put_Orientation(value)); +} + +template event_token impl_IVirtualizingStackPanel::CleanUpVirtualizedItemEvent(const Windows::UI::Xaml::Controls::CleanUpVirtualizedItemEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IVirtualizingStackPanel)->add_CleanUpVirtualizedItemEvent(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IVirtualizingStackPanel::CleanUpVirtualizedItemEvent(auto_revoke_t, const Windows::UI::Xaml::Controls::CleanUpVirtualizedItemEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IVirtualizingStackPanel::remove_CleanUpVirtualizedItemEvent, CleanUpVirtualizedItemEvent(value)); +} + +template void impl_IVirtualizingStackPanel::CleanUpVirtualizedItemEvent(event_token token) const +{ + check_hresult(WINRT_SHIM(IVirtualizingStackPanel)->remove_CleanUpVirtualizedItemEvent(token)); +} + +template void impl_IVirtualizingStackPanelOverrides::OnCleanUpVirtualizedItem(const Windows::UI::Xaml::Controls::CleanUpVirtualizedItemEventArgs & e) const +{ + check_hresult(WINRT_SHIM(IVirtualizingStackPanelOverrides)->abi_OnCleanUpVirtualizedItem(get_abi(e))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IVirtualizingStackPanelStatics::AreScrollSnapPointsRegularProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVirtualizingStackPanelStatics)->get_AreScrollSnapPointsRegularProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVirtualizingStackPanelStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVirtualizingStackPanelStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IVirtualizingStackPanelStatics::VirtualizationModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVirtualizingStackPanelStatics)->get_VirtualizationModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::VirtualizationMode impl_IVirtualizingStackPanelStatics::GetVirtualizationMode(const Windows::UI::Xaml::DependencyObject & element) const +{ + Windows::UI::Xaml::Controls::VirtualizationMode value {}; + check_hresult(WINRT_SHIM(IVirtualizingStackPanelStatics)->abi_GetVirtualizationMode(get_abi(element), &value)); + return value; +} + +template void impl_IVirtualizingStackPanelStatics::SetVirtualizationMode(const Windows::UI::Xaml::DependencyObject & element, Windows::UI::Xaml::Controls::VirtualizationMode value) const +{ + check_hresult(WINRT_SHIM(IVirtualizingStackPanelStatics)->abi_SetVirtualizationMode(get_abi(element), value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IVirtualizingStackPanelStatics::IsVirtualizingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IVirtualizingStackPanelStatics)->get_IsVirtualizingProperty(put_abi(value))); + return value; +} + +template bool impl_IVirtualizingStackPanelStatics::GetIsVirtualizing(const Windows::UI::Xaml::DependencyObject & o) const +{ + bool value {}; + check_hresult(WINRT_SHIM(IVirtualizingStackPanelStatics)->abi_GetIsVirtualizing(get_abi(o), &value)); + return value; +} + +template Windows::UI::Xaml::Controls::CheckBox impl_ICheckBoxFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::CheckBox instance { nullptr }; + check_hresult(WINRT_SHIM(ICheckBoxFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template hstring impl_IRadioButton::GroupName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRadioButton)->get_GroupName(put_abi(value))); + return value; +} + +template void impl_IRadioButton::GroupName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IRadioButton)->put_GroupName(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRadioButtonStatics::GroupNameProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRadioButtonStatics)->get_GroupNameProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::RadioButton impl_IRadioButtonFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::RadioButton instance { nullptr }; + check_hresult(WINRT_SHIM(IRadioButtonFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_ICommandBarElement::IsCompact() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommandBarElement)->get_IsCompact(&value)); + return value; +} + +template void impl_ICommandBarElement::IsCompact(bool value) const +{ + check_hresult(WINRT_SHIM(ICommandBarElement)->put_IsCompact(value)); +} + +template bool impl_ICommandBarElement2::IsInOverflow() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICommandBarElement2)->get_IsInOverflow(&value)); + return value; +} + +template int32_t impl_ICommandBarElement2::DynamicOverflowOrder() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICommandBarElement2)->get_DynamicOverflowOrder(&value)); + return value; +} + +template void impl_ICommandBarElement2::DynamicOverflowOrder(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICommandBarElement2)->put_DynamicOverflowOrder(value)); +} + +template Windows::Foundation::IReference impl_ICalendarDatePickerDateChangedEventArgs::NewDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICalendarDatePickerDateChangedEventArgs)->get_NewDate(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICalendarDatePickerDateChangedEventArgs::OldDate() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICalendarDatePickerDateChangedEventArgs)->get_OldDate(put_abi(value))); + return value; +} + +template bool impl_ICalendarViewDayItemChangingEventArgs::InRecycleQueue() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarViewDayItemChangingEventArgs)->get_InRecycleQueue(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::CalendarViewDayItem impl_ICalendarViewDayItemChangingEventArgs::Item() const +{ + Windows::UI::Xaml::Controls::CalendarViewDayItem value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewDayItemChangingEventArgs)->get_Item(put_abi(value))); + return value; +} + +template uint32_t impl_ICalendarViewDayItemChangingEventArgs::Phase() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(ICalendarViewDayItemChangingEventArgs)->get_Phase(&value)); + return value; +} + +template void impl_ICalendarViewDayItemChangingEventArgs::RegisterUpdateCallback(const Windows::Foundation::TypedEventHandler & callback) const +{ + check_hresult(WINRT_SHIM(ICalendarViewDayItemChangingEventArgs)->abi_RegisterUpdateCallback(get_abi(callback))); +} + +template void impl_ICalendarViewDayItemChangingEventArgs::RegisterUpdateCallback(uint32_t callbackPhase, const Windows::Foundation::TypedEventHandler & callback) const +{ + check_hresult(WINRT_SHIM(ICalendarViewDayItemChangingEventArgs)->abi_RegisterUpdateCallbackWithPhase(callbackPhase, get_abi(callback))); +} + +template Windows::Foundation::Collections::IVectorView impl_ICalendarViewSelectedDatesChangedEventArgs::AddedDates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICalendarViewSelectedDatesChangedEventArgs)->get_AddedDates(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVectorView impl_ICalendarViewSelectedDatesChangedEventArgs::RemovedDates() const +{ + Windows::Foundation::Collections::IVectorView value; + check_hresult(WINRT_SHIM(ICalendarViewSelectedDatesChangedEventArgs)->get_RemovedDates(put_abi(value))); + return value; +} + +template void impl_IContentDialogButtonClickDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IContentDialogButtonClickDeferral)->abi_Complete()); +} + +template bool impl_IContentDialogButtonClickEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContentDialogButtonClickEventArgs)->get_Cancel(&value)); + return value; +} + +template void impl_IContentDialogButtonClickEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(IContentDialogButtonClickEventArgs)->put_Cancel(value)); +} + +template Windows::UI::Xaml::Controls::ContentDialogButtonClickDeferral impl_IContentDialogButtonClickEventArgs::GetDeferral() const +{ + Windows::UI::Xaml::Controls::ContentDialogButtonClickDeferral returnValue { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogButtonClickEventArgs)->abi_GetDeferral(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::ContentDialogResult impl_IContentDialogClosedEventArgs::Result() const +{ + Windows::UI::Xaml::Controls::ContentDialogResult value {}; + check_hresult(WINRT_SHIM(IContentDialogClosedEventArgs)->get_Result(&value)); + return value; +} + +template void impl_IContentDialogClosingDeferral::Complete() const +{ + check_hresult(WINRT_SHIM(IContentDialogClosingDeferral)->abi_Complete()); +} + +template Windows::UI::Xaml::Controls::ContentDialogResult impl_IContentDialogClosingEventArgs::Result() const +{ + Windows::UI::Xaml::Controls::ContentDialogResult value {}; + check_hresult(WINRT_SHIM(IContentDialogClosingEventArgs)->get_Result(&value)); + return value; +} + +template bool impl_IContentDialogClosingEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContentDialogClosingEventArgs)->get_Cancel(&value)); + return value; +} + +template void impl_IContentDialogClosingEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(IContentDialogClosingEventArgs)->put_Cancel(value)); +} + +template Windows::UI::Xaml::Controls::ContentDialogClosingDeferral impl_IContentDialogClosingEventArgs::GetDeferral() const +{ + Windows::UI::Xaml::Controls::ContentDialogClosingDeferral returnValue { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogClosingEventArgs)->abi_GetDeferral(put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::DateTime impl_IDatePickerValueChangedEventArgs::OldDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDatePickerValueChangedEventArgs)->get_OldDate(put_abi(value))); + return value; +} + +template Windows::Foundation::DateTime impl_IDatePickerValueChangedEventArgs::NewDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDatePickerValueChangedEventArgs)->get_NewDate(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::CommandBarDynamicOverflowAction impl_IDynamicOverflowItemsChangingEventArgs::Action() const +{ + Windows::UI::Xaml::Controls::CommandBarDynamicOverflowAction value {}; + check_hresult(WINRT_SHIM(IDynamicOverflowItemsChangingEventArgs)->get_Action(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::HubSection impl_IHubSectionHeaderClickEventArgs::Section() const +{ + Windows::UI::Xaml::Controls::HubSection value { nullptr }; + check_hresult(WINRT_SHIM(IHubSectionHeaderClickEventArgs)->get_Section(put_abi(value))); + return value; +} + +template hstring impl_IListViewPersistenceHelperStatics::GetRelativeScrollPosition(const Windows::UI::Xaml::Controls::ListViewBase & listViewBase, const Windows::UI::Xaml::Controls::ListViewItemToKeyHandler & itemToKeyHandler) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IListViewPersistenceHelperStatics)->abi_GetRelativeScrollPosition(get_abi(listViewBase), get_abi(itemToKeyHandler), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncAction impl_IListViewPersistenceHelperStatics::SetRelativeScrollPositionAsync(const Windows::UI::Xaml::Controls::ListViewBase & listViewBase, hstring_view relativeScrollPosition, const Windows::UI::Xaml::Controls::ListViewKeyToItemHandler & keyToItemHandler) const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IListViewPersistenceHelperStatics)->abi_SetRelativeScrollPositionAsync(get_abi(listViewBase), get_abi(relativeScrollPosition), get_abi(keyToItemHandler), put_abi(returnValue))); + return returnValue; +} + +template bool impl_IRichEditBoxTextChangingEventArgs2::IsContentChanging() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichEditBoxTextChangingEventArgs2)->get_IsContentChanging(&value)); + return value; +} + +template double impl_IScrollViewerView::HorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollViewerView)->get_HorizontalOffset(&value)); + return value; +} + +template double impl_IScrollViewerView::VerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollViewerView)->get_VerticalOffset(&value)); + return value; +} + +template float impl_IScrollViewerView::ZoomFactor() const +{ + float value {}; + check_hresult(WINRT_SHIM(IScrollViewerView)->get_ZoomFactor(&value)); + return value; +} + +template bool impl_IScrollViewerViewChangedEventArgs::IsIntermediate() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollViewerViewChangedEventArgs)->get_IsIntermediate(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::ScrollViewerView impl_IScrollViewerViewChangingEventArgs::NextView() const +{ + Windows::UI::Xaml::Controls::ScrollViewerView value { nullptr }; + check_hresult(WINRT_SHIM(IScrollViewerViewChangingEventArgs)->get_NextView(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ScrollViewerView impl_IScrollViewerViewChangingEventArgs::FinalView() const +{ + Windows::UI::Xaml::Controls::ScrollViewerView value { nullptr }; + check_hresult(WINRT_SHIM(IScrollViewerViewChangingEventArgs)->get_FinalView(put_abi(value))); + return value; +} + +template bool impl_IScrollViewerViewChangingEventArgs::IsInertial() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollViewerViewChangingEventArgs)->get_IsInertial(&value)); + return value; +} + +template hstring impl_ISearchBoxQueryChangedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBoxQueryChangedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchBoxQueryChangedEventArgs::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBoxQueryChangedEventArgs)->get_Language(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchQueryLinguisticDetails impl_ISearchBoxQueryChangedEventArgs::LinguisticDetails() const +{ + Windows::ApplicationModel::Search::SearchQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxQueryChangedEventArgs)->get_LinguisticDetails(put_abi(value))); + return value; +} + +template hstring impl_ISearchBoxQuerySubmittedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBoxQuerySubmittedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchBoxQuerySubmittedEventArgs::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBoxQuerySubmittedEventArgs)->get_Language(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchQueryLinguisticDetails impl_ISearchBoxQuerySubmittedEventArgs::LinguisticDetails() const +{ + Windows::ApplicationModel::Search::SearchQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxQuerySubmittedEventArgs)->get_LinguisticDetails(put_abi(value))); + return value; +} + +template Windows::System::VirtualKeyModifiers impl_ISearchBoxQuerySubmittedEventArgs::KeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(ISearchBoxQuerySubmittedEventArgs)->get_KeyModifiers(&value)); + return value; +} + +template hstring impl_ISearchBoxResultSuggestionChosenEventArgs::Tag() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBoxResultSuggestionChosenEventArgs)->get_Tag(put_abi(value))); + return value; +} + +template Windows::System::VirtualKeyModifiers impl_ISearchBoxResultSuggestionChosenEventArgs::KeyModifiers() const +{ + Windows::System::VirtualKeyModifiers value {}; + check_hresult(WINRT_SHIM(ISearchBoxResultSuggestionChosenEventArgs)->get_KeyModifiers(&value)); + return value; +} + +template hstring impl_ISearchBoxSuggestionsRequestedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBoxSuggestionsRequestedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template hstring impl_ISearchBoxSuggestionsRequestedEventArgs::Language() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBoxSuggestionsRequestedEventArgs)->get_Language(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchQueryLinguisticDetails impl_ISearchBoxSuggestionsRequestedEventArgs::LinguisticDetails() const +{ + Windows::ApplicationModel::Search::SearchQueryLinguisticDetails value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxSuggestionsRequestedEventArgs)->get_LinguisticDetails(put_abi(value))); + return value; +} + +template Windows::ApplicationModel::Search::SearchSuggestionsRequest impl_ISearchBoxSuggestionsRequestedEventArgs::Request() const +{ + Windows::ApplicationModel::Search::SearchSuggestionsRequest value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxSuggestionsRequestedEventArgs)->get_Request(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISectionsInViewChangedEventArgs::AddedSections() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISectionsInViewChangedEventArgs)->get_AddedSections(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_ISectionsInViewChangedEventArgs::RemovedSections() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ISectionsInViewChangedEventArgs)->get_RemovedSections(put_abi(value))); + return value; +} + +template bool impl_ISplitViewPaneClosingEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISplitViewPaneClosingEventArgs)->get_Cancel(&value)); + return value; +} + +template void impl_ISplitViewPaneClosingEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(ISplitViewPaneClosingEventArgs)->put_Cancel(value)); +} + +template Windows::Foundation::TimeSpan impl_ITimePickerValueChangedEventArgs::OldTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ITimePickerValueChangedEventArgs)->get_OldTime(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_ITimePickerValueChangedEventArgs::NewTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ITimePickerValueChangedEventArgs)->get_NewTime(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IWebViewContentLoadingEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewContentLoadingEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IWebViewDeferredPermissionRequest::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewDeferredPermissionRequest)->get_Uri(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::WebViewPermissionType impl_IWebViewDeferredPermissionRequest::PermissionType() const +{ + Windows::UI::Xaml::Controls::WebViewPermissionType value {}; + check_hresult(WINRT_SHIM(IWebViewDeferredPermissionRequest)->get_PermissionType(&value)); + return value; +} + +template uint32_t impl_IWebViewDeferredPermissionRequest::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWebViewDeferredPermissionRequest)->get_Id(&value)); + return value; +} + +template void impl_IWebViewDeferredPermissionRequest::Allow() const +{ + check_hresult(WINRT_SHIM(IWebViewDeferredPermissionRequest)->abi_Allow()); +} + +template void impl_IWebViewDeferredPermissionRequest::Deny() const +{ + check_hresult(WINRT_SHIM(IWebViewDeferredPermissionRequest)->abi_Deny()); +} + +template Windows::Foundation::Uri impl_IWebViewDOMContentLoadedEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewDOMContentLoadedEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IWebViewLongRunningScriptDetectedEventArgs::ExecutionTime() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IWebViewLongRunningScriptDetectedEventArgs)->get_ExecutionTime(put_abi(value))); + return value; +} + +template bool impl_IWebViewLongRunningScriptDetectedEventArgs::StopPageScriptExecution() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebViewLongRunningScriptDetectedEventArgs)->get_StopPageScriptExecution(&value)); + return value; +} + +template void impl_IWebViewLongRunningScriptDetectedEventArgs::StopPageScriptExecution(bool value) const +{ + check_hresult(WINRT_SHIM(IWebViewLongRunningScriptDetectedEventArgs)->put_StopPageScriptExecution(value)); +} + +template Windows::Foundation::Uri impl_IWebViewNavigationCompletedEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewNavigationCompletedEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template bool impl_IWebViewNavigationCompletedEventArgs::IsSuccess() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebViewNavigationCompletedEventArgs)->get_IsSuccess(&value)); + return value; +} + +template Windows::Web::WebErrorStatus impl_IWebViewNavigationCompletedEventArgs::WebErrorStatus() const +{ + Windows::Web::WebErrorStatus value {}; + check_hresult(WINRT_SHIM(IWebViewNavigationCompletedEventArgs)->get_WebErrorStatus(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IWebViewNavigationFailedEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewNavigationFailedEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Web::WebErrorStatus impl_IWebViewNavigationFailedEventArgs::WebErrorStatus() const +{ + Windows::Web::WebErrorStatus value {}; + check_hresult(WINRT_SHIM(IWebViewNavigationFailedEventArgs)->get_WebErrorStatus(&value)); + return value; +} + +template Windows::Foundation::Uri impl_IWebViewNavigationStartingEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewNavigationStartingEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template bool impl_IWebViewNavigationStartingEventArgs::Cancel() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebViewNavigationStartingEventArgs)->get_Cancel(&value)); + return value; +} + +template void impl_IWebViewNavigationStartingEventArgs::Cancel(bool value) const +{ + check_hresult(WINRT_SHIM(IWebViewNavigationStartingEventArgs)->put_Cancel(value)); +} + +template Windows::Foundation::Uri impl_IWebViewNewWindowRequestedEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewNewWindowRequestedEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IWebViewNewWindowRequestedEventArgs::Referrer() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewNewWindowRequestedEventArgs)->get_Referrer(put_abi(value))); + return value; +} + +template bool impl_IWebViewNewWindowRequestedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebViewNewWindowRequestedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IWebViewNewWindowRequestedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IWebViewNewWindowRequestedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Uri impl_IWebViewPermissionRequest::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewPermissionRequest)->get_Uri(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::WebViewPermissionType impl_IWebViewPermissionRequest::PermissionType() const +{ + Windows::UI::Xaml::Controls::WebViewPermissionType value {}; + check_hresult(WINRT_SHIM(IWebViewPermissionRequest)->get_PermissionType(&value)); + return value; +} + +template uint32_t impl_IWebViewPermissionRequest::Id() const +{ + uint32_t value {}; + check_hresult(WINRT_SHIM(IWebViewPermissionRequest)->get_Id(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::WebViewPermissionState impl_IWebViewPermissionRequest::State() const +{ + Windows::UI::Xaml::Controls::WebViewPermissionState value {}; + check_hresult(WINRT_SHIM(IWebViewPermissionRequest)->get_State(&value)); + return value; +} + +template void impl_IWebViewPermissionRequest::Defer() const +{ + check_hresult(WINRT_SHIM(IWebViewPermissionRequest)->abi_Defer()); +} + +template void impl_IWebViewPermissionRequest::Allow() const +{ + check_hresult(WINRT_SHIM(IWebViewPermissionRequest)->abi_Allow()); +} + +template void impl_IWebViewPermissionRequest::Deny() const +{ + check_hresult(WINRT_SHIM(IWebViewPermissionRequest)->abi_Deny()); +} + +template Windows::UI::Xaml::Controls::WebViewPermissionRequest impl_IWebViewPermissionRequestedEventArgs::PermissionRequest() const +{ + Windows::UI::Xaml::Controls::WebViewPermissionRequest value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewPermissionRequestedEventArgs)->get_PermissionRequest(put_abi(value))); + return value; +} + +template bool impl_IWebViewSettings::IsJavaScriptEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebViewSettings)->get_IsJavaScriptEnabled(&value)); + return value; +} + +template void impl_IWebViewSettings::IsJavaScriptEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IWebViewSettings)->put_IsJavaScriptEnabled(value)); +} + +template bool impl_IWebViewSettings::IsIndexedDBEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebViewSettings)->get_IsIndexedDBEnabled(&value)); + return value; +} + +template void impl_IWebViewSettings::IsIndexedDBEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IWebViewSettings)->put_IsIndexedDBEnabled(value)); +} + +template Windows::Foundation::Uri impl_IWebViewUnsupportedUriSchemeIdentifiedEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewUnsupportedUriSchemeIdentifiedEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template bool impl_IWebViewUnsupportedUriSchemeIdentifiedEventArgs::Handled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebViewUnsupportedUriSchemeIdentifiedEventArgs)->get_Handled(&value)); + return value; +} + +template void impl_IWebViewUnsupportedUriSchemeIdentifiedEventArgs::Handled(bool value) const +{ + check_hresult(WINRT_SHIM(IWebViewUnsupportedUriSchemeIdentifiedEventArgs)->put_Handled(value)); +} + +template Windows::Foundation::Uri impl_IWebViewUnviewableContentIdentifiedEventArgs::Uri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewUnviewableContentIdentifiedEventArgs)->get_Uri(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IWebViewUnviewableContentIdentifiedEventArgs::Referrer() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewUnviewableContentIdentifiedEventArgs)->get_Referrer(put_abi(value))); + return value; +} + +template hstring impl_IWebViewUnviewableContentIdentifiedEventArgs2::MediaType() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebViewUnviewableContentIdentifiedEventArgs2)->get_MediaType(put_abi(value))); + return value; +} + +template hstring impl_IAutoSuggestBoxQuerySubmittedEventArgs::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutoSuggestBoxQuerySubmittedEventArgs)->get_QueryText(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IAutoSuggestBoxQuerySubmittedEventArgs::ChosenSuggestion() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IAutoSuggestBoxQuerySubmittedEventArgs)->get_ChosenSuggestion(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IAutoSuggestBoxSuggestionChosenEventArgs::SelectedItem() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IAutoSuggestBoxSuggestionChosenEventArgs)->get_SelectedItem(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::AutoSuggestionBoxTextChangeReason impl_IAutoSuggestBoxTextChangedEventArgs::Reason() const +{ + Windows::UI::Xaml::Controls::AutoSuggestionBoxTextChangeReason value {}; + check_hresult(WINRT_SHIM(IAutoSuggestBoxTextChangedEventArgs)->get_Reason(&value)); + return value; +} + +template void impl_IAutoSuggestBoxTextChangedEventArgs::Reason(Windows::UI::Xaml::Controls::AutoSuggestionBoxTextChangeReason value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBoxTextChangedEventArgs)->put_Reason(value)); +} + +template bool impl_IAutoSuggestBoxTextChangedEventArgs::CheckCurrent() const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IAutoSuggestBoxTextChangedEventArgs)->abi_CheckCurrent(&returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxTextChangedEventArgsStatics::ReasonProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxTextChangedEventArgsStatics)->get_ReasonProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::UIElement impl_IFlyout::Content() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(IFlyout)->get_Content(put_abi(value))); + return value; +} + +template void impl_IFlyout::Content(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(IFlyout)->put_Content(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_IFlyout::FlyoutPresenterStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IFlyout)->get_FlyoutPresenterStyle(put_abi(value))); + return value; +} + +template void impl_IFlyout::FlyoutPresenterStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IFlyout)->put_FlyoutPresenterStyle(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutStatics::ContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutStatics)->get_ContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFlyoutStatics::FlyoutPresenterStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutStatics)->get_FlyoutPresenterStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Flyout impl_IFlyoutFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Flyout instance { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Collections::IVector impl_IMenuFlyout::Items() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IMenuFlyout)->get_Items(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Style impl_IMenuFlyout::MenuFlyoutPresenterStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IMenuFlyout)->get_MenuFlyoutPresenterStyle(put_abi(value))); + return value; +} + +template void impl_IMenuFlyout::MenuFlyoutPresenterStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IMenuFlyout)->put_MenuFlyoutPresenterStyle(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMenuFlyoutStatics::MenuFlyoutPresenterStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMenuFlyoutStatics)->get_MenuFlyoutPresenterStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::MenuFlyout impl_IMenuFlyoutFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::MenuFlyout instance { nullptr }; + check_hresult(WINRT_SHIM(IMenuFlyoutFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template void impl_IMenuFlyout2::ShowAt(const Windows::UI::Xaml::UIElement & targetElement, const Windows::Foundation::Point & point) const +{ + check_hresult(WINRT_SHIM(IMenuFlyout2)->abi_ShowAt(get_abi(targetElement), get_abi(point))); +} + +template Windows::UI::Xaml::Media::Brush impl_IIconElement::Foreground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(IIconElement)->get_Foreground(put_abi(value))); + return value; +} + +template void impl_IIconElement::Foreground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(IIconElement)->put_Foreground(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IIconElementStatics::ForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IIconElementStatics)->get_ForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Input::Inking::InkPresenter impl_IInkCanvas::InkPresenter() const +{ + Windows::UI::Input::Inking::InkPresenter value { nullptr }; + check_hresult(WINRT_SHIM(IInkCanvas)->get_InkPresenter(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::InkCanvas impl_IInkCanvasFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::InkCanvas instance { nullptr }; + check_hresult(WINRT_SHIM(IInkCanvasFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Media::ImageSource impl_IMediaElement::PosterSource() const +{ + Windows::UI::Xaml::Media::ImageSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement)->get_PosterSource(put_abi(value))); + return value; +} + +template void impl_IMediaElement::PosterSource(const Windows::UI::Xaml::Media::ImageSource & value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_PosterSource(get_abi(value))); +} + +template Windows::Foundation::Uri impl_IMediaElement::Source() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement)->get_Source(put_abi(value))); + return value; +} + +template void impl_IMediaElement::Source(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_Source(get_abi(value))); +} + +template bool impl_IMediaElement::IsMuted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_IsMuted(&value)); + return value; +} + +template void impl_IMediaElement::IsMuted(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_IsMuted(value)); +} + +template bool impl_IMediaElement::IsAudioOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_IsAudioOnly(&value)); + return value; +} + +template bool impl_IMediaElement::AutoPlay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_AutoPlay(&value)); + return value; +} + +template void impl_IMediaElement::AutoPlay(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_AutoPlay(value)); +} + +template double impl_IMediaElement::Volume() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_Volume(&value)); + return value; +} + +template void impl_IMediaElement::Volume(double value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_Volume(value)); +} + +template double impl_IMediaElement::Balance() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_Balance(&value)); + return value; +} + +template void impl_IMediaElement::Balance(double value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_Balance(value)); +} + +template int32_t impl_IMediaElement::NaturalVideoHeight() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_NaturalVideoHeight(&value)); + return value; +} + +template int32_t impl_IMediaElement::NaturalVideoWidth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_NaturalVideoWidth(&value)); + return value; +} + +template Windows::UI::Xaml::Duration impl_IMediaElement::NaturalDuration() const +{ + Windows::UI::Xaml::Duration value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_NaturalDuration(put_abi(value))); + return value; +} + +template Windows::Foundation::TimeSpan impl_IMediaElement::Position() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_Position(put_abi(value))); + return value; +} + +template void impl_IMediaElement::Position(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_Position(get_abi(value))); +} + +template double impl_IMediaElement::DownloadProgress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_DownloadProgress(&value)); + return value; +} + +template double impl_IMediaElement::BufferingProgress() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_BufferingProgress(&value)); + return value; +} + +template double impl_IMediaElement::DownloadProgressOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_DownloadProgressOffset(&value)); + return value; +} + +template Windows::UI::Xaml::Media::MediaElementState impl_IMediaElement::CurrentState() const +{ + Windows::UI::Xaml::Media::MediaElementState value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_CurrentState(&value)); + return value; +} + +template Windows::UI::Xaml::Media::TimelineMarkerCollection impl_IMediaElement::Markers() const +{ + Windows::UI::Xaml::Media::TimelineMarkerCollection value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement)->get_Markers(put_abi(value))); + return value; +} + +template bool impl_IMediaElement::CanSeek() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_CanSeek(&value)); + return value; +} + +template bool impl_IMediaElement::CanPause() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_CanPause(&value)); + return value; +} + +template int32_t impl_IMediaElement::AudioStreamCount() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_AudioStreamCount(&value)); + return value; +} + +template Windows::Foundation::IReference impl_IMediaElement::AudioStreamIndex() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(IMediaElement)->get_AudioStreamIndex(put_abi(value))); + return value; +} + +template void impl_IMediaElement::AudioStreamIndex(const optional & value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_AudioStreamIndex(get_abi(value))); +} + +template double impl_IMediaElement::PlaybackRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_PlaybackRate(&value)); + return value; +} + +template void impl_IMediaElement::PlaybackRate(double value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_PlaybackRate(value)); +} + +template bool impl_IMediaElement::IsLooping() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_IsLooping(&value)); + return value; +} + +template void impl_IMediaElement::IsLooping(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_IsLooping(value)); +} + +template Windows::Media::PlayTo::PlayToSource impl_IMediaElement::PlayToSource() const +{ + Windows::Media::PlayTo::PlayToSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement)->get_PlayToSource(put_abi(value))); + return value; +} + +template double impl_IMediaElement::DefaultPlaybackRate() const +{ + double value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_DefaultPlaybackRate(&value)); + return value; +} + +template void impl_IMediaElement::DefaultPlaybackRate(double value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_DefaultPlaybackRate(value)); +} + +template int32_t impl_IMediaElement::AspectRatioWidth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_AspectRatioWidth(&value)); + return value; +} + +template int32_t impl_IMediaElement::AspectRatioHeight() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_AspectRatioHeight(&value)); + return value; +} + +template bool impl_IMediaElement::RealTimePlayback() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_RealTimePlayback(&value)); + return value; +} + +template void impl_IMediaElement::RealTimePlayback(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_RealTimePlayback(value)); +} + +template Windows::UI::Xaml::Media::AudioCategory impl_IMediaElement::AudioCategory() const +{ + Windows::UI::Xaml::Media::AudioCategory value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_AudioCategory(&value)); + return value; +} + +template void impl_IMediaElement::AudioCategory(Windows::UI::Xaml::Media::AudioCategory value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_AudioCategory(value)); +} + +template Windows::UI::Xaml::Media::AudioDeviceType impl_IMediaElement::AudioDeviceType() const +{ + Windows::UI::Xaml::Media::AudioDeviceType value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_AudioDeviceType(&value)); + return value; +} + +template void impl_IMediaElement::AudioDeviceType(Windows::UI::Xaml::Media::AudioDeviceType value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_AudioDeviceType(value)); +} + +template Windows::Media::Protection::MediaProtectionManager impl_IMediaElement::ProtectionManager() const +{ + Windows::Media::Protection::MediaProtectionManager value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement)->get_ProtectionManager(put_abi(value))); + return value; +} + +template void impl_IMediaElement::ProtectionManager(const Windows::Media::Protection::MediaProtectionManager & value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_ProtectionManager(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Stereo3DVideoPackingMode impl_IMediaElement::Stereo3DVideoPackingMode() const +{ + Windows::UI::Xaml::Media::Stereo3DVideoPackingMode value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_Stereo3DVideoPackingMode(&value)); + return value; +} + +template void impl_IMediaElement::Stereo3DVideoPackingMode(Windows::UI::Xaml::Media::Stereo3DVideoPackingMode value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_Stereo3DVideoPackingMode(value)); +} + +template Windows::UI::Xaml::Media::Stereo3DVideoRenderMode impl_IMediaElement::Stereo3DVideoRenderMode() const +{ + Windows::UI::Xaml::Media::Stereo3DVideoRenderMode value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_Stereo3DVideoRenderMode(&value)); + return value; +} + +template void impl_IMediaElement::Stereo3DVideoRenderMode(Windows::UI::Xaml::Media::Stereo3DVideoRenderMode value) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->put_Stereo3DVideoRenderMode(value)); +} + +template bool impl_IMediaElement::IsStereo3DVideo() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_IsStereo3DVideo(&value)); + return value; +} + +template event_token impl_IMediaElement::MediaOpened(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_MediaOpened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::MediaOpened(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_MediaOpened, MediaOpened(value)); +} + +template void impl_IMediaElement::MediaOpened(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_MediaOpened(token)); +} + +template event_token impl_IMediaElement::MediaEnded(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_MediaEnded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::MediaEnded(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_MediaEnded, MediaEnded(value)); +} + +template void impl_IMediaElement::MediaEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_MediaEnded(token)); +} + +template event_token impl_IMediaElement::MediaFailed(const Windows::UI::Xaml::ExceptionRoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_MediaFailed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::MediaFailed(auto_revoke_t, const Windows::UI::Xaml::ExceptionRoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_MediaFailed, MediaFailed(value)); +} + +template void impl_IMediaElement::MediaFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_MediaFailed(token)); +} + +template event_token impl_IMediaElement::DownloadProgressChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_DownloadProgressChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::DownloadProgressChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_DownloadProgressChanged, DownloadProgressChanged(value)); +} + +template void impl_IMediaElement::DownloadProgressChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_DownloadProgressChanged(token)); +} + +template event_token impl_IMediaElement::BufferingProgressChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_BufferingProgressChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::BufferingProgressChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_BufferingProgressChanged, BufferingProgressChanged(value)); +} + +template void impl_IMediaElement::BufferingProgressChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_BufferingProgressChanged(token)); +} + +template event_token impl_IMediaElement::CurrentStateChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_CurrentStateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::CurrentStateChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_CurrentStateChanged, CurrentStateChanged(value)); +} + +template void impl_IMediaElement::CurrentStateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_CurrentStateChanged(token)); +} + +template event_token impl_IMediaElement::MarkerReached(const Windows::UI::Xaml::Media::TimelineMarkerRoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_MarkerReached(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::MarkerReached(auto_revoke_t, const Windows::UI::Xaml::Media::TimelineMarkerRoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_MarkerReached, MarkerReached(value)); +} + +template void impl_IMediaElement::MarkerReached(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_MarkerReached(token)); +} + +template event_token impl_IMediaElement::RateChanged(const Windows::UI::Xaml::Media::RateChangedRoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_RateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::RateChanged(auto_revoke_t, const Windows::UI::Xaml::Media::RateChangedRoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_RateChanged, RateChanged(value)); +} + +template void impl_IMediaElement::RateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_RateChanged(token)); +} + +template event_token impl_IMediaElement::VolumeChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_VolumeChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::VolumeChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_VolumeChanged, VolumeChanged(value)); +} + +template void impl_IMediaElement::VolumeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_VolumeChanged(token)); +} + +template event_token impl_IMediaElement::SeekCompleted(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement)->add_SeekCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement::SeekCompleted(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement::remove_SeekCompleted, SeekCompleted(value)); +} + +template void impl_IMediaElement::SeekCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->remove_SeekCompleted(token)); +} + +template void impl_IMediaElement::Stop() const +{ + check_hresult(WINRT_SHIM(IMediaElement)->abi_Stop()); +} + +template void impl_IMediaElement::Play() const +{ + check_hresult(WINRT_SHIM(IMediaElement)->abi_Play()); +} + +template void impl_IMediaElement::Pause() const +{ + check_hresult(WINRT_SHIM(IMediaElement)->abi_Pause()); +} + +template Windows::UI::Xaml::Media::MediaCanPlayResponse impl_IMediaElement::CanPlayType(hstring_view type) const +{ + Windows::UI::Xaml::Media::MediaCanPlayResponse returnValue {}; + check_hresult(WINRT_SHIM(IMediaElement)->abi_CanPlayType(get_abi(type), &returnValue)); + return returnValue; +} + +template void impl_IMediaElement::SetSource(const Windows::Storage::Streams::IRandomAccessStream & stream, hstring_view mimeType) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->abi_SetSource(get_abi(stream), get_abi(mimeType))); +} + +template hstring impl_IMediaElement::GetAudioStreamLanguage(const optional & index) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IMediaElement)->abi_GetAudioStreamLanguage(get_abi(index), put_abi(returnValue))); + return returnValue; +} + +template void impl_IMediaElement::AddAudioEffect(hstring_view effectID, bool effectOptional, const Windows::Foundation::Collections::IPropertySet & effectConfiguration) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->abi_AddAudioEffect(get_abi(effectID), effectOptional, get_abi(effectConfiguration))); +} + +template void impl_IMediaElement::AddVideoEffect(hstring_view effectID, bool effectOptional, const Windows::Foundation::Collections::IPropertySet & effectConfiguration) const +{ + check_hresult(WINRT_SHIM(IMediaElement)->abi_AddVideoEffect(get_abi(effectID), effectOptional, get_abi(effectConfiguration))); +} + +template void impl_IMediaElement::RemoveAllEffects() const +{ + check_hresult(WINRT_SHIM(IMediaElement)->abi_RemoveAllEffects()); +} + +template Windows::UI::Xaml::Media::Stereo3DVideoPackingMode impl_IMediaElement::ActualStereo3DVideoPackingMode() const +{ + Windows::UI::Xaml::Media::Stereo3DVideoPackingMode value {}; + check_hresult(WINRT_SHIM(IMediaElement)->get_ActualStereo3DVideoPackingMode(&value)); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::PosterSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_PosterSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::SourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_SourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::IsMutedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_IsMutedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::IsAudioOnlyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_IsAudioOnlyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::AutoPlayProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_AutoPlayProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::VolumeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_VolumeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::BalanceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_BalanceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::NaturalVideoHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_NaturalVideoHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::NaturalVideoWidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_NaturalVideoWidthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::NaturalDurationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_NaturalDurationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::PositionProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_PositionProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::DownloadProgressProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_DownloadProgressProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::BufferingProgressProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_BufferingProgressProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::DownloadProgressOffsetProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_DownloadProgressOffsetProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::CurrentStateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_CurrentStateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::CanSeekProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_CanSeekProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::CanPauseProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_CanPauseProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::AudioStreamCountProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_AudioStreamCountProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::AudioStreamIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_AudioStreamIndexProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::PlaybackRateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_PlaybackRateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::IsLoopingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_IsLoopingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::PlayToSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_PlayToSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::DefaultPlaybackRateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_DefaultPlaybackRateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::AspectRatioWidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_AspectRatioWidthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::AspectRatioHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_AspectRatioHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::RealTimePlaybackProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_RealTimePlaybackProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::AudioCategoryProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_AudioCategoryProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::AudioDeviceTypeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_AudioDeviceTypeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::ProtectionManagerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_ProtectionManagerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::Stereo3DVideoPackingModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_Stereo3DVideoPackingModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::Stereo3DVideoRenderModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_Stereo3DVideoRenderModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::IsStereo3DVideoProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_IsStereo3DVideoProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics::ActualStereo3DVideoPackingModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics)->get_ActualStereo3DVideoPackingModeProperty(put_abi(value))); + return value; +} + +template bool impl_IMediaElement2::AreTransportControlsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement2)->get_AreTransportControlsEnabled(&value)); + return value; +} + +template void impl_IMediaElement2::AreTransportControlsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaElement2)->put_AreTransportControlsEnabled(value)); +} + +template Windows::UI::Xaml::Media::Stretch impl_IMediaElement2::Stretch() const +{ + Windows::UI::Xaml::Media::Stretch value {}; + check_hresult(WINRT_SHIM(IMediaElement2)->get_Stretch(&value)); + return value; +} + +template void impl_IMediaElement2::Stretch(Windows::UI::Xaml::Media::Stretch value) const +{ + check_hresult(WINRT_SHIM(IMediaElement2)->put_Stretch(value)); +} + +template bool impl_IMediaElement2::IsFullWindow() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaElement2)->get_IsFullWindow(&value)); + return value; +} + +template void impl_IMediaElement2::IsFullWindow(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaElement2)->put_IsFullWindow(value)); +} + +template void impl_IMediaElement2::SetMediaStreamSource(const Windows::Media::Core::IMediaSource & source) const +{ + check_hresult(WINRT_SHIM(IMediaElement2)->abi_SetMediaStreamSource(get_abi(source))); +} + +template Windows::Foundation::Uri impl_IMediaElement2::PlayToPreferredSourceUri() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement2)->get_PlayToPreferredSourceUri(put_abi(value))); + return value; +} + +template void impl_IMediaElement2::PlayToPreferredSourceUri(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IMediaElement2)->put_PlayToPreferredSourceUri(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics2::AreTransportControlsEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics2)->get_AreTransportControlsEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics2::StretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics2)->get_StretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics2::IsFullWindowProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics2)->get_IsFullWindowProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaElementStatics2::PlayToPreferredSourceUriProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElementStatics2)->get_PlayToPreferredSourceUriProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::MediaTransportControls impl_IMediaElement3::TransportControls() const +{ + Windows::UI::Xaml::Controls::MediaTransportControls value { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement3)->get_TransportControls(put_abi(value))); + return value; +} + +template void impl_IMediaElement3::TransportControls(const Windows::UI::Xaml::Controls::MediaTransportControls & value) const +{ + check_hresult(WINRT_SHIM(IMediaElement3)->put_TransportControls(get_abi(value))); +} + +template event_token impl_IMediaElement3::PartialMediaFailureDetected(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IMediaElement3)->add_PartialMediaFailureDetected(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IMediaElement3::PartialMediaFailureDetected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IMediaElement3::remove_PartialMediaFailureDetected, PartialMediaFailureDetected(value)); +} + +template void impl_IMediaElement3::PartialMediaFailureDetected(event_token token) const +{ + check_hresult(WINRT_SHIM(IMediaElement3)->remove_PartialMediaFailureDetected(token)); +} + +template void impl_IMediaElement3::SetPlaybackSource(const Windows::Media::Playback::IMediaPlaybackSource & source) const +{ + check_hresult(WINRT_SHIM(IMediaElement3)->abi_SetPlaybackSource(get_abi(source))); +} + +template Windows::Media::Casting::CastingSource impl_IMediaElement3::GetAsCastingSource() const +{ + Windows::Media::Casting::CastingSource returnValue { nullptr }; + check_hresult(WINRT_SHIM(IMediaElement3)->abi_GetAsCastingSource(put_abi(returnValue))); + return returnValue; +} + +template Windows::Media::Playback::MediaPlayer impl_IMediaPlayerPresenter::MediaPlayer() const +{ + Windows::Media::Playback::MediaPlayer value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerPresenter)->get_MediaPlayer(put_abi(value))); + return value; +} + +template void impl_IMediaPlayerPresenter::MediaPlayer(const Windows::Media::Playback::MediaPlayer & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerPresenter)->put_MediaPlayer(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Stretch impl_IMediaPlayerPresenter::Stretch() const +{ + Windows::UI::Xaml::Media::Stretch value {}; + check_hresult(WINRT_SHIM(IMediaPlayerPresenter)->get_Stretch(&value)); + return value; +} + +template void impl_IMediaPlayerPresenter::Stretch(Windows::UI::Xaml::Media::Stretch value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerPresenter)->put_Stretch(value)); +} + +template bool impl_IMediaPlayerPresenter::IsFullWindow() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayerPresenter)->get_IsFullWindow(&value)); + return value; +} + +template void impl_IMediaPlayerPresenter::IsFullWindow(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerPresenter)->put_IsFullWindow(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerPresenterStatics::MediaPlayerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerPresenterStatics)->get_MediaPlayerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerPresenterStatics::StretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerPresenterStatics)->get_StretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerPresenterStatics::IsFullWindowProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerPresenterStatics)->get_IsFullWindowProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::MediaPlayerPresenter impl_IMediaPlayerPresenterFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::MediaPlayerPresenter instance { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerPresenterFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::Uri impl_IWebView::Source() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IWebView)->get_Source(put_abi(value))); + return value; +} + +template void impl_IWebView::Source(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IWebView)->put_Source(get_abi(value))); +} + +template Windows::Foundation::Collections::IVector impl_IWebView::AllowedScriptNotifyUris() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWebView)->get_AllowedScriptNotifyUris(put_abi(value))); + return value; +} + +template void impl_IWebView::AllowedScriptNotifyUris(const Windows::Foundation::Collections::IVector & value) const +{ + check_hresult(WINRT_SHIM(IWebView)->put_AllowedScriptNotifyUris(get_abi(value))); +} + +template Windows::ApplicationModel::DataTransfer::DataPackage impl_IWebView::DataTransferPackage() const +{ + Windows::ApplicationModel::DataTransfer::DataPackage value { nullptr }; + check_hresult(WINRT_SHIM(IWebView)->get_DataTransferPackage(put_abi(value))); + return value; +} + +template event_token impl_IWebView::LoadCompleted(const Windows::UI::Xaml::Navigation::LoadCompletedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView)->add_LoadCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView::LoadCompleted(auto_revoke_t, const Windows::UI::Xaml::Navigation::LoadCompletedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView::remove_LoadCompleted, LoadCompleted(value)); +} + +template void impl_IWebView::LoadCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView)->remove_LoadCompleted(token)); +} + +template event_token impl_IWebView::ScriptNotify(const Windows::UI::Xaml::Controls::NotifyEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView)->add_ScriptNotify(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView::ScriptNotify(auto_revoke_t, const Windows::UI::Xaml::Controls::NotifyEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView::remove_ScriptNotify, ScriptNotify(value)); +} + +template void impl_IWebView::ScriptNotify(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView)->remove_ScriptNotify(token)); +} + +template event_token impl_IWebView::NavigationFailed(const Windows::UI::Xaml::Controls::WebViewNavigationFailedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView)->add_NavigationFailed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView::NavigationFailed(auto_revoke_t, const Windows::UI::Xaml::Controls::WebViewNavigationFailedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView::remove_NavigationFailed, NavigationFailed(value)); +} + +template void impl_IWebView::NavigationFailed(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView)->remove_NavigationFailed(token)); +} + +template hstring impl_IWebView::InvokeScript(hstring_view scriptName, array_view arguments) const +{ + hstring returnValue; + check_hresult(WINRT_SHIM(IWebView)->abi_InvokeScript(get_abi(scriptName), arguments.size(), get_abi(arguments), put_abi(returnValue))); + return returnValue; +} + +template void impl_IWebView::Navigate(const Windows::Foundation::Uri & source) const +{ + check_hresult(WINRT_SHIM(IWebView)->abi_Navigate(get_abi(source))); +} + +template void impl_IWebView::NavigateToString(hstring_view text) const +{ + check_hresult(WINRT_SHIM(IWebView)->abi_NavigateToString(get_abi(text))); +} + +template Windows::Foundation::Collections::IVector impl_IWebViewStatics::AnyScriptNotifyUri() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWebViewStatics)->get_AnyScriptNotifyUri(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics::SourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics)->get_SourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics::AllowedScriptNotifyUrisProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics)->get_AllowedScriptNotifyUrisProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics::DataTransferPackageProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics)->get_DataTransferPackageProperty(put_abi(value))); + return value; +} + +template bool impl_IWebView2::CanGoBack() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebView2)->get_CanGoBack(&value)); + return value; +} + +template bool impl_IWebView2::CanGoForward() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebView2)->get_CanGoForward(&value)); + return value; +} + +template hstring impl_IWebView2::DocumentTitle() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebView2)->get_DocumentTitle(put_abi(value))); + return value; +} + +template event_token impl_IWebView2::NavigationStarting(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_NavigationStarting(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::NavigationStarting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_NavigationStarting, NavigationStarting(value)); +} + +template void impl_IWebView2::NavigationStarting(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_NavigationStarting(token)); +} + +template event_token impl_IWebView2::ContentLoading(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_ContentLoading(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::ContentLoading(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_ContentLoading, ContentLoading(value)); +} + +template void impl_IWebView2::ContentLoading(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_ContentLoading(token)); +} + +template event_token impl_IWebView2::DOMContentLoaded(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_DOMContentLoaded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::DOMContentLoaded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_DOMContentLoaded, DOMContentLoaded(value)); +} + +template void impl_IWebView2::DOMContentLoaded(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_DOMContentLoaded(token)); +} + +template void impl_IWebView2::GoForward() const +{ + check_hresult(WINRT_SHIM(IWebView2)->abi_GoForward()); +} + +template void impl_IWebView2::GoBack() const +{ + check_hresult(WINRT_SHIM(IWebView2)->abi_GoBack()); +} + +template void impl_IWebView2::Refresh() const +{ + check_hresult(WINRT_SHIM(IWebView2)->abi_Refresh()); +} + +template void impl_IWebView2::Stop() const +{ + check_hresult(WINRT_SHIM(IWebView2)->abi_Stop()); +} + +template Windows::Foundation::IAsyncAction impl_IWebView2::CapturePreviewToStreamAsync(const Windows::Storage::Streams::IRandomAccessStream & stream) const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IWebView2)->abi_CapturePreviewToStreamAsync(get_abi(stream), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IWebView2::InvokeScriptAsync(hstring_view scriptName, iterable arguments) const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IWebView2)->abi_InvokeScriptAsync(get_abi(scriptName), get_abi(arguments), put_abi(returnValue))); + return returnValue; +} + +template Windows::Foundation::IAsyncOperation impl_IWebView2::CaptureSelectedContentToDataPackageAsync() const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IWebView2)->abi_CaptureSelectedContentToDataPackageAsync(put_abi(returnValue))); + return returnValue; +} + +template void impl_IWebView2::NavigateToLocalStreamUri(const Windows::Foundation::Uri & source, const Windows::Web::IUriToStreamResolver & streamResolver) const +{ + check_hresult(WINRT_SHIM(IWebView2)->abi_NavigateToLocalStreamUri(get_abi(source), get_abi(streamResolver))); +} + +template Windows::Foundation::Uri impl_IWebView2::BuildLocalStreamUri(hstring_view contentIdentifier, hstring_view relativePath) const +{ + Windows::Foundation::Uri returnValue { nullptr }; + check_hresult(WINRT_SHIM(IWebView2)->abi_BuildLocalStreamUri(get_abi(contentIdentifier), get_abi(relativePath), put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Color impl_IWebView2::DefaultBackgroundColor() const +{ + Windows::UI::Color value {}; + check_hresult(WINRT_SHIM(IWebView2)->get_DefaultBackgroundColor(put_abi(value))); + return value; +} + +template void impl_IWebView2::DefaultBackgroundColor(const Windows::UI::Color & value) const +{ + check_hresult(WINRT_SHIM(IWebView2)->put_DefaultBackgroundColor(get_abi(value))); +} + +template event_token impl_IWebView2::NavigationCompleted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_NavigationCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::NavigationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_NavigationCompleted, NavigationCompleted(value)); +} + +template void impl_IWebView2::NavigationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_NavigationCompleted(token)); +} + +template event_token impl_IWebView2::FrameNavigationStarting(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_FrameNavigationStarting(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::FrameNavigationStarting(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_FrameNavigationStarting, FrameNavigationStarting(value)); +} + +template void impl_IWebView2::FrameNavigationStarting(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_FrameNavigationStarting(token)); +} + +template event_token impl_IWebView2::FrameContentLoading(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_FrameContentLoading(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::FrameContentLoading(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_FrameContentLoading, FrameContentLoading(value)); +} + +template void impl_IWebView2::FrameContentLoading(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_FrameContentLoading(token)); +} + +template event_token impl_IWebView2::FrameDOMContentLoaded(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_FrameDOMContentLoaded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::FrameDOMContentLoaded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_FrameDOMContentLoaded, FrameDOMContentLoaded(value)); +} + +template void impl_IWebView2::FrameDOMContentLoaded(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_FrameDOMContentLoaded(token)); +} + +template event_token impl_IWebView2::FrameNavigationCompleted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_FrameNavigationCompleted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::FrameNavigationCompleted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_FrameNavigationCompleted, FrameNavigationCompleted(value)); +} + +template void impl_IWebView2::FrameNavigationCompleted(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_FrameNavigationCompleted(token)); +} + +template event_token impl_IWebView2::LongRunningScriptDetected(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_LongRunningScriptDetected(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::LongRunningScriptDetected(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_LongRunningScriptDetected, LongRunningScriptDetected(value)); +} + +template void impl_IWebView2::LongRunningScriptDetected(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_LongRunningScriptDetected(token)); +} + +template event_token impl_IWebView2::UnsafeContentWarningDisplaying(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_UnsafeContentWarningDisplaying(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::UnsafeContentWarningDisplaying(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_UnsafeContentWarningDisplaying, UnsafeContentWarningDisplaying(value)); +} + +template void impl_IWebView2::UnsafeContentWarningDisplaying(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_UnsafeContentWarningDisplaying(token)); +} + +template event_token impl_IWebView2::UnviewableContentIdentified(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView2)->add_UnviewableContentIdentified(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView2::UnviewableContentIdentified(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView2::remove_UnviewableContentIdentified, UnviewableContentIdentified(value)); +} + +template void impl_IWebView2::UnviewableContentIdentified(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView2)->remove_UnviewableContentIdentified(token)); +} + +template void impl_IWebView2::NavigateWithHttpRequestMessage(const Windows::Web::Http::HttpRequestMessage & requestMessage) const +{ + check_hresult(WINRT_SHIM(IWebView2)->abi_NavigateWithHttpRequestMessage(get_abi(requestMessage))); +} + +template bool impl_IWebView2::Focus(Windows::UI::Xaml::FocusState value) const +{ + bool returnValue {}; + check_hresult(WINRT_SHIM(IWebView2)->abi_Focus(value, &returnValue)); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics2::CanGoBackProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics2)->get_CanGoBackProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics2::CanGoForwardProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics2)->get_CanGoForwardProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics2::DocumentTitleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics2)->get_DocumentTitleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics2::DefaultBackgroundColorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics2)->get_DefaultBackgroundColorProperty(put_abi(value))); + return value; +} + +template bool impl_IWebView3::ContainsFullScreenElement() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IWebView3)->get_ContainsFullScreenElement(&value)); + return value; +} + +template event_token impl_IWebView3::ContainsFullScreenElementChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView3)->add_ContainsFullScreenElementChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView3::ContainsFullScreenElementChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView3::remove_ContainsFullScreenElementChanged, ContainsFullScreenElementChanged(value)); +} + +template void impl_IWebView3::ContainsFullScreenElementChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView3)->remove_ContainsFullScreenElementChanged(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics3::ContainsFullScreenElementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics3)->get_ContainsFullScreenElementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::WebViewExecutionMode impl_IWebView4::ExecutionMode() const +{ + Windows::UI::Xaml::Controls::WebViewExecutionMode value {}; + check_hresult(WINRT_SHIM(IWebView4)->get_ExecutionMode(&value)); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IWebView4::DeferredPermissionRequests() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IWebView4)->get_DeferredPermissionRequests(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::WebViewSettings impl_IWebView4::Settings() const +{ + Windows::UI::Xaml::Controls::WebViewSettings value { nullptr }; + check_hresult(WINRT_SHIM(IWebView4)->get_Settings(put_abi(value))); + return value; +} + +template event_token impl_IWebView4::UnsupportedUriSchemeIdentified(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView4)->add_UnsupportedUriSchemeIdentified(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView4::UnsupportedUriSchemeIdentified(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView4::remove_UnsupportedUriSchemeIdentified, UnsupportedUriSchemeIdentified(value)); +} + +template void impl_IWebView4::UnsupportedUriSchemeIdentified(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView4)->remove_UnsupportedUriSchemeIdentified(token)); +} + +template event_token impl_IWebView4::NewWindowRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView4)->add_NewWindowRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView4::NewWindowRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView4::remove_NewWindowRequested, NewWindowRequested(value)); +} + +template void impl_IWebView4::NewWindowRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView4)->remove_NewWindowRequested(token)); +} + +template event_token impl_IWebView4::PermissionRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IWebView4)->add_PermissionRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IWebView4::PermissionRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IWebView4::remove_PermissionRequested, PermissionRequested(value)); +} + +template void impl_IWebView4::PermissionRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(IWebView4)->remove_PermissionRequested(token)); +} + +template void impl_IWebView4::AddWebAllowedObject(hstring_view name, const Windows::Foundation::IInspectable & pObject) const +{ + check_hresult(WINRT_SHIM(IWebView4)->abi_AddWebAllowedObject(get_abi(name), get_abi(pObject))); +} + +template Windows::UI::Xaml::Controls::WebViewDeferredPermissionRequest impl_IWebView4::DeferredPermissionRequestById(uint32_t id) const +{ + Windows::UI::Xaml::Controls::WebViewDeferredPermissionRequest returnValue { nullptr }; + check_hresult(WINRT_SHIM(IWebView4)->abi_DeferredPermissionRequestById(id, put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::WebViewExecutionMode impl_IWebViewStatics4::DefaultExecutionMode() const +{ + Windows::UI::Xaml::Controls::WebViewExecutionMode value {}; + check_hresult(WINRT_SHIM(IWebViewStatics4)->get_DefaultExecutionMode(&value)); + return value; +} + +template Windows::Foundation::IAsyncAction impl_IWebViewStatics4::ClearTemporaryWebDataAsync() const +{ + Windows::Foundation::IAsyncAction returnValue; + check_hresult(WINRT_SHIM(IWebViewStatics4)->abi_ClearTemporaryWebDataAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::WebView impl_IWebViewFactory4::CreateInstanceWithExecutionMode(Windows::UI::Xaml::Controls::WebViewExecutionMode executionMode) const +{ + Windows::UI::Xaml::Controls::WebView instance { nullptr }; + check_hresult(WINRT_SHIM(IWebViewFactory4)->abi_CreateInstanceWithExecutionMode(executionMode, put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::DependencyObject impl_IWebView5::XYFocusLeft() const +{ + Windows::UI::Xaml::DependencyObject value { nullptr }; + check_hresult(WINRT_SHIM(IWebView5)->get_XYFocusLeft(put_abi(value))); + return value; +} + +template void impl_IWebView5::XYFocusLeft(const Windows::UI::Xaml::DependencyObject & value) const +{ + check_hresult(WINRT_SHIM(IWebView5)->put_XYFocusLeft(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyObject impl_IWebView5::XYFocusRight() const +{ + Windows::UI::Xaml::DependencyObject value { nullptr }; + check_hresult(WINRT_SHIM(IWebView5)->get_XYFocusRight(put_abi(value))); + return value; +} + +template void impl_IWebView5::XYFocusRight(const Windows::UI::Xaml::DependencyObject & value) const +{ + check_hresult(WINRT_SHIM(IWebView5)->put_XYFocusRight(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyObject impl_IWebView5::XYFocusUp() const +{ + Windows::UI::Xaml::DependencyObject value { nullptr }; + check_hresult(WINRT_SHIM(IWebView5)->get_XYFocusUp(put_abi(value))); + return value; +} + +template void impl_IWebView5::XYFocusUp(const Windows::UI::Xaml::DependencyObject & value) const +{ + check_hresult(WINRT_SHIM(IWebView5)->put_XYFocusUp(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyObject impl_IWebView5::XYFocusDown() const +{ + Windows::UI::Xaml::DependencyObject value { nullptr }; + check_hresult(WINRT_SHIM(IWebView5)->get_XYFocusDown(put_abi(value))); + return value; +} + +template void impl_IWebView5::XYFocusDown(const Windows::UI::Xaml::DependencyObject & value) const +{ + check_hresult(WINRT_SHIM(IWebView5)->put_XYFocusDown(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics5::XYFocusLeftProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics5)->get_XYFocusLeftProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics5::XYFocusRightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics5)->get_XYFocusRightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics5::XYFocusUpProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics5)->get_XYFocusUpProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewStatics5::XYFocusDownProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewStatics5)->get_XYFocusDownProperty(put_abi(value))); + return value; +} + +template hstring impl_IWebViewBrush::SourceName() const +{ + hstring value; + check_hresult(WINRT_SHIM(IWebViewBrush)->get_SourceName(put_abi(value))); + return value; +} + +template void impl_IWebViewBrush::SourceName(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IWebViewBrush)->put_SourceName(get_abi(value))); +} + +template void impl_IWebViewBrush::Redraw() const +{ + check_hresult(WINRT_SHIM(IWebViewBrush)->abi_Redraw()); +} + +template void impl_IWebViewBrush::SetSource(const Windows::UI::Xaml::Controls::WebView & source) const +{ + check_hresult(WINRT_SHIM(IWebViewBrush)->abi_SetSource(get_abi(source))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IWebViewBrushStatics::SourceNameProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IWebViewBrushStatics)->get_SourceNameProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAppBarSeparatorStatics::IsCompactProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAppBarSeparatorStatics)->get_IsCompactProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::AppBarSeparator impl_IAppBarSeparatorFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::AppBarSeparator instance { nullptr }; + check_hresult(WINRT_SHIM(IAppBarSeparatorFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAppBarSeparatorStatics3::IsInOverflowProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAppBarSeparatorStatics3)->get_IsInOverflowProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAppBarSeparatorStatics3::DynamicOverflowOrderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAppBarSeparatorStatics3)->get_DynamicOverflowOrderProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::Uri impl_IBitmapIcon::UriSource() const +{ + Windows::Foundation::Uri value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapIcon)->get_UriSource(put_abi(value))); + return value; +} + +template void impl_IBitmapIcon::UriSource(const Windows::Foundation::Uri & value) const +{ + check_hresult(WINRT_SHIM(IBitmapIcon)->put_UriSource(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IBitmapIconStatics::UriSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapIconStatics)->get_UriSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::BitmapIcon impl_IBitmapIconFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::BitmapIcon instance { nullptr }; + check_hresult(WINRT_SHIM(IBitmapIconFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IBitmapIcon2::ShowAsMonochrome() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IBitmapIcon2)->get_ShowAsMonochrome(&value)); + return value; +} + +template void impl_IBitmapIcon2::ShowAsMonochrome(bool value) const +{ + check_hresult(WINRT_SHIM(IBitmapIcon2)->put_ShowAsMonochrome(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IBitmapIconStatics2::ShowAsMonochromeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IBitmapIconStatics2)->get_ShowAsMonochromeProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IReference impl_ICalendarDatePicker::Date() const +{ + Windows::Foundation::IReference value; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_Date(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::Date(const optional & value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_Date(get_abi(value))); +} + +template bool impl_ICalendarDatePicker::IsCalendarOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_IsCalendarOpen(&value)); + return value; +} + +template void impl_ICalendarDatePicker::IsCalendarOpen(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_IsCalendarOpen(value)); +} + +template hstring impl_ICalendarDatePicker::DateFormat() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_DateFormat(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::DateFormat(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_DateFormat(get_abi(value))); +} + +template hstring impl_ICalendarDatePicker::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_PlaceholderText(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_ICalendarDatePicker::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_Header(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_ICalendarDatePicker::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_ICalendarDatePicker::CalendarViewStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_CalendarViewStyle(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::CalendarViewStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_CalendarViewStyle(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_ICalendarDatePicker::MinDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_MinDate(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::MinDate(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_MinDate(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_ICalendarDatePicker::MaxDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_MaxDate(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::MaxDate(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_MaxDate(get_abi(value))); +} + +template bool impl_ICalendarDatePicker::IsTodayHighlighted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_IsTodayHighlighted(&value)); + return value; +} + +template void impl_ICalendarDatePicker::IsTodayHighlighted(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_IsTodayHighlighted(value)); +} + +template Windows::UI::Xaml::Controls::CalendarViewDisplayMode impl_ICalendarDatePicker::DisplayMode() const +{ + Windows::UI::Xaml::Controls::CalendarViewDisplayMode value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_DisplayMode(&value)); + return value; +} + +template void impl_ICalendarDatePicker::DisplayMode(Windows::UI::Xaml::Controls::CalendarViewDisplayMode value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_DisplayMode(value)); +} + +template Windows::Globalization::DayOfWeek impl_ICalendarDatePicker::FirstDayOfWeek() const +{ + Windows::Globalization::DayOfWeek value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_FirstDayOfWeek(&value)); + return value; +} + +template void impl_ICalendarDatePicker::FirstDayOfWeek(Windows::Globalization::DayOfWeek value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_FirstDayOfWeek(value)); +} + +template hstring impl_ICalendarDatePicker::DayOfWeekFormat() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_DayOfWeekFormat(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::DayOfWeekFormat(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_DayOfWeekFormat(get_abi(value))); +} + +template hstring impl_ICalendarDatePicker::CalendarIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_CalendarIdentifier(put_abi(value))); + return value; +} + +template void impl_ICalendarDatePicker::CalendarIdentifier(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_CalendarIdentifier(get_abi(value))); +} + +template bool impl_ICalendarDatePicker::IsOutOfScopeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_IsOutOfScopeEnabled(&value)); + return value; +} + +template void impl_ICalendarDatePicker::IsOutOfScopeEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_IsOutOfScopeEnabled(value)); +} + +template bool impl_ICalendarDatePicker::IsGroupLabelVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->get_IsGroupLabelVisible(&value)); + return value; +} + +template void impl_ICalendarDatePicker::IsGroupLabelVisible(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->put_IsGroupLabelVisible(value)); +} + +template event_token impl_ICalendarDatePicker::CalendarViewDayItemChanging(const Windows::UI::Xaml::Controls::CalendarViewDayItemChangingEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->add_CalendarViewDayItemChanging(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ICalendarDatePicker::CalendarViewDayItemChanging(auto_revoke_t, const Windows::UI::Xaml::Controls::CalendarViewDayItemChangingEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ICalendarDatePicker::remove_CalendarViewDayItemChanging, CalendarViewDayItemChanging(value)); +} + +template void impl_ICalendarDatePicker::CalendarViewDayItemChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->remove_CalendarViewDayItemChanging(token)); +} + +template event_token impl_ICalendarDatePicker::DateChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->add_DateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ICalendarDatePicker::DateChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ICalendarDatePicker::remove_DateChanged, DateChanged(value)); +} + +template void impl_ICalendarDatePicker::DateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->remove_DateChanged(token)); +} + +template event_token impl_ICalendarDatePicker::Opened(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->add_Opened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ICalendarDatePicker::Opened(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ICalendarDatePicker::remove_Opened, Opened(value)); +} + +template void impl_ICalendarDatePicker::Opened(event_token token) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->remove_Opened(token)); +} + +template event_token impl_ICalendarDatePicker::Closed(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker)->add_Closed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ICalendarDatePicker::Closed(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ICalendarDatePicker::remove_Closed, Closed(value)); +} + +template void impl_ICalendarDatePicker::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->remove_Closed(token)); +} + +template void impl_ICalendarDatePicker::SetDisplayDate(const Windows::Foundation::DateTime & date) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->abi_SetDisplayDate(get_abi(date))); +} + +template void impl_ICalendarDatePicker::SetYearDecadeDisplayDimensions(int32_t columns, int32_t rows) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker)->abi_SetYearDecadeDisplayDimensions(columns, rows)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::DateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_DateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::IsCalendarOpenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_IsCalendarOpenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::DateFormatProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_DateFormatProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::PlaceholderTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_PlaceholderTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::CalendarViewStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_CalendarViewStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::MinDateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_MinDateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::MaxDateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_MaxDateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::IsTodayHighlightedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_IsTodayHighlightedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::DisplayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_DisplayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::FirstDayOfWeekProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_FirstDayOfWeekProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::DayOfWeekFormatProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_DayOfWeekFormatProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::CalendarIdentifierProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_CalendarIdentifierProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::IsOutOfScopeEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_IsOutOfScopeEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics::IsGroupLabelVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics)->get_IsGroupLabelVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::CalendarDatePicker impl_ICalendarDatePickerFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::CalendarDatePicker instance { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_ICalendarDatePicker2::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(ICalendarDatePicker2)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_ICalendarDatePicker2::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(ICalendarDatePicker2)->put_LightDismissOverlayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarDatePickerStatics2::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarDatePickerStatics2)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template hstring impl_ICalendarView::CalendarIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarView)->get_CalendarIdentifier(put_abi(value))); + return value; +} + +template void impl_ICalendarView::CalendarIdentifier(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_CalendarIdentifier(get_abi(value))); +} + +template hstring impl_ICalendarView::DayOfWeekFormat() const +{ + hstring value; + check_hresult(WINRT_SHIM(ICalendarView)->get_DayOfWeekFormat(put_abi(value))); + return value; +} + +template void impl_ICalendarView::DayOfWeekFormat(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_DayOfWeekFormat(get_abi(value))); +} + +template bool impl_ICalendarView::IsGroupLabelVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_IsGroupLabelVisible(&value)); + return value; +} + +template void impl_ICalendarView::IsGroupLabelVisible(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_IsGroupLabelVisible(value)); +} + +template Windows::UI::Xaml::Controls::CalendarViewDisplayMode impl_ICalendarView::DisplayMode() const +{ + Windows::UI::Xaml::Controls::CalendarViewDisplayMode value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_DisplayMode(&value)); + return value; +} + +template void impl_ICalendarView::DisplayMode(Windows::UI::Xaml::Controls::CalendarViewDisplayMode value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_DisplayMode(value)); +} + +template Windows::Globalization::DayOfWeek impl_ICalendarView::FirstDayOfWeek() const +{ + Windows::Globalization::DayOfWeek value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstDayOfWeek(&value)); + return value; +} + +template void impl_ICalendarView::FirstDayOfWeek(Windows::Globalization::DayOfWeek value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstDayOfWeek(value)); +} + +template bool impl_ICalendarView::IsOutOfScopeEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_IsOutOfScopeEnabled(&value)); + return value; +} + +template void impl_ICalendarView::IsOutOfScopeEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_IsOutOfScopeEnabled(value)); +} + +template bool impl_ICalendarView::IsTodayHighlighted() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_IsTodayHighlighted(&value)); + return value; +} + +template void impl_ICalendarView::IsTodayHighlighted(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_IsTodayHighlighted(value)); +} + +template Windows::Foundation::DateTime impl_ICalendarView::MaxDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_MaxDate(put_abi(value))); + return value; +} + +template void impl_ICalendarView::MaxDate(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_MaxDate(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_ICalendarView::MinDate() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_MinDate(put_abi(value))); + return value; +} + +template void impl_ICalendarView::MinDate(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_MinDate(get_abi(value))); +} + +template int32_t impl_ICalendarView::NumberOfWeeksInView() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_NumberOfWeeksInView(&value)); + return value; +} + +template void impl_ICalendarView::NumberOfWeeksInView(int32_t value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_NumberOfWeeksInView(value)); +} + +template Windows::Foundation::Collections::IVector impl_ICalendarView::SelectedDates() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(ICalendarView)->get_SelectedDates(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::CalendarViewSelectionMode impl_ICalendarView::SelectionMode() const +{ + Windows::UI::Xaml::Controls::CalendarViewSelectionMode value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_SelectionMode(&value)); + return value; +} + +template void impl_ICalendarView::SelectionMode(Windows::UI::Xaml::Controls::CalendarViewSelectionMode value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_SelectionMode(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::CalendarViewTemplateSettings impl_ICalendarView::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::CalendarViewTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_TemplateSettings(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::FocusBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_FocusBorderBrush(put_abi(value))); + return value; +} + +template void impl_ICalendarView::FocusBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FocusBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::SelectedHoverBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_SelectedHoverBorderBrush(put_abi(value))); + return value; +} + +template void impl_ICalendarView::SelectedHoverBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_SelectedHoverBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::SelectedPressedBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_SelectedPressedBorderBrush(put_abi(value))); + return value; +} + +template void impl_ICalendarView::SelectedPressedBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_SelectedPressedBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::SelectedBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_SelectedBorderBrush(put_abi(value))); + return value; +} + +template void impl_ICalendarView::SelectedBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_SelectedBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::HoverBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_HoverBorderBrush(put_abi(value))); + return value; +} + +template void impl_ICalendarView::HoverBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_HoverBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::PressedBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_PressedBorderBrush(put_abi(value))); + return value; +} + +template void impl_ICalendarView::PressedBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_PressedBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::CalendarItemBorderBrush() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_CalendarItemBorderBrush(put_abi(value))); + return value; +} + +template void impl_ICalendarView::CalendarItemBorderBrush(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_CalendarItemBorderBrush(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::OutOfScopeBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_OutOfScopeBackground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::OutOfScopeBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_OutOfScopeBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::CalendarItemBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_CalendarItemBackground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::CalendarItemBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_CalendarItemBackground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::PressedForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_PressedForeground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::PressedForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_PressedForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::TodayForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_TodayForeground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::TodayForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_TodayForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::BlackoutForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_BlackoutForeground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::BlackoutForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_BlackoutForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::SelectedForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_SelectedForeground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::SelectedForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_SelectedForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::OutOfScopeForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_OutOfScopeForeground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::OutOfScopeForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_OutOfScopeForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Brush impl_ICalendarView::CalendarItemForeground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_CalendarItemForeground(put_abi(value))); + return value; +} + +template void impl_ICalendarView::CalendarItemForeground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_CalendarItemForeground(get_abi(value))); +} + +template Windows::UI::Xaml::Media::FontFamily impl_ICalendarView::DayItemFontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_DayItemFontFamily(put_abi(value))); + return value; +} + +template void impl_ICalendarView::DayItemFontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_DayItemFontFamily(get_abi(value))); +} + +template double impl_ICalendarView::DayItemFontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_DayItemFontSize(&value)); + return value; +} + +template void impl_ICalendarView::DayItemFontSize(double value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_DayItemFontSize(value)); +} + +template Windows::UI::Text::FontStyle impl_ICalendarView::DayItemFontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_DayItemFontStyle(&value)); + return value; +} + +template void impl_ICalendarView::DayItemFontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_DayItemFontStyle(value)); +} + +template Windows::UI::Text::FontWeight impl_ICalendarView::DayItemFontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_DayItemFontWeight(put_abi(value))); + return value; +} + +template void impl_ICalendarView::DayItemFontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_DayItemFontWeight(get_abi(value))); +} + +template Windows::UI::Text::FontWeight impl_ICalendarView::TodayFontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_TodayFontWeight(put_abi(value))); + return value; +} + +template void impl_ICalendarView::TodayFontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_TodayFontWeight(get_abi(value))); +} + +template Windows::UI::Xaml::Media::FontFamily impl_ICalendarView::FirstOfMonthLabelFontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfMonthLabelFontFamily(put_abi(value))); + return value; +} + +template void impl_ICalendarView::FirstOfMonthLabelFontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfMonthLabelFontFamily(get_abi(value))); +} + +template double impl_ICalendarView::FirstOfMonthLabelFontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfMonthLabelFontSize(&value)); + return value; +} + +template void impl_ICalendarView::FirstOfMonthLabelFontSize(double value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfMonthLabelFontSize(value)); +} + +template Windows::UI::Text::FontStyle impl_ICalendarView::FirstOfMonthLabelFontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfMonthLabelFontStyle(&value)); + return value; +} + +template void impl_ICalendarView::FirstOfMonthLabelFontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfMonthLabelFontStyle(value)); +} + +template Windows::UI::Text::FontWeight impl_ICalendarView::FirstOfMonthLabelFontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfMonthLabelFontWeight(put_abi(value))); + return value; +} + +template void impl_ICalendarView::FirstOfMonthLabelFontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfMonthLabelFontWeight(get_abi(value))); +} + +template Windows::UI::Xaml::Media::FontFamily impl_ICalendarView::MonthYearItemFontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_MonthYearItemFontFamily(put_abi(value))); + return value; +} + +template void impl_ICalendarView::MonthYearItemFontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_MonthYearItemFontFamily(get_abi(value))); +} + +template double impl_ICalendarView::MonthYearItemFontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_MonthYearItemFontSize(&value)); + return value; +} + +template void impl_ICalendarView::MonthYearItemFontSize(double value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_MonthYearItemFontSize(value)); +} + +template Windows::UI::Text::FontStyle impl_ICalendarView::MonthYearItemFontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_MonthYearItemFontStyle(&value)); + return value; +} + +template void impl_ICalendarView::MonthYearItemFontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_MonthYearItemFontStyle(value)); +} + +template Windows::UI::Text::FontWeight impl_ICalendarView::MonthYearItemFontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_MonthYearItemFontWeight(put_abi(value))); + return value; +} + +template void impl_ICalendarView::MonthYearItemFontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_MonthYearItemFontWeight(get_abi(value))); +} + +template Windows::UI::Xaml::Media::FontFamily impl_ICalendarView::FirstOfYearDecadeLabelFontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfYearDecadeLabelFontFamily(put_abi(value))); + return value; +} + +template void impl_ICalendarView::FirstOfYearDecadeLabelFontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfYearDecadeLabelFontFamily(get_abi(value))); +} + +template double impl_ICalendarView::FirstOfYearDecadeLabelFontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfYearDecadeLabelFontSize(&value)); + return value; +} + +template void impl_ICalendarView::FirstOfYearDecadeLabelFontSize(double value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfYearDecadeLabelFontSize(value)); +} + +template Windows::UI::Text::FontStyle impl_ICalendarView::FirstOfYearDecadeLabelFontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfYearDecadeLabelFontStyle(&value)); + return value; +} + +template void impl_ICalendarView::FirstOfYearDecadeLabelFontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfYearDecadeLabelFontStyle(value)); +} + +template Windows::UI::Text::FontWeight impl_ICalendarView::FirstOfYearDecadeLabelFontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_FirstOfYearDecadeLabelFontWeight(put_abi(value))); + return value; +} + +template void impl_ICalendarView::FirstOfYearDecadeLabelFontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_FirstOfYearDecadeLabelFontWeight(get_abi(value))); +} + +template Windows::UI::Xaml::HorizontalAlignment impl_ICalendarView::HorizontalDayItemAlignment() const +{ + Windows::UI::Xaml::HorizontalAlignment value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_HorizontalDayItemAlignment(&value)); + return value; +} + +template void impl_ICalendarView::HorizontalDayItemAlignment(Windows::UI::Xaml::HorizontalAlignment value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_HorizontalDayItemAlignment(value)); +} + +template Windows::UI::Xaml::VerticalAlignment impl_ICalendarView::VerticalDayItemAlignment() const +{ + Windows::UI::Xaml::VerticalAlignment value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_VerticalDayItemAlignment(&value)); + return value; +} + +template void impl_ICalendarView::VerticalDayItemAlignment(Windows::UI::Xaml::VerticalAlignment value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_VerticalDayItemAlignment(value)); +} + +template Windows::UI::Xaml::HorizontalAlignment impl_ICalendarView::HorizontalFirstOfMonthLabelAlignment() const +{ + Windows::UI::Xaml::HorizontalAlignment value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_HorizontalFirstOfMonthLabelAlignment(&value)); + return value; +} + +template void impl_ICalendarView::HorizontalFirstOfMonthLabelAlignment(Windows::UI::Xaml::HorizontalAlignment value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_HorizontalFirstOfMonthLabelAlignment(value)); +} + +template Windows::UI::Xaml::VerticalAlignment impl_ICalendarView::VerticalFirstOfMonthLabelAlignment() const +{ + Windows::UI::Xaml::VerticalAlignment value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_VerticalFirstOfMonthLabelAlignment(&value)); + return value; +} + +template void impl_ICalendarView::VerticalFirstOfMonthLabelAlignment(Windows::UI::Xaml::VerticalAlignment value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_VerticalFirstOfMonthLabelAlignment(value)); +} + +template Windows::UI::Xaml::Thickness impl_ICalendarView::CalendarItemBorderThickness() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(ICalendarView)->get_CalendarItemBorderThickness(put_abi(value))); + return value; +} + +template void impl_ICalendarView::CalendarItemBorderThickness(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_CalendarItemBorderThickness(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_ICalendarView::CalendarViewDayItemStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarView)->get_CalendarViewDayItemStyle(put_abi(value))); + return value; +} + +template void impl_ICalendarView::CalendarViewDayItemStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->put_CalendarViewDayItemStyle(get_abi(value))); +} + +template event_token impl_ICalendarView::CalendarViewDayItemChanging(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICalendarView)->add_CalendarViewDayItemChanging(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ICalendarView::CalendarViewDayItemChanging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ICalendarView::remove_CalendarViewDayItemChanging, CalendarViewDayItemChanging(value)); +} + +template void impl_ICalendarView::CalendarViewDayItemChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->remove_CalendarViewDayItemChanging(token)); +} + +template event_token impl_ICalendarView::SelectedDatesChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ICalendarView)->add_SelectedDatesChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ICalendarView::SelectedDatesChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ICalendarView::remove_SelectedDatesChanged, SelectedDatesChanged(value)); +} + +template void impl_ICalendarView::SelectedDatesChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->remove_SelectedDatesChanged(token)); +} + +template void impl_ICalendarView::SetDisplayDate(const Windows::Foundation::DateTime & date) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->abi_SetDisplayDate(get_abi(date))); +} + +template void impl_ICalendarView::SetYearDecadeDisplayDimensions(int32_t columns, int32_t rows) const +{ + check_hresult(WINRT_SHIM(ICalendarView)->abi_SetYearDecadeDisplayDimensions(columns, rows)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::CalendarIdentifierProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_CalendarIdentifierProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::DayOfWeekFormatProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_DayOfWeekFormatProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::IsGroupLabelVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_IsGroupLabelVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::DisplayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_DisplayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstDayOfWeekProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstDayOfWeekProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::IsOutOfScopeEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_IsOutOfScopeEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::IsTodayHighlightedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_IsTodayHighlightedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::MaxDateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_MaxDateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::MinDateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_MinDateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::NumberOfWeeksInViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_NumberOfWeeksInViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::SelectedDatesProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_SelectedDatesProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::SelectionModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_SelectionModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::TemplateSettingsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_TemplateSettingsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FocusBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FocusBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::SelectedHoverBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_SelectedHoverBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::SelectedPressedBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_SelectedPressedBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::SelectedBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_SelectedBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::HoverBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_HoverBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::PressedBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_PressedBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::CalendarItemBorderBrushProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_CalendarItemBorderBrushProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::OutOfScopeBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_OutOfScopeBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::CalendarItemBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_CalendarItemBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::PressedForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_PressedForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::TodayForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_TodayForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::BlackoutForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_BlackoutForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::SelectedForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_SelectedForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::OutOfScopeForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_OutOfScopeForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::CalendarItemForegroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_CalendarItemForegroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::DayItemFontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_DayItemFontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::DayItemFontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_DayItemFontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::DayItemFontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_DayItemFontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::DayItemFontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_DayItemFontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::TodayFontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_TodayFontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfMonthLabelFontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfMonthLabelFontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfMonthLabelFontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfMonthLabelFontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfMonthLabelFontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfMonthLabelFontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfMonthLabelFontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfMonthLabelFontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::MonthYearItemFontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_MonthYearItemFontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::MonthYearItemFontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_MonthYearItemFontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::MonthYearItemFontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_MonthYearItemFontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::MonthYearItemFontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_MonthYearItemFontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfYearDecadeLabelFontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfYearDecadeLabelFontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfYearDecadeLabelFontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfYearDecadeLabelFontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfYearDecadeLabelFontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfYearDecadeLabelFontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::FirstOfYearDecadeLabelFontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_FirstOfYearDecadeLabelFontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::HorizontalDayItemAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_HorizontalDayItemAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::VerticalDayItemAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_VerticalDayItemAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::HorizontalFirstOfMonthLabelAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_HorizontalFirstOfMonthLabelAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::VerticalFirstOfMonthLabelAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_VerticalFirstOfMonthLabelAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::CalendarItemBorderThicknessProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_CalendarItemBorderThicknessProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewStatics::CalendarViewDayItemStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewStatics)->get_CalendarViewDayItemStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::CalendarView impl_ICalendarViewFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::CalendarView instance { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_ICalendarViewDayItem::IsBlackout() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ICalendarViewDayItem)->get_IsBlackout(&value)); + return value; +} + +template void impl_ICalendarViewDayItem::IsBlackout(bool value) const +{ + check_hresult(WINRT_SHIM(ICalendarViewDayItem)->put_IsBlackout(value)); +} + +template Windows::Foundation::DateTime impl_ICalendarViewDayItem::Date() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(ICalendarViewDayItem)->get_Date(put_abi(value))); + return value; +} + +template void impl_ICalendarViewDayItem::SetDensityColors(iterable colors) const +{ + check_hresult(WINRT_SHIM(ICalendarViewDayItem)->abi_SetDensityColors(get_abi(colors))); +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewDayItemStatics::IsBlackoutProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewDayItemStatics)->get_IsBlackoutProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ICalendarViewDayItemStatics::DateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewDayItemStatics)->get_DateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::CalendarViewDayItem impl_ICalendarViewDayItemFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::CalendarViewDayItem instance { nullptr }; + check_hresult(WINRT_SHIM(ICalendarViewDayItemFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_IDatePicker::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IDatePicker)->get_Header(put_abi(value))); + return value; +} + +template void impl_IDatePicker::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IDatePicker::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IDatePicker)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IDatePicker::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_HeaderTemplate(get_abi(value))); +} + +template hstring impl_IDatePicker::CalendarIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDatePicker)->get_CalendarIdentifier(put_abi(value))); + return value; +} + +template void impl_IDatePicker::CalendarIdentifier(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_CalendarIdentifier(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_IDatePicker::Date() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDatePicker)->get_Date(put_abi(value))); + return value; +} + +template void impl_IDatePicker::Date(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_Date(get_abi(value))); +} + +template bool impl_IDatePicker::DayVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDatePicker)->get_DayVisible(&value)); + return value; +} + +template void impl_IDatePicker::DayVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_DayVisible(value)); +} + +template bool impl_IDatePicker::MonthVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDatePicker)->get_MonthVisible(&value)); + return value; +} + +template void impl_IDatePicker::MonthVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_MonthVisible(value)); +} + +template bool impl_IDatePicker::YearVisible() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IDatePicker)->get_YearVisible(&value)); + return value; +} + +template void impl_IDatePicker::YearVisible(bool value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_YearVisible(value)); +} + +template hstring impl_IDatePicker::DayFormat() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDatePicker)->get_DayFormat(put_abi(value))); + return value; +} + +template void impl_IDatePicker::DayFormat(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_DayFormat(get_abi(value))); +} + +template hstring impl_IDatePicker::MonthFormat() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDatePicker)->get_MonthFormat(put_abi(value))); + return value; +} + +template void impl_IDatePicker::MonthFormat(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_MonthFormat(get_abi(value))); +} + +template hstring impl_IDatePicker::YearFormat() const +{ + hstring value; + check_hresult(WINRT_SHIM(IDatePicker)->get_YearFormat(put_abi(value))); + return value; +} + +template void impl_IDatePicker::YearFormat(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_YearFormat(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_IDatePicker::MinYear() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDatePicker)->get_MinYear(put_abi(value))); + return value; +} + +template void impl_IDatePicker::MinYear(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_MinYear(get_abi(value))); +} + +template Windows::Foundation::DateTime impl_IDatePicker::MaxYear() const +{ + Windows::Foundation::DateTime value {}; + check_hresult(WINRT_SHIM(IDatePicker)->get_MaxYear(put_abi(value))); + return value; +} + +template void impl_IDatePicker::MaxYear(const Windows::Foundation::DateTime & value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_MaxYear(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Orientation impl_IDatePicker::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IDatePicker)->get_Orientation(&value)); + return value; +} + +template void impl_IDatePicker::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->put_Orientation(value)); +} + +template event_token impl_IDatePicker::DateChanged(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IDatePicker)->add_DateChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IDatePicker::DateChanged(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IDatePicker::remove_DateChanged, DateChanged(value)); +} + +template void impl_IDatePicker::DateChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IDatePicker)->remove_DateChanged(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::CalendarIdentifierProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_CalendarIdentifierProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::DateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_DateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::DayVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_DayVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::MonthVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_MonthVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::YearVisibleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_YearVisibleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::DayFormatProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_DayFormatProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::MonthFormatProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_MonthFormatProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::YearFormatProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_YearFormatProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::MinYearProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_MinYearProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::MaxYearProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_MaxYearProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::DatePicker impl_IDatePickerFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::DatePicker instance { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_IDatePicker2::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(IDatePicker2)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_IDatePicker2::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(IDatePicker2)->put_LightDismissOverlayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IDatePickerStatics2::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IDatePickerStatics2)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template hstring impl_IFontIcon::Glyph() const +{ + hstring value; + check_hresult(WINRT_SHIM(IFontIcon)->get_Glyph(put_abi(value))); + return value; +} + +template void impl_IFontIcon::Glyph(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IFontIcon)->put_Glyph(get_abi(value))); +} + +template double impl_IFontIcon::FontSize() const +{ + double value {}; + check_hresult(WINRT_SHIM(IFontIcon)->get_FontSize(&value)); + return value; +} + +template void impl_IFontIcon::FontSize(double value) const +{ + check_hresult(WINRT_SHIM(IFontIcon)->put_FontSize(value)); +} + +template Windows::UI::Xaml::Media::FontFamily impl_IFontIcon::FontFamily() const +{ + Windows::UI::Xaml::Media::FontFamily value { nullptr }; + check_hresult(WINRT_SHIM(IFontIcon)->get_FontFamily(put_abi(value))); + return value; +} + +template void impl_IFontIcon::FontFamily(const Windows::UI::Xaml::Media::FontFamily & value) const +{ + check_hresult(WINRT_SHIM(IFontIcon)->put_FontFamily(get_abi(value))); +} + +template Windows::UI::Text::FontWeight impl_IFontIcon::FontWeight() const +{ + Windows::UI::Text::FontWeight value {}; + check_hresult(WINRT_SHIM(IFontIcon)->get_FontWeight(put_abi(value))); + return value; +} + +template void impl_IFontIcon::FontWeight(const Windows::UI::Text::FontWeight & value) const +{ + check_hresult(WINRT_SHIM(IFontIcon)->put_FontWeight(get_abi(value))); +} + +template Windows::UI::Text::FontStyle impl_IFontIcon::FontStyle() const +{ + Windows::UI::Text::FontStyle value {}; + check_hresult(WINRT_SHIM(IFontIcon)->get_FontStyle(&value)); + return value; +} + +template void impl_IFontIcon::FontStyle(Windows::UI::Text::FontStyle value) const +{ + check_hresult(WINRT_SHIM(IFontIcon)->put_FontStyle(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IFontIconStatics::GlyphProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFontIconStatics)->get_GlyphProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFontIconStatics::FontSizeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFontIconStatics)->get_FontSizeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFontIconStatics::FontFamilyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFontIconStatics)->get_FontFamilyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFontIconStatics::FontWeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFontIconStatics)->get_FontWeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IFontIconStatics::FontStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFontIconStatics)->get_FontStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::FontIcon impl_IFontIconFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::FontIcon instance { nullptr }; + check_hresult(WINRT_SHIM(IFontIconFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IFontIcon2::IsTextScaleFactorEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFontIcon2)->get_IsTextScaleFactorEnabled(&value)); + return value; +} + +template void impl_IFontIcon2::IsTextScaleFactorEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IFontIcon2)->put_IsTextScaleFactorEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IFontIconStatics2::IsTextScaleFactorEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFontIconStatics2)->get_IsTextScaleFactorEnabledProperty(put_abi(value))); + return value; +} + +template bool impl_IFontIcon3::MirroredWhenRightToLeft() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFontIcon3)->get_MirroredWhenRightToLeft(&value)); + return value; +} + +template void impl_IFontIcon3::MirroredWhenRightToLeft(bool value) const +{ + check_hresult(WINRT_SHIM(IFontIcon3)->put_MirroredWhenRightToLeft(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IFontIconStatics3::MirroredWhenRightToLeftProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IFontIconStatics3)->get_MirroredWhenRightToLeftProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IInspectable impl_IHub::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IHub)->get_Header(put_abi(value))); + return value; +} + +template void impl_IHub::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IHub)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IHub::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IHub)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IHub::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IHub)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Orientation impl_IHub::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IHub)->get_Orientation(&value)); + return value; +} + +template void impl_IHub::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IHub)->put_Orientation(value)); +} + +template int32_t impl_IHub::DefaultSectionIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IHub)->get_DefaultSectionIndex(&value)); + return value; +} + +template void impl_IHub::DefaultSectionIndex(int32_t value) const +{ + check_hresult(WINRT_SHIM(IHub)->put_DefaultSectionIndex(value)); +} + +template Windows::Foundation::Collections::IVector impl_IHub::Sections() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IHub)->get_Sections(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IVector impl_IHub::SectionsInView() const +{ + Windows::Foundation::Collections::IVector value; + check_hresult(WINRT_SHIM(IHub)->get_SectionsInView(put_abi(value))); + return value; +} + +template Windows::Foundation::Collections::IObservableVector impl_IHub::SectionHeaders() const +{ + Windows::Foundation::Collections::IObservableVector value; + check_hresult(WINRT_SHIM(IHub)->get_SectionHeaders(put_abi(value))); + return value; +} + +template event_token impl_IHub::SectionHeaderClick(const Windows::UI::Xaml::Controls::HubSectionHeaderClickEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHub)->add_SectionHeaderClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IHub::SectionHeaderClick(auto_revoke_t, const Windows::UI::Xaml::Controls::HubSectionHeaderClickEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IHub::remove_SectionHeaderClick, SectionHeaderClick(value)); +} + +template void impl_IHub::SectionHeaderClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IHub)->remove_SectionHeaderClick(token)); +} + +template event_token impl_IHub::SectionsInViewChanged(const Windows::UI::Xaml::Controls::SectionsInViewChangedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IHub)->add_SectionsInViewChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IHub::SectionsInViewChanged(auto_revoke_t, const Windows::UI::Xaml::Controls::SectionsInViewChangedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IHub::remove_SectionsInViewChanged, SectionsInViewChanged(value)); +} + +template void impl_IHub::SectionsInViewChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IHub)->remove_SectionsInViewChanged(token)); +} + +template void impl_IHub::ScrollToSection(const Windows::UI::Xaml::Controls::HubSection & section) const +{ + check_hresult(WINRT_SHIM(IHub)->abi_ScrollToSection(get_abi(section))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubStatics::DefaultSectionIndexProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubStatics)->get_DefaultSectionIndexProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubStatics::SemanticZoomOwnerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubStatics)->get_SemanticZoomOwnerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubStatics::IsActiveViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubStatics)->get_IsActiveViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubStatics::IsZoomedInViewProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubStatics)->get_IsZoomedInViewProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Hub impl_IHubFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::Hub instance { nullptr }; + check_hresult(WINRT_SHIM(IHubFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_IHubSection::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IHubSection)->get_Header(put_abi(value))); + return value; +} + +template void impl_IHubSection::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IHubSection)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IHubSection::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IHubSection)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IHubSection::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IHubSection)->put_HeaderTemplate(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IHubSection::ContentTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IHubSection)->get_ContentTemplate(put_abi(value))); + return value; +} + +template void impl_IHubSection::ContentTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IHubSection)->put_ContentTemplate(get_abi(value))); +} + +template bool impl_IHubSection::IsHeaderInteractive() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IHubSection)->get_IsHeaderInteractive(&value)); + return value; +} + +template void impl_IHubSection::IsHeaderInteractive(bool value) const +{ + check_hresult(WINRT_SHIM(IHubSection)->put_IsHeaderInteractive(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubSectionStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubSectionStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubSectionStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubSectionStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubSectionStatics::ContentTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubSectionStatics)->get_ContentTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IHubSectionStatics::IsHeaderInteractiveProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IHubSectionStatics)->get_IsHeaderInteractiveProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::HubSection impl_IHubSectionFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::HubSection instance { nullptr }; + check_hresult(WINRT_SHIM(IHubSectionFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Thickness impl_IItemsStackPanel::GroupPadding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_GroupPadding(put_abi(value))); + return value; +} + +template void impl_IItemsStackPanel::GroupPadding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IItemsStackPanel)->put_GroupPadding(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Orientation impl_IItemsStackPanel::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_Orientation(&value)); + return value; +} + +template void impl_IItemsStackPanel::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IItemsStackPanel)->put_Orientation(value)); +} + +template int32_t impl_IItemsStackPanel::FirstCacheIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_FirstCacheIndex(&value)); + return value; +} + +template int32_t impl_IItemsStackPanel::FirstVisibleIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_FirstVisibleIndex(&value)); + return value; +} + +template int32_t impl_IItemsStackPanel::LastVisibleIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_LastVisibleIndex(&value)); + return value; +} + +template int32_t impl_IItemsStackPanel::LastCacheIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_LastCacheIndex(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::PanelScrollingDirection impl_IItemsStackPanel::ScrollingDirection() const +{ + Windows::UI::Xaml::Controls::PanelScrollingDirection value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_ScrollingDirection(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement impl_IItemsStackPanel::GroupHeaderPlacement() const +{ + Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_GroupHeaderPlacement(&value)); + return value; +} + +template void impl_IItemsStackPanel::GroupHeaderPlacement(Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement value) const +{ + check_hresult(WINRT_SHIM(IItemsStackPanel)->put_GroupHeaderPlacement(value)); +} + +template Windows::UI::Xaml::Controls::ItemsUpdatingScrollMode impl_IItemsStackPanel::ItemsUpdatingScrollMode() const +{ + Windows::UI::Xaml::Controls::ItemsUpdatingScrollMode value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_ItemsUpdatingScrollMode(&value)); + return value; +} + +template void impl_IItemsStackPanel::ItemsUpdatingScrollMode(Windows::UI::Xaml::Controls::ItemsUpdatingScrollMode value) const +{ + check_hresult(WINRT_SHIM(IItemsStackPanel)->put_ItemsUpdatingScrollMode(value)); +} + +template double impl_IItemsStackPanel::CacheLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel)->get_CacheLength(&value)); + return value; +} + +template void impl_IItemsStackPanel::CacheLength(double value) const +{ + check_hresult(WINRT_SHIM(IItemsStackPanel)->put_CacheLength(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsStackPanelStatics::GroupPaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsStackPanelStatics)->get_GroupPaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsStackPanelStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsStackPanelStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsStackPanelStatics::GroupHeaderPlacementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsStackPanelStatics)->get_GroupHeaderPlacementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsStackPanelStatics::CacheLengthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsStackPanelStatics)->get_CacheLengthProperty(put_abi(value))); + return value; +} + +template bool impl_IItemsStackPanel2::AreStickyGroupHeadersEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IItemsStackPanel2)->get_AreStickyGroupHeadersEnabled(&value)); + return value; +} + +template void impl_IItemsStackPanel2::AreStickyGroupHeadersEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IItemsStackPanel2)->put_AreStickyGroupHeadersEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsStackPanelStatics2::AreStickyGroupHeadersEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsStackPanelStatics2)->get_AreStickyGroupHeadersEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Thickness impl_IItemsWrapGrid::GroupPadding() const +{ + Windows::UI::Xaml::Thickness value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_GroupPadding(put_abi(value))); + return value; +} + +template void impl_IItemsWrapGrid::GroupPadding(const Windows::UI::Xaml::Thickness & value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid)->put_GroupPadding(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::Orientation impl_IItemsWrapGrid::Orientation() const +{ + Windows::UI::Xaml::Controls::Orientation value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_Orientation(&value)); + return value; +} + +template void impl_IItemsWrapGrid::Orientation(Windows::UI::Xaml::Controls::Orientation value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid)->put_Orientation(value)); +} + +template int32_t impl_IItemsWrapGrid::MaximumRowsOrColumns() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_MaximumRowsOrColumns(&value)); + return value; +} + +template void impl_IItemsWrapGrid::MaximumRowsOrColumns(int32_t value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid)->put_MaximumRowsOrColumns(value)); +} + +template double impl_IItemsWrapGrid::ItemWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_ItemWidth(&value)); + return value; +} + +template void impl_IItemsWrapGrid::ItemWidth(double value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid)->put_ItemWidth(value)); +} + +template double impl_IItemsWrapGrid::ItemHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_ItemHeight(&value)); + return value; +} + +template void impl_IItemsWrapGrid::ItemHeight(double value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid)->put_ItemHeight(value)); +} + +template int32_t impl_IItemsWrapGrid::FirstCacheIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_FirstCacheIndex(&value)); + return value; +} + +template int32_t impl_IItemsWrapGrid::FirstVisibleIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_FirstVisibleIndex(&value)); + return value; +} + +template int32_t impl_IItemsWrapGrid::LastVisibleIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_LastVisibleIndex(&value)); + return value; +} + +template int32_t impl_IItemsWrapGrid::LastCacheIndex() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_LastCacheIndex(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::PanelScrollingDirection impl_IItemsWrapGrid::ScrollingDirection() const +{ + Windows::UI::Xaml::Controls::PanelScrollingDirection value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_ScrollingDirection(&value)); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement impl_IItemsWrapGrid::GroupHeaderPlacement() const +{ + Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_GroupHeaderPlacement(&value)); + return value; +} + +template void impl_IItemsWrapGrid::GroupHeaderPlacement(Windows::UI::Xaml::Controls::Primitives::GroupHeaderPlacement value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid)->put_GroupHeaderPlacement(value)); +} + +template double impl_IItemsWrapGrid::CacheLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid)->get_CacheLength(&value)); + return value; +} + +template void impl_IItemsWrapGrid::CacheLength(double value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid)->put_CacheLength(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics::GroupPaddingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics)->get_GroupPaddingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics::OrientationProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics)->get_OrientationProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics::MaximumRowsOrColumnsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics)->get_MaximumRowsOrColumnsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics::ItemWidthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics)->get_ItemWidthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics::ItemHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics)->get_ItemHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics::GroupHeaderPlacementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics)->get_GroupHeaderPlacementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics::CacheLengthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics)->get_CacheLengthProperty(put_abi(value))); + return value; +} + +template bool impl_IItemsWrapGrid2::AreStickyGroupHeadersEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IItemsWrapGrid2)->get_AreStickyGroupHeadersEnabled(&value)); + return value; +} + +template void impl_IItemsWrapGrid2::AreStickyGroupHeadersEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IItemsWrapGrid2)->put_AreStickyGroupHeadersEnabled(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IItemsWrapGridStatics2::AreStickyGroupHeadersEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IItemsWrapGridStatics2)->get_AreStickyGroupHeadersEnabledProperty(put_abi(value))); + return value; +} + +template Windows::Media::Playback::IMediaPlaybackSource impl_IMediaPlayerElement::Source() const +{ + Windows::Media::Playback::IMediaPlaybackSource value; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_Source(put_abi(value))); + return value; +} + +template void impl_IMediaPlayerElement::Source(const Windows::Media::Playback::IMediaPlaybackSource & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->put_Source(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::MediaTransportControls impl_IMediaPlayerElement::TransportControls() const +{ + Windows::UI::Xaml::Controls::MediaTransportControls value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_TransportControls(put_abi(value))); + return value; +} + +template void impl_IMediaPlayerElement::TransportControls(const Windows::UI::Xaml::Controls::MediaTransportControls & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->put_TransportControls(get_abi(value))); +} + +template bool impl_IMediaPlayerElement::AreTransportControlsEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_AreTransportControlsEnabled(&value)); + return value; +} + +template void impl_IMediaPlayerElement::AreTransportControlsEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->put_AreTransportControlsEnabled(value)); +} + +template Windows::UI::Xaml::Media::ImageSource impl_IMediaPlayerElement::PosterSource() const +{ + Windows::UI::Xaml::Media::ImageSource value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_PosterSource(put_abi(value))); + return value; +} + +template void impl_IMediaPlayerElement::PosterSource(const Windows::UI::Xaml::Media::ImageSource & value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->put_PosterSource(get_abi(value))); +} + +template Windows::UI::Xaml::Media::Stretch impl_IMediaPlayerElement::Stretch() const +{ + Windows::UI::Xaml::Media::Stretch value {}; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_Stretch(&value)); + return value; +} + +template void impl_IMediaPlayerElement::Stretch(Windows::UI::Xaml::Media::Stretch value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->put_Stretch(value)); +} + +template bool impl_IMediaPlayerElement::AutoPlay() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_AutoPlay(&value)); + return value; +} + +template void impl_IMediaPlayerElement::AutoPlay(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->put_AutoPlay(value)); +} + +template bool impl_IMediaPlayerElement::IsFullWindow() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_IsFullWindow(&value)); + return value; +} + +template void impl_IMediaPlayerElement::IsFullWindow(bool value) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->put_IsFullWindow(value)); +} + +template Windows::Media::Playback::MediaPlayer impl_IMediaPlayerElement::MediaPlayer() const +{ + Windows::Media::Playback::MediaPlayer value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElement)->get_MediaPlayer(put_abi(value))); + return value; +} + +template void impl_IMediaPlayerElement::SetMediaPlayer(const Windows::Media::Playback::MediaPlayer & mediaPlayer) const +{ + check_hresult(WINRT_SHIM(IMediaPlayerElement)->abi_SetMediaPlayer(get_abi(mediaPlayer))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerElementStatics::SourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementStatics)->get_SourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerElementStatics::AreTransportControlsEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementStatics)->get_AreTransportControlsEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerElementStatics::PosterSourceProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementStatics)->get_PosterSourceProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerElementStatics::StretchProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementStatics)->get_StretchProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerElementStatics::AutoPlayProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementStatics)->get_AutoPlayProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerElementStatics::IsFullWindowProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementStatics)->get_IsFullWindowProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IMediaPlayerElementStatics::MediaPlayerProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementStatics)->get_MediaPlayerProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::MediaPlayerElement impl_IMediaPlayerElementFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::MediaPlayerElement instance { nullptr }; + check_hresult(WINRT_SHIM(IMediaPlayerElementFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Media::Geometry impl_IPathIcon::Data() const +{ + Windows::UI::Xaml::Media::Geometry value { nullptr }; + check_hresult(WINRT_SHIM(IPathIcon)->get_Data(put_abi(value))); + return value; +} + +template void impl_IPathIcon::Data(const Windows::UI::Xaml::Media::Geometry & value) const +{ + check_hresult(WINRT_SHIM(IPathIcon)->put_Data(get_abi(value))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IPathIconStatics::DataProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IPathIconStatics)->get_DataProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::PathIcon impl_IPathIconFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::PathIcon instance { nullptr }; + check_hresult(WINRT_SHIM(IPathIconFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template bool impl_IRichEditBox::IsReadOnly() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichEditBox)->get_IsReadOnly(&value)); + return value; +} + +template void impl_IRichEditBox::IsReadOnly(bool value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->put_IsReadOnly(value)); +} + +template bool impl_IRichEditBox::AcceptsReturn() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichEditBox)->get_AcceptsReturn(&value)); + return value; +} + +template void impl_IRichEditBox::AcceptsReturn(bool value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->put_AcceptsReturn(value)); +} + +template Windows::UI::Xaml::TextAlignment impl_IRichEditBox::TextAlignment() const +{ + Windows::UI::Xaml::TextAlignment value {}; + check_hresult(WINRT_SHIM(IRichEditBox)->get_TextAlignment(&value)); + return value; +} + +template void impl_IRichEditBox::TextAlignment(Windows::UI::Xaml::TextAlignment value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->put_TextAlignment(value)); +} + +template Windows::UI::Xaml::TextWrapping impl_IRichEditBox::TextWrapping() const +{ + Windows::UI::Xaml::TextWrapping value {}; + check_hresult(WINRT_SHIM(IRichEditBox)->get_TextWrapping(&value)); + return value; +} + +template void impl_IRichEditBox::TextWrapping(Windows::UI::Xaml::TextWrapping value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->put_TextWrapping(value)); +} + +template bool impl_IRichEditBox::IsSpellCheckEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichEditBox)->get_IsSpellCheckEnabled(&value)); + return value; +} + +template void impl_IRichEditBox::IsSpellCheckEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->put_IsSpellCheckEnabled(value)); +} + +template bool impl_IRichEditBox::IsTextPredictionEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichEditBox)->get_IsTextPredictionEnabled(&value)); + return value; +} + +template void impl_IRichEditBox::IsTextPredictionEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->put_IsTextPredictionEnabled(value)); +} + +template Windows::UI::Text::ITextDocument impl_IRichEditBox::Document() const +{ + Windows::UI::Text::ITextDocument value; + check_hresult(WINRT_SHIM(IRichEditBox)->get_Document(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Input::InputScope impl_IRichEditBox::InputScope() const +{ + Windows::UI::Xaml::Input::InputScope value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBox)->get_InputScope(put_abi(value))); + return value; +} + +template void impl_IRichEditBox::InputScope(const Windows::UI::Xaml::Input::InputScope & value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->put_InputScope(get_abi(value))); +} + +template event_token impl_IRichEditBox::TextChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox)->add_TextChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox::TextChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox::remove_TextChanged, TextChanged(value)); +} + +template void impl_IRichEditBox::TextChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->remove_TextChanged(token)); +} + +template event_token impl_IRichEditBox::SelectionChanged(const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox)->add_SelectionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox::SelectionChanged(auto_revoke_t, const Windows::UI::Xaml::RoutedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox::remove_SelectionChanged, SelectionChanged(value)); +} + +template void impl_IRichEditBox::SelectionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->remove_SelectionChanged(token)); +} + +template event_token impl_IRichEditBox::ContextMenuOpening(const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox)->add_ContextMenuOpening(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox::ContextMenuOpening(auto_revoke_t, const Windows::UI::Xaml::Controls::ContextMenuOpeningEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox::remove_ContextMenuOpening, ContextMenuOpening(value)); +} + +template void impl_IRichEditBox::ContextMenuOpening(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox)->remove_ContextMenuOpening(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics::IsReadOnlyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics)->get_IsReadOnlyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics::AcceptsReturnProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics)->get_AcceptsReturnProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics::TextAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics)->get_TextAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics::TextWrappingProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics)->get_TextWrappingProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics::IsSpellCheckEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics)->get_IsSpellCheckEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics::IsTextPredictionEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics)->get_IsTextPredictionEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics::InputScopeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics)->get_InputScopeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::RichEditBox impl_IRichEditBoxFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::RichEditBox instance { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_IRichEditBox2::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IRichEditBox2)->get_Header(put_abi(value))); + return value; +} + +template void impl_IRichEditBox2::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox2)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IRichEditBox2::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBox2)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_IRichEditBox2::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox2)->put_HeaderTemplate(get_abi(value))); +} + +template hstring impl_IRichEditBox2::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IRichEditBox2)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_IRichEditBox2::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox2)->put_PlaceholderText(get_abi(value))); +} + +template Windows::UI::Xaml::Media::SolidColorBrush impl_IRichEditBox2::SelectionHighlightColor() const +{ + Windows::UI::Xaml::Media::SolidColorBrush value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBox2)->get_SelectionHighlightColor(put_abi(value))); + return value; +} + +template void impl_IRichEditBox2::SelectionHighlightColor(const Windows::UI::Xaml::Media::SolidColorBrush & value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox2)->put_SelectionHighlightColor(get_abi(value))); +} + +template bool impl_IRichEditBox2::PreventKeyboardDisplayOnProgrammaticFocus() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichEditBox2)->get_PreventKeyboardDisplayOnProgrammaticFocus(&value)); + return value; +} + +template void impl_IRichEditBox2::PreventKeyboardDisplayOnProgrammaticFocus(bool value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox2)->put_PreventKeyboardDisplayOnProgrammaticFocus(value)); +} + +template bool impl_IRichEditBox2::IsColorFontEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IRichEditBox2)->get_IsColorFontEnabled(&value)); + return value; +} + +template void impl_IRichEditBox2::IsColorFontEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox2)->put_IsColorFontEnabled(value)); +} + +template event_token impl_IRichEditBox2::Paste(const Windows::UI::Xaml::Controls::TextControlPasteEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox2)->add_Paste(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox2::Paste(auto_revoke_t, const Windows::UI::Xaml::Controls::TextControlPasteEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox2::remove_Paste, Paste(value)); +} + +template void impl_IRichEditBox2::Paste(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox2)->remove_Paste(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics2::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics2)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics2::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics2)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics2::PlaceholderTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics2)->get_PlaceholderTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics2::SelectionHighlightColorProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics2)->get_SelectionHighlightColorProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics2::PreventKeyboardDisplayOnProgrammaticFocusProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics2)->get_PreventKeyboardDisplayOnProgrammaticFocusProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics2::IsColorFontEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics2)->get_IsColorFontEnabledProperty(put_abi(value))); + return value; +} + +template event_token impl_IRichEditBox3::TextCompositionStarted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox3)->add_TextCompositionStarted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox3::TextCompositionStarted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox3::remove_TextCompositionStarted, TextCompositionStarted(value)); +} + +template void impl_IRichEditBox3::TextCompositionStarted(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox3)->remove_TextCompositionStarted(token)); +} + +template event_token impl_IRichEditBox3::TextCompositionChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox3)->add_TextCompositionChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox3::TextCompositionChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox3::remove_TextCompositionChanged, TextCompositionChanged(value)); +} + +template void impl_IRichEditBox3::TextCompositionChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox3)->remove_TextCompositionChanged(token)); +} + +template event_token impl_IRichEditBox3::TextCompositionEnded(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox3)->add_TextCompositionEnded(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox3::TextCompositionEnded(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox3::remove_TextCompositionEnded, TextCompositionEnded(value)); +} + +template void impl_IRichEditBox3::TextCompositionEnded(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox3)->remove_TextCompositionEnded(token)); +} + +template Windows::UI::Xaml::TextReadingOrder impl_IRichEditBox3::TextReadingOrder() const +{ + Windows::UI::Xaml::TextReadingOrder value {}; + check_hresult(WINRT_SHIM(IRichEditBox3)->get_TextReadingOrder(&value)); + return value; +} + +template void impl_IRichEditBox3::TextReadingOrder(Windows::UI::Xaml::TextReadingOrder value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox3)->put_TextReadingOrder(value)); +} + +template Windows::UI::Xaml::Controls::CandidateWindowAlignment impl_IRichEditBox3::DesiredCandidateWindowAlignment() const +{ + Windows::UI::Xaml::Controls::CandidateWindowAlignment value {}; + check_hresult(WINRT_SHIM(IRichEditBox3)->get_DesiredCandidateWindowAlignment(&value)); + return value; +} + +template void impl_IRichEditBox3::DesiredCandidateWindowAlignment(Windows::UI::Xaml::Controls::CandidateWindowAlignment value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox3)->put_DesiredCandidateWindowAlignment(value)); +} + +template event_token impl_IRichEditBox3::CandidateWindowBoundsChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox3)->add_CandidateWindowBoundsChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox3::CandidateWindowBoundsChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox3::remove_CandidateWindowBoundsChanged, CandidateWindowBoundsChanged(value)); +} + +template void impl_IRichEditBox3::CandidateWindowBoundsChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox3)->remove_CandidateWindowBoundsChanged(token)); +} + +template event_token impl_IRichEditBox3::TextChanging(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IRichEditBox3)->add_TextChanging(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IRichEditBox3::TextChanging(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IRichEditBox3::remove_TextChanging, TextChanging(value)); +} + +template void impl_IRichEditBox3::TextChanging(event_token token) const +{ + check_hresult(WINRT_SHIM(IRichEditBox3)->remove_TextChanging(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics3::DesiredCandidateWindowAlignmentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics3)->get_DesiredCandidateWindowAlignmentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics3::TextReadingOrderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics3)->get_TextReadingOrderProperty(put_abi(value))); + return value; +} + +template Windows::Foundation::IAsyncOperation> impl_IRichEditBox4::GetLinguisticAlternativesAsync() const +{ + Windows::Foundation::IAsyncOperation> returnValue; + check_hresult(WINRT_SHIM(IRichEditBox4)->abi_GetLinguisticAlternativesAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::Controls::RichEditClipboardFormat impl_IRichEditBox4::ClipboardCopyFormat() const +{ + Windows::UI::Xaml::Controls::RichEditClipboardFormat value {}; + check_hresult(WINRT_SHIM(IRichEditBox4)->get_ClipboardCopyFormat(&value)); + return value; +} + +template void impl_IRichEditBox4::ClipboardCopyFormat(Windows::UI::Xaml::Controls::RichEditClipboardFormat value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox4)->put_ClipboardCopyFormat(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics4::ClipboardCopyFormatProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics4)->get_ClipboardCopyFormatProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::SolidColorBrush impl_IRichEditBox5::SelectionHighlightColorWhenNotFocused() const +{ + Windows::UI::Xaml::Media::SolidColorBrush value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBox5)->get_SelectionHighlightColorWhenNotFocused(put_abi(value))); + return value; +} + +template void impl_IRichEditBox5::SelectionHighlightColorWhenNotFocused(const Windows::UI::Xaml::Media::SolidColorBrush & value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox5)->put_SelectionHighlightColorWhenNotFocused(get_abi(value))); +} + +template int32_t impl_IRichEditBox5::MaxLength() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IRichEditBox5)->get_MaxLength(&value)); + return value; +} + +template void impl_IRichEditBox5::MaxLength(int32_t value) const +{ + check_hresult(WINRT_SHIM(IRichEditBox5)->put_MaxLength(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics5::SelectionHighlightColorWhenNotFocusedProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics5)->get_SelectionHighlightColorWhenNotFocusedProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IRichEditBoxStatics5::MaxLengthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IRichEditBoxStatics5)->get_MaxLengthProperty(put_abi(value))); + return value; +} + +template bool impl_IScrollContentPresenter::CanVerticallyScroll() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_CanVerticallyScroll(&value)); + return value; +} + +template void impl_IScrollContentPresenter::CanVerticallyScroll(bool value) const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->put_CanVerticallyScroll(value)); +} + +template bool impl_IScrollContentPresenter::CanHorizontallyScroll() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_CanHorizontallyScroll(&value)); + return value; +} + +template void impl_IScrollContentPresenter::CanHorizontallyScroll(bool value) const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->put_CanHorizontallyScroll(value)); +} + +template double impl_IScrollContentPresenter::ExtentWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_ExtentWidth(&value)); + return value; +} + +template double impl_IScrollContentPresenter::ExtentHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_ExtentHeight(&value)); + return value; +} + +template double impl_IScrollContentPresenter::ViewportWidth() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_ViewportWidth(&value)); + return value; +} + +template double impl_IScrollContentPresenter::ViewportHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_ViewportHeight(&value)); + return value; +} + +template double impl_IScrollContentPresenter::HorizontalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_HorizontalOffset(&value)); + return value; +} + +template double impl_IScrollContentPresenter::VerticalOffset() const +{ + double value {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_VerticalOffset(&value)); + return value; +} + +template Windows::Foundation::IInspectable impl_IScrollContentPresenter::ScrollOwner() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->get_ScrollOwner(put_abi(value))); + return value; +} + +template void impl_IScrollContentPresenter::ScrollOwner(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->put_ScrollOwner(get_abi(value))); +} + +template void impl_IScrollContentPresenter::LineUp() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_LineUp()); +} + +template void impl_IScrollContentPresenter::LineDown() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_LineDown()); +} + +template void impl_IScrollContentPresenter::LineLeft() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_LineLeft()); +} + +template void impl_IScrollContentPresenter::LineRight() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_LineRight()); +} + +template void impl_IScrollContentPresenter::PageUp() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_PageUp()); +} + +template void impl_IScrollContentPresenter::PageDown() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_PageDown()); +} + +template void impl_IScrollContentPresenter::PageLeft() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_PageLeft()); +} + +template void impl_IScrollContentPresenter::PageRight() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_PageRight()); +} + +template void impl_IScrollContentPresenter::MouseWheelUp() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_MouseWheelUp()); +} + +template void impl_IScrollContentPresenter::MouseWheelDown() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_MouseWheelDown()); +} + +template void impl_IScrollContentPresenter::MouseWheelLeft() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_MouseWheelLeft()); +} + +template void impl_IScrollContentPresenter::MouseWheelRight() const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_MouseWheelRight()); +} + +template void impl_IScrollContentPresenter::SetHorizontalOffset(double offset) const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_SetHorizontalOffset(offset)); +} + +template void impl_IScrollContentPresenter::SetVerticalOffset(double offset) const +{ + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_SetVerticalOffset(offset)); +} + +template Windows::Foundation::Rect impl_IScrollContentPresenter::MakeVisible(const Windows::UI::Xaml::UIElement & visual, const Windows::Foundation::Rect & rectangle) const +{ + Windows::Foundation::Rect returnValue {}; + check_hresult(WINRT_SHIM(IScrollContentPresenter)->abi_MakeVisible(get_abi(visual), get_abi(rectangle), put_abi(returnValue))); + return returnValue; +} + +template bool impl_ISearchBox::SearchHistoryEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchBox)->get_SearchHistoryEnabled(&value)); + return value; +} + +template void impl_ISearchBox::SearchHistoryEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->put_SearchHistoryEnabled(value)); +} + +template hstring impl_ISearchBox::SearchHistoryContext() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBox)->get_SearchHistoryContext(put_abi(value))); + return value; +} + +template void impl_ISearchBox::SearchHistoryContext(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->put_SearchHistoryContext(get_abi(value))); +} + +template hstring impl_ISearchBox::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBox)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_ISearchBox::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->put_PlaceholderText(get_abi(value))); +} + +template hstring impl_ISearchBox::QueryText() const +{ + hstring value; + check_hresult(WINRT_SHIM(ISearchBox)->get_QueryText(put_abi(value))); + return value; +} + +template void impl_ISearchBox::QueryText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->put_QueryText(get_abi(value))); +} + +template bool impl_ISearchBox::FocusOnKeyboardInput() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchBox)->get_FocusOnKeyboardInput(&value)); + return value; +} + +template void impl_ISearchBox::FocusOnKeyboardInput(bool value) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->put_FocusOnKeyboardInput(value)); +} + +template bool impl_ISearchBox::ChooseSuggestionOnEnter() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISearchBox)->get_ChooseSuggestionOnEnter(&value)); + return value; +} + +template void impl_ISearchBox::ChooseSuggestionOnEnter(bool value) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->put_ChooseSuggestionOnEnter(value)); +} + +template event_token impl_ISearchBox::QueryChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchBox)->add_QueryChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISearchBox::QueryChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISearchBox::remove_QueryChanged, QueryChanged(value)); +} + +template void impl_ISearchBox::QueryChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->remove_QueryChanged(token)); +} + +template event_token impl_ISearchBox::SuggestionsRequested(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchBox)->add_SuggestionsRequested(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISearchBox::SuggestionsRequested(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISearchBox::remove_SuggestionsRequested, SuggestionsRequested(value)); +} + +template void impl_ISearchBox::SuggestionsRequested(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->remove_SuggestionsRequested(token)); +} + +template event_token impl_ISearchBox::QuerySubmitted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchBox)->add_QuerySubmitted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISearchBox::QuerySubmitted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISearchBox::remove_QuerySubmitted, QuerySubmitted(value)); +} + +template void impl_ISearchBox::QuerySubmitted(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->remove_QuerySubmitted(token)); +} + +template event_token impl_ISearchBox::ResultSuggestionChosen(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchBox)->add_ResultSuggestionChosen(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISearchBox::ResultSuggestionChosen(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISearchBox::remove_ResultSuggestionChosen, ResultSuggestionChosen(value)); +} + +template void impl_ISearchBox::ResultSuggestionChosen(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->remove_ResultSuggestionChosen(token)); +} + +template event_token impl_ISearchBox::PrepareForFocusOnKeyboardInput(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISearchBox)->add_PrepareForFocusOnKeyboardInput(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISearchBox::PrepareForFocusOnKeyboardInput(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISearchBox::remove_PrepareForFocusOnKeyboardInput, PrepareForFocusOnKeyboardInput(value)); +} + +template void impl_ISearchBox::PrepareForFocusOnKeyboardInput(event_token token) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->remove_PrepareForFocusOnKeyboardInput(token)); +} + +template void impl_ISearchBox::SetLocalContentSuggestionSettings(const Windows::ApplicationModel::Search::LocalContentSuggestionSettings & settings) const +{ + check_hresult(WINRT_SHIM(ISearchBox)->abi_SetLocalContentSuggestionSettings(get_abi(settings))); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISearchBoxStatics::SearchHistoryEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxStatics)->get_SearchHistoryEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISearchBoxStatics::SearchHistoryContextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxStatics)->get_SearchHistoryContextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISearchBoxStatics::PlaceholderTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxStatics)->get_PlaceholderTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISearchBoxStatics::QueryTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxStatics)->get_QueryTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISearchBoxStatics::FocusOnKeyboardInputProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxStatics)->get_FocusOnKeyboardInputProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISearchBoxStatics::ChooseSuggestionOnEnterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxStatics)->get_ChooseSuggestionOnEnterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::SearchBox impl_ISearchBoxFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::SearchBox instance { nullptr }; + check_hresult(WINRT_SHIM(ISearchBoxFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::UIElement impl_ISplitView::Content() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(ISplitView)->get_Content(put_abi(value))); + return value; +} + +template void impl_ISplitView::Content(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_Content(get_abi(value))); +} + +template Windows::UI::Xaml::UIElement impl_ISplitView::Pane() const +{ + Windows::UI::Xaml::UIElement value { nullptr }; + check_hresult(WINRT_SHIM(ISplitView)->get_Pane(put_abi(value))); + return value; +} + +template void impl_ISplitView::Pane(const Windows::UI::Xaml::UIElement & value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_Pane(get_abi(value))); +} + +template bool impl_ISplitView::IsPaneOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(ISplitView)->get_IsPaneOpen(&value)); + return value; +} + +template void impl_ISplitView::IsPaneOpen(bool value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_IsPaneOpen(value)); +} + +template double impl_ISplitView::OpenPaneLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISplitView)->get_OpenPaneLength(&value)); + return value; +} + +template void impl_ISplitView::OpenPaneLength(double value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_OpenPaneLength(value)); +} + +template double impl_ISplitView::CompactPaneLength() const +{ + double value {}; + check_hresult(WINRT_SHIM(ISplitView)->get_CompactPaneLength(&value)); + return value; +} + +template void impl_ISplitView::CompactPaneLength(double value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_CompactPaneLength(value)); +} + +template Windows::UI::Xaml::Controls::SplitViewPanePlacement impl_ISplitView::PanePlacement() const +{ + Windows::UI::Xaml::Controls::SplitViewPanePlacement value {}; + check_hresult(WINRT_SHIM(ISplitView)->get_PanePlacement(&value)); + return value; +} + +template void impl_ISplitView::PanePlacement(Windows::UI::Xaml::Controls::SplitViewPanePlacement value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_PanePlacement(value)); +} + +template Windows::UI::Xaml::Controls::SplitViewDisplayMode impl_ISplitView::DisplayMode() const +{ + Windows::UI::Xaml::Controls::SplitViewDisplayMode value {}; + check_hresult(WINRT_SHIM(ISplitView)->get_DisplayMode(&value)); + return value; +} + +template void impl_ISplitView::DisplayMode(Windows::UI::Xaml::Controls::SplitViewDisplayMode value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_DisplayMode(value)); +} + +template Windows::UI::Xaml::Controls::Primitives::SplitViewTemplateSettings impl_ISplitView::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::SplitViewTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(ISplitView)->get_TemplateSettings(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Media::Brush impl_ISplitView::PaneBackground() const +{ + Windows::UI::Xaml::Media::Brush value { nullptr }; + check_hresult(WINRT_SHIM(ISplitView)->get_PaneBackground(put_abi(value))); + return value; +} + +template void impl_ISplitView::PaneBackground(const Windows::UI::Xaml::Media::Brush & value) const +{ + check_hresult(WINRT_SHIM(ISplitView)->put_PaneBackground(get_abi(value))); +} + +template event_token impl_ISplitView::PaneClosing(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISplitView)->add_PaneClosing(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISplitView::PaneClosing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISplitView::remove_PaneClosing, PaneClosing(value)); +} + +template void impl_ISplitView::PaneClosing(event_token token) const +{ + check_hresult(WINRT_SHIM(ISplitView)->remove_PaneClosing(token)); +} + +template event_token impl_ISplitView::PaneClosed(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ISplitView)->add_PaneClosed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ISplitView::PaneClosed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ISplitView::remove_PaneClosed, PaneClosed(value)); +} + +template void impl_ISplitView::PaneClosed(event_token token) const +{ + check_hresult(WINRT_SHIM(ISplitView)->remove_PaneClosed(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::ContentProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_ContentProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::PaneProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_PaneProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::IsPaneOpenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_IsPaneOpenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::OpenPaneLengthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_OpenPaneLengthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::CompactPaneLengthProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_CompactPaneLengthProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::PanePlacementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_PanePlacementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::DisplayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_DisplayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::TemplateSettingsProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_TemplateSettingsProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics::PaneBackgroundProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics)->get_PaneBackgroundProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::SplitView impl_ISplitViewFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::SplitView instance { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_ISplitView2::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(ISplitView2)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_ISplitView2::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(ISplitView2)->put_LightDismissOverlayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISplitViewStatics2::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISplitViewStatics2)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Symbol impl_ISymbolIcon::Symbol() const +{ + Windows::UI::Xaml::Controls::Symbol value {}; + check_hresult(WINRT_SHIM(ISymbolIcon)->get_Symbol(&value)); + return value; +} + +template void impl_ISymbolIcon::Symbol(Windows::UI::Xaml::Controls::Symbol value) const +{ + check_hresult(WINRT_SHIM(ISymbolIcon)->put_Symbol(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ISymbolIconStatics::SymbolProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ISymbolIconStatics)->get_SymbolProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::SymbolIcon impl_ISymbolIconFactory::CreateInstanceWithSymbol(Windows::UI::Xaml::Controls::Symbol symbol) const +{ + Windows::UI::Xaml::Controls::SymbolIcon instance { nullptr }; + check_hresult(WINRT_SHIM(ISymbolIconFactory)->abi_CreateInstanceWithSymbol(symbol, put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_ITimePicker::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(ITimePicker)->get_Header(put_abi(value))); + return value; +} + +template void impl_ITimePicker::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(ITimePicker)->put_Header(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_ITimePicker::HeaderTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(ITimePicker)->get_HeaderTemplate(put_abi(value))); + return value; +} + +template void impl_ITimePicker::HeaderTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(ITimePicker)->put_HeaderTemplate(get_abi(value))); +} + +template hstring impl_ITimePicker::ClockIdentifier() const +{ + hstring value; + check_hresult(WINRT_SHIM(ITimePicker)->get_ClockIdentifier(put_abi(value))); + return value; +} + +template void impl_ITimePicker::ClockIdentifier(hstring_view value) const +{ + check_hresult(WINRT_SHIM(ITimePicker)->put_ClockIdentifier(get_abi(value))); +} + +template int32_t impl_ITimePicker::MinuteIncrement() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(ITimePicker)->get_MinuteIncrement(&value)); + return value; +} + +template void impl_ITimePicker::MinuteIncrement(int32_t value) const +{ + check_hresult(WINRT_SHIM(ITimePicker)->put_MinuteIncrement(value)); +} + +template Windows::Foundation::TimeSpan impl_ITimePicker::Time() const +{ + Windows::Foundation::TimeSpan value {}; + check_hresult(WINRT_SHIM(ITimePicker)->get_Time(put_abi(value))); + return value; +} + +template void impl_ITimePicker::Time(const Windows::Foundation::TimeSpan & value) const +{ + check_hresult(WINRT_SHIM(ITimePicker)->put_Time(get_abi(value))); +} + +template event_token impl_ITimePicker::TimeChanged(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(ITimePicker)->add_TimeChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_ITimePicker::TimeChanged(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::ITimePicker::remove_TimeChanged, TimeChanged(value)); +} + +template void impl_ITimePicker::TimeChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(ITimePicker)->remove_TimeChanged(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITimePickerStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITimePickerStatics::HeaderTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerStatics)->get_HeaderTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITimePickerStatics::ClockIdentifierProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerStatics)->get_ClockIdentifierProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITimePickerStatics::MinuteIncrementProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerStatics)->get_MinuteIncrementProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_ITimePickerStatics::TimeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerStatics)->get_TimeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::TimePicker impl_ITimePickerFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::TimePicker instance { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_ITimePicker2::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(ITimePicker2)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_ITimePicker2::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(ITimePicker2)->put_LightDismissOverlayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_ITimePickerStatics2::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(ITimePickerStatics2)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template bool impl_IAppBar::IsOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBar)->get_IsOpen(&value)); + return value; +} + +template void impl_IAppBar::IsOpen(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBar)->put_IsOpen(value)); +} + +template bool impl_IAppBar::IsSticky() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAppBar)->get_IsSticky(&value)); + return value; +} + +template void impl_IAppBar::IsSticky(bool value) const +{ + check_hresult(WINRT_SHIM(IAppBar)->put_IsSticky(value)); +} + +template event_token impl_IAppBar::Opened(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBar)->add_Opened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBar::Opened(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IAppBar::remove_Opened, Opened(value)); +} + +template void impl_IAppBar::Opened(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBar)->remove_Opened(token)); +} + +template event_token impl_IAppBar::Closed(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBar)->add_Closed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBar::Closed(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IAppBar::remove_Closed, Closed(value)); +} + +template void impl_IAppBar::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBar)->remove_Closed(token)); +} + +template void impl_IAppBarOverrides::OnClosed(const Windows::Foundation::IInspectable & e) const +{ + check_hresult(WINRT_SHIM(IAppBarOverrides)->abi_OnClosed(get_abi(e))); +} + +template void impl_IAppBarOverrides::OnOpened(const Windows::Foundation::IInspectable & e) const +{ + check_hresult(WINRT_SHIM(IAppBarOverrides)->abi_OnOpened(get_abi(e))); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAppBarStatics::IsOpenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAppBarStatics)->get_IsOpenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAppBarStatics::IsStickyProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAppBarStatics)->get_IsStickyProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::AppBar impl_IAppBarFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::AppBar instance { nullptr }; + check_hresult(WINRT_SHIM(IAppBarFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::UI::Xaml::Controls::AppBarClosedDisplayMode impl_IAppBar2::ClosedDisplayMode() const +{ + Windows::UI::Xaml::Controls::AppBarClosedDisplayMode value {}; + check_hresult(WINRT_SHIM(IAppBar2)->get_ClosedDisplayMode(&value)); + return value; +} + +template void impl_IAppBar2::ClosedDisplayMode(Windows::UI::Xaml::Controls::AppBarClosedDisplayMode value) const +{ + check_hresult(WINRT_SHIM(IAppBar2)->put_ClosedDisplayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAppBarStatics2::ClosedDisplayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAppBarStatics2)->get_ClosedDisplayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::Primitives::AppBarTemplateSettings impl_IAppBar3::TemplateSettings() const +{ + Windows::UI::Xaml::Controls::Primitives::AppBarTemplateSettings value { nullptr }; + check_hresult(WINRT_SHIM(IAppBar3)->get_TemplateSettings(put_abi(value))); + return value; +} + +template event_token impl_IAppBar3::Opening(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBar3)->add_Opening(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBar3::Opening(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IAppBar3::remove_Opening, Opening(value)); +} + +template void impl_IAppBar3::Opening(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBar3)->remove_Opening(token)); +} + +template event_token impl_IAppBar3::Closing(const Windows::Foundation::EventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAppBar3)->add_Closing(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAppBar3::Closing(auto_revoke_t, const Windows::Foundation::EventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IAppBar3::remove_Closing, Closing(value)); +} + +template void impl_IAppBar3::Closing(event_token token) const +{ + check_hresult(WINRT_SHIM(IAppBar3)->remove_Closing(token)); +} + +template void impl_IAppBarOverrides3::OnClosing(const Windows::Foundation::IInspectable & e) const +{ + check_hresult(WINRT_SHIM(IAppBarOverrides3)->abi_OnClosing(get_abi(e))); +} + +template void impl_IAppBarOverrides3::OnOpening(const Windows::Foundation::IInspectable & e) const +{ + check_hresult(WINRT_SHIM(IAppBarOverrides3)->abi_OnOpening(get_abi(e))); +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_IAppBar4::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(IAppBar4)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_IAppBar4::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(IAppBar4)->put_LightDismissOverlayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAppBarStatics4::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAppBarStatics4)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template double impl_IAutoSuggestBox::MaxSuggestionListHeight() const +{ + double value {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_MaxSuggestionListHeight(&value)); + return value; +} + +template void impl_IAutoSuggestBox::MaxSuggestionListHeight(double value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_MaxSuggestionListHeight(value)); +} + +template bool impl_IAutoSuggestBox::IsSuggestionListOpen() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_IsSuggestionListOpen(&value)); + return value; +} + +template void impl_IAutoSuggestBox::IsSuggestionListOpen(bool value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_IsSuggestionListOpen(value)); +} + +template hstring impl_IAutoSuggestBox::TextMemberPath() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_TextMemberPath(put_abi(value))); + return value; +} + +template void impl_IAutoSuggestBox::TextMemberPath(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_TextMemberPath(get_abi(value))); +} + +template hstring impl_IAutoSuggestBox::Text() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_Text(put_abi(value))); + return value; +} + +template void impl_IAutoSuggestBox::Text(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_Text(get_abi(value))); +} + +template bool impl_IAutoSuggestBox::UpdateTextOnSelect() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_UpdateTextOnSelect(&value)); + return value; +} + +template void impl_IAutoSuggestBox::UpdateTextOnSelect(bool value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_UpdateTextOnSelect(value)); +} + +template hstring impl_IAutoSuggestBox::PlaceholderText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_PlaceholderText(put_abi(value))); + return value; +} + +template void impl_IAutoSuggestBox::PlaceholderText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_PlaceholderText(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IAutoSuggestBox::Header() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_Header(put_abi(value))); + return value; +} + +template void impl_IAutoSuggestBox::Header(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_Header(get_abi(value))); +} + +template bool impl_IAutoSuggestBox::AutoMaximizeSuggestionArea() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_AutoMaximizeSuggestionArea(&value)); + return value; +} + +template void impl_IAutoSuggestBox::AutoMaximizeSuggestionArea(bool value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_AutoMaximizeSuggestionArea(value)); +} + +template Windows::UI::Xaml::Style impl_IAutoSuggestBox::TextBoxStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->get_TextBoxStyle(put_abi(value))); + return value; +} + +template void impl_IAutoSuggestBox::TextBoxStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->put_TextBoxStyle(get_abi(value))); +} + +template event_token impl_IAutoSuggestBox::SuggestionChosen(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->add_SuggestionChosen(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAutoSuggestBox::SuggestionChosen(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IAutoSuggestBox::remove_SuggestionChosen, SuggestionChosen(value)); +} + +template void impl_IAutoSuggestBox::SuggestionChosen(event_token token) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->remove_SuggestionChosen(token)); +} + +template event_token impl_IAutoSuggestBox::TextChanged(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox)->add_TextChanged(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAutoSuggestBox::TextChanged(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IAutoSuggestBox::remove_TextChanged, TextChanged(value)); +} + +template void impl_IAutoSuggestBox::TextChanged(event_token token) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox)->remove_TextChanged(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::MaxSuggestionListHeightProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_MaxSuggestionListHeightProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::IsSuggestionListOpenProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_IsSuggestionListOpenProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::TextMemberPathProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_TextMemberPathProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::TextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_TextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::UpdateTextOnSelectProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_UpdateTextOnSelectProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::PlaceholderTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_PlaceholderTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::HeaderProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_HeaderProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::AutoMaximizeSuggestionAreaProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_AutoMaximizeSuggestionAreaProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics::TextBoxStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics)->get_TextBoxStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::IconElement impl_IAutoSuggestBox2::QueryIcon() const +{ + Windows::UI::Xaml::Controls::IconElement value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBox2)->get_QueryIcon(put_abi(value))); + return value; +} + +template void impl_IAutoSuggestBox2::QueryIcon(const Windows::UI::Xaml::Controls::IconElement & value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox2)->put_QueryIcon(get_abi(value))); +} + +template event_token impl_IAutoSuggestBox2::QuerySubmitted(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox2)->add_QuerySubmitted(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IAutoSuggestBox2::QuerySubmitted(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IAutoSuggestBox2::remove_QuerySubmitted, QuerySubmitted(value)); +} + +template void impl_IAutoSuggestBox2::QuerySubmitted(event_token token) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox2)->remove_QuerySubmitted(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics2::QueryIconProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics2)->get_QueryIconProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::LightDismissOverlayMode impl_IAutoSuggestBox3::LightDismissOverlayMode() const +{ + Windows::UI::Xaml::Controls::LightDismissOverlayMode value {}; + check_hresult(WINRT_SHIM(IAutoSuggestBox3)->get_LightDismissOverlayMode(&value)); + return value; +} + +template void impl_IAutoSuggestBox3::LightDismissOverlayMode(Windows::UI::Xaml::Controls::LightDismissOverlayMode value) const +{ + check_hresult(WINRT_SHIM(IAutoSuggestBox3)->put_LightDismissOverlayMode(value)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IAutoSuggestBoxStatics3::LightDismissOverlayModeProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IAutoSuggestBoxStatics3)->get_LightDismissOverlayModeProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::CommandBarOverflowPresenter impl_ICommandBarOverflowPresenterFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::CommandBarOverflowPresenter instance { nullptr }; + check_hresult(WINRT_SHIM(ICommandBarOverflowPresenterFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template Windows::Foundation::IInspectable impl_IContentDialog::Title() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IContentDialog)->get_Title(put_abi(value))); + return value; +} + +template void impl_IContentDialog::Title(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_Title(get_abi(value))); +} + +template Windows::UI::Xaml::DataTemplate impl_IContentDialog::TitleTemplate() const +{ + Windows::UI::Xaml::DataTemplate value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialog)->get_TitleTemplate(put_abi(value))); + return value; +} + +template void impl_IContentDialog::TitleTemplate(const Windows::UI::Xaml::DataTemplate & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_TitleTemplate(get_abi(value))); +} + +template bool impl_IContentDialog::FullSizeDesired() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContentDialog)->get_FullSizeDesired(&value)); + return value; +} + +template void impl_IContentDialog::FullSizeDesired(bool value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_FullSizeDesired(value)); +} + +template hstring impl_IContentDialog::PrimaryButtonText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContentDialog)->get_PrimaryButtonText(put_abi(value))); + return value; +} + +template void impl_IContentDialog::PrimaryButtonText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_PrimaryButtonText(get_abi(value))); +} + +template hstring impl_IContentDialog::SecondaryButtonText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContentDialog)->get_SecondaryButtonText(put_abi(value))); + return value; +} + +template void impl_IContentDialog::SecondaryButtonText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_SecondaryButtonText(get_abi(value))); +} + +template Windows::UI::Xaml::Input::ICommand impl_IContentDialog::PrimaryButtonCommand() const +{ + Windows::UI::Xaml::Input::ICommand value; + check_hresult(WINRT_SHIM(IContentDialog)->get_PrimaryButtonCommand(put_abi(value))); + return value; +} + +template void impl_IContentDialog::PrimaryButtonCommand(const Windows::UI::Xaml::Input::ICommand & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_PrimaryButtonCommand(get_abi(value))); +} + +template Windows::UI::Xaml::Input::ICommand impl_IContentDialog::SecondaryButtonCommand() const +{ + Windows::UI::Xaml::Input::ICommand value; + check_hresult(WINRT_SHIM(IContentDialog)->get_SecondaryButtonCommand(put_abi(value))); + return value; +} + +template void impl_IContentDialog::SecondaryButtonCommand(const Windows::UI::Xaml::Input::ICommand & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_SecondaryButtonCommand(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IContentDialog::PrimaryButtonCommandParameter() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IContentDialog)->get_PrimaryButtonCommandParameter(put_abi(value))); + return value; +} + +template void impl_IContentDialog::PrimaryButtonCommandParameter(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_PrimaryButtonCommandParameter(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IContentDialog::SecondaryButtonCommandParameter() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IContentDialog)->get_SecondaryButtonCommandParameter(put_abi(value))); + return value; +} + +template void impl_IContentDialog::SecondaryButtonCommandParameter(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_SecondaryButtonCommandParameter(get_abi(value))); +} + +template bool impl_IContentDialog::IsPrimaryButtonEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContentDialog)->get_IsPrimaryButtonEnabled(&value)); + return value; +} + +template void impl_IContentDialog::IsPrimaryButtonEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_IsPrimaryButtonEnabled(value)); +} + +template bool impl_IContentDialog::IsSecondaryButtonEnabled() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IContentDialog)->get_IsSecondaryButtonEnabled(&value)); + return value; +} + +template void impl_IContentDialog::IsSecondaryButtonEnabled(bool value) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->put_IsSecondaryButtonEnabled(value)); +} + +template event_token impl_IContentDialog::Closing(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContentDialog)->add_Closing(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IContentDialog::Closing(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IContentDialog::remove_Closing, Closing(value)); +} + +template void impl_IContentDialog::Closing(event_token token) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->remove_Closing(token)); +} + +template event_token impl_IContentDialog::Closed(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContentDialog)->add_Closed(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IContentDialog::Closed(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IContentDialog::remove_Closed, Closed(value)); +} + +template void impl_IContentDialog::Closed(event_token token) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->remove_Closed(token)); +} + +template event_token impl_IContentDialog::Opened(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContentDialog)->add_Opened(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IContentDialog::Opened(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IContentDialog::remove_Opened, Opened(value)); +} + +template void impl_IContentDialog::Opened(event_token token) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->remove_Opened(token)); +} + +template event_token impl_IContentDialog::PrimaryButtonClick(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContentDialog)->add_PrimaryButtonClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IContentDialog::PrimaryButtonClick(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IContentDialog::remove_PrimaryButtonClick, PrimaryButtonClick(value)); +} + +template void impl_IContentDialog::PrimaryButtonClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->remove_PrimaryButtonClick(token)); +} + +template event_token impl_IContentDialog::SecondaryButtonClick(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContentDialog)->add_SecondaryButtonClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IContentDialog::SecondaryButtonClick(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IContentDialog::remove_SecondaryButtonClick, SecondaryButtonClick(value)); +} + +template void impl_IContentDialog::SecondaryButtonClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IContentDialog)->remove_SecondaryButtonClick(token)); +} + +template void impl_IContentDialog::Hide() const +{ + check_hresult(WINRT_SHIM(IContentDialog)->abi_Hide()); +} + +template Windows::Foundation::IAsyncOperation impl_IContentDialog::ShowAsync() const +{ + Windows::Foundation::IAsyncOperation returnValue; + check_hresult(WINRT_SHIM(IContentDialog)->abi_ShowAsync(put_abi(returnValue))); + return returnValue; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::TitleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_TitleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::TitleTemplateProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_TitleTemplateProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::FullSizeDesiredProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_FullSizeDesiredProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::PrimaryButtonTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_PrimaryButtonTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::SecondaryButtonTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_SecondaryButtonTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::PrimaryButtonCommandProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_PrimaryButtonCommandProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::SecondaryButtonCommandProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_SecondaryButtonCommandProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::PrimaryButtonCommandParameterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_PrimaryButtonCommandParameterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::SecondaryButtonCommandParameterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_SecondaryButtonCommandParameterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::IsPrimaryButtonEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_IsPrimaryButtonEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics::IsSecondaryButtonEnabledProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics)->get_IsSecondaryButtonEnabledProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::ContentDialog impl_IContentDialogFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::ContentDialog instance { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template hstring impl_IContentDialog2::CloseButtonText() const +{ + hstring value; + check_hresult(WINRT_SHIM(IContentDialog2)->get_CloseButtonText(put_abi(value))); + return value; +} + +template void impl_IContentDialog2::CloseButtonText(hstring_view value) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->put_CloseButtonText(get_abi(value))); +} + +template Windows::UI::Xaml::Input::ICommand impl_IContentDialog2::CloseButtonCommand() const +{ + Windows::UI::Xaml::Input::ICommand value; + check_hresult(WINRT_SHIM(IContentDialog2)->get_CloseButtonCommand(put_abi(value))); + return value; +} + +template void impl_IContentDialog2::CloseButtonCommand(const Windows::UI::Xaml::Input::ICommand & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->put_CloseButtonCommand(get_abi(value))); +} + +template Windows::Foundation::IInspectable impl_IContentDialog2::CloseButtonCommandParameter() const +{ + Windows::Foundation::IInspectable value; + check_hresult(WINRT_SHIM(IContentDialog2)->get_CloseButtonCommandParameter(put_abi(value))); + return value; +} + +template void impl_IContentDialog2::CloseButtonCommandParameter(const Windows::Foundation::IInspectable & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->put_CloseButtonCommandParameter(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_IContentDialog2::PrimaryButtonStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialog2)->get_PrimaryButtonStyle(put_abi(value))); + return value; +} + +template void impl_IContentDialog2::PrimaryButtonStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->put_PrimaryButtonStyle(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_IContentDialog2::SecondaryButtonStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialog2)->get_SecondaryButtonStyle(put_abi(value))); + return value; +} + +template void impl_IContentDialog2::SecondaryButtonStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->put_SecondaryButtonStyle(get_abi(value))); +} + +template Windows::UI::Xaml::Style impl_IContentDialog2::CloseButtonStyle() const +{ + Windows::UI::Xaml::Style value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialog2)->get_CloseButtonStyle(put_abi(value))); + return value; +} + +template void impl_IContentDialog2::CloseButtonStyle(const Windows::UI::Xaml::Style & value) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->put_CloseButtonStyle(get_abi(value))); +} + +template Windows::UI::Xaml::Controls::ContentDialogButton impl_IContentDialog2::DefaultButton() const +{ + Windows::UI::Xaml::Controls::ContentDialogButton value {}; + check_hresult(WINRT_SHIM(IContentDialog2)->get_DefaultButton(&value)); + return value; +} + +template void impl_IContentDialog2::DefaultButton(Windows::UI::Xaml::Controls::ContentDialogButton value) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->put_DefaultButton(value)); +} + +template event_token impl_IContentDialog2::CloseButtonClick(const Windows::Foundation::TypedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IContentDialog2)->add_CloseButtonClick(get_abi(value), &token)); + return token; +} + +template event_revoker impl_IContentDialog2::CloseButtonClick(auto_revoke_t, const Windows::Foundation::TypedEventHandler & value) const +{ + return impl::make_event_revoker(this, &ABI::Windows::UI::Xaml::Controls::IContentDialog2::remove_CloseButtonClick, CloseButtonClick(value)); +} + +template void impl_IContentDialog2::CloseButtonClick(event_token token) const +{ + check_hresult(WINRT_SHIM(IContentDialog2)->remove_CloseButtonClick(token)); +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics2::CloseButtonTextProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics2)->get_CloseButtonTextProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics2::CloseButtonCommandProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics2)->get_CloseButtonCommandProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics2::CloseButtonCommandParameterProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics2)->get_CloseButtonCommandParameterProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics2::PrimaryButtonStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics2)->get_PrimaryButtonStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics2::SecondaryButtonStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics2)->get_SecondaryButtonStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics2::CloseButtonStyleProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics2)->get_CloseButtonStyleProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::DependencyProperty impl_IContentDialogStatics2::DefaultButtonProperty() const +{ + Windows::UI::Xaml::DependencyProperty value { nullptr }; + check_hresult(WINRT_SHIM(IContentDialogStatics2)->get_DefaultButtonProperty(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Controls::FlyoutPresenter impl_IFlyoutPresenterFactory::CreateInstance(const Windows::Foundation::IInspectable & outer, Windows::Foundation::IInspectable & inner) const +{ + Windows::UI::Xaml::Controls::FlyoutPresenter instance { nullptr }; + check_hresult(WINRT_SHIM(IFlyoutPresenterFactory)->abi_CreateInstance(get_abi(outer), put_abi(inner), put_abi(instance))); + return instance; +} + +template int32_t impl_IFrame::CacheSize() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IFrame)->get_CacheSize(&value)); + return value; +} + +template void impl_IFrame::CacheSize(int32_t value) const +{ + check_hresult(WINRT_SHIM(IFrame)->put_CacheSize(value)); +} + +template bool impl_IFrame::CanGoBack() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrame)->get_CanGoBack(&value)); + return value; +} + +template bool impl_IFrame::CanGoForward() const +{ + bool value {}; + check_hresult(WINRT_SHIM(IFrame)->get_CanGoForward(&value)); + return value; +} + +template Windows::UI::Xaml::Interop::TypeName impl_IFrame::CurrentSourcePageType() const +{ + Windows::UI::Xaml::Interop::TypeName value {}; + check_hresult(WINRT_SHIM(IFrame)->get_CurrentSourcePageType(put_abi(value))); + return value; +} + +template Windows::UI::Xaml::Interop::TypeName impl_IFrame::SourcePageType() const +{ + Windows::UI::Xaml::Interop::TypeName value {}; + check_hresult(WINRT_SHIM(IFrame)->get_SourcePageType(put_abi(value))); + return value; +} + +template void impl_IFrame::SourcePageType(const Windows::UI::Xaml::Interop::TypeName & value) const +{ + check_hresult(WINRT_SHIM(IFrame)->put_SourcePageType(get_abi(value))); +} + +template int32_t impl_IFrame::BackStackDepth() const +{ + int32_t value {}; + check_hresult(WINRT_SHIM(IFrame)->get_BackStackDepth(&value)); + return value; +} + +template event_token impl_IFrame::Navigated(const Windows::UI::Xaml::Navigation::NavigatedEventHandler & value) const +{ + event_token token {}; + check_hresult(WINRT_SHIM(IFrame)->add_Navigated(get_abi(value), &token)); + return token; +} + +template event_revoker